如何才能响应editText里面设置的drawable的点击事件
1个回答
2015-09-01
展开全部
[mw_shl_code=java,true]//通过计算图片位置来实现点击触发
你的TextView控件对象.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//getCompoundDrawables() 可以获取一个长度为4的数组,
//存放drawableLeft,Right,Top,Bottom四个图片资源对象
//index=2 表示的是 drawableRight 图片资源对象
Drawable drawable = 你的TextView控件对象.getCompoundDrawables()[2];
if (drawable == null)
return false;
if (event.getAction() != MotionEvent.ACTION_UP)
return false;
//drawable.getIntrinsicWidth() 获取drawable资源图片呈现的宽度
if (event.getX() > 你的TextView控件对象.getWidth() - 你的TextView控件对象.getPaddingRight()
- drawable.getIntrinsicWidth() ) {
//进入这表示图片被选中,可以处理相应的逻辑了
}
return false;
}
});[/mw_shl_code]
你的TextView控件对象.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//getCompoundDrawables() 可以获取一个长度为4的数组,
//存放drawableLeft,Right,Top,Bottom四个图片资源对象
//index=2 表示的是 drawableRight 图片资源对象
Drawable drawable = 你的TextView控件对象.getCompoundDrawables()[2];
if (drawable == null)
return false;
if (event.getAction() != MotionEvent.ACTION_UP)
return false;
//drawable.getIntrinsicWidth() 获取drawable资源图片呈现的宽度
if (event.getX() > 你的TextView控件对象.getWidth() - 你的TextView控件对象.getPaddingRight()
- drawable.getIntrinsicWidth() ) {
//进入这表示图片被选中,可以处理相应的逻辑了
}
return false;
}
});[/mw_shl_code]
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
微测检测5.10
2023-05-10 广告
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇...
点击进入详情页
本回答由微测检测5.10提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询