首页 > 解决方案 > 更改 TextInputLayout 错误和边框文本颜色

问题描述

在为我的 EditText 设置自定义背景可绘制之后,现在我正在尝试为其 TextInputLayout 错误设置特定颜色,但是当我使用 textColor 设置颜色时,它也会用该颜色填充 EditText!

这是我的背景可绘制文件:

<?xml version="1.0" encoding="utf-8" ?>

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="4dp" />
    <stroke
        android:width="1dp"
        android:color="@color/edit_text_border" />

</shape>

这是我定义 EditTexts 的方式:

            <android.support.design.widget.TextInputLayout
            android:id="@+id/changePasswordOldTL"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginEnd="16dp"
            app:hintEnabled="false"
            android:layout_marginStart="16dp"
            app:errorTextAppearance="@style/error_appearance"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/changePasswordOldPasswordLabel">


            <EditText
                android:id="@+id/changePasswordOldET"
                style="@style/customEdiText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:inputType="textPassword"
                android:maxLength="60" />

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

这是 error_appearance 和 customeEditText 样式:

    <style name="error_appearance" parent="@android:style/TextAppearance">
    <!-- Hint color and label color in FALSE state -->
    <item name="android:textColor">@color/edit_text_border</item>
</style>

<style name="customEdiText">
    <item name="android:textSize">@dimen/edit_text_font_size</item>
    <item name="android:fontFamily">@font/sans_web_medium</item>
    <item name="android:textCursorDrawable">@null</item>
    <item name="android:textColor">@color/text_color</item>
    <item name="android:background">@drawable/edit_text_background</item>
    <item name="android:padding">@dimen/edit_text_padding_right_left</item>

</style>

这是结果:

在此处输入图像描述

但我不希望 EditText 被 textColor 填充!

标签: androidandroid-textinputlayout

解决方案


推荐阅读