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

Changing background colour of activities themed using the AppCompat themes in older Android versions

我正在为我的应用程序使用以下主题:

<!-- 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,这是我当前的最小值。

你说的是真的 windowBackground 所以你只需要将它替换为 android:windowBackground 即可 API 14 及更高

您需要添加

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

../values-v21/styles.xml

 //   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>