为了账号安全,请及时绑定邮箱和手机立即绑定

请教下有什么办法使我Touch down a时,就不能响应b和c的Touch down事件?

请教下有什么办法使我Touch down a时,就不能响应b和c的Touch down事件?

呼唤远方 2022-05-04 11:07:16
我重写了ImageView控件和里面的onTouch方法。a,b和c都是这个重写的ImageView控件。当我同时Touch down 这三个控件时,它们都会同时响应。有什么办法使我Touch down a时,就不能响应b和c的Touch down事件?项目manifest的 当=8时,就只响应一个,但是有些方法要14才能用到,所以有没什么其他解决办法?
查看完整描述

2 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

已经自己解决了。重写a,b,c的父控件DLayout,重写D的onInterceptTouchEvent方法,并且定义一个boolean变量intercept=false[mw_shl_code=java,true] @Override public boolean onInterceptTouchEvent(MotionEvent event) { switch (event.getAction()& MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_UP: intercept = false; break; case MotionEvent.ACTION_POINTER_UP: intercept = false; break; case MotionEvent.ACTION_POINTER_DOWN: intercept = true; break; } return super.onInterceptTouchEvent(event); } public boolean intercept() { return intercept; } [/mw_shl_code]然后在a,b,c这个重写了的imageView控件中重写dispatchTouchEvent方法[mw_shl_code=java,true]public boolean dispatchTouchEvent(MotionEvent event) { if(((DLayout)getParent()).intercept()) { //如果是多触点就不响应onTouch return false; } return super.dispatchTouchEvent(event); }[/mw_shl_code]

查看完整回答
反对 回复 2022-05-09
?
白板的微信

TA贡献1883条经验 获得超3个赞

三个ImageView都在同一个区域?那不是重叠了么?

查看完整回答
反对 回复 2022-05-09
  • 2 回答
  • 0 关注
  • 233 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号