如何在Edittext中更改setError()的背景颜色?

问题描述 投票:0回答:2

我正在使用setError()EditText显示错误消息。我想更改setError()消息的背景颜色,默认为黑色。我搜索了几乎所有地方,但我无法得到一个正确的解决方案,虽然有问题。

android android-edittext
2个回答
0
投票

你必须将EditText包装在TextInputLayout中(它带有一些很酷的动画开箱即用)然后你就可以为EditText设置任何颜色了。

XML:

            <com.google.android.material.textfield.TextInputLayout
                android:id="@+id/inputLayout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="36dp"
                app:passwordToggleEnabled="true"
                app:passwordToggleDrawable="@drawable/selector_password_toggle"
                app:passwordToggleTint="@android:color/black"
                app:errorTextAppearance="@style/errorText"
                app:hintTextAppearance="@style/hintText">

            <EditText
                    android:id="@+id/passwordInput"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="@string/registration_hint_password"
                    android:inputType="textPassword"/>

        </com.google.android.material.textfield.TextInputLayout>

Kotlin中的代码:

        inputLayout.isErrorEnabled = true
        inputLayout.setErrorTextColor(ColorStateList.valueOf(Color.RED))
        inputLayout.error = ERROR MESSAGE

0
投票

你可以像这样动态地使用setError()的java来改变背景颜色

EditText.setError(“你的错误字符串”); EditText.setErrorColor(Color.parseColor( “#000000”));

或EditText.setError(“你的错误字符串”); EditText.setErrorColor(Color.BLUE);

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