更改TextInputEditText提示颜色

问题描述 投票:3回答:4

我想更改TextInputEditText提示的文本颜色。似乎无论我改变什么,颜色总是主应用主题的颜色。

            <android.support.design.widget.TextInputLayout
                android:id="@+id/enter_template_name_edit_text_input_layout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textColorHint="@color/warm_grey">

                <android.support.design.widget.TextInputEditText
                    android:id="@+id/template_name_text_input_edit_text"
                    style="@style/EditTextBaseStyle"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="start"
                    android:hint="@string/add_nitrogen_template_name_label"
                    android:imeOptions="actionNext"
                    android:inputType="textCapWords|textNoSuggestions"
                    android:maxLines="1"
                    android:paddingBottom="@dimen/md_content_padding_bottom"
                    android:textAlignment="textStart"
                    android:textColorHint="@color/warm_grey"
                    android:textSize="32sp" />

和基本风格

<style name="EditTextBaseStyle" parent="Widget.AppCompat.EditText">
    <item name="android:textViewStyle">@style/TextViewStyle</item>
    <item name="android:textColor">@color/middle_black</item>
    <item name="android:textStyle">normal</item>
    <item name="android:textSize">16sp</item>
</style>

我试过添加

android:textColorHint="@color/warm_grey"

对基本风格以及我的AppTheme而言并没有帮助。

这是我的AppTheme

<style name="AppTheme" parent="Theme.AppCompat">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/primary</item>
    <item name="android:textColorHint">@color/primary_text</item>
    <item name="android:windowBackground">@null</item>
    <item name="android:windowSoftInputMode">stateHidden|adjustPan</item>
</style>

我在这里缺少什么?

谢谢,奥特曼

编辑:当字段没有焦点时,提示是正确的颜色。当字段获得焦点时,提示移动到字段上方并显示不正确的颜色。

android android-layout android-textinputlayout
4个回答
7
投票

对我来说,修复是在TextInputLayout中设置提示和文本Color,而不是如下所述在TextInputEditText上设置:qazxsw poi

https://material.io/develop/android/components/text-input-layout/

3
投票

你有没有为你的 <android.support.design.widget.TextInputLayout android:id="@+id/passwordTextInputLayout" android:hint="@string/add_nitrogen_template_name_label" android:textColorHint="@color/warm_grey"> <android.support.design.widget.TextInputEditText android:textAppearance="@style/TextAppearance.Regular" android:textColor="@color/white"/> </android.support.design.widget.TextInputLayout> 尝试过这些属性?

AppTheme

或移动

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

将XML小部件格式化为android:textColorHint="@color/warm_grey"


2
投票

试试这个:

EditTextBaseStyle

1
投票

通过添加,我能够成功地使用它

 <style name="AppTheme.EditTextBaseStyle" parent="@android:style/TextAppearance">
    <item name="android:textColor">@android:color/darker_gray</item>
</style>

给我的app:hintTextAppearance="@style/EditTextHintStyle"

这是正确的风格

TextInputLayout
© www.soinside.com 2019 - 2024. All rights reserved.