6

我有一个带有 3 个文本视图的线性布局。I want to change the text view's font color when any of the text view is selected. 我想保留新颜色,直到选择另一个文本视图。基本上这种线性布局应该模仿复选框的选择行为。我想使用选择器来更改文本视图字体颜色的颜色。

我在文本视图的 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>

我怎样才能使我的文本视图在线性布局中保留文本颜色,只要它被选中而不是被按下?

4

2 回答 2

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);
于 2013-09-13T10:12:47.753 回答
0

使用android:state_checked, 补充或代替android:state_pressed

于 2013-09-13T10:07:05.320 回答