猿问

在Android上更改ListView项目的背景颜色

在Android上更改ListView项目的背景颜色

如何ListView在每个项目的基础上更改项目的背景颜色。当我android:backgroundColorListView项目布局中使用时,我可以实现此目的,但列表选择器不再可见。我可以通过设置drawSelectorOnTop为true 使选择器再次可见,但选择器覆盖整个项目。

有任何想法如何改变这些背景颜色并保持选择器?

PS我宁愿不改变选择器本身。

编辑:GMail应用程序的作者已设法实现这一点,所以它绝对可能。


万千封印
浏览 735回答 3
3回答

长风秋雁

您必须为要使用的每种颜色创建不同的状态drawable。例如:list_selector_read.xml和list_selector_unread.xml。您需要做的就是将所有内容设置为透明,但android:state_window_focused="false"项目除外。然后,当您绘制列表时,您需要调用setBackgroundResource(R.drawable.list_selector_unread/read)每一行。您根本不在ListView上设置listSelector。这将维护您的特定Android风格的默认选择器。
随时随地看视频慕课网APP

相关分类

Android
我要回答