安卓 - 灰色背景代替白色

3
在每个“layout”中,我设置了白色背景,在“Manifest”中,我设置了Theme.Light。然而,仍然接收到灰色背景而不是白色的。为什么?
编辑:Manifest.xml
android:theme="@android:style/Theme.Light.NoTitleBar">

布局

android:background="@android:color/white" 

请提供一个SSCCE来说明您的问题。 - Code-Apprentice
1
创建一个自定义主题并将其设置为清单...我现在无法发布答案,因为我没有太多的解释...但这可能是其中一种方法... - Its not blank
我遇到了同样的问题,但是我无法解决它。我尝试了很多方法并阅读了许多帖子......但没有效果。 - Emaborsa
3个回答

1

Theme.Light并不意味着它会是白色的。它只是表示它会是浅色的,而不是深色的 :P 这不是theme.white。

每个设备制造商都可以根据自己的喜好定制Android操作系统,例如选择偏好的颜色和外观。特别是,他可以为自己的Android实现定义样式-浅色和深色。由于这一点,您的应用程序在各种设备上可能看起来不同,但它将始终适合在该设备上使用的样式(除非您设置android:background="@android:color/white",否则在此设备上,样式为Theme.Light的每个应用程序都将具有灰色背景)

您设备的制造商将Theme.Light定义为具有灰色背景的样式。

希望我表述清楚了-否则请随时提问。


1
也用于设置android:color/white,仍为灰色。 - user1704195
请在主布局标签的layout.xml中设置此值,而不是在清单文件中设置。 - Jacek Milewski

0

我之前也遇到了同样的问题,直到我将 @android:color/white 更改为显式的 android:background="#FFFFFF"。不过这很奇怪...


就是这样。同时按住 Ctrl 键,然后单击 @android:color/white,你会在 %ANDROID_SDK_HOME%/platforms/android-<api_level>/data/res/values/color.xml 中找到 <color name="white">#ffffffff</color>。可能是因为多了2个alpha位。 - Weekend

0

由于这是一个旧问题,可能已经有其他解决方案了,但无论如何,您可以在styles.xml中输入AppTheme样式标签,方法是按下⌘cmd键并单击清单中的主题声明。

在那里,使用您喜欢的颜色添加此行 -

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

这行代码基本上覆盖了主题的默认背景值。

示例 -

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:colorControlActivated">@color/black</item>
    <item name="android:windowBackground">@color/white</item>
</style>

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