2012-12-29 9 views
5

私は次のコードを使用してTextViewの、textColorためのセレクタを設定しようとしていますが:は、Androidの、textColorセレクタ

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="false" android:color="?android:attr/textColorTertiary" /> 
    <item android:color="?android:attr/textColorPrimary"/> 
</selector> 

しかし、色は常に代わりに、これらのtheme colorsredように見えます。ハードコーディングされた色を置くと、すべてがうまくいくように見えます。 (例:<item android:state_enabled="false" android:color="#666666" />)。

問題とその解決方法は何ですか? P.S.誰かがリスト内の無効な項目のテーマのデフォルトの無効色を設定する方法を知っている場合は、共有してください、それは私が達成しようとしているものです。ありがとう。

+0

私は4.1で再現可能な同じ問題を抱えていますが、新しいバージョンではうまくいくようです(たとえば、黒のテーマでは黒)。 '?android:attr/textColorPrimaryInverse'は赤く見えますが、赤く見えません。私のテーマでは 'android:textColorPrimaryInverse'をカスタムセレクタに再定義しましたが、まだ赤です。 –

+0

これには解決策が見つかりましたか?私はセレクタを?android:attr/textColorで使用しようとしていて、同様の問題があります – marilion91

答えて

-2

私が見る限り、セレクタでは3つの状態を使用する必要があります。

state enabled 
state focused 
state pressed 

この順番でこれは助けるかもしれません

+0

私のセレクタ内に 'あなたの答えが助けにならないように – NullPointerException

-2

どのような理由でセレクターを使用しましたか?
テキストビューのテキストを常に赤にしたい場合は、セレクタを必要としません。色の追加は、color.XMLまたはstring.XMLで色を定義するだけです。
そして、選択やフォーカスで状態を変更する場合は、状態を使用してください。
状態はあなたが必要として、それは動作しますたより
状態が
を重視押し
状態を可能にしました。

関連する問題