1

我需要在列表视图行中设置备用颜色,但是当我这样做时,它会删除/禁用焦点默认黄色背景

我尝试使用 backgroundColor rowView.setBackgroundColor(SOME COLOR);

还带有 backgrounddrwable。

rowView.setBackgroundColor(R.drawable.view_odd_row_bg);
<?xml version="1.0" encoding="utf-8"?>
<selector
   xmlns:android="http://schemas.android.com/apk/res/android">
   <item
      android:state_window_focused="false"
      android:drawable="@color/odd" />

   <!--
      Even though these two point to the same resource, have two states
      so the drawable will invalidate itself when coming out of pressed
      state.
   -->
   <item
      android:state_focused="true"
      android:state_enabled="false"
      android:state_pressed="true"
      android:drawable="@color/highlight" />
   <item
      android:state_focused="true"
      android:state_enabled="false"
      android:drawable="@color/highlight" />

   <item
      android:state_focused="true"
      android:state_pressed="true"
      android:drawable="@color/highlight" />
   <item
      android:state_focused="false"
      android:state_pressed="true"
      android:drawable="@color/highlight" />

   <item
      android:state_focused="true"
      android:drawable="@color/highlight" />

</selector>

但它不会工作。

有什么方法可以同时设置背景颜色和焦点颜色,这将起作用。

4

2 回答 2

6

我发现本教程对我很有帮助。

http://ykyuen.wordpress.com/2010/03/15/android-%E2%80%93-applying-alternate-row-color-in-listview-with-simpleadapter/

我能够使 ListView 项目具有交替的颜色,加上焦点项目保持默认的突出显示颜色。

于 2010-06-17T17:11:11.150 回答
2

在您的颜色中放置一个透明度,黄色突出显示仍然存在,它就在您的背景颜色后面,透明度将让它显示出来。

于 2011-07-27T14:03:13.420 回答