看很多帖子都说 在down时返回false就接收不到后来的Action
@Override
public boolean dispatchTouchEvent(MotionEvent event)
{
if(event.getAction()==MotionEvent.ACTION_DOWN){
System.out.println("Activity:dispatchTouchEvent(Down)");
return false;
}
if(event.getAction()==MotionEvent.ACTION_MOVE){
return true;
}
if(event.getAction()==MotionEvent.ACTION_UP){
System.out.println("Activity:dispatchTouchEvent(up)");
return true;
}
System.out.println("Activity:dispatchTouchEvent(super)");
return super.dispatchTouchEvent(event);
}
可是输出是:
Activity:dispatchTouchEvent(Down)
Activity:dispatchTouchEvent(up)
是我实验的方法错了么?
android dispatchTouchEvent down返回false
答案:2 悬赏:50
解决时间 2021-04-18 17:40
- 提问者网友:长安小才冯
- 2021-04-18 00:23
最佳答案
- 二级知识专家网友:你好陌生人
- 2021-04-18 01:30
dispatchTouchEvent是派发MotionEvent 的方法。
如果这个方法是主activity里面的话,你无论返回false还是true。该有的还是有的。
像在down时返回false就接收不到后来的Action 一般说的是onTouchEvent这个方法。
表示用户点击的时候需要相应的地方。而派发方法只是关系到把事件派发到具体哪个子view。
如果这个方法是主activity里面的话,你无论返回false还是true。该有的还是有的。
像在down时返回false就接收不到后来的Action 一般说的是onTouchEvent这个方法。
表示用户点击的时候需要相应的地方。而派发方法只是关系到把事件派发到具体哪个子view。
全部回答
- 1楼网友:年轻没有失败
- 2021-04-18 02:42
我不会~~~但还是要微笑~~~:)
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