android列表项选择器和分隔器
我有一个带有自定义分隔符的列表视图。分隔器只是一些颜色,高度为3dp。 我已经为列表中的每个项目添加了一个自定义选择器,因此单击项目时背景颜色会发生变化。我的选择器如下所示:android列表项选择器和分隔器,android,listview,android-layout,Android,Listview,Android Layout,我有一个带有自定义分隔符的列表视图。分隔器只是一些颜色,高度为3dp。 我已经为列表中的每个项目添加了一个自定义选择器,因此单击项目时背景颜色会发生变化。我的选择器如下所示: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android">: <item android:state_selected="tru
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">:
<item android:state_selected="true" android:drawable="@color/yellow" />
<item android:state_pressed="true" android:drawable="@color/yellow" />
<item android:drawable="@color/grey" />
</selector>
:
选择项目后,其颜色将按预期从灰色变为黄色。
但是,列表中所有分隔符的颜色也会更改。为什么会这样?
我该如何修复它呢?我肯定,但也许您将分隔符设置为相同的可绘制分隔符,我将发布一个代码,帮助您更改分隔符的颜色。 像这样的
android:divider="#FFCC00"
android:dividerHeight="4px"
我认为,在你的例子中,你没有在选择器中写错误的状态。这可能就是问题所在。尝试编写一个完整的选择器XML,如下所示
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">:
<item android:state_selected="true" android:state_pressed="false" android:drawable="@color/yellow" />
<item android:state_selected="false" android:state_pressed="true" android:drawable="@color/yellow" />
<item android:state_selected="false" android:state_pressed="false" android:drawable="@color/grey" />
</selector>
:
我将禁用默认分隔符,并将自定义分隔符作为列表项背景的一部分(可能使用9-patch)。在listselector中添加自定义选择器,如
<ListView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:listSelector="@drawable/listitem_selector"/>
他的问题已经包括:分隔线只是某种颜色,高度为3dp。我知道,我只是提供了我最喜欢的方法。因为通常你需要一个更好的分隔符(例如,来自平面设计师)。他的问题已经包括:分隔符只是一些颜色,高度是3dp。是的,我知道,但我说,也许他设置了分隔符=“@dravable/somedrabale”,这就是我发布它的原因。如果没有选择状态,选择器不会选择默认状态,哪个背景是灰色的?@Maggie应该是这样的。这也是谷歌在文档和视频中的解释。这对你有什么帮助?