android -Edit文本背景在TextInputLayout错误上变红

【android -Edit文本背景在TextInputLayout错误上变红】春衣少年当酒歌,起舞四顾以笑和。这篇文章主要讲述android -Edit文本背景在TextInputLayout错误上变红相关的知识,希望能为你提供帮助。
这是一个非常奇怪的问题,这是我的代码:

< android.support.design.widget.TextInputLayout android:id="@+id/input_layout_pass" android:layout_width="match_parent" android:layout_height="37dp" android:layout_marginTop="10dp" android:layoutDirection="rtl" android:src="https://www.songbingjia.com/android/@drawable/ic_https_grey600_18dp" app:hintEnabled="false" app:passwordToggleEnabled="true"> < EditText android:id="@+id/password" style="@style/edittexts" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawableLeft="@drawable/ic_https_grey600_18dp" android:drawableStart="@drawable/ic_https_grey600_18dp" android:hint="??? ????" android:gravity="right|center_vertical" android:imeOptions="actionDone" android:inputType="textPassword" android:transformPivotX="10dp" app:passwordToggleEnabled="true" /> < /android.support.design.widget.TextInputLayout>

我在我的登录过程中使用TextInputLayout,这是我的java代码:
pass_l.setErrorEnabled(真); pass_l.setError(的getString(R.string.wrong_pass));
当它显示错误时,编辑文本的背景变为红色并且它不会在它下面显示错误,有些事情如下:
android -Edit文本背景在TextInputLayout错误上变红

文章图片

我该如何解决这个问题?我不希望edittext改变背景颜色,只是像往常一样在editext下面显示错误
答案
< android.support.design.widget.TextInputLayout android:id="@+id/input_layout_pass" android:layout_width="match_parent" android:layout_height="37dp" android:layout_marginTop="10dp" android:layoutDirection="rtl" android:theme="@style/TextLabel" android:src="https://www.songbingjia.com/android/@drawable/ic_https_grey600_18dp" app:hintEnabled="false" app:passwordToggleEnabled="true"> < EditText android:id="@+id/password" style="@style/edittexts" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawableLeft="@drawable/ic_https_grey600_18dp" android:drawableStart="@drawable/ic_https_grey600_18dp" android:hint="??? ????" android:gravity="right|center_vertical" android:imeOptions="actionDone" android:inputType="textPassword" android:transformPivotX="10dp" app:passwordToggleEnabled="true" /> < /android.support.design.widget.TextInputLayout> < style name="TextLabel" parent="TextAppearance.AppCompat"> < !-- Hint color and label color in FALSE state --> < item name="android:textColorHint"> @color/Color Name< /item> < item name="android:textSize"> 20sp< /item> < !-- Label color in TRUE state and bar color FALSE and TRUE State --> < item name="colorAccent"> @color/Color Name< /item> < item name="colorControlNormal"> @color/Color Name< /item> < item name="colorControlActivated"> @color/Color Name< /item> < /style>

你可以这样试试。
另一答案问题在于你的风格=“@ style / edittexts”。请分享它的源代码。它必须在这种风格中设置为红色。
另一答案你可以在textInputLayout标签中使用它:
app:errorEnabled="true" app:errorTextAppearance="@style/ErrorAppearance"

例如:
< android.support.design.widget.TextInputLayout android:id="@+id/input_layout_pass" android:layout_width="match_parent" android:layout_height="37dp" android:layout_marginTop="10dp" android:layoutDirection="rtl" android:src="https://www.songbingjia.com/android/@drawable/ic_https_grey600_18dp" app:hintEnabled="false" app:passwordToggleEnabled="true" app:errorEnabled="true" app:errorTextAppearance="@style/ErrorAppearance"> < android.support.v7.widget.AppCompatEditText android:id="@+id/password" style="@style/FormStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawableLeft="@drawable/ic_https_grey600_18dp" android:drawableStart="@drawable/ic_https_grey600_18dp" android:hint="??? ????" android:gravity="right|center_vertical" android:imeOptions="actionDone" android:inputType="textPassword" android:transformPivotX="10dp" app:passwordToggleEnabled="true" /> < /android.support.design.widget.TextInputLayout>

在styles.xml中添加ErrorAppearance和FormStyle
< style name="ErrorAppearance" parent="@android:style/TextAppearance"> < item name="android:textColor"> @color/textError< /item> < item name="android:textSize"> @dimen/font_small< /item> < /style> < style name="FormStyle"> < item name="android:maxLines"> 1< /item> < item name="android:drawablePadding"> @dimen/spacing_small< /item> < item name="android:textColor"> @color/textHint< /item> < /style>

在活动验证后,您可以:
pass_l.setError(getString(R.string.wrong_pass));


    推荐阅读