【发布时间】:2018-03-13 10:01:40
【问题描述】:
是否可以更改TextInputLayout错误背景颜色,而不是例如从透明到红色的文本?
【问题讨论】:
是否可以更改TextInputLayout错误背景颜色,而不是例如从透明到红色的文本?
【问题讨论】:
在 style.xml 中创建样式
<style name="error_appearance" parent="@android:style/TextAppearance">
<item name="android:textColor">@color/red_500</item>
<item name="android:textSize">12sp</item>
</style>
并在您的 TextInputLayout 小部件中使用它:
<android.support.design.widget.TextInputLayout
android:id="@+id/emailInputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:errorTextAppearance="@style/error_appearance">
【讨论】:
在 gradle 中添加最新的材料依赖并使用 setError
compile 'com.android.support:design:25.0.0'
emailInputLayout =(TextInputLayout)findViewbyId(R.id.emailInputLayout);
Spannable errorMsg = new SpannableString("Email cannot be Empty ");
errorMsg.setSpan(new ForegroundColorSpan(Color.BLUE), 0, errorMsg.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
errorMsg.setSpan(new BackgroundColorSpan(Color.WHITE), 0, errorMsg.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
emailInputLayout.setError(errorMsg);
这很好用。
【讨论】: