如何才能响应editText里面设置的drawable的点击事件
1个回答
2015-05-23 · 知道合伙人数码行家
关注
展开全部
[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]
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询