如何根据每个项目更改 ListView
项目的背景颜色。当我在 ListView
项目布局中使用 android:backgroundColor
时,我可以实现这一点,但是列表选择器不再可见。我可以通过将 drawSelectorOnTop
设置为 true 来使选择器再次可见,但随后选择器会覆盖整个项目。
任何想法如何更改这些背景颜色并保留选择器?
PS 我宁愿不改变选择器本身。
编辑:GMail 应用程序的作者已经成功实现了这一点,所以这绝对是可能的。
最佳答案
您必须为要使用的每种颜色创建不同的可绘制状态。
例如:list_selector_read.xml
和 list_selector_unread.xml
。
除了 android:state_window_focused="false"
项之外,您只需将所有内容设置为透明即可。
然后,当您绘制列表时,您为每一行调用 setBackgroundResource(R.drawable.list_selector_unread/read)
。
您根本没有在 ListView 上设置 listSelector。这将为您的特定 Android 风格保留默认选择器。
关于android - 在 Android 上更改 ListView 项目的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2217753/