Edittext 输入数限制及动态变化

EditText输入限制与动态字数显示实现
本文介绍了如何在不使用第三方控件的情况下,通过原生方式实现EditText的输入字数限制和动态显示。主要思路是利用TextWatcher监听EditText的输入变化,通过beforeTextChanged、onTextChanged和afterTextChanged方法,特别是afterTextChanged方法来控制和更新显示字数的TextView。同时,文章还提到了表情输入可能带来的问题,并说明了如何禁用表情输入。

有很多小伙伴在制作textview控件的时候会遇到要求显示输入字数的情况 如下图:

那么怎么做呢, 我在这里可以选择别人写好的第三方控件比如:

Materialedittext

这个三方控件有很多功能 比如下划线颜色、字体颜色、字体位置、以及字体总数和可输入数的颜色变化。

在这里就不多说了

下面要说的是如何通过原生来写这个小控件。

首先我们会想到我们的思路是:

1.输入框  Textview1

2.显示字数的  Textview2

3.通过判断Textview1的动态变化来实现Textview2的动态显示。

为了方便显示我们这里主要已截图为主,代码量很少。

研究过输入控制的同学应该知道关于Editext 对于输入控制需要用到

TextWatcher

TextWatcher是一个监听字符变化的类。当我们调用EditText的addTextChangedListener(TextWatcher)方法之后,就可以监听EditText的输入了。 

这里我们添加一个addTextChangedListener 来对输入进行一个监听。

这里实现TextWatcher()的三个方法。

  • beforeTextChanged(CharSequence s, int start, int count, int after) 
     
  • onTextChanged(CharSequence s, int start, int before, int count) 
     
  • afterTextChanged(Editable s) 
     

方法就不多说了,这里我们要实现的效果主要是afterTextChanged()这个方法中控制。

代码就不必多说了很简单  

当然这里我们还要注意一点 ,那就是是否使用表情。因为表情是用不好会很多不可预知的问题。

所以在这里我也是吧表情给禁掉了

 

我是影子,但是光越亮影子就越深,更能显出光的明亮          -----黑子はボクです

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值