2015-11-02 91 views
0

我強制自定義Edittext如下。我的應用hinttext color在三星Galaxy neo中不會改變,所有提示都隱藏在這個編輯文本中。我試圖改變textHintColor在XML和也試過:剛剛無法更改edittext提示顏色

nameEditText.setHintTextColor(getResources().getColor(R.color.primary)); 

但是沒有什麼變化,這款手機。

public class EditText extends android.widget.EditText { 

    public EditText(Context context) { 
     super(context); 
     final Typeface tf = Typeface.createFromAsset(context.getAssets(), Constants.APPLICATION_FONT); 
     setTypeface(tf); 
//  setTextSize(this.getTextSize()); 
    } 

    public EditText(Context context, AttributeSet attrs) { 
     super(context, attrs, android.R.attr.editTextStyle); 
     final Typeface tf = Typeface.createFromAsset(context.getAssets(), Constants.APPLICATION_FONT); 
     setTypeface(tf); 
//  setTextSize(this.getTextSize()); 
    } 

    public EditText(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
     final Typeface tf = Typeface.createFromAsset(context.getAssets(), Constants.APPLICATION_FONT); 
     setTypeface(tf); 
//  setTextSize(this.getTextSize()); 
    } 

我也改變應用程序的主題,但nothings的變化。 這是EditText上的用法:

<com.myproj.widget.EditText 
        style="@style/Text.SettingItem" 
        android:id="@+id/emailEditText" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:gravity="start" 
        android:hint="@string/hint_email" 
        android:inputType="textEmailAddress" 
        android:maxLength="40" 
        android:singleLine="true" /> 
+0

http://stackoverflow.com/questions/25134463/edittext-unable-to-change-the-text-color#answer-25134499 – Nabin

回答

3

只需添加這EditText上的佈局:

android:textColorHint="#FFFFFF" // any color 

,或者你可以設置從彩色清晰度彩色文件

android:textColorHint="@color/red" 
+1

正如我所說的那樣,它不會工作 – Kenji

+0

你可以在這裏發佈你的xml代碼.. //從java端刪除所有的代碼並只在xml中添加這一行..它應該工作..我現在已經測試過了。它的工作.. – abidsplanet

+0

我更新了問題,但我知道它應該工作,但似乎有東西重寫我的代碼。 – Kenji

0

具有宥聲明背景在你的XML?我有一個類似的問題,答案是錯誤的背景,你可以刪除它來測試

0
<item name="colorAccent">@android:color/black</item> 

您colorAccent更改爲您想要的顏色你的主題裏面,這會改變你的EditText線,光標以及您提示

,或者您也可以包括你style.xml內這種風格

<style name="TextLabel" parent="TextAppearance.AppCompat"> 
    <!-- Hint color and label color in FALSE state --> 
    <item name="android:textColorHint">@android:color/black</item> 
    <item name="android:textSize">20sp</item> 
    <!-- Label color in TRUE state and bar color FALSE and TRUE State --> 
    <item name="colorAccent">@android:color/black</item> 
    <item name="colorControlNormal">@android:color/black</item> 
    <item name="colorControlActivated">@android:color/black</item> 
</style> 

那麼你TextInputLayout裏面,你可以把它像這樣

<android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_password" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:theme="@style/TextLabel"> 
      <EditText 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:drawableLeft="@drawable/password" 
       android:drawableStart="@drawable/password" 
       android:maxLines="1" 
       android:hint="password" 
       android:inputType="textWebPassword" /> 

     </android.support.design.widget.TextInputLayout>