El botón de Android selecciona y presiona dibujable
Estoy tratando de hacer un botón con la prensa estatal y seleccionar, ya hice lo mismo con las pestañas y funciona, pero no sé por qué aquí no funciona. Lo he hecho así:
Button_sel.xml
- Cómo guardar, exportar o convertir un Android XML Drawable como un archivo de imagen PNG?
- Rectángulo dentro de otro rectángulo
- Línea dibujable debajo de textview no mostrando
- Mejor asignación de imágenes de calidad a partir de recursos basados en resolución / densidad
- Herramienta de Android para generar selector xml para botones
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="@color/azulado" android:endColor="@color/azulBrillante" android:angle="270" /> <corners android:radius="@dimen/corner_radius" /> <stroke android:width="2px" android:color="@color/blanco" /> </shape>
Button_unsel.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="@color/botonesD" android:endColor="@color/botones" android:angle="270" /> <corners android:radius="@dimen/corner_radius" /> <stroke android:width="2px" android:color="@color/blanco" /> </shape>
Y el selector, button.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/button_sel" android:state_selected="true" android:state_pressed="true"/> <item android:drawable="@drawable/button_unsel" android:state_selected="false" android:state_pressed="false"/> </selector>
Y aquí llamo el dibujable como fondo:
<style name="button"> <item name="android:background">@drawable/button</item> <item name="android:textSize">@dimen/text_size</item> <item name="android:padding">@dimen/padding_button</item> <item name="android:textColor">@color/blanco</item> </style>
¡¡¡¡Gracias!!!!
- Esquinas redondeadas redondeadas de Android XML con etiqueta de mapa de bits
- Error al inflar la clase <unknown>
- BitmapFactory.decodeResource () devuelve null para la forma definida en xml drawable
- Barra de progreso circular Android con esquinas redondeadas
- ¿Cómo conseguir el efecto de la luz del centro del gradiente del androide?
- Selector, lista de capas y forma / mapa de bits en el mismo xml
- Esquinas redondeadas con color de borde
- Reutilice las imágenes dibujables para diferentes tamaños de pantalla y densidades en Android
El primer elemento del selector sólo se utiliza cuando se pulsa el botón y se selecciona. Si desea utilizar button_sel
cuando su botón está presionado O seleccionado, debe hacer algo como esto:
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/button_sel" android:state_selected="true" /> <item android:drawable="@drawable/button_sel" android:state_pressed="true" /> <item android:drawable="@drawable/button_unsel" /> </selector>
Los elementos se evalúan de arriba abajo, el último es el predeterminado. Aunque no estoy seguro de si state_selected tiene sentido para los botones.
Puede utilizar el elemento en línea de la forma.
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" > <shape....> </item> <item android:state_selected="true" > <shape....> </item> <item android:state_pressed="true" android:state_selected="true" > <shape...> </item> </selector>
Para la muestra:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true" > <shape android:shape="rectangle"> <gradient android:startColor="@color/md_amber_300" android:endColor="@color/md_amber_50" android:angle="270" /> <corners android:radius="@dimen/fab_margin" /> <stroke android:width="2px" android:color="@color/primaryColorDark_orange" /> </shape> </item> <item android:state_pressed="true" > <shape android:shape="rectangle"> <gradient android:startColor="@color/md_amber_300" android:endColor="@color/md_amber_50" android:angle="270" /> <corners android:radius="@dimen/fab_margin" /> <stroke android:width="2px" android:color="@color/primaryColorDark_orange" /> </shape> </item> <item android:state_pressed="true" android:state_selected="true" > <shape android:shape="rectangle"> <gradient android:startColor="@color/md_teal_500" android:endColor="@color/md_blue_400" android:angle="270" /> <corners android:radius="@dimen/fab_margin" /> <stroke android:width="2px" android:color="@color/md_amber_A400" /> </shape> </item> </selector>
- Habilitar LogCat en la compilación de versiones en Android Studio
- Obtener SSID cuando WIFI está conectado