-5

我正在使用以下选择器

text_selector.xml

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_selected="true" android:color="@android:color/white"/>
    <item android:state_focused="true" android:color="@android:color/white"/>
    <item android:state_pressed="true" android:color="@android:color/white"/>    
    <item android:color="@android:color/black" />
</selector>

我正在使用以下代码在运行时设置选择器

txtMainlabel.setTextColor(R.color.text_selector);
4

2 回答 2

0
txtMainlabel.setTextColor(R.color.text_selector);

setTextColor 需要一个与颜色值对应的整数。您正在做的是用整数值 R.color.text_selector 赋予颜色。您可以在 R 文件中看到该值。因此,您始终为视图设置相同的颜色。

要设置颜色,您可以执行以下操作:setTextColor(Color.white)

另外我不确定 TextView 是否有状态,所以我不确定您是否可以将选择器设置为 TextView。如果这不是一个选项,您始终可以设置点击侦听器并为这些操作设置新颜色。

于 2012-07-10T07:54:49.170 回答
0

将您的选择器放在 res/drawable 下并使用

label.setTextColor(getResources().getColorStateList(R.drawable.text_selector));

不要忘记android:clickable="true"在布局中的 TextView 声明中设置

于 2012-07-10T08:04:11.090 回答