【问题标题】:Android API level 21 backward compatibility? (Since the new update of the SDK came out)Android API 级别 21 向后兼容? (自从SDK的新更新出来)
【发布时间】:2014-12-13 19:24:06
【问题描述】:

我的 API 级别 21 有问题。我想使用 Material Design 并且仍然能够在较低的 API 级别上运行应用程序,例如 18 (Android 4.3.1)。但我总是得到那个错误:

我的清单 SDK 如下所示:

像这样的 build.gradle:

希望这是获得帮助的足够信息,我真的需要它:(

干杯。

【问题讨论】:

    标签: android xml build android-5.0-lollipop material-design


    【解决方案1】:

    如文档中所述: https://developer.android.com/training/material/theme.html

    注意:材质主题仅适用于 Android 5.0(API 级别 21)及更高版本

    这意味着您必须为您的 Material Theme 使用 values-v21 文件夹。

    但是,您可以使用 v7 支持库 为某些小部件提供带有材料设计样式的主题。 这是一个使用 AppCompat 主题的示例。

    <style name="Theme.MyTheme" parent="Theme.AppCompat.Light">  
        <!-- Here we setting appcompat’s actionBarStyle -->
        <item name="actionBarStyle">@style/MyActionBarStyle</item>
    
        <!-- ...and here we setting appcompat’s color theming attrs -->
        <item name="colorPrimary">@color/my_awesome_red</item>
        <item name="colorPrimaryDark">@color/my_awesome_darker_red</item>
    
        <!-- The rest of your attributes -->
    </style> 
    

    更多信息在这里: https://chris.banes.me/2014/10/17/appcompat-v21/

    【讨论】:

    • 我也有同样的问题。我添加了 android-support-v4.jar 和 android-support-v7-appcompat.jar 到我的构建路径,但我仍然得到与 Uchiha 相同的错误。有什么想法吗?
    • @user754730 这不是问题。这是一种正常的行为。 Theme.Material 仅适用于 api 21。
    • 嗯,好吧。那么如何在较旧的 Android 版本上使用 Material Design 呢?我还没有找到任何关于它的好教程(因为它是非常新的我猜......)我已经看到很多应用程序已经使用它并且它在我的 KitKat 上具有材料外观。他们是怎么做到的?
    • 再次阅读答案。 Gabriele 链接到我的博客文章,向您展示如何操作。
    • 嗨,克里斯,这很尴尬...我复制了旧版本的 v7 库...对不起!现在它可以工作了......
    猜你喜欢
    • 2012-08-23
    • 2023-04-01
    • 2015-02-01
    • 1970-01-01
    • 2015-01-12
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多