trapezoid studio rectangle custom android shape

studio - shape size android



¿Cómo crear una forma de anillo dibujable en Android? (5)

Creo que usar una forma en Android es mejor que una forma en photoshop.

Correcto, crear un dibujo es mejor porque puede cambiar el color o la forma con código en lugar de crear un nuevo recurso de imagen, por ejemplo. Cree un FrameLayout con 2 Views y un TextView . El primer fondo de vista sería su anillo exterior (forma) y el segundo un círculo archivado (forma). Finalmente la última View (mayor índice z) su TextView :

<FrameLayout> <View/><!-- (outer ring)--> <View/><!-- (filed circle)--> <TextView/><!-- (text)--> </FrameLayout>

Con este código obtengo solo un borde:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="ring" android:innerRadius="15dp" android:thickness="2dp" android:useLevel="false"> <solid android:color="#4d4d4d" /> </shape>

¿Cómo puedo hacer una forma de anillo como la imagen de abajo:


Anillo exterior de 2dp con un espacio de 2dp:

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:top="4dp" android:right="4dp" android:bottom="4dp" android:left="4dp"> <shape android:shape="oval"> <solid android:color="#4d4d4d" /> </shape> </item> <item> <shape android:shape="oval"> <stroke android:width="2dp" android:color="#4d4d4d"/> </shape> </item> </layer-list>


El anillo que se puede dibujar es una yuxtaposición de elementos, usar lista de capas

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:right="6dip" android:left="6dip"> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:innerRadius="0dp" android:shape="ring" android:thicknessRatio="3" android:useLevel="false" > <solid android:color="@android:color/transparent" /> <stroke android:width="5dp" android:color="@color/maroon" /> </shape> </item> <item android:right="20dip" android:left="20dip" android:bottom="0dip" android:top="34dip"> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:innerRadius="0dp"> <solid android:color="@color/maroon" /> <stroke android:width="1dip" android:color="@android:color/transparent" /> </shape> </item> <item android:right="20dip" android:left="20dip" android:bottom="34dip" android:top="0dip"> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:innerRadius="0dp"> <solid android:color="@color/maroon" /> <stroke android:width="1dip" android:color="@android:color/transparent" /> </shape> </item> </layer-list>

Xml dibujable por todos los medios más útil que las imágenes estáticas, se pueden escalar correctamente sin necesidad de una biblioteca .9 o un conjunto de diferentes tamaños de Gimp, Photoshop


<item> <shape android:innerRadiusRatio="4" android:shape="ring" android:thicknessRatio="15" android:useLevel="false" > <solid android:color="@color/white_color" /> <size android:height="48dip" android:width="48dip" /> </shape> </item> <item> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="ring" android:innerRadius="0dp" android:thickness="55dp" android:useLevel="false"> <solid android:color="@color/white_color"/> <size android:height="200dp" android:width="200dp"/> <stroke android:color="@color/green_color" android:width="5dp"/> </shape> </item>


<?xml version="1.0" encoding="utf-8" <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:innerRadius="10dp" android:shape="ring" android:thickness="2dp" android:useLevel="false"> <solid android:color="#dfdfdf" /> </shape> </item> </selector>