我正在构建一个测试应用程序,尝试根据Material Design规范自定义颜色。
根据这里的图3https://developer.android.com/training/material/theme.html,我应该使用的属性之一是android:windowBackground。当我尝试使用它来设置应用程序的背景颜色时,出现错误提示“未找到与给定名称相匹配的资源:属性'windowBackground'”。问题在哪里?
我正在构建一个测试应用程序,尝试根据Material Design规范自定义颜色。
根据这里的图3https://developer.android.com/training/material/theme.html,我应该使用的属性之一是android:windowBackground。当我尝试使用它来设置应用程序的背景颜色时,出现错误提示“未找到与给定名称相匹配的资源:属性'windowBackground'”。问题在哪里?
您可以在Material主题中使用android:windowBackground
进行指定。以下是在v21上的示例:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="windowBackground">#1A237E</color>
<style name="Theme.AppTheme" parent="@android:style/Theme.Material">
<item name="android:colorPrimary">#3F51B5</item>
<item name="android:colorPrimaryDark">#303F9F</item>
<item name="android:colorAccent">#00BCD4</item>
<item name="android:windowBackground">@color/windowBackground</item>
</style>
</resources>
android:windowBackground
属性从API level 1开始,因此无论目标SDK级别和最小SDK级别如何,您都应始终以这种方式引用它。
根据该页面的信息:
注意:材料主题仅适用于Android 5.0(API级别21)及以上版本。 v7支持库为某些小部件提供具有材料设计样式的主题,并支持自定义颜色调色板。有关更多信息,请参见维护兼容性。
要在应用程序中包含v7支持库,请将com.android.support:appcompat-v7:21.0.+
添加到您的应用程序build.gradle文件依赖项中。
<style name="MyTheme" parent="@style/Theme.AppCompat.Light"> <item name="android:windowBackground">*在此处放入颜色*</item </style>
- Joelandroid:windowBackground
,但我会将样式设置为android:Theme.Material.Light
。 - Joel