Este hilo es copia del original en inglés.
Esta pequeña aplicación que he hecho muestra cómo utilizar StateListManager para controlar combinaciones de estados, y cómo cambiar el mapa de bits de un botón, tanto como imagen normal como usando 9patch, dependiendo del estado de la vista.
Se puede ver la diferencia entre usar la misma imagen redimensionada, como imagen 9patch (derecha) y cargada como una imagen normal (izquierda).
Hay tres interruptores para controlar el estado de los botones.
La app muestra el estado actual de ambos botones, mediante imágenes distintas y a través del texto de la etiqueta central.
La app habilita al comienzo la propiedad "FocusableInTouchMode" para ambos botones, para que puedan recibir foco (deshabilitada por defecto en dispositivos con pantalla táctil).
Esto nos permite darnos cuenta, por ejemplo, de que si se pulsa un botón sin foco, su estado cambia a pulsado, y DESPUÉS de soltarlo, recibe el foco.
Puedes modificarlo y probar nuevas combinaciones. Si lo mejoras, por favor compártelo en este hilo, o en el original. Que os divirtáis!
------
UPDATE 2012-02-23: Añadido el método SetTextColorList, para cambiar también la propiedad del color de texto dependiendo del estado.
---
|
statelistdrawable.zip (110.9 KB)
|