【问题标题】:Problems using App Compat theme instead of Material Theme [duplicate]使用 App Compat 主题而不是 Material Theme 的问题 [重复]
【发布时间】:2016-11-03 04:57:00
【问题描述】:

我想为我的应用使用 Material 主题,并将目标从 Jelly Bean 改为“M”。

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

如果我只是在所有 api 级别上使用 appcompat,我会遗漏什么吗?

【问题讨论】:

    标签: android android-layout


    【解决方案1】:

    您将只使用 AppCompat 主题。对于大多数样式,它们都有自己的实现来模仿更现代的方法。对于无法模仿的事情,他们只是根本不这样做或移动到默认值(想到的是波纹效应。21+ 设备将使用 Ripple,但在其他设备上它将默认为标准按钮选择器)。如果他们可以使用本机方法,那么他们将使用这些方法。

    但在某些情况下,您可能需要创建包含特定 API 级别独有属性的样式。在这种情况下,您需要创建一个layout-v## 文件夹,其中## 是要支持的API 级别。然后在较低的layout 文件夹中放入一个同名的样式。 Android 会选择合适的文件夹。可以对任何其他资源文件夹执行相同的操作。

    【讨论】:

      【解决方案2】:

      对所有内容都使用 AppCompat,如果您使用 = 21,则有内置功能可以处理。

      真正应该使用标准 Material 主题的唯一情况是,如果您支持的基础 API 是 21+,但即便如此,您最终还是会使用 app compat 来添加新事物

      【讨论】:

        猜你喜欢
        • 2010-12-15
        • 1970-01-01
        • 2023-03-12
        • 2015-08-06
        • 1970-01-01
        • 2019-03-14
        • 1970-01-01
        • 1970-01-01
        • 2012-10-10
        相关资源
        最近更新 更多