Android背景颜色设置为灰色而不是@android:color/white。

6
在我的应用程序中,所有背景设置为@background="@android:color/white"的视图在除三星Galaxy S3 mini之外的所有设备上都能正常显示。在这种情况下,所有这些视图都设置了灰色背景。
在这种特定情况下,包含复选框的LinearLayout的背景应该是白色的:
<LinearLayout
                android:id="@+id/ll_child1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@android:color/white"
                android:padding="10dp"
                android:orientation="vertical" >
...
</LinearLayout>

我曾尝试用 android:background="#FFFFFF" 替换 android:background="@android:color/white",但唯一有效的解决方法是在我的 drawable 目录中创建一个 white_bg.xml 文件:
<item android:bottom="0px">
    <shape android:shape="rectangle" >
        <solid android:color="@android:color/white" />
    </shape>
</item>

将背景设置更改为android:background="@drawable/white_bg"

虽然这解决了我的问题,但更改应用程序中的所有布局非常麻烦,特别是因为这个问题似乎只影响一些设备。我想知道是否有更优雅的解决方案。

1个回答

8

更改AppTheme中的"windowBackground":

在"styles.xml"中:

<style name="AppTheme" parent="Theme.Holo">
    <item name="android:windowBackground">@color/white</item>
</style>

请从您的LinearLayout中删除background属性。

当然,确保您的活动使用AppTheme作为其主题。 (还将@color/white值设置为“#ffffffff”)


1
也许在那个手机上,“windowBackground”被定义为系统主题中的灰色,而在其他手机上则被定义为白色。不客气! - semsamot

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