0

EditTextプロパティfocusablefoucsableInTouchModeがfalseに設定されていると、基本的にヒントの色を変更したいと思います。アンドロイドのヒントテキストのセレクタ

textColorでいいですが、textColorHint Editextのプロパティでは役に立たないです。

私は、

を次のように私のコードがあるので、私は次のように述べた「colorListfile」と呼ばれる描画可能を作成し、

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

    <item 
     android:state_window_focused="false" 
     android:state_enabled="true" 
     android:color="@color/colorPrimaryDark" /> 

    <item 
     android:state_window_focused="false" 
     android:state_enabled="false" 
     android:color="@color/white" /> 
    <item 
     android:state_focused="true" 
     android:color="@color/login_signup_header_textcolor" /> 

    <item 
     android:color="@color/colorPrimary" /> 

</selector> 

私のEditTextを以下に示している、私の最善の努力をしようとしたが、静脈内のすべての

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="zuluzulu01" 
    android:textColorHint="@drawable/colorListfile" 
    android:hint="Name" /> 

しかし、これまたは他の方法では機能しませんでした。しかし、このプロパティがtextColorに設定されている場合、このコードはすべて正常に機能します。

ご協力いただければ幸いです。

+0

周恩旭@' –

+0

を、ありがとうバディー、でもそれはうまくいかない –

答えて

1

あなたがのEditTextプロパティがフォーカス可能とfocusableInTouchModeが完全に偽

あなたColorStateList作品に設定されているときにヒントの色を変更する

をしたいと述べました。 state_focused(すなわち、Viewがフォーカスを持っている)とstate_window_focused(すなわち、Viewのウィンドウに焦点が当てられている)に依存しているだけです。確認するために

は、私はちょうど2つのEditText S(ユーザーが同じウィンドウでビジー状態である間、そうEditTextがフォーカスを失うことができる)、ButtonEditTextを無効/エン)とエミュレータの実行中にテストしてみましたヌガー(私は別のウィンドウにフォーカスを切り替えることができます)

残念ながら、セレクタ項目はstate_focusablestate_focusableInTouchMode属性ありませんがあります。(Color List Resourceのマニュアルを参照してください) だからあなたが本当にヒントの色が依存する場合focusableおよびfocusableInTouchModeに設定されていますfalseの場合、これらの属性を切り替えるたびに、プログラムで目的の色を設定する必要があります。

あなたはこのような `<:state_focused = "true" を アンドロイド:アイテム アンドロイド描画可能= "@カラー/ login_signup_header_textcolor"/>のような` drawable`、へ `color`変更することができます
myEditText.setHintTextColor(Color.GREEN) 
関連する問題