0

基本上,我想在EditText屬性focusablefoucsableInTouchMode設置爲false時更改提示的顏色。android中的hinttext顏色選擇器

這與textColor一切都很好,但與Editext的textColorHint財產無用。

我盡我最大的努力,但所有的靜脈,所以我的代碼如下

我已創建了一個名爲「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

可以將'color'更改爲'drawable',例如像'<項 機器人:state_focused = 「真」 機器人:抽拉= 「@顏色/ login_signup_header_textcolor」/>' –

+0

@周恩旭,由於哥們,但這也行不通 –

回答

1

你說你想

改變提示的顏色時的EditText屬性Focusable和focusableInTouchMode設置爲false

ColorStateList完美。只是它取決於state_focused(即,View具有焦點)和state_window_focused(即,View的窗口具有焦點)。

爲了確保,我剛剛有兩個EditText S(所以當用戶忙在同一窗口中EditText會失去焦點),一個Button(以恩/禁用EditText)和仿真器上運行測試牛軋糖(這樣我就可以切換焦點到另一個窗口)

不幸的是,沒有選擇項屬性state_focusablestate_focusableInTouchMode。(見Color List Resource的文檔) 所以,如果你真的想提示的顏色取決於focusablefocusableInTouchMode被設置爲錯誤,您將不得不每次切換這些屬性時以編程方式設置所需的顏色。

myEditText.setHintTextColor(Color.GREEN)