如何自定义一个带有数字监听的EditText

2016-08-31  本文已影响110人  的一幕

前段时间把项目整理了,把一些经常用到的控件给整理出来了,网上也看到有人介绍过该控件,但是总是有些不足的地方或不是自己想要的效果。所以自己今天就把该控件给抽取出来了。先来看下效果图吧:

simple.gif

思路:

其实从效果图上面看,这里控件的布局非常醒目的。整体是一个相对布局,相对布局里面又可以分为两块:editText+右下带数字的自定义view,大家可以看到这个输入框不会把下面数字监听的view给覆盖掉,是因为editText下面留出了这个自定义view的高度,所以到了最后一行的时候也不会把带数字的view给覆盖掉,就是这么简单,小伙伴们赶快行动起来吧。

用法:

<declare-styleable name="DynamicInputView">    
    <attr name="max_number" format="integer" />    
    <attr name="hint_text" format="string|reference" />    
    <attr name="text_size" format="dimension" />    
    <attr name="text_color" format="color" />
</declare-styleable>

从几个自定义的属性可以看出来怎么用了吧。
max_number: 限制最大的字数
hint_text: 初始化显示的字
text_size: 字的大小
text_color: 字的颜色
前期就定义这几个属性吧,如果大家觉得还有需要什么属性,可以反馈给我。控件也会不断地更新,尽量满足大家的需求。

说明:

相信大家尝试过把该控件放到页面的底部,出现过键盘输入法把该控件给挡住了,这里需要说明一下,这里需要在你的activty清单里面加上:

<activity android:name=".MainActivity"
          android:windowSoftInputMode="adjustResize|stateHidden">
            .....
</activity>

也有人说加上该属性只是让editext不被键盘给挡住,确实是的。但是我这里代码里面设置下面的数字部分也是算在editText的高度内,因为这里的editText的高度给了一个pading的值,也正好是下面数字的高度。效果图如下:

说明图.gif

关于我:

上一篇下一篇

猜你喜欢

热点阅读