【发布时间】:2016-08-22 20:19:56
【问题描述】:
我正在尝试更好地理解使用 Material Design 的原则(我是这个领域的新手,一直在阅读文档和教程,但主题对我来说仍然有点模糊),我会很高兴得到一些帮助。到目前为止,我尝试的是拥有 2 个文件夹(值和 values-21),每个文件夹都有一个 styles.xml 文件-
值/样式.xml:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"></style>
values-v21/styles.xml:
<style name="AppTheme" parent="android:Theme.Material.NoActionBar"></style>
问题从我尝试使用继承自 AppCompatActivity 的活动开始(据我了解,这就是我需要做的,以便在 Lollipop 之前支持设备上的向后兼容性,例如 Material Design?我说的对吗?更多信息这里会很棒)。如果我这样做,应用程序将无法在具有 API 21 或更高版本的设备上运行,因为“AppTheme”必须从 AppCompat 继承。
我可以做的是创建一个从 AppCompat 继承的基本主题,然后使两个文件中的样式都从该基本主题继承......但是我不再从 Material 继承。 ...这让我想到了问题-
Material Design 只是一个给定的主题吗?如果是这样,我该如何解决我的问题?在这里使用 AppCompatActivity 究竟能完成什么?还是 Material Design 本质上只是我应该遵循的一组规则和原则?如果是这样,为什么我们需要 Theme.Material.* 呢?任何人都可以就该主题向我提供任何额外信息,我会很高兴。
谢谢!
【问题讨论】:
标签: android material-design backwards-compatibility appcompatactivity