Técnico especialista en informática de empresa (CEU).
Ingeniero Técnico en Informática de Sistemas (UPM)
Creador de MobileTest, Haaala!, Girillo, toi18n.
Charla sobre desarrollo de aplicaciones en Android.
Fecha de publicación del tutorial: 2011-05-03
Construcción de un control personalizado en Android
Introducción
En muchas ocasiones es muy interesante crear nuestros propios controles personalizados para poder reutilizarlos rápida y cómodamente en el futuro. En este tutorial vamos a ver un ejemplo de como crear y usar un control personlizado sencillo.
Manos a la obra! construcción del control personalizado
A continuación construiremos un control que nos permita cómodamente elegir mediante una barra de progreso un número entre un determinado intervalo válido, además nos permita personalizar:
- El título
- El valor máximo.
- El valor por defecto seleccionado.
Si deseas el código fuente, puedes descargártelo aquí . (Está autocomentado, no creo que tengas problemas si tienes una base de programación en Android.)
Captura de pantalla de la aplicación a construir:
El control personalizado que construiremos está resaltado con un borde azul.

Interface gráfico de la aplicación (la captura de pantalla)
Observe como definimos declarativamente la pantalla con el control personalizado es.carlosgarcia.widget.SeekBarCustom que construiremos posteriormente:
es.carlosgarcia.MainActivity
Único Activity de la aplicación.
es.carlosgarcia.widget.SeekBarCustom
Clase que define el control personalizado que deseamos construir (lo resaltado en azul en la captura de pantalla anterior).
Observe como:
- Construimos el control combinando (o componiendo) varios controles ya definidos (LinearLayout, SeekBar y TextView)
- Leemos los atributos que hemos definido en el XML del GUI. (max, progress, text).
Archivo de recursos de mensajes /res/string.xml
Nota: Si desea traducirlo automáticamente a otros idiomas, puede hacerlo a mano o usar la aplicación toi18n.
Conclusiones
Como veis no es dificil crear estos controles y reutilizarlos en un futuro o incluso crearos vuestras propias librerías de componentes..
Espero que os haya sido útil, un saludo.
Carlos García, http://www.carlos-garcia.es.











