page.title=Mantener la compatibilidad @jd:body
Algunas características de Material Design, como el tema material y las transiciones de actividades personalizadas, solo están disponibles en Android 5.0 (API nivel 21) y superior. Sin embargo, puedes diseñar tus aplicaciones para usar estas características cuando se ejecutan en dispositivos que admiten Material Design y aún son compatibles con dispositivos que ejecutan versiones anteriores de Android.
Puedes configurar tu aplicación para usar el tema material en los dispositivos que los admiten y revertir a un tema anterior en los dispositivos que ejecutan versiones anteriores de Android:
res/values/styles.xml.res/values-v21/styles.xml.Nota: Si tu aplicación usa el tema material pero no proporciona un tema alternativo, tu aplicación no se ejecutará en versiones de Android anteriores a la versión 5.0.
Si los diseños que realizas de acuerdo con las pautas de Material Design no usan ninguno de los nuevos atributos XML introducidos en Android 5.0 (API nivel 21), estos trabajarán en versiones anteriores de Android. De lo contrario, puedes proporcionar diseños alternativos. También puedes proporcionar diseños alternativos para personalizar la apariencia de tu aplicación en versiones anteriores de Android.
Crea tus archivos de diseño para Android 5.0 (API nivel 21) dentro de res/layout-v21/ y
tus archivos de diseño alternativo para versiones anteriores de Android dentro de res/layout/.
Por ejemplo, res/layout/my_activity.xml es un diseño alternativo para
res/layout-v21/my_activity.xml.
Para evitar duplicación de código, define tus estilos en res/values/, modifica
estilos en res/values-v21/ para las nuevas API y usa transmisión por herencia de estilos, definiendo estilos
base en res/values/ y heredando de los que están en res/values-v21/.
Las Bibliotecas de soporte v7 r21 y superiores incluyen las siguientes características de Material Design:
Theme.AppCompat.Theme.AppCompat.Los temas Theme.AppCompat proporcionan estilos de Material Design para estos widgets:
Para obtener estilos de Material Design y personalizar la paleta de colores con la Biblioteca de soporte
v7 de Android, aplica uno de los temas Theme.AppCompat:
<!-- extend one of the Theme.AppCompat themes -->
<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">
<!-- customize the color palette -->
<item name="colorPrimary">@color/material_blue_500</item>
<item name="colorPrimaryDark">@color/material_blue_700</item>
<item name="colorAccent">@color/material_green_A200</item>
</style>
Los widgets {@link android.support.v7.widget.RecyclerView} y {@link android.support.v7.widget.CardView} están disponible en versiones anteriores de Android mediante la Biblioteca de soporte v7 con estas limitaciones:
Para usar estas características en versiones de Android anteriores a la 5.0 (API nivel 21), incluye en tu proyecto la Biblioteca de soporte v7 de Android como una dependencia de Gradle:
dependencies {
compile 'com.android.support:appcompat-v7:21.0.+'
compile 'com.android.support:cardview-v7:21.0.+'
compile 'com.android.support:recyclerview-v7:21.0.+'
}
Las siguientes características están disponibles solo en Android 5.0 (nivel de API 21) y superior:
Para conservar la compatibilidad con versiones anteriores de Android, comprueba la {@link android.os.Build.VERSION#SDK_INT version} del sistema en tiempo de ejecución antes de invocar las API para cualquiera de estas características:
// Check if we're running on Android 5.0 or higher
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
// Call some material design APIs here
} else {
// Implement this feature without material design
}
Nota: Para especificar qué versiones de Android admite tu aplicación,
usa los atributos android:minSdkVersion y android:targetSdkVersion
en tu archivo de manifiesto. Para usar las características de Material Design en Android 5.0, establece el
atributo android:targetSdkVersion en 21. Para más información, consulta
la guía de <uses-sdk> de la
API.