自定义TextInputLayout的错误背景颜色

时间:2018-03-13 10:01:41

标签: java android

是否可以更改TextInputLayout错误背景颜色,而不是例如从透明到红色的文本?

2 个答案:

答案 0 :(得分:0)

在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">

答案 1 :(得分:0)

在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);

这很好用。