使用旧版Android中的AppCompat主题更改主题活动的背景颜色

时间:2016-12-23 04:46:22

标签: android themes android-support-library

我在申请时使用以下主题:

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

我想改变背景颜色。为了做到这一点,根据文档我可以在主题定义中添加以下内容:

    <item name="windowBackground">@color/windowBackground</item>

不幸的是,如果(正如No resource found that matches the given name: attr 'windowBackground'的答案所示),我只能正确编译,我将其限制为应用于API 21或更高版本的Android版本。

如何在早期版本的Android上运行?我最好将Android版本的背景颜色指定为API 16,这是我目前的最低版本。

3 个答案:

答案 0 :(得分:2)

这是正确的,因为您说windowBackground所以您只需将其替换为适用于API 14及更高版本的android:windowBackground

答案 1 :(得分:0)

您需要添加

<item name="android:windowBackground">@color/window_background</item>

../ values-v21 / styles.xml

答案 2 :(得分:0)

 //   Your Problem is that You are use Theme.Appcompat then extends ActionBarActivity

if you use AppcompatActivity then use

 <style name="MyTheme" parent="Theme.AppCompat.Light">
    <item name="android:windowBackground">@color/colorAccent</item>
  </style>