Android 文字框,编辑框里的图片点击事件

本文介绍如何在Android中为编辑框内的图片设置点击事件,由于Google官方API未提供直接方法,需要通过判断点击位置实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个方法是通用的,不仅仅适用于EditText,也适用于TextView、AutoCompleteTextView等控件。 

Google官方API并没有给出一个直接的方法用来设置右边图片的点击事件,所以这里我们需要通过点击位置来判断点击事件

今天来设置右边清空的简单逻辑


android:drawableRight="@mipmap/quxiaox"
在Activity中:

ed_search=(EditText)findViewById(R.id.ed_search);
先获取实例;

//右边图片的点击事件
ed_search.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        //ed_search.getCompoundDrawables()[4]; 得到一个长度为4的数组,分别表示左右上下的四张图
        Drawable drawable=ed_search.getCompoundDrawables()[2];
        //如果右边没有图片,不再处理
        if(drawable ==null){
            return  false;
        }
        //如果不是按下事件,不再处理
        if(event.getAction()!=MotionEvent.ACTION_UP){
            return  false;
        }
        if(event.getX()>ed_search.getWidth()-ed_search.getPaddingRight()-drawable.getIntrinsicWidth()){
            ed_search.setText(" ");
        }
        return false;
    }
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值