Android EditText一键删除功能实现

今天做了一个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;
}



  

 


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值