Подтвердить что ты не робот

Android: Theme.Material.Light требует уровня API 21 (текущий минимум 8)

Я хочу использовать Material Theme в своем приложении с минимальной версией sdk 8. Согласно документам - "Тема материала доступна только на Android 5.0 (API уровня 21) и выше. Библиотеки поддержки V7 предоставляют темы с материалами стили дизайна для некоторых виджетов и поддержку настройки цветовой палитры". Означает ли это, что я могу использовать его, если я добавлю V7 Support Libarary в свой проект? Потому что после добавления этой библиотеки я получил следующую ошибку:

android: Theme.Material.Light требует уровня API 21 (текущий минимум 8).

Или, может быть, я понял что-то не так? Любое предложение будет оценено по достоинству. Спасибо заранее.

4b9b3361

Ответ 1

Для этого вам нужно иметь папку с двумя значениями.

Один, который существует по умолчанию, а другой, вы должны создать в своей папке res и называть его значениями-v21.

В папке значений по умолчанию, в styles.xml, используйте тему, отличную от темы Material И в созданной вами папке styles.xml значений-v21 используйте тему Материал.

Телефон Android автоматически подберет стили .xml, которые он поддерживает. Если телефон поддерживает конструкцию материалов (устройства Lollipop), ваше приложение будет использовать материальную тему (папка значений -21).

если это не так (в телефонах, работающих на старых версиях Android), будет использоваться папка значений по умолчанию.

Ответ 2

Вам нужно использовать тему android:theme="@style/Theme.AppCompat.Light", чтобы получить материальный дизайн.

Удостоверьтесь, что ваш минус равен 8, а ваша цель равна 21. И вы используете инструменты сборки /sdk 21.

Ответ 3

Педро Оливейра прав относительно Theme.AppCompat, но в этом ответе отсутствует какая-то существенная информация.

Сообщение в блоге под названием appcompat v21: дизайн материалов для устройств Pre-Lollipop! Криса Банеса из Команда Android, вероятно, лучше всего отвечает на вопрос о том, как получить Material Theme для уровней API до 21 года.

Подводя итог, вам нужно appcompat-v7 зависимость:

dependencies {
    ...
    compile "com.android.support:appcompat-v7:21.0.3"
}

После этого для темной версии в качестве базовой темы используйте:

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

И для легкой версии:

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

И если вы новичок в AppCompat, есть вещи, которые вам нужно знать, например:

Все ваши действия должны простираться от ActionBarActivity *. Он расширяет из FragmentActivity из библиотеки поддержки v4, чтобы вы могли продолжить для использования фрагментов.

* NB: в последнее время ActionBarActivity устарела в пользу AppCompatActivity.

Но вы действительно должны прочитать весь раздел "Настройка" этого блога! (Информация о панели инструментов и панели действий и некоторые из комментариев также вы не должны пропустить.)