Android – RadioButton con aspecto custom

Hola, hoy voy a hablaros acerca de customizar vistas en Android. Específicamente voy a poner un ejemplo de como hacerlo con los RadioButtons. A veces por cuestiones del diseño nos encontramos con que necesitamos modificar una vista nativa para que se ajuste a nuestras necesidades. En el ejemplo que voy a poner voy a hacer que dos radio buttons se comporten como tabs que cargan distintos fragments, pero que tengan aspectos de botones y estén contenidas en el Toolbar.

Para empezar necesitamos definir el layout de nuestro activity

Como podéis ver hemos añadido los elementos de los que hablamos antes: un Toolbar, un RadioGroup que contiene dos RadioButtons y un FrameLayout donde colocaremos el fragment correspondiente. Respecto a los atributos a tener en cuenta nos centramos en los que tiene RadioButton.

android:button=”@android:color/transparent” – Con este atributo estamos eliminando el círculo que aparece a la izquierda del texto en el radiobutton para conseguir darle aspecto de botón.

android:background=”@drawable/radio_button_as_button” – Aquí es donde le otorgamos el aspecto que queramos, en este caso será el drawable radio_button_as_button que comentaré a continuación.

Por último con android:checked=”true” marcamos el radiobutton que estará activo por defecto (si es que queremos que haya uno siempre activo).

Ahora creamos un drawable resource file en /res/drawable con el nombre radio_button_as_button que contendrá lo siguiente:

Donde le decimos al radiobutton que su background tendrá el aspecto radio_button_as_button_checked cuando su estado sea pressed=true o checked=true y que su aspecto por defecto sea radio_button_as_button_default, siendo estos dos drawables

radio_button_as_button_checked

radio_button_as_button_default

En los cuales simplemente le damos un aspecto redondeado a su forma rectangular y le damos un color a su background.

Por último creamos un listener para el evento onClick de cada RadioButton y le asignamos el fragment que queramos.

Como resultado final tendremos algo como esto:

RadioButton 1 RadioButton 2

 

Podéis ver todo el código en el repo de github: https://github.com/kohrong/customradiobutton-android

Hacer un layout clickable con efecto Ripple

En ocasiones tenemos la necesidad de crear un elemento gráfico más complejo que un botón que nos permita realizar una acción. En este caso os voy a enseñar como conseguir que un layout pueda realizar esta funcionalidad.

Imaginemos que queremos mostrar información acerca de una cerveza en una celda. La información a mostrar podría ser su nombre, su estilo, la graduación y una foto. Nuestro objetivo es que haciendo click en la celda la aplicación navegue hacia la actividad que muestra el detalle de la cerveza en sí.

Continue…

Android: Publicando en Alpha o Beta

Desde mayo del año pasado está disponible para los desarrolladores la opción de publicar aplicaciones en versions Alpha y Beta además de la version Release a través del Play Store. La diferencia fundamental entre la versions Alpha, Beta y Release es que esta última será la única en aparecer en las búsqueda del Google Play . Para poder accede a cualquiera de las otras dos versions será necesario crear un grupo de Google o una comunidad de Google + desde los que se distribuirá la aplicación a un grupo determinado de usuarios.

Es muy recomendable la distribución de una versión pre-release de tu aplicación a tus principales usuarios para facilitarles una manera sencilla para acceder a un buen feedback y reporte de bugs.

A través de la consola de desarrollador , al subir la aplicación determinaremos el tipo de publicación. En caso de querer publicar en Alpha o Beta… sigue leyendo

Continue…

Android. Persistencia de datos en la rotación de pantalla. Portrait <-> Landscape.

portrait_landscape

Cuando programamos para un dispositivo móvil, es una buena práctica asegurarnos de que nuestras interfaces se visualizarán de una forma decente en cualquier orientación que adopte el teléfono, tanto en “Portrait” (vertical) como en “Landscape” (horizontal).

Por defecto, cuando ocurre un cambio en la configuración del teléfono, algunas configuraciones del dispositivo pueden cambiar en tiempo de ejecución (como la orientación de la pantalla, la disponibilidad del teclado o el idioma). Cuando se produce un cambio de este tipo, Android reinicia la actividad en ejecución, es decir, destruye (OnDestroy) y reconstruye (onCreate) la actividad. El comportamiento de reinicio está diseñado para ayudar a la aplicación a adaptarse a las nuevas configuraciones mediante la recarga automáticamente de recursos alternativos que responden a la nueva configuración del dispositivo. En el caso de la rotación, la finalidad es cargar nuevos layout para ofrecer una vista más cómoda al usuario.
Continue…

Android: Gestión de orientación con VideoView

Hace no mucho tuve que escuchar como un “experto” en Android decía que nunca íbamos a tener que reproducir vídeos de forma nativa en una aplicación. Para mí suerte o desgracia eso no era más que una gran mentira. No sé si mucha gente tiene que pelearse a diario con la reproducción de vídeos pero en mi caso se ha convertido en mi pan de cada día. Poco a poco he tenido que ir armando el pequeño puzzle e intentar crearme las piezas que me permitieran reutilizar mi trabajo de una aplicación a otra. Aquí está un pequeño resumen de lo que he sacado en claro, y espero que ayude a alguien.
Continue…

Cheat Sheet (Chuleta) – Diseño UI en iOS y Android

iOS_Android_DesignGuidelines_CheatSheet

Ya vimos en una entrada anterior una chuleta sobre las directrices de diseño de una interfaz en Windows Phone. No iba a ser menos en iOS y Android. Y es que al hacer una aplicación, seguir las directrices de diseño de la plataforma es una manera de aumentar métricas como la retención de usuarios y la satisfacción del cliente. Esto hace que sea más fácil para los usuarios a aprender a utilizar la aplicación, de una manera lo más rápida e intuitiva posible. Por este motivo surge esta chuleta tanto para iOS y Android.

Continue…