2010-06-18 31 views
6

Deseo desarrollar una aplicación para Android, pero no quiero usar los controles predeterminados (botones, casillas de verificación, botones de opción, etc.). ¿Hay alguna forma de personalizar esos controles para que se vea mejor? Si es así, algún tutorial o guía me ayudará mucho. Gracias ...Guía para controles personalizados de interfaz de usuario

+0

¿No puedes extender? – Vinay

Respuesta

15

Si desea crear elementos de UI completamente nuevos, debe leer developer guide topic on creating custom components/views.

Si, por otro lado, simplemente desea cambiar el aspecto de los elementos de IU existentes, a continuación encontrará una lista no exhaustiva de lo que deberá hacer. Esto supone que está familiarizado con el Android resources framework y el sistema de diseño.

  • En primer lugar, ver cómo éstas se implementan en el código fuente de Android (AOSP, GitHub's mirror). Todo el código que le interesa es en el proyecto frameworks/base.git (enlaces rápidos: resources, Java sources)

  • Para cada tipo de elemento de interfaz de usuario, crear Nine Patch PNG drawables para cada uno de los estados de interfaz de usuario (por defecto, personas con discapacidad, se pulsa, se centró , etc.) y para cada densidad relevante (por ejemplo, densidad media, alta y extra alta). Estos PNG deben estar en sus directorios res/drawable-mdpi/, res/drawable-hdpi/ y res/drawable-xhdpi/.

  • Para cada tipo de elemento de interfaz de usuario, cree un state list XML drawable (<selector>), que estará en el directorio res/drawable/. La lista de estado dibujable para el botón predeterminado de Android se puede encontrar en here.

  • Establezca el android:background botón/caja de texto/etc., atributo al nombre de la lista de estado dibujable. Por ejemplo, el valor del atributo debe ser @drawable/mybutton si su lista de estado dibujable es res/drawable/mybutton.xml.

    Nota: Puede usar themes para reducir la redundancia (es decir, mantenerlos DRY) en sus archivos XML.

+0

Muchas gracias, esto es lo que estoy buscando. –

Cuestiones relacionadas