屏幕上的Android Touch事件

bin*_*dal 11 android touch

当用户触摸任何Android屏幕时,我想找出任何事件.我找到特定活动的触摸事件但不是所有屏幕,请给我一个解决方案.

kan*_*pan 26

试试这段代码

@Override
public boolean onTouchEvent(MotionEvent event) {
  // TODO Auto-generated method stub
  return super.onTouchEvent(event);
}
Run Code Online (Sandbox Code Playgroud)


小智 18

使用它时可能遇到的问题onTouchEvent()是,由于您的视图层次结构,您在活动之上还有其他视图,触摸覆盖此事件的视图(按钮,编辑文本等)将不再归结为您的活动而且您不会收到它们.

您应该使用,dispatchTouchEvent()因为这会以相反的方式传播,从活动到其他视图并始终被调用.

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
    // Your code here
    return super.dispatchTouchEvent(ev);
}
Run Code Online (Sandbox Code Playgroud)