画像 - android listview 追加




バックグラウンドListViewはスクロールすると黒くなります (8)

ListViewタグに属性を追加する

android:cacheColorHint="#00000000" // setting transparent color

詳細については、 このブログをチェックしてください

左のイメージと右のテキストを含むすべての行でスクロール可能なリストを作成するために、次の要素の中に存在する特定のリストを作成しました。

「ルート」レイアウトから始めるには:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:background="#C8C8C8"
    >
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:drawSelectorOnTop="false"
        android:divider="#C8C8C8"
        android:background="#C8C8C8"/>
</LinearLayout>

ListView内で次の「行」アイテムを配置します。

<?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="wrap_content"
    android:orientation="horizontal"
    android:background="@drawable/bg_row"
>
    <ImageView
        android:layout_width="wrap_content"
        android:paddingLeft="10px"
        android:paddingRight="15px"
        android:paddingTop="5px"
        android:paddingBottom="5px"
        android:layout_height="wrap_content"
        android:src="@drawable/bg_image"
    />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingTop="5px"
        android:paddingBottom="5px"
        android:textSize="16sp"
        android:textColor="#000000"
        android:layout_gravity="center"
        android:maxHeight="50px"/>
</LinearLayout>

画面が静的に表示されている限り(移動しないように)、正しく表示されますが、リストをスクロールすると、行項目の背景(コードに表示される「アイコン」)が表示されます正しく表示されますが、 "ルート"レイアウトの背景は完全に黒くなります...スクロールが停止すると、ほとんどの場合、その色が戻ってきます...私がテストしたときに、同じバックグラウンドを持つ要素ですが、Listがスクロールされたときに色が抑えられます...なぜこれが起こっているのか、そしてこれを解決する方法は?


android:cacheColorHint="#00000000"// setting transparent color

または

listview背景を設定しないでください


あなたのレイアウトファイルでこの行を使うだけで簡単です:

android:scrollingCache="false"

このような:

<ListView 
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollingCache="false"
/>

あなたは次のように使うことができます:

list.setCacheColorHint(Color.TRANSPARENT);
list.requestFocus(0);

次は私のために働いた:

myListView.setScrollingCacheEnabled(false);

私たちはこの問題のための多くのオプションを持っています。あなたは、

yourlistview.setCacheColorHint(Color.TRANSPARENT); 

またはxmlを介して

android:cacheColorHint="@android:color/transparent"

android:id="@android:id/list"
android:layout_width="fill_parent" 
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
android:divider="#C8C8C8"
android:background="#C8C8C8"
android:cacheColorHint="#00000000"/>

android:cacheColorHint="@android:color/transparent"




listview