Una herramienta que todo Android-Developer debe conocer

Una herramienta que todo Android-Developer debe conocer
coder_android

¿Qué es eso del 9-patch?

Es un sistema que utiliza Android para hacer el reescalado selectivo de las imágenes mediante la adición de unos marcadores en la propia imagen. Se trata de marcar con unas barras solamente las zonas de la imagen que el sistema redimensionará para que, de esta manera, la imagen se adapte a las medidas deseadas sin provocar distorsiones. Es mas complicado de explicar que de entender.

Veamos un ejemplo:

comparativa_3

Podemos observar que en la imagen original hay 4 barras, estas indican la zona que en caso de ser necesario será redimensionada, solamente y únicamente esta zona será la que se modifique, dejando el resto tal cual está. Esta sección a la que me refiero es  la que he marcado con un cuadro rojo (este cuadro rojo no existe en la imagen real, la he dibujado para que entendáis a que sección me refiero).

El primer caso sería lo típico, necesitamos que la imagen sea mas ancha (como por ejemplo usándola como fondo de un botón), y directamente la ensanchamos, pero claro, para ello hemos tenido que distorsionar la imagen resultando un poco desagradable a la vista.

En el segundo caso, puesto que hemos usando una imagen con 9-patch, conseguimos redimensionarla manteniendo las proporciones, ya que hemos escogido una zona que a la hora de redimensionarse, no desfigura el resto de la imagen.

¿Como creamos estas imágenes?

Pues para ello, Google nos proporciona una herramienta dentro del SDK de Android "draw9patch", el cual podremos encontrar en la siguiente ruta "SDKAndroid/tools/draw9patch" en mi caso (C:Program Files (x86)Androidandroid-sdktoolsdraw9patch.bat).

Podéis encontrar toda la información pertinente en la pagina de desarrolladores de Android.

Si tenéis alguna pregunta, no dudéis en dejarnos un comentario.