Edittext 输入数限制及动态变化

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

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

Materialedittext

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

在这里就不多说了

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

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

1.输入框  Textview1

2.显示字数的  Textview2

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

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

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

TextWatcher

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

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

Edittext 输入数限制及动态变化_第1张图片

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

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

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

Edittext 输入数限制及动态变化_第2张图片

代码就不必多说了很简单  

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

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

Edittext 输入数限制及动态变化_第3张图片

 

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

你可能感兴趣的:(android)