tutorial - Android: Theme.Material.Light requiere nivel API 21(el mínimo actual es 8)
material design android tutorial (4)
En su archivo NameActivity.java importe lo siguiente:
import android.support.v7.widget.Toolbar;
Comenta el anterior:
//import android.widget.Toolbar;
Con esto se resuelve el problema.
Quiero usar Material Theme en mi aplicación, que tiene una versión de sdk mínima de 8. Según docs: "El tema de material solo está disponible en Android 5.0 (nivel API 21) y superior. Las bibliotecas de soporte de v7 proporcionan temas con estilos de diseño de material para Algunos widgets y soporte para personalizar la paleta de colores ". ¿Significa que puedo usarlo si agrego v7 Support Libarary en mi proyecto? Porque después de agregar esta biblioteca recibí el siguiente error:
Android: Theme.Material.Light requiere el nivel de API 21 (el mínimo actual es 8).
¿O tal vez entendí algo mal? Cualquier sugerencia será apreciada. Gracias por adelantado.
Para ello necesitas tener 2 carpetas de valores.
Uno que existe por defecto, y otro, tienes que crearlo en tu carpeta de res y nombrarlo valores-v21.
En la carpeta de valores predeterminados, en styles.xml, use un tema diferente al tema Material Y en el styles.xml de la carpeta values-v21 que creó, use el tema Material.
El teléfono Android recogerá automáticamente el styles.xml que admite. Si el teléfono es compatible con Material Design (dispositivos Lollipop), su aplicación utilizará el tema del material (carpeta de valores-21).
si no lo hace (en teléfonos con versiones anteriores de Android), se utilizará la carpeta de valores predeterminados.
Necesitas usar el android:theme="@style/Theme.AppCompat.Light"
para obtener un diseño de material.
Asegúrate de que tu min sea 8 y tu objetivo sea 21. Y estás usando build tools / sdk 21.
Pedro Oliveira tiene razón con respecto a Theme.AppCompat
, pero falta información esencial en esa respuesta.
¡Una publicación de blog titulada appcompat v21: diseño de material para dispositivos pre-Lollipop! por Chris Banes, del equipo de Android, probablemente responde mejor la pregunta de cómo obtener Material Theme para los niveles de API antes de los 21.
Para resumir, necesita la appcompat-v7
:
dependencies {
...
compile "com.android.support:appcompat-v7:21.0.3"
}
Después de eso, para la versión oscura como tema base, usa:
<style name="AppTheme" parent="Theme.AppCompat">
</style>
Y para la versión ligera:
<style name="AppTheme" parent="Theme.AppCompat.Light">
</style>
Y si eres nuevo en AppCompat, hay cosas que debes saber, como:
Todas sus actividades deben extenderse desde
ActionBarActivity*. Se extiende desde FragmentActivity desde la biblioteca de soporte de v4, por lo que puede continuar utilizando fragmentos.
* NB: más recientemente, ActionBarActivity ha quedado en desuso en favor de AppCompatActivity .
¡Pero realmente deberías leer toda la sección de Configuración de esa entrada de blog! (La información en Barra de herramientas vs Barra de acción, y algunos de los comentarios también son algo que probablemente no debería perderse).