【发布时间】:2011-02-20 06:54:29
【问题描述】:
我设置了一个具有背景图像的 Android 列表。看起来不错,但是当我在 ItemList 中选择一个项目时,它会用默认颜色覆盖背面的图片。我想做一些与背景更一致的事情来突出显示选择,比如让它保持透明,但突出显示列表项行的边框?我怎么能做到这一点或其他更适合图像的事情。
我还注意到,在列表中向下拖动会使其中几个同时变黑。对此可以做些什么。
【问题讨论】:
我设置了一个具有背景图像的 Android 列表。看起来不错,但是当我在 ItemList 中选择一个项目时,它会用默认颜色覆盖背面的图片。我想做一些与背景更一致的事情来突出显示选择,比如让它保持透明,但突出显示列表项行的边框?我怎么能做到这一点或其他更适合图像的事情。
我还注意到,在列表中向下拖动会使其中几个同时变黑。对此可以做些什么。
【问题讨论】:
您可以将 listView 的 CacheColorHint 设置为透明的零,以确保它不会使用不透明的颜色进行混合。不过可能会慢得多。
如果您想在选择索引时解决高亮问题,请检查使用可绘制状态列表的 Selector,http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList。只需将形状定义为 x 像素宽和您选择的突出显示颜色的笔画可绘制矩形。然后将其设置为 listSelector ,一切都应该很好。
【讨论】:
查看以下链接,我在其中编写了更改背景效果的代码。
Change ListView background - strange behaviour
您还可以使用状态列表图作为一个单元格布局的背景。去谷歌上查询 。就像将 xml 设置为背景一样,它告诉为正常、按下、聚焦状态选择哪个图像。
希望对你有帮助:)
【讨论】: