Android TextInput提示文本颜色

时间:2016-04-05 11:54:51

标签: java android xml android-xml

我有TextInputLayoutEditText,我的文字提示为黑色,我想更改它。

顺便说一句,当提示进入顶部时,其颜色为白色

 <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:hintTextAppearance="@style/TextAppearance.App.TextInputLayout">

            <EditText
                android:id="@+id/password"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/prompt_password"
                android:imeActionId="@+id/login"
                android:imeActionLabel="@string/action_sign_in_short"
                android:imeOptions="actionUnspecified"
                android:inputType="textPassword"
                android:maxLines="1"
                android:singleLine="true"
                android:textColor="@android:color/white"
                android:textColorHint="@android:color/white" />

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

样式

<style name="TextAppearance.App.TextInputLayout" parent="@android:style/TextAppearance">
    <item name="android:textColor">@android:color/white</item>
    <item name="android:textColorHint">@android:color/white</item>
    <item name="colorPrimary">@android:color/white</item>
    <item name="colorAccent">@android:color/white</item>
</style>

enter image description here

3 个答案:

答案 0 :(得分:1)

  1. 使用此选项可更改提示颜色。 -

    editText.setHintTextColor(getResources()的getColor(R.color.white));

  2. 只需在EditText的布局中添加:

    机器人:textColorHint = “#FFFFFF”

  3. 如果您想要这样,那么您可以这样做,

    editText.addTextChangedListener(new TextWatcher(){ public void onTextChanged(CharSequence arg0,int arg1,int arg2,int arg3){ //做一点事 }

    public void beforeTextChanged(CharSequence arg0,int arg1,int arg2,int arg3) {//做某事}

    public void afterTextChanged(Editable arg0){ if(arg0.toString()。length()&lt; = 0)
    tv.setHintTextColor(getResources()的getColor(R.color.white)); } });

答案 1 :(得分:0)

您应该定义更多这样的属性:

<style name="TextAppearance.App.TextInputLayout" parent="TextAppearance.AppCompat">
   <item name="android:textColor">@android:color/white</item>
   <item name="android:textColorHint">@android:color/white</item>
   <item name="colorPrimary">@android:color/white</item>
   <item name="colorAccent">@android:color/white</item>

   <item name="colorControlNormal">@color/someColor</item>
   <item name="colorControlActivated">@color/someColor</item>
   <item name="colorControlHighlight">@color/someColor</item>

</style>

答案 2 :(得分:0)

您需要将android:textColorHint="@color/yourColor"放在TextInputLayout中,就像这样:

<android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:hintTextAppearance="@style/TextAppearance.App.TextInputLayout"
    android:textColorHint="@color/yourColor">