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:

 <?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?

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.

  • El botón de Android y el tamaño del texto
  • Android: botón con dos colores de fondo
  • El botón de creación de Android emite programaticamente
  • ¿Podemos tener botones verticales en un cuadro de diálogo de alerta de Android?
  • Vista web de Android con el botón Atrás, si no
  • Cómo hacer que el botón transparente en mi aplicación sea visible
  • Botones imágenes de fondo estiradas (wrap_content o uso de dp)
  • Colorear botones en Android con Material Design y AppCompat
  • ¿Botón de dibujo de Android a la lona con la opinión de encargo?
  • ¿Puedo hacer clic en un botón mediante programación para una intención predefinida?
  • ¿Es posible crear un ToggleButton sin texto?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.