2

listSelection 用のカスタム ドローアブルがあります。アイテムを 1 つ選択すると、そのアイテムが選択されます。しかし、他のアイテムをスクロールする (上下にスクロールする) ときに選択すると、背景がちらつき、時には消えてしまうこともあります。

私は自分のxmlレイアウトを含めています:

リストビュー:

<ListView
            android:id="@id/listView"
            android:layout_width="100dp"
            android:layout_height="fill_parent"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:listSelector="@drawable/list_selector"
            android:clickable="true"
            android:divider="@drawable/separetor_drawable"
            android:fastScrollEnabled="true"
            android:paddingLeft="15dp"
            android:paddingRight="15dp"
            android:scrollbars="none" >
        </ListView>

ドローアブル レイアウト: list_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <corners android:radius="6dp" />

    <solid android:color="@color/grey" />

    <size android:width="50dp" />

</shape>

また、形状の幅を自動的にfill_parentに指定することもできます。これは高さにも当てはまります。

助言がありますか?

4

3 に答える 3

1

//リストビュー属性を次のように試してください

 android:cacheColorHint = "#00000000"

また

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

Javaコードでは、使用する必要があります

listView.setCacheColorHint(Color.TRANSPARENT);
于 2012-07-19T09:29:51.450 に答える
0

リストビューでこれを試してください:

android:listSelector="@android:color/transparent"
android:cacheColorHint="#00000000"
android:focusable="false"
android:focusableInTouchMode="false"
于 2012-07-19T09:57:08.343 に答える
0

答えが得られたかどうかはわかりませんが、ある時点で同様の問題がありました。リスト項目のレイアウト ファイルの外側の要素に背景を設定することで修正しました。

listitem.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/listselector"
...>
....
</RelativeLayout>

そして drawable.. listselector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@color/blue" />
<item android:state_selected="true" android:state_pressed="false" android:drawable="@color/yellow" />
<item android:state_selected="false" android:state_pressed="false" android:drawable="@color/black" />
</selector>

バックグラウンド xml ファイルは、押された状態、選択された状態、および通常の状態の値を設定し、必要に応じて色を他のドローアブルに変更できます。私たちが抱えていた奇妙な背景のちらつきの問題を修正したようです。

于 2012-10-17T20:48:02.910 に答える