android - programacion - ¿Cuál es el uso de un...-v21.xml?
manual de programacion android pdf (1)
Tuve este themes.xml en la carpeta values-v21
Un directorio res/values-v21/
contiene recursos que se utilizarán cuando el dispositivo que ejecuta su aplicación se encuentre en el nivel 21 de API o superior. Si el dispositivo se ejecuta en una versión anterior de Android, se res/values-v21/
directorio res/values-v21/
.
¿Para qué se usan? ¿Hacen una diferencia?
Se utilizan para proporcionar diferentes versiones de recursos para diferentes versiones de Android.
En el caso de un archivo themes.xml
, un dispositivo de nivel de API 21+ puede tener un tema que hereda de Theme.Material
. Sin embargo, ese tema no existe en dispositivos más antiguos. Si tiene un tema en res/values/
que intenta referirse a Theme.Material
, su aplicación se bloqueará en esos dispositivos más antiguos. Entonces, en su lugar, coloca un tema en res/values/
que funcionará en todos los dispositivos que está soportando (por ejemplo, Theme.Holo
para una minSdkVersion
de 11 o superior), y reemplaza ese tema en res/values-v21/
to en su lugar utiliza Theme.Material
.
Puede verlo en esta aplicación de ejemplo , donde Theme.Apptheme
(el tema de mi aplicación) hereda de Theme.Holo
en res/values/
y hereda de Theme.Material
en res/values-v21/
. La versión de Theme.Apptheme
se usa en el tiempo de ejecución depende de la versión de Android que tenga el dispositivo.
Estoy desarrollando una aplicación para la versión de Android 4.0 y superior. Acabo de actualizar a appcompat 22.2.0 pero estoy viendo todas estas referencias a ...- v21 / v22.xml en la web. ¿Para qué se usan? ¿Hacen una diferencia? ¡Gracias por adelantado!