Mientras se desarrollan aplicaciones para Android, soportar múltiples resoluciones es a veces una pesadilla para los desarrolladores. Incluir múltiples imágenes para diferentes resoluciones también aumenta el tamaño del proyecto. La solución es utilizar gráficos vectoriales como las imágenes SVG.
¿Qué es un dibujable vectorial?
Un VectorDrawable
es un gráfico vectorial definido en un archivo XML como un conjunto de puntos, líneas y curvas junto con su información de color asociada. La mayor ventaja de utilizar un dibujable vectorial es la escalabilidad de la imagen. Ahora no es necesario crear una imagen de tamaño diferente para mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi, etc. Los dibujables vectoriales se pueden escalar sin pérdida de calidad de visualización, lo que significa que el mismo archivo se redimensiona para diferentes densidades de pantalla sin pérdida de calidad de imagen. Esto da lugar a archivos APK más pequeños y a un menor mantenimiento por parte del desarrollador.
Creación de un proyecto Android
1. Crear un nuevo proyecto en Android Studio desde Archivo ⇒ Nuevo Proyecto y rellenar los detalles del proyecto.
2. Abrir build.gradle y añadir la siguiente línea dentro del bloque defaultConfig.
vectorDrawables.useSupportLibrary = true
Si estás usando una versión de gradle inferior a la 2.0 entonces use lo siguiente
aaptOptions {
additionalParameters " — no-version-vectors"
}
Creando VectorDrawable
Hay 2 maneras de crear VectorDrawable usando la herramienta de activos de Android Studio Vector.
I) Material Icons
Así que vamos a empezar por crear VectorDrawable de Material Icons. Estos iconos son el conjunto oficial de iconos de Google que están diseñados bajo las directrices de diseño de materiales.
- En el proyecto Haga clic derecho en el directorio drawable
- Ir a Nuevo ⇒ Activo Vectorial
- Haga clic en el icono del lanzador para buscar Material Icons.
- Seleccione un icono y haga clic en Aceptar.
- Revise el nombre del archivo y luego haga clic en siguiente.
- Ahora Vector Asset Studio mostrará la ubicación sobre donde se está guardando el archivo, revíselo y haga clic en finalizar.
- La carpeta drawable ahora consistirá en un archivo recién creado.
II) Archivo SVG o PSD
Ahora que hemos creado vectorDrawable a partir de Material Icon, ¿qué pasa si queremos un icono independiente? Podemos crearlo a partir de SVG o PSD, a continuación son el procedimiento
- En el proyecto Haga clic derecho en el directorio drawable
- Ir a Nuevo ⇒ Activo Vectorial
- Seleccione la opción de Archivo Local (SVG, PSD)
- Haga clic en el icono de examinar y navegue hasta su archivo SVG o PSD para seleccionarlo y haga clic en Aceptar.
- Verifique la imagen en la vista previa y haga clic en Siguiente ⇒ Finalizar.
Usando VectorDrawable
Hemos añadido con éxito VectorDrawables al proyecto, ahora es el momento de utilizarlos. Abra el archivo de diseño de la actividad principal (activity_main.xml) y añada el siguiente xml. Este layout muestra como usar VectorDrawable con ImageView y otras Views (como fondo)
Para usar VectorDrawable desde java o para usarlo como fondo (en xml también) necesitas intimar con AppCompatDelegate para habilitar compat vector desde el recurso. Abajo está el código para eso.