Personalizar el aspecto de la casilla de verificación starStyle
I lo siguiente dentro de la disposición de xml para mi fila de ListView
:
<CheckBox android:id="@+id/favbutton" style="?android:attr/starStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" />
Y muestra una estrella azul que se puede comprobar para seleccionar un favorito. Esta es exactamente la funcionalidad que necesito, pero me gustaría personalizar el icono de la estrella que se muestra. Me gustaría cambiar el color a amarillo en lugar de azul y también hacer la estrella más pequeña si es posible. ¿Es posible hacer estos cambios haciendo cambios al tema aplicado a la aplicación? ¿Qué necesito editar para cambiar el aspecto del icono de estrella?
- Agregar en un elemento de menú en ActionBar
- Mantenimiento de los estados de la casilla de verificación en listview con CursorAdapter
- Estado del elemento de la casilla de verificación en el menú android
- API21 setButtonTintList en CheckBox
- Cambiar el tema de diseño predeterminado a color personalizado?
- Listview con Checkbox, RadioButton, Textview y el botón no funciona correctamente en android
- No se puede marcar / desmarcar CheckedTextView dentro de getView
- Desactivar la casilla de verificación después de marcada, android
- Cómo configurar el color del borde de la casilla de verificación
- Definición de la casilla de verificación personalizada en android
- ¿Cómo hacer algo cuando una casilla de verificación cambia de estado?
- Preferencia y comprobación de la casilla de verificación si está activada o desactivada
- Android listview, el cambio de casilla de verificación al azar
Resolví esto como sigue. btn_star_selector.xml
un archivo en res/drawable
btn_star_selector.xml
llamado btn_star_selector.xml
y btn_star_selector.xml
el selector como sigue:
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:state_pressed="true" android:drawable="@drawable/btn_star_on_pressed" /> <item android:state_checked="false" android:state_pressed="true" android:drawable="@drawable/btn_star_off_pressed" /> <item android:state_checked="true" android:drawable="@drawable/btn_star_on" /> <item android:state_checked="false" android:drawable="@drawable/btn_star_off" /> </selector>
Con este selector definido, entonces reemplazé esta línea en la definición de checkbox
style="?android:attr/starStyle"
con este
android:button="@drawable/btn_star_selector"
A continuación, creé cuatro imágenes para representar los diferentes estados de la casilla de verificación, es decir, on
, off
, on pressed
y off pressed
y también colocado en res/drawables
.
Espero que esto ayude a alguien que está tratando de averiguar cómo personalizar las casillas de verificación.
- Robolectric: probar un ListView con el patrón ViewHolder causa NullPointerException
- Implementar pdfViewer con APV