Я пытаюсь немного лучше понять принципы использования материального дизайна (я новичок в этой области и читал документацию и учебные пособия, но тема для меня все еще немного расплывчата), и я буду рад за немного помощи. До сих пор я пробовал иметь 2 папки (values и values-21) с файлом styles.xml для каждой из них -
значения / styles.xml:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"></style>
значения-v21 / styles.xml:
<style name="AppTheme" parent="android:Theme.Material.NoActionBar"></style>
Проблема начинается с того, что я пытаюсь использовать действия, унаследованные от AppCompatActivity (насколько я понимаю, это то, что мне нужно сделать для поддержки обратной совместимости на устройствах до Lollipop для таких вещей, как Material Design? Я прав? Дополнительная информация здесь будет отличный). Если я это сделаю, приложение не будет работать на устройствах с API 21 или выше, поскольку «AppTheme» должен наследовать от AppCompat.
Что я могу сделать, чтобы решить эту проблему, так это создать базовую тему, унаследованную от AppCompat, а затем сделать так, чтобы стиль в обоих файлах унаследовал от этой базовой темы ... Но тогда я больше не наследую от Material .... что подводит меня к вопросу (ам) -
Материальный дизайн - это просто заданная тема? И если да, то как мне решить свою проблему? И что именно здесь дает использование AppCompatActivity? Или материальный дизайн - это, по сути, просто набор правил и принципов, которым я должен следовать? И если да, то зачем вообще нужен Theme.Material. *? Я буду рад любой дополнительной информации, которую кто-либо может дать мне по этому поводу.
Спасибо!