我正在显示从setError()
到EditText
的错误消息。
我想更改setError()
消息的背景颜色,默认为黑色。
我几乎在所有地方都进行了搜索,但是尽管有一些疑问,我也找不到正确的解决方案。
答案 0 :(得分: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>
科特林代码:
inputLayout.isErrorEnabled = true
inputLayout.setErrorTextColor(ColorStateList.valueOf(Color.RED))
inputLayout.error = ERROR MESSAGE
答案 1 :(得分:0)
您可以使用setError()的Java动态更改背景颜色
EditText.setError(“您的错误字符串”); EditText.setErrorColor(Color.parseColor(“#000000”));
或 EditText.setError(“您的错误字符串”); EditText.setErrorColor(Color.BLUE);