Widgets en Android

Las librerías gráficas de Android proporcionan diversos widgets para poder construir nuestras interfaces gráficas. Vamos a ir jugando con algunos de ellos y viendo como se pueden modificar.

Modificando el widget TimePickerDialog

Queremos poder introducir las horas, minutos y segundos para un contador y el widget TimePickerDialog cubre bastante bien lo que queremos, pero hay que quitarle la parte de AM/PM y añadirle los segundos. Vamos a ver cuando de complejo es modificar este widget y crearnos el que a nosotros nos hace falta.

Lo primero es localizar el código fuente del widget y lograr compilarlo de forma independiente al resto de la plataforma. Una vez logrado esto, pasamos a crear un widget nuevo derivado de él. ¿Qué pasa con la accesibilidad en Android?

TimePickerDialog source code

De momento vemos que usa APIs antiguas, como com.androd.internal.R, y que tenemos que copiar a parte del código fuente, los recursos de la aplicación: R.string, R.style ... La clase R.java se genera de forma automática durante la compilación y es una clase del paquete.

Este widget utiliza por abajo la vista (View) TimePicker que es a la que le queremos meter mano de verdad. Finalmente use el widget NumberPicker pero podemos reutilizar bastante de como está hecho TimePicker y de paso vamos aprendiendo de leer código y cambiarlo. El widget NumberPicker es interno, ¿por qué?, así que tendremos que ver si se puede utilizar desde fuera de la plataforma Android.

Desde luego que parece que este es el camino a seguir.

AndroidWidgets (last edited 2009-12-19 16:52:26 by AlvaroDelCastillo)