【发布时间】:2012-03-22 04:25:34
【问题描述】:
我有一个包含自定义行的 ListView。此自定义行包含以下 UI 元素
- ImageView imageView1,imageView2
- TextView textview1,textView2,textView3
要求是只要列表行被选择,就会有以下变化
imageView1 背景,颜色改变
imageView1 颜色改变
textview1 颜色、大小和字体发生变化
textview2 颜色,大小改变
textview3 颜色,大小改变
为此设计的最佳方式是什么?
AFAIK 我们无法在选择器中应用样式。有没有更好的方法来解决这个问题而不是在 java 代码中处理?
我们有 setOnItemSelectedListener 可以在 Listview 上设置,它有以下回调方法:
i) onItemSelected
ii) onNothingSelected
但是,没有回调方法可以提供失去焦点的项目的详细信息。这是进行更改的更好地方吗?
提前致谢。
【问题讨论】:
-
"AFAIK 我们无法在选择器中应用样式。有没有更好的方法来解决这个问题而不是在 java 代码中处理?"如果你不能在选择器中做到这一点,除了在 Java 中还能怎么做?也许您可以覆盖默认选择器引用的样式属性?
-
可以应用样式来改变背景颜色/drawable。改变字体大小无济于事。我还需要为每个子视图指定选择器吗?在 java 代码中,在 getView() 中。