【问题标题】:Android background color set to gray instead of @android:color/whiteAndroid 背景颜色设置为灰色而不是 @android:color/white
【发布时间】:2014-10-01 23:47:56
【问题描述】:

在我的应用程序中,所有背景设置为 @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"

认为这解决了我的问题,但更改我的应用程序中的所有布局非常烦人,尤其是因为这个问题似乎只影响少数设备。我想知道是否有更优雅的解决方案。

【问题讨论】:

    标签: android layout colors background


    【解决方案1】:

    改变AppTheme中的“windowBackground”:

    在“styles.xml”中

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

    并从您的 LinearLayout 中删除背景属性。

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

    【讨论】:

    • 也许在那部手机中“windowBackground”在系统主题中被定义为灰色,而在其他手机中肯定被定义为白色。不客气!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    • 2020-04-11
    • 2017-07-07
    • 2011-02-11
    相关资源
    最近更新 更多