如何在Android中检测触摸事件

dda*_*ian 9 android

是否有可能检测到活动中的所有触摸事件并捕获它然后作为回传将该事件传递给另一个视图?

例如:

按钮1和按钮2.当按下按钮1时,我想捕获该触摸/点击事件并自动将该触摸事件传递给按钮2,基本上只需按一下/按下即可生成点击并将相同的点击传递给按钮2第二个按钮自动.

the*_*ook 19

首先看看这个API描述.


boolean android.app.Activity.dispatchTouchEvent(MotionEvent ev)

public boolean dispatchTouchEvent(MotionEvent ev)从:API Level 1调用以处理触摸屏事件.您可以覆盖它以在调度到窗口之前拦截所有触摸屏事件.请务必将此实现称为应正常处理的触摸屏事件.

参数ev触摸屏事件.

返回boolean如果消耗了此事件,则返回true.

如您所见,您可以拦截所有触摸事件.

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
    // TODO Auto-generated method stub
    super.dispatchTouchEvent(ev);
    if(btn1.onTouchEvent(ev)){
        return btn2.onTouchEvent(ev);
    }else{
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为这些代码就是您所看到的.

  • 谢谢抓住活动级别的所有触摸事件 (2认同)