材料设计窗口背景

4

我正在构建一个测试应用程序,尝试根据Material Design规范自定义颜色。

根据这里的图3https://developer.android.com/training/material/theme.html,我应该使用的属性之一是android:windowBackground。当我尝试使用它来设置应用程序的背景颜色时,出现错误提示“未找到与给定名称相匹配的资源:属性'windowBackground'”。问题在哪里?

2个回答

4

您可以在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级别如何,您都应始终以这种方式引用它。


0

根据该页面的信息:

注意:材料主题仅适用于Android 5.0(API级别21)及以上版本。 v7支持库为某些小部件提供具有材料设计样式的主题,并支持自定义颜色调色板。有关更多信息,请参见维护兼容性。

要在应用程序中包含v7支持库,请将com.android.support:appcompat-v7:21.0.+添加到您的应用程序build.gradle文件依赖项中。


是的,我已经按照你的建议在应用程序中实现了v7支持库,但我仍然遇到了这个错误。 - REAL O G
另外,在values-v21中,我需要使用材料主题作为父级吗?目前,我在values-v21和标准值styles.xml中都使用appcompatv7作为父级。我想能够使用material.dark主题,但我一直无法做到这一点,只能使用appcompatv7。 - REAL O G
确保您的主题看起来像这样:<style name="MyTheme" parent="@style/Theme.AppCompat.Light"> <item name="android:windowBackground">*在此处放入颜色*</item </style> - Joel
Android 5.0是否接受“android:”格式或仅接受“windowBackground”? - REAL O G
对于Android 5.0,项目名称需要为android:windowBackground,但我会将样式设置为android:Theme.Material.Light - Joel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接