2

クリックが行われたときにリストビューアイテムの背景色を設定したい。Android のリスト ビューにはカスタム アダプターが使用されます。

4

3 に答える 3

5

クリックした項目の位置を保存し、アダプタの getView() の位置から確認します。両方が同じ場合は、背景色またはリソースを次のように設定します

   convertView.setBackgroundColor(Color.WHITE);
      or    
   convertView.setBackgroundResource(R.drawable.bg);

convertView は、アダプターの膨張したレイアウトです。

于 2013-01-09T09:26:34.210 に答える
0

myDrawable.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- focused -->
    <item android:state_focused="true" android:drawable="@color/YOUR_COLOR_HERE" />
    <!-- focused and pressed-->
    <item android:state_focused="true" android:state_pressed="true" android:drawable="@color/YOUR_COLOR_HERE" />
    <!-- pressed -->
    <item android:state_pressed="true" android:drawable="@color/YOUR_COLOR_HERE" />
    <!-- default -->
    <item android:drawable="@color/YOUR_COLOR_HERE" /> 
</selector>

main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/myview"
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="top"
        android:background="@drawable/myDrawable">
        <!-- other views in layout-->
    </LinearLayout>

または、この属性をリストビューに追加します

android:listSelector="@android:color/darker_gray"
于 2013-01-09T09:29:35.973 に答える
0

<item android:state_activated="true">
  <shape android:shape="rectangle">
    <solid android:color="#333333" />
    <padding android:left="5dp" android:right="5dp" />
  </shape></item>
<item><shape android:shape="rectangle">
        <solid android:color="#222222" />
    </shape></item>

于 2014-06-27T18:17:59.770 に答える