【问题标题】:Custom TextInputLayout's error BACKGROUND color自定义TextInputLayout的错误背景颜色
【发布时间】:2018-03-13 10:01:40
【问题描述】:

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

【问题讨论】:

标签: java android


【解决方案1】:

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

【讨论】:

  • 它不能解决我的问题。我想改变背景颜色,而不是文字颜色。
【解决方案2】:

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

这很好用。

【讨论】:

  • 我想更改错误字段的背景颜色。它对我有什么帮助? :D
  • 在捕获错误后以编程方式设置编辑文本背景的值。
猜你喜欢
  • 1970-01-01
  • 2014-09-03
  • 1970-01-01
  • 1970-01-01
  • 2021-05-30
  • 2011-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多