android - 根据内容为 ListView 行着色

标签 android listview

我正在尝试创建一个 ListView,它将根据该行的内容以给定颜色显示每一行,但仍允许选择器进行绘制。就像现在一样,如果我在一行上调用 View.setBackgroundColor,它会正确地为背景着色,但不会绘制选择器。

最佳答案

您有三个主要选择。

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

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

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

关于android - 根据内容为 ListView 行着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3497412/

相关文章:

android.os.Process.killProcess(pid) 确实再次重启了进程

android - 拍照后返回 fragment

android - AdMob 横幅的关闭按钮

android - 在不使用 smoothScrollToPosition 的情况下转到 Listview 中的项目

java - 从 Activity 调用 finish()

java - if-else 条件 : AND evaluation mystery

android - 如何在不影响滚动的情况下对 ListView 的项目实现 onTouchListener

java - android listview setadapter崩溃

Android GCM/ ListView 更新

WPF ListView 关闭选择