Android Material Design 之 TextInputLayout

本文详细介绍 TextInputLayout 的功能特性,包括 hint 文本行为、错误提示机制、字数统计及输入反馈等,并分享了实际使用中遇到的问题及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

点击这里。原创更详细
TextInputLayout

  1. 当里面的EditText获取焦点后,EditText的hint文字,会移动到EditText的上面做Label
  2. 具有错误提示机制
  3. 字数统计功能 输入反馈、描述
//启用计数器
app:counterEnabled="true"
//最大长度
app:counterMaxLength="50"
//错误提示
app:errorEnabled="true"

修改编辑框上label的颜色大小

app:hintTextAppearance="@style/HintAppearance"

修改错误提示的颜色

app:errorTextAppearance="@style/ErrorAppearance"

修改统计字数的样式

//没有超过最大字数
app:counterTextAppearance="@style/CounterAppearance"
//超过最大字数
app:counterOverflowTextAppearance="@style/CounterOverflowAppearance"

使用TextInputLayout遇到的一些坑:
① 如果加上字数统计需要在style里加上textErrorColor,否则超过字数会后会闪退。

② 如果不需要字数统计,且启用错误机制(setErrorEnabled(true)), 不需要加上textErrorColor(不会闪退)系统会提供一个默认的error color。 当然可以通过textErrorColor来自定义错误颜色(error color). 可以使用更为强大的errorTextAppearance来定义错误颜色,字体大小等属性。如果TextInputLayout 同时 设置了textErrorColor和errorTextAppearance ,只有errorTextAppearance生效.

③ 如果加上字数统计,且同时设置了textErrorColor和errorTextAppearance。
这个时候回出现奇怪的效果,Label和统计的颜色为textErrorColor的颜色。
EditText的横线 和 错误文字提示为errorTextAppearance设置的效果。所以为什么不加上textErrorColor会闪退,因为超过字数后TextInputLayout需要textErrorColor属性设置的颜色。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值