在视图中的灰色背景颜色,虽然白色背景定义和首先工作

时间:2012-02-29 10:26:42

标签: android

我有一个奇怪的问题。我的应用程序完全适用于我的三星Galaxy II S与Android 2.3.4。在我的Android 3.0平板电脑上有一种奇怪的行为:

背景颜色突然设置为白色突然显示为灰色。

  • 我有两个受影响的活动,一个是WebView,有点复杂,一个只有4个按钮非常简单。它们都有明确的白色作为LinearLayout,ScrollView,TextViews等的背景。
  • 应用程序启动,一切正确,背景为白色
  • 我来回切换复杂的活动,一段时间后背景不再是白色,而是以不同的灰色调。在那之后,它们仍然是灰色的,也用于4个按钮的简单活动
  • 我不会改变代码中的背景颜色

以下几点可能导致此行为:

  • 使用WebView。它并不是一直使用,似乎这种行为发生得更快/仅当WebView可见时
  • 改变orieantation似乎推动了这种行为

到目前为止我尝试过:

  • 禁用硬件加速
  • 强制重绘
  • 尝试重新排列复杂活动中的视图,以便它们不重叠以消除警告“在第一次布局后无法获取viewWidth”

对我而言,这似乎是一种视觉调试模式,但我还没有在网上找到任何有关这种模式的内容。

可能是唯一的提示: 我收到警告:第一次布局后无法获取viewWidth

简单活动的代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/white"
android:orientation="vertical" >

<Button
    android:id="@+id/ag_btn_pressespiegel"
    android:text="@string/artikelgruppen_pressespiegelbutton"
    android:layout_width="fill_parent"
    android:layout_marginLeft="8dp"
    android:layout_marginRight="8dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="16dp"
    android:textColor="@color/black"
    android:layout_marginBottom="16dp" />

<Button
    android:id="@+id/ag_btn_dossier"
    android:text="@string/artikelgruppen_dossierbutton"
    android:layout_marginLeft="8dp"
    android:layout_marginRight="8dp"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textColor="@color/black"
    android:layout_marginBottom="16dp" />

<Button
    android:id="@+id/ag_btn_tag"
    android:text="@string/artikelgruppen_tagbutton"
    android:layout_marginLeft="8dp"
    android:layout_marginRight="8dp"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textColor="@color/black"
    android:layout_marginBottom="32dp" />

<Button
    android:id="@+id/ag_btn_sync"
    android:text="@string/artikelgruppen_syncbutton"
    android:layout_marginLeft="8dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="@color/black"
    android:layout_marginBottom="16dp" />

</LinearLayout>

使用WebView进行补全活动的代码

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ad_sv_artikeldetails"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/white" >

