1

メインレイアウトとは異なる背景色のネストされたレイアウトを持つレイアウトのリストビューがあります。

このネストされたレイアウトの中には、imageviewがあります。画像がビューに読み込まれるたびに、このネストされたレイアウトの背景色が消えます。リストビューがスクロールされるまで、背景は戻りません。

また、リストビューをスクロールすると、イメージビュー内の画像が再度描画され、このシーケンスが再び発生し、リストにちらつき効果が生じます。

メインレイアウトとネストされたレイアウトの両方でcacheColorHintプロパティを設定しようとしましたが、変更されていないようです。

これは、画像の読み込み/スクロール時に何が起こるかを示す画像の例です。ご覧のとおり、下部の2つのアイテムの背景色は消えており、残りはまだ背景色のままです。

ここに画像の説明を入力してください

これは、ネストされたレイアウトを持つリストビューレイアウトの一部です。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/race_entrant"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:paddingTop="2dip"
android:paddingBottom="2dip"
android:paddingRight="2dip"
android:orientation="horizontal"
android:descendantFocusability="blocksDescendants"
android:cacheColorHint="#E0EAF1">
<LinearLayout
    android:layout_height="fill_parent"
    android:layout_width="50dip"
    android:orientation="vertical"
    android:id="@+id/linearLeft"
    android:paddingLeft="2dip"
    android:paddingRight="2dip"
    android:paddingTop="2dip"
    android:paddingBottom="2dip"
    android:background="#E0EAF1"
    android:cacheColorHint="#E0EAF1">
    <TextView
        android:id="@+id/txtEntrantNo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        style="@style/entrant_number"
        android:layout_gravity="center_horizontal"
        android:cacheColorHint="#E0EAF1" />
        <ImageView
            android:id="@+id/imgJockey"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="1dip"
            android:adjustViewBounds="true"
            android:cacheColorHint="#E0EAF1" />
</LinearLayout>

ネストされたレイアウトの背景色がこのように消えないようにするにはどうすればよいですか?

4

2 に答える 2

7

これは私にとっての問題を解決します:listView.setCacheColorHint(Color.TRANSPARENT);

これは誰かを助けるかもしれません。

于 2012-10-09T20:38:34.467 に答える
0

imageviewの背景色を設定することで、これを機能させることができました。

これを行うためのxmlは次のとおりです。

android:background="#E0EAF1"

これで、画像が読み込まれたときに背景色が変更されません。

于 2012-06-13T23:27:28.633 に答える