2016-11-02 24 views
0

我想将Material主题用于我的应用程序和目标从Jelly Bean到“M”。使用App Compat主题而不是Material Theme的问题

什么是正确的建议? 1.在21以下的api级别使用appcompat主题,并在21以上使用标准材质 2)只需在所有api级别上使用appcompat。

如果我只在所有api级别上使用appcompat,我会错过任何东西吗?

回答

2

您只能使用AppCompat主题。对于大多数的风格,他们有自己的模仿更现代的方法的实现。对于那些无法模仿的东西,他们只是简单地不做,或者转到默认设置(想到的就是Ripple效果,21+设备会使用Ripple,但在其他设备上,默认设置为标准按钮选择器)。如果他们可以使用本地方法,那么他们将使用这些方法。

在某些情况下,您可能需要创建包含特定API级别特有属性的样式。在这种情况下,您需要创建一个layout-v##文件夹,其中##是要支持的API级别。然后放入与layout文件夹中名称相同的名称。 Android会选择适当的文件夹。对于任何其他资源文件夹也可以做到这一点。

2

使用程序兼容性的一切,有内置的功能,如果你正在使用< 21或处理> = 21

真正唯一的一次,你应该使用标准的材料主题是,如果你支持你的基本的API是21+,但即使如此,你最终还是会使用应用程序compat来获得新增的内容