<RelativeLayout
    android:id="@+id/ad_rl_artikeldetails"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@color/white" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="100dp"
        android:background="@color/white" >

        <ImageView
            android:id="@+id/ad_img_kanal"
            android:layout_width="32dp"
            android:layout_height="32dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="5dp"
            android:layout_marginTop="5dp" >
        </ImageView>

        <ImageView
            android:id="@+id/ad_img_pdf"
            android:layout_width="24dp"
            android:layout_height="16dp"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_marginRight="6dp"
            android:layout_marginTop="54dp"
            android:src="@drawable/pdfdocument" >
        </ImageView>

        <ImageView
            android:id="@+id/ad_img_land"
            android:layout_width="16dp"
            android:layout_height="16dp"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_marginRight="4dp"
            android:layout_marginTop="5dp" >
        </ImageView>

        <TextView
            android:id="@+id/ad_txt_medie"
            android:layout_width="wrap_content"
            android:layout_height="24dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="43dp"
            android:layout_marginRight="120dp"
            android:layout_marginTop="22dp"
            android:maxLines="1"
            android:background="@color/white"
            android:textColor="@color/black" >
        </TextView>

        <TextView
            android:id="@+id/ad_txt_datum"
            android:layout_width="wrap_content"
            android:layout_height="16dp"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_marginRight="6dp"
            android:background="@color/white"
            android:layout_marginTop="22dp" >
        </TextView>
    </RelativeLayout>

    <!-- Titel & Grosses Linarlayout für vertikale Anordnung -->

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="80dp"
        android:background="@color/white"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/ad_txt_titel"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="35dp"
            android:layout_marginTop="0dp"
            android:background="@color/white"
            android:maxLines="2"
            android:textColor="@color/black"
            android:textStyle="bold" >
        </TextView>

        <TextView
            android:id="@+id/ad_txt_text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_marginTop="18dp"
            android:background="@color/white"
            android:textColor="@color/black" >
        </TextView>

        <WebView
            android:id="@+id/ad_web_html"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dp"
            android:layout_marginRight="12dp"
            android:layout_marginTop="18dp"
            android:background="@color/white"
            android:clickable="false" >
        </WebView>

        <!-- Thema -->

        <LinearLayout
            android:id="@+id/ad_ll_thema"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="18dp"
            android:background="@color/white"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/ad_txt_thema_label"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="0dp"
                android:background="@color/white"
                android:text="@string/artikeldetail_thema"
                android:textColor="@color/black" >
            </TextView>

            <TextView
                android:id="@+id/ad_txt_thema"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="0dp"
                android:layout_marginTop="0dp"
                android:layout_marginRight="12dp"
                android:background="@color/white"
                android:textColor="@color/black" >
            </TextView>
        </LinearLayout>

        <!-- Suchbegriff -->

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/ad_ll_suchbegriff"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="4dp"
            android:background="@color/white"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/ad_txt_suchbegriff_label"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="0dp"
                android:background="@color/white"
                android:text="@string/artikeldetail_suchbegriff"
                android:textColor="@color/black" >
            </TextView>

            <TextView
                android:id="@+id/ad_txt_suchbegriff"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="0dp"
                android:layout_marginRight="12dp"
                android:background="@color/white"
                android:layout_marginTop="0dp"
                android:textColor="@color/black" >
            </TextView>
        </LinearLayout>

        <!-- Liefer & Ausgabedatum -->

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/ad_ll_lieferdatum"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="18dp"
            android:background="@color/white"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/ad_txt_lieferung"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="0dp"
                android:background="@color/white"
                android:text="@string/artikeldetail_lieferdatumlieferung"
                android:textColor="@color/black" >
            </TextView>

            <TextView
                android:id="@+id/ad_txt_lieferung_datum"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="0dp"
                android:layout_marginTop="0dp"
                android:layout_marginRight="12dp"
                android:background="@color/white"
                android:textColor="@color/black" >
            </TextView>
        </LinearLayout>

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/ad_ll_ausgabedatum"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="4dp"
            android:background="@color/white"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/ad_txt_ausgabe"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="5dp"
                android:background="@color/white"
                android:layout_marginTop="0dp"
                android:text="@string/artikeldetail_ausgabedatum"
                android:textColor="@color/black" >
            </TextView>

            <TextView
                android:id="@+id/ad_txt_ausgabe_datum"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@color/white"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="0dp"
                android:layout_marginTop="0dp"
                android:layout_marginRight="12dp"
                android:textColor="@color/black" >
            </TextView>
        </LinearLayout>

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/ad_ll_medienart"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="18dp"
            android:background="@color/white"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/ad_txt_lieferung"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:background="@color/white"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="0dp"
                android:text="@string/artikeldetail_medienart"
                android:textColor="@color/black" >
            </TextView>

            <TextView
                android:id="@+id/ad_txt_medienart"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@color/white"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="0dp"
                android:layout_marginTop="0dp"
                android:layout_marginRight="12dp"
                android:textColor="@color/black" >
            </TextView>
        </LinearLayout>

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/ad_ll_medientyp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="4dp"
            android:background="@color/white"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/ad_txt_ausgabe"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:background="@color/white"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="0dp"
                android:text="@string/artikeldetail_medietyp"
                android:textColor="@color/black" >
            </TextView>

            <TextView
                android:id="@+id/ad_txt_medietyp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@color/white"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="0dp"
                android:layout_marginTop="0dp"
                android:layout_marginRight="12dp"
                android:textColor="@color/black" >
            </TextView>
        </LinearLayout>

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/ad_ll_kategorien"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="18dp"
            android:background="@color/white"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/ad_txt_kategorien_label"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:background="@color/white"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="0dp"
                android:text="@string/artikeldetail_kategorien"
                android:textColor="@color/black" >
            </TextView>

            <TextView
                android:id="@+id/ad_txt_kategorien"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@color/white"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="0dp"
                android:layout_marginTop="0dp"
                android:layout_marginRight="12dp"
                android:textColor="@color/black" >
            </TextView>
        </LinearLayout>
    </LinearLayout>
</RelativeLayout>
</ScrollView>

链接将复杂活动的屏幕截图与不正确的灰色背景(左),正确的白色背景(正确的网站)相结合:http://int.argus.ch/screenshots.jpg

链接到视频,该视频表明更改方向会导致问题(在另一项活动中)(相当大的50MB):http://int.argus.ch/grey.mp4

我无法在此处发布简单活动屏幕截图的链接,因为我是新手,但LinearLayout的背景颜色不再是白色,而是灰色。

PS:我将@white定义更改为蓝色。一切都是蓝色的。如果问题出现,一切都是灰色的,而不是蓝色不同!

非常感谢提前

1 个答案:

答案 0 :(得分:0)

你可以尝试将它用于实心(这里是白色)的彩色背景

android:cacheColorHint="#ffffffff"

如果您使用drawable作为背景,请尝试使用此

android:cacheColorHint="#00000000"

让我知道这是否有效