studio programacion para móviles libro edición desarrollo data curso aplicaciones android appcompat appcompat-v7-r21 appcompat-v7-r22.2

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!