着色ListView行取决于内容

时间:2010-08-16 21:13:36

标签: android listview

我正在尝试使用ListView来显示给定颜色的每一行,具体取决于该行的内容,但仍允许选择器绘制。就像现在一样,如果我在一行上调用View.setBackgroundColor,它会正确地为背景着色,但不会绘制选择器。

1 个答案:

答案 0 :(得分:2)

您有三个主要选择。

一种方法是使用android:drawSelectorOnTop="true"并将ListView的选择器设置为透明/半透明的选项,因此当它绘制在行的顶部时,您仍然可以看到该行内容。

或者,您需要将行背景设置为不是颜色,而是设置为StateListDrawable,其中背景颜色在选择行时设置为透明,因此常规选择器(绘制后面行可见。

您也可以使用ListView注册选择监听器,并根据选择的更改时间进行自定义颜色更改。