自定义EditText 实现带清空按钮的输入框
2014-08-12 16:15
579 查看
注:本文转载自csdn,其中实现清除功能所采用的方案比较可取。
原文如下:
项目要求:做出包含根据情况可变色的下划线,左侧有可变图标,右侧有可变删除标志的edittext,如图
记录制作过程:
第一版本:
效果图:
canvas.drawLine(0, this.getHeight() - 1, this.getWidth(),this.getHeight() - 1, mPaint); //画editText最下方的线
setCompoundDrawablesWithIntrinsicBounds(left, null, del_btn, null); //放置左边的和右边的图片(左,上,右,下)
相当于 android:drawableLeft="" android:drawableRight=""
onTouchEvent 当手机点击时,第一个先走的函数,当点击右侧删除图标是清空edittext
setStatus 更具不同的状态,左边的图片不一样
存在的问题:
这版本虽然基本功能已经实现,但是不符合需求,设计中要求文本框中无文字时,右侧删除按钮不显示,不点击删除按钮,删除按钮要保持灰色,点击时才可以变蓝色。因此有了第二个版本
效果图:
比较关键的方法是:onTouchEvent
当进入界面,点击输入框,要判断输入框中是否已有文字,如果有则显示灰色的删除按钮,如果没有则不显示,如果点击了删除按钮,删除按钮变蓝色
存在的问题:
这个版本依旧存在问题,就是输入长度超过输入框,所画的线不会延伸,如图
解决办法:
w:获取控件长度
X:延伸后的长度
最终效果:
原文地址:http://blog.csdn.net/zwx622/article/details/38340991
原文如下:
项目要求:做出包含根据情况可变色的下划线,左侧有可变图标,右侧有可变删除标志的edittext,如图
记录制作过程:
第一版本:
代码解释:
变量名 STATUS_FOCUSED,STATUS_UNFOCUSED,STATUS_ERROR 标示了三种状态,选中状况为蓝色,未选中状态为灰色,错误状态为红色。focusedDrawableId unfocusedDrawableId errorDrawableId 存放三种状态的图片,放置于最左侧。canvas.drawLine(0, this.getHeight() - 1, this.getWidth(),this.getHeight() - 1, mPaint); //画editText最下方的线
setCompoundDrawablesWithIntrinsicBounds(left, null, del_btn, null); //放置左边的和右边的图片(左,上,右,下)
相当于 android:drawableLeft="" android:drawableRight=""
onTouchEvent 当手机点击时,第一个先走的函数,当点击右侧删除图标是清空edittext
setStatus 更具不同的状态,左边的图片不一样
存在的问题:
这版本虽然基本功能已经实现,但是不符合需求,设计中要求文本框中无文字时,右侧删除按钮不显示,不点击删除按钮,删除按钮要保持灰色,点击时才可以变蓝色。因此有了第二个版本
比较关键的方法是:onTouchEvent
当进入界面,点击输入框,要判断输入框中是否已有文字,如果有则显示灰色的删除按钮,如果没有则不显示,如果点击了删除按钮,删除按钮变蓝色
存在的问题:
这个版本依旧存在问题,就是输入长度超过输入框,所画的线不会延伸,如图
解决办法:
X:延伸后的长度
最终效果:
原文地址:http://blog.csdn.net/zwx622/article/details/38340991
相关文章推荐
- EXCEL VBA代码,实现点击Sheet1按钮控件保存不连续单元格的数据到Sheet2中,然后清空输入内容
- Android-自定义实现仿微信输入框输入按钮
- Android自定义组件EditText,带清空输入内容图标
- 1, 编写程序,当用户在文本框中输入内容之后,单机不同的按钮,能够把文半框中的内容粘贴到文本区中。“重置”按钮实现将文本框和文本区中的内容清空。界面上的文本区只能显示内容,不能让用户输入文本。运行结果
- 自定义EditText实现可以一键删除输入的内容
- 自定义EditText-带清除所有输入按钮的EditText
- Android Edittext 清空按钮功能 自定义
- 实现仿Iphone的带删除按钮的自定义的EditText
- 自定义Dialog(图片,文字说明,单选按钮)----类ListPreference实现(2)
- silverlight 自定义用户控件,实现邮箱地址输入自动提示邮箱域名
- Windows Phone 7 自定义按钮的实现
- Android中ImageButton自定义按钮的按下效果的代码实现方法
- 自定义程序实现Android EditText只允许输入指定字符
- 在Android中实现自定义的按钮
- android自定义ImageButton按钮的按下效果的代码实现
- 重写UIPageControl实现自定义按钮(转)
- (原创)Windows Phone 7开发随记---自定义按钮的实现
- android 自定义按钮实现 home键 和返回键
- JS实现智能识别金钱数字输入(不是金钱数字则自动清空)
- qt4下实现自定义槽---点击按钮数字加一