0

Я разрабатываю приложение, которое начинается с listview. У меня проблемы с настройкой тем для приложения. Дизайн материалов может быть применен к Android 5.0 и выше. Таким образом, я создал папку в ценности-21 и создать styles.xml следующим образом:Android, применяющий тему по версии

<resources> 
    <!-- Inherit from the light Material Theme --> 
    <style name="MyCustomTheme" parent="android:Theme.Material.Light"> 
    <item name="android:colorPrimary">@color/My_LightBlue</item> 
    </style> 
</resources> 

В Android версии 5.0 под эту тему не применяется, потому что он не читает папку значения-21. Я должен создать styles.xml также в стандартной папке значений? Необходимо создать новую тему, чтобы изменить цвет панели приложения (это моя цель).

Я немного запутался ... Спасибо

+0

Вы можете использовать конструкцию материала на более старые версии андроида с использованием библиотеки для поддержки проектов - https://developer.android.com/topic/libraries/support-library/features.html#design – Okas

ответ

1

От https://developer.android.com/training/material/compatibility.html

Вы можете настроить приложение для использования материала темы на устройствах, которые поддерживают его и вернуться к старой теме на устройствах, работающих под управлением ранее версию Android:

  1. определить тему, которая наследуется от старой темы (как Хол) в res/values ​​/ styles.xml.
  2. Определите тему с тем же именем, которая наследуется от материала тема в res/values-v21/styles.xml.
  3. Установите эту тему в качестве темы вашего приложения в файле манифеста.

Если макеты, которые вы проектируют в соответствии с руководствами материала конструкции не используют какой-либо из новых атрибутов XML, введенных в Android 5.0 (уровень API 21), они будут работать на предыдущих версиях Android. В противном случае вы можете предоставить альтернативные макеты. Вы также можете предоставить альтернативные макеты для настройки того, как выглядит ваше приложение на более ранних версиях Android.

Создайте свои файлы макета для Android 5.0 (уровень API 21) внутри res/layout-v21/ и ваши альтернативные файлы макета для более ранних версий Android внутри res/layout/. Например, res/layout/my_activity.xml является альтернативным макетом для res/layout-v21/my_activity.xml.

проверка this answer и blog

+0

информирует я, если все еще в замешательстве. @ roberto garavaglia –

+0

Спасибо за ваш ответ. Итак, если я не применяю Material Theme, какая тема применяется к моему приложению при исполнении на Android 6.0? – robyg72

+0

, пожалуйста, проверьте [это] (http://stackoverflow.com/questions/9832114/how-to-use-device-default-theme-for-app) и [этот ответ] (http://stackoverflow.com/questions/21762203/change-the-project-theme-in-android-studio). вы узнаете о концепции темы. –

Смежные вопросы