Crear una Vista Personalizada y Parametrizable en Android

En muchas ocasiones los componentes ofrecidos por el SDK de Android no son suficientes. Por ésta razón es importante entender como funciona la creación de vistas (Views) con atributos y parámetros personalizables. A continuación les explico en detalle cómo crear un indicador de progreso con círculos que te permite personalizar: color, tamaño de los círculos, número de círculos y el margen de separación entre cada círculo.

Lo primero que debes hacer es crear un nuevo proyecto Android. Una vez tengas el proyecto deberás crear tu archivo de atributos (attrs.xml) en la siguiente ruta res/values/attrs.xml. Dentro de éste archivo crea tu styleable con las propiedades que deseas parametrizar: Una vez hayas creado el archivo attrs.xml deberás crear una nueva clase que se llame CirclesIndicator que extienda la clase View. Dentro esta clase deberás incluir las variables para almacenar los valores de los parámetros:
Luego deberás crear un objeto Paint que te permitirá dibujar los círculos en el canvas de la vista. De igual manera un objeto Rect para poder medir las dimensiones del canvas y hacer los cálculos de manera correcta. Una vez tengas tus variables deberás sobrescribir el constructor de la clase View que te permite recibir parámetros. Luego crear un método init en el cual inicialices los objetos de tu vista y otro método loadAttributes en donde leas de la configuración los parámetros correspondientes: Finalmente deberás sobrescribir los métodos onDraw y onMeasure para dibujar los círculos y medir las dimensiones de tu vista. Un vez tengas estos dos archivos creados (attrs.xml y CirclesIndicator.java) lo único que deberás hacer para usarlos es incluirlos dentro de tu layout xml de la siguiente manera: El atributo 'xmlns:custom="http://schemas.android.com/apk/res-auto"' del elemento padre de tu xml le permite a tu IDE detectar los atributos que tu definiste en el archivo attrs.xml. De ésta manera puede validar y previsualizar tu vista:

Introducción a Android


Android es un stack de soluciones software para dispositivos móviles compuesto de un sistema operativo, un middleware y un conjunto de aplicaciones claves desarrollado por la empresa Android Inc. Adquirida por Google Inc. en el 2005.

El sistema operativo de dispositivos móviles Android está basado en el kernel de Linux versión 2.6 para los servicios del núcleo como seguridad, manejo de memoria, procesos, redes y el modelo de drivers. Su desarrollo es conocido como el proyecto The Android Open Source Project (AOSP) y es realizado por la Open Handset Alliance quienes promueven el desarrollo de estándares abiertos para dispositivos móviles y está liderada, entre otros, por Google Inc. Actualmente es el sistema operativo más vendido en el mercado como plataforma para celulares inteligentes (Smart Phones).

Android cuenta con una gran comunidad de desarrolladores de aplicaciones. Actualmente se encuentran disponibles cerca de 800.000; el Google Play es la tienda en línea de aplicaciones manejada por Google en donde estas pueden ser descargadas y adquiridas directamente desde cualquier dispositivo móvil con sistema operativo Android.

La aplicaciones son desarrolladas principalmente en el lenguaje de programación Java, accediendo al control del dispositivo por medio de unas librerías Java desarrolladas por Google.

Fuentes: 






Durante nuestras próximas entradas explicaremos en detalle como desarrollar una aplicación sencilla para Android mostrando las facilidades y ventajas que este ofrece.