如何自定义一个带有数字监听的EditText
2016-08-31 本文已影响110人
的一幕
前段时间把项目整理了,把一些经常用到的控件给整理出来了,网上也看到有人介绍过该控件,但是总是有些不足的地方或不是自己想要的效果。所以自己今天就把该控件给抽取出来了。先来看下效果图吧:
思路:
其实从效果图上面看,这里控件的布局非常醒目的。整体是一个相对布局,相对布局里面又可以分为两块: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的值,也正好是下面数字的高度。效果图如下:
关于我:
- email: a1002326270@163.com
- github: enter