2017-02-09 4 views
-1

Так что я пытаюсь применить материальную тему к недавно созданному приложению. Согласно документации по android:Как применить тему материала в Android?

«Чтобы использовать дизайн материалов в своих приложениях для Android, следуйте инструкциям, описанным в спецификации материалов, и используйте новые компоненты и функциональные возможности, доступные в Android 5.0 (API уровня 21)».

Что я сделал создать новый проект с:

minSdkVersion 23 targetSdkVersion 25

Тогда я пошел в styles.xml и изменил стиль:

<style name="AppTheme" parent="@android:style/Theme.Material"> 

Тогда я попытайтесь построить на эмулированном устройстве со следующей конфигурацией:

nexus 5/api 25.

Приложение аварийно завершает работу с: java.lang.IllegalStateException: вам необходимо использовать тему Theme.AppCompat (или потомок) с этим действием.

Я не понимаю, почему? Разве я не выполнил требуемые условия? Мой минимальный целевой sdk является правильным в соответствии с документацией, и устройство, которое я создаю, имеет право sdk.

Что мне не хватает?

ответ

1

Вы используете AppCompatActivity не рамки Activity

Таким образом, тема вам нужно использовать, должны иметь тему AppCompat в качестве родителя, такие как

<style name="AppTheme" parent="@style/Theme.AppCompat.Light"> 
</style> 
0

Для использования материала темы сделать свой MainActivity (или activity, для которого вы применяете тему) подкласс Activity, а не AppCompatActivity или ActionBarActivity. Вы также должны проверить this.