如何在线性布局中按特定文本视图时更改文本颜色

时间:2013-09-13 09:57:13

标签: android colors textview selector

我有一个带有3个文本视图的线性布局。我想在选择任何文本视图时更改文本视图的字体颜色。我想保留新颜色,直到选择另一个文本视图。基本上,这种线性布局应该模仿复选框的选择行为。我想使用选择器来更改文本视图的字体颜色的颜色。

我在文本视图的textColor上使用了以下选择器,只要按下文本视图,这只会更改字体颜色

 android:textColor="@drawable/selector_header_text"

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="@color/blue"></item>
    <item android:state_focused="true" android:color="@color/blue"/>
    <item android:color="@color/light_gray"></item>

</selector>

如何在线性布局中创建文本视图以保留文本颜色,只要选中它而不仅仅按下它?

2 个答案:

答案 0 :(得分:8)

将代码android:state_selected="true"添加到您的选择器文件

<?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/blue"></item>
    <item android:state_focused="true" android:color="@color/blue"/>
    <item android:state_selected="true" android:color="@color/blue"/>
    <item android:color="@color/light_gray"></item>

</selector>

在您的班级文件中添加以下代码

textView.setselected(true);

答案 1 :(得分:0)

另外使用android:state_checked代替android:state_pressed