versiones para obsoletas lollipop descargar cualquier android android-studio gradle svg vector android-vectordrawable vectordrawable

obsoletas - descargar rom android 5.0 lollipop para cualquier android



VectorDrawable: ¿está disponible de alguna manera para las versiones de Android anteriores a Lollipop? (9)

ACTUALIZACIÓN EN Marzo 2016

Por la actualización de Android Support Library 23.2.1 , admite Vector Drawables y Animated Vector Drawables. (también puedes usar el último para el mismo)

Actualice la versión de una biblioteca en el archivo gradle.

compile ''com.android.support:recyclerview-v7:23.2.1''

Los dibujos vectoriales le permiten reemplazar múltiples activos png con un solo gráfico vectorial , definido en XML. Aunque anteriormente se limitaba a Lollipop y dispositivos superiores , tanto VectorDrawable como AnimatedVectorDrawable ahora están disponibles a través de dos nuevas bibliotecas de soporte support-vector-drawable y animated-vector-drawable. nueva app:srcCompat atributo app:srcCompat para app:srcCompat vectores de referencia.

Verifique la fuente en github con algunos ejemplos de muestra .

Cambios para la biblioteca v7 appcompat:

Se revirtió la dependencia de los activos vectoriales para que los desarrolladores que usan la biblioteca appcompat no se vean obligados a usar VectorDrawable y sus indicadores de compilación asociados.

Antecedentes

Me di cuenta de que Android ahora admite algún tipo de dibujo vectorial, a través de una clase llamada " VectorDrawable " (y también AnimatedVectorDrawable , BTW). Lo descubrí mirando las novedades de Android-Studio .

Me pregunto si este sería el final de tener que poner múltiples archivos en múltiples carpetas ( mdpi , hdpi , xhdpi , etc.). Eso sería genial y podría minimizar el tamaño de las aplicaciones en algunos casos.

Las preguntas

Me gustaría hacer algunas preguntas con respecto a esta nueva clase:

  1. ¿Es posible usarlo en versiones anteriores de Android, tal vez a través de una biblioteca de incluso la biblioteca de soporte de Google?

  2. No estoy familiarizado con su funcionamiento, pero ¿puede Lollipop manejar archivos SVG? ¿Puede hacer algo que sea posible en archivos SVG?

  3. ¿Hay alguna muestra / tutorial / video de usarlo, aparte de la documentación que he encontrado?


¡La gran noticia es que Google lanzó la Biblioteca de soporte de Android 23.2 Soporta dibujos vectoriales y dibujos animados vectoriales!

¡Pero gracias a las personas que portaron esta biblioteca antes que Google!

Aquí es donde las bibliotecas de AppCompat son geniales, pueden traer muchas de las nuevas características de Android a versiones mucho más antiguas. Con la clase VectorDrawable recientemente implementada, los desarrolladores ahora pueden usar imágenes vectoriales hasta API 7 (Android 2.1 Eclair). Los vectores animados son un poco más limitados, ya que se remontan a API 11 (Android 3.0 Honeycomb), pero eso aún abarca más del 97% de los dispositivos en uso activo hoy en día.

Guía de uso:

Consulte " age-of-the-vectors " por @chrisbanes


Desafortunadamente, en este momento, VectorDrawable y AnimatedVectorDrawable no están disponibles en la biblioteca de soporte. Pero para aprovechar esta característica en las versiones Pre-Lollipop, puede usar el backport no oficial llamado MrVector.

MrVector está disponible en Github y será compatible con las versiones de Android 7+.

Del Léame oficial

Para agregar la dependencia MrVector, agregue la siguiente línea a su bloque de dependencias build.gradle.

compile ''com.telly:mrvector:0.2.0''

Para crear el dibujable a partir del vector XML,

Drawable drawable = MrVector.inflate(getResources(), R.drawable.vector_android);

Espero que esto ayude.


Lollipop no puede manejar archivos SVG sin librerías de terceros.

La mejor solución que encontré es la BetterVectorDrawable junto con el Convertidor SVG a VectorDrawable .

BetterVectorDrawable es la implementación de VectorDrawable para Android 4.0+ con comportamiento de recuperación configurable en Android 5.0+.

SVG to VectorDrawable Converter es el conversor por lotes de imágenes SVG a archivos de recursos XML VectorDrawable de Android. Versión en línea

Los enlaces apuntan a los archivos léame, que proporcionan suficiente información sobre cómo usar la lib y el convertidor.


No hay VectorDrawables en la biblioteca de soporte en este momento.

Funkystein tiene razón: VectorDrawable es similar a SVG, solo admite las características de dibujo vectorial que tienen mayor demanda para que Android pueda centrarse en el rendimiento. pathData, por ejemplo, tiene el mismo formato que la cadena "d" de SVG.


Para complementar algunas de las respuestas aquí: sí, puede obtener soporte para VectorDrawables pre-Lollipop , al menos parcial.

¿Qué tan parcial? Depende: he creado este diagrama para ayudar (válido para Support Library 23.4.0 a - al menos - 25.1.0).


Puedes probar esta biblioteca de soporte . Es compatible con VectorDrawable y AnimatedVectorDrawable introducidos en Lollipop con total compatibilidad con versiones anteriores.


Si está utilizando VectorDrawable, Android Studio generará automáticamente archivos PNG según (basados ​​en sus archivos XML) para las versiones Pre-Lollipop.

Tenga en cuenta que los archivos PNG generados se consideran BitmapDrawables en lugar de VectorDrawables en dispositivos que ejecutan API por debajo de 21 y, por lo tanto, no pueden ser animados o similares en esos dispositivos.

Consulte "compatibilidad con versiones anteriores" para obtener más detalles: http://android-developers.blogspot.co.at/2015/09/android-studio-14.html


Actualización 2 : Lo habilitan nuevamente en la Biblioteca de soporte 23.4.0:

Para los usuarios de AppCompat, hemos agregado una API opcional para volver a habilitar el soporte Vector Drawables de los recursos (el comportamiento que se encuentra en 23.2) a través de AppCompatDelegate.setCompatVectorFromResourcesEnabled (verdadero): tenga en cuenta que esto todavía puede causar problemas con el uso de la memoria y problemas para actualizar instancias de configuración, de ahí que esté deshabilitado de forma predeterminada.

Compruebe esto 23.4.0 disponible ahora

Actualización : Esto no funciona desde la versión 23.3.0. Verifique here para más detalles. Los dibujantes proxy no funcionan. app:srcCompat y setImageResource() funcionan, sin embargo.

El soporte Vector Drawable está disponible en la Biblioteca de soporte de la versión 23.2 y posteriores. Sin embargo, para usar adecuadamente esos elementos dibujables, deben ser referenciados indirectamente.

El primer paso sería AppCompat versión de AppCompat .

compile ''com.android.support:appcompat-v7:23.2.0''

Segundo habilite el soporte de Vector Drawable. Si usa el complemento Gradle, 2.0+

android { defaultConfig { vectorDrawables.useSupportLibrary = true } }

De otra manera

android { defaultConfig { generatedDensities = [] } aaptOptions { additionalParameters "--no-version-vectors" } }

Tercero , consulte la answer vinculada.