Android EditText一键删除功能实现

来源:互联网 发布:禁毒网络知识竞赛答案 编辑:程序博客网 时间:2024/05/01 12:47

今天做了一个EditText带删除按钮Demo感觉有点用,所以分享一下!

效果图片


实现

1.在EditText上面加一个图片

(1)添加图片就比较简单了在EditText里面设置属性 android:drawableRight="@drawable/delete" 

2.获取到图片的区域

(1)这里实现需要用onTouch事件

@Override
 public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {

//抬起时处理
case MotionEvent.ACTION_UP:

//获取屏幕的坐标 X
int x = (int) event.getRawX();

//获取屏幕的坐标 Y
int y = (int) event.getRawY();

//创建一个矩形对象
Rect rect = new Rect();

//关键是这个属性相信很多人都没有用过

//意思就是得到一个矩形的坐标传一个矩形进去  
editText.getGlobalVisibleRect(rect);

//这里本来矩形的宽度是从控件离左边的起始位置,但是这里需要将left属性重新赋值rect.left =                                     //rect.right-50这里将left位置移到下面的矩形位置了这样就方便我们处理了

 

rect.left = rect.right-50;

                       3.实现点击删除功能

//判断点击区域是否为矩形的区域如果是则清除文字
if (rect.contains(x,y)) {

et.setText("");
}

break;


default:
break;
}
return false;
}



  

 


1 0
原创粉丝点击