美文网首页
如何自定义一个带有数字监听的EditText

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

作者: 的一幕 | 来源:发表于2016-08-31 14:45 被阅读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

    关于我:

    相关文章

      网友评论

          本文标题:如何自定义一个带有数字监听的EditText

          本文链接:https://www.haomeiwen.com/subject/mubqettx.html