android - 无法理解如何使用 Theme.AppCompat 为 Lollipop 之前的设备设置 Android 应用程序的样式

标签 android android-theme

我的大脑即将在 Android 的主题样式 上爆炸。有人,请帮助我! 我正在尝试为我的应用程序创建一个主题,以便为pre- and post-Lollipop 设备提供尽可能相似的外观。所以,我从 Theme.AppCompat.NoActionBar 继承了我的主题,从 AppCompatActivity 继承了我的 Activity ,并设置了 colorPrimarycolorPrimaryDarkcolorAccent。一切顺利。当我尝试设置背景和文本颜色的样式时,问题就开始了。我已经设置了 android:textColorPrimaryandroid:textColorSecondary 并且在 Lollipop 设备上得到了我想要的东西,但在 KitKat 上没有,所以我添加了 textColorPrimarytextColorSecondary 属性添加到主题,然后 Android Studio 表示无法构建应用程序,因为找不到这些属性。当我尝试添加 colorBackground 时也发生了同样的情况。我试图用谷歌搜索它,但未能找到关于哪个主题提供了哪些属性以及我应该在我的情况下使用什么的有用信息。

最佳答案

您必须创建两个值文件夹,一个用于 Lollipop values-v21 ,一个用于 Lollipop 之前的简单 values

看到这种适用于 Lollipop 前设备的样式,只需将其粘贴到 values/styles.xml

样式.xml

<resources>

    <style name="MyMaterialTheme" parent="MyMaterialTheme.Base">

    </style>


    <style name="MyMaterialTheme.TransparentActivity">
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowIsTranslucent">true</item>
    </style>

    <style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:textColorPrimary">@color/textColorPrimary</item>
        <item name="android:windowBackground">@color/windowBackground</item>
    </style>
</resources>

参见 official documentation on android blog

关于android - 无法理解如何使用 Theme.AppCompat 为 Lollipop 之前的设备设置 Android 应用程序的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31267517/

相关文章:

android - 在 Android 应用程序中动态查找主题名称

android - 仅在 Contextual ActionBar 中自定义溢出图标

Android:带有自定义对话框和中性按钮的警报对话框

android - 在 Android O 上切换状态栏颜色的问题

android - ClusterManager 为谷歌地图 v2 utils 的 ClusterItems 标记提供多种样式

android - 无法更改 Android Studio 上 FloatingActionButton 布局文件中的图标颜色

java - 在包 'orientaton' Activity_main.xml 中找不到属性 'android' 的资源标识符

android - RecyclerView 问题中的 ImageButton

android - 如何使用按钮实现自定义 ListView 行?

android - 如何从我的应用程序主题中获取原色?