alf*_*red 36 layout android listview
我正在努力解决这个问题,这显然是一个非常简单的效果,但令人难以置信的是,在Android中没有找到任何可行的方式.
我有一个ListView,我设法自定义背景图像,以便通过获取新的背景drawable突出显示所选项目.这我创建了一个新的样式,我设置android:listSelector属性指向StateListDrawable,我已指定哪些drawables用于每个状态.
但是每个ListView项都是LinearLayout,其中我有两个TextView.我的目标是能够在选择或按下父项的同时,在背景可绘制的同时更改这些子视图的文本颜色.我知道有一个ColorStateList但是没有成功设置它.
有没有人成功获得这样的工作?
谢谢.
And*_*wPK 68
当ListView被包含多个视图的布局受到损害时,这些都不是可能的答案.您需要将子视图设置为:
android:duplicateParentState="true"
Run Code Online (Sandbox Code Playgroud)
现在,您可以使用其他人已经描述的方法使用选择器声明TextViews的颜色,例如:
android:textColor="@drawable/my_row_selector"
Run Code Online (Sandbox Code Playgroud)
我确定你知道,但选择器可以像下面这样简单:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="@color/white" />
<item android:color="@color/black" />
</selector>
Run Code Online (Sandbox Code Playgroud)
如您所见,允许使用@color值.希望这可以帮助.
另外 - android:state_pressed与AdapterView.OnItemClickListener一起使用.
小智 23
在你的textview propeties中
android:textColor="@color/text_selector"
Run Code Online (Sandbox Code Playgroud)
在res/color text_selector.xml中
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="YOUR_CUSTOM_COLOR" />
<item android:state_selected="true" android:color="YOUR_CUSTOM_COLOR" />
<item android:color="YOUR_CUSTOM_COLOR" />
</selector>
Run Code Online (Sandbox Code Playgroud)
Man*_*rig 11
为了使其适用于选择,请使用以下代码:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#fff"/>
<item android:state_activated="true" android:color="#fff"/>
<item android:color="#000" />
</selector>
Run Code Online (Sandbox Code Playgroud)
显然关键是state_activated="true"国家.
| 归档时间: |
|
| 查看次数: |
42593 次 |
| 最近记录: |