-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 に答える