She*_*lam 31 android listview colors listviewitem
当我ListViewItem突出显示时,我希望文本变为白色.我怎么定义这个?
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:color="@color/testcolor1"/>
<item android:state_pressed="true" android:state_enabled="false" android:color="@color/testcolor2" />
<item android:state_enabled="false" android:color="@color/testcolor3" />
<item android:color="@color/testcolor5"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
Kon*_*rov 68
创建文件res/drawable/text_color.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false" android:color="#ffffff" />
<item android:state_focused="true" android:state_pressed="true" android:color="#ffffff" />
<item android:state_focused="false" android:state_pressed="true" android:color="#ffffff" />
<item android:color="#000000" />
</selector>
Run Code Online (Sandbox Code Playgroud)
然后使用@drawable/text_colorxml(或R.drawable.text_color代码)作为列表视图项的文本颜色.
尝试这个...
text_color.xml首先,创建一个放置在目录中的颜色状态列表res/color。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
tools:ignore="MissingDefaultResource">
<item android:color="#000000" android:state_enabled="false"/>
<item android:color="#FFFFFF"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
二、使用
getColorStateList(@NonNull Context context,
@ColorRes int id)
Run Code Online (Sandbox Code Playgroud)
获取颜色状态列表的方法。
textView.setTextColor(ContextCompat.getColorStateList(context, R.color.text_color))
Run Code Online (Sandbox Code Playgroud)
第三,根据您的要求启用(true)或禁用(false),
textView.isEnabled = true //when item is highlighted
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37864 次 |
| 最近记录: |