Android Uso de la lista de capas para el selector de botones
¿Cómo usamos una lista de capas como un drawable para un botón. Tengo un botón:
<item android:state_pressed="true"> <shape> <gradient android:endColor="@color/white" android:startColor="@color/grey_blue_light" android:angle="90" /> <stroke android:width="1dp" android:color="@color/aqua_blue" /> <corners android:radius="3dp" /> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape> </item> <item android:state_focused="true"> </item> <item> </item>
Ahora necesito una lista de capas para ser utilizada como una forma cuando se pulsa el estado del botón:
- Android: Utilizar colores de resaltado predeterminados en un botón personalizado
- Tamaño de fuente del botón de programación de Android en píxeles
- Realizar tanto el clic normal y clic largo en el botón
- Resaltar un botón cuando se presiona sin utilizar dos dibujable?
- ¿Cómo abrir el menú de opciones mediante programación?
<?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="oval"> <solid android:color="@color/aqua_blue" /> </shape> </item> <item android:top="1dp" android:left="1dp" android:right="1dp" android:bottom="1dp"> <shape android:shape="oval"> <solid android:color="@color/aqua_blue" /> </shape> </item>
¿Cómo usamos esta lista de capas en el selector de botones?
- Android - botón personalizado con forma drawables y un degradado por programación
- Cómo cambiar la imagen de fondo del botón cuando se hace clic / se centró?
- Androide. El botón no parece presionado
- Biblioteca avanzada de RecyclerView - ejemplos de código
- Listview con TextView y el botón. RowId del botón pulsado
- Android Toggle Button - Diseño de materiales
- Cómo eliminar el relleno alrededor de los botones en Android?
- Barra de progreso de Android en el botón
Paso-1 crear tres diferentes layer_list xml bajo carpeta de dibujo para tres diferentes estado del botón. Ejemplo el nombre de esos xml es layer1.xml, layer2.xml, layer3.xml
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <gradient android:angle="270" android:startColor="#0000ff" android:endColor="#0000dd" android:type="linear" /> </shape> </item> </layer-list>
Paso-2 crear un selector xml llamado btn_background.xml y pasar la layer_list xml en el atributo drawable
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/layer1"> </item> <item android:state_focused="true" android:drawable="@drawable/layer2"> </item> <item android:drawable="@drawable/layer3"> </item> </selector>
Step-3 Establezca el selector xml como fondo del botón android:background="@drawable/btn_background"
Simplemente reemplace la etiqueta de shape
con su layer-list
y todo funcionará bien.
- Android: ¿Cómo obtener el ID de recurso del tema actual?
- Advertencia de seguridad en libdvm.so observó al implementar aplicaciones de Android