如何更改Android中选定的行背景颜色?

时间:2013-01-09 09:20:35

标签: android listview

我想在点击完成时在列表视图项上设置背景颜色。 自定义适配器用于Android

中的列表视图

3 个答案:

答案 0 :(得分:5)

保存已点击项目的位置,并从getView()的适配器位置进行检查。如果两者相同,则将任何背景颜色或资源设置为

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

其中convertView是适配器的膨胀布局。

答案 1 :(得分: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>

或者将此属性添加到listview

android:listSelector="@android:color/darker_gray"

答案 2 :(得分: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>