TextInputLayout hint color

2019-03-18 09:42发布

问题:

I'm using new Google design library (com.android.support:design:22.2.0) and I have problem with android.support.design.widget.TextInputLayout.

If I set its EditText programmatically, floating hint color is gray instead of accent color. It works if user fills field (EditText) itself or if he changes preddefined value of field.

This is my code:

<android.support.design.widget.TextInputLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent">
        <EditText
            android:id="@+id/register_username"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/register_username"
            android:inputType="text"/>
</android.support.design.widget.TextInputLayout>

After user clicks some button it fill field via setText() method of EditText and floating hint becomes gray. Is it bug or I'm missing something?

回答1:

put android:textColorHint="@color/your_color" inside TextInputLayout



回答2:

Use android.support.v7.widget.AppCompatEditText instead of EditText and your problems should be resolved. Also make sure your gradle settings are as follows below:

compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:support-v4:22.2.0'
compile 'com.android.support:design:22.2.0'


回答3:

See here

In particular android.support.design:hintTextAppearance="@style/TextAppearance.AppCompat">



回答4:

Below code worked for me :

<android.support.design.widget.TextInputLayout
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_marginTop="16dp">

         <EditText
              android:id="@+id/email"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:background="@drawable/white_box"
              android:hint="@string/prompt_email"
              android:inputType="textEmailAddress"
              android:maxLines="1"
              android:singleLine="true"
              android:textColor="@color/text_color"
              android:textColorHighlight="@color/text_color"
              android:textColorHint="@color/text_color"
              android:drawableRight="@drawable/ic_action_email"/>
 </android.support.design.widget.TextInputLayout>

textColorHint hint color when edittext is not focused and android:textColorHighlight hint color in floating mode