【问题标题】:Android ListView text color changeAndroid ListView 文字颜色变化
【发布时间】:2011-07-20 09:30:28
【问题描述】:
我正在使用列表视图,并尝试实现期望的外观。长篇大论 - 我想在按下项目时更改列表项文本查看颜色。 textView 的默认文本颜色为白色,当我按下 listView 中的项目时,文本颜色会自动变为黑色。这是默认设置,效果很好。但是当我在文本视图中设置颜色时,例如在红色中,当按下列表视图中的项目时什么也不会发生。我尝试为文本视图设置颜色选择器,但它不起作用(即使我设置了 duplicateParentState=true)
当用户按下项目时,我只想要一些默认的文本颜色和不同的文本颜色。
谢谢帮助。
【问题讨论】:
标签:
android
listview
text
colors
【解决方案1】:
将此文件放在 res/color 文件夹中
color_selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false"
android:color="@color/skyblue" />
<item android:state_focused="true" android:state_pressed="true"
android:color="@color/white" />
<item android:state_focused="false" android:state_pressed="true"
android:color="@color/white" />
<item android:color="@color/skyblue" />
</selector>
现在在你的 Textview 的 textcolor 属性中设置这个选择器
在“values”文件夹中准备一个 color.xml
颜色.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="white">#ffffffff</color>
<color name="blue">#39abdf</color>
</resources>
【解决方案3】:
您可以覆盖 onItemClick() 事件并使用方法中提供给您的视图。使用它,您可以为每个文本视图调用 View.findViewById(R.id.textview) 来更改它们的字体和字体颜色。