在Activity中禁用GestureDetector

时间:2013-12-18 11:25:06

标签: android gestures

在我的应用中,我有一个使用onTouchEvent()来计算屏幕输入的活动。但在某些手机上,例如。三星Galaxy S4事件中止,有利于GestureDetector,日志消息:

GestureDetector(23138): [Surface touch Event] Palm swipe start, x:565.0 m:450.0 s:54.0 TILT_TO_ZOOM_XVAR: 180.0

当用户在Android手机设置菜单中关闭“移动和手势”时,问题就会消失,但这很难找到方便。

如何在不强制用户退出应用程序或更改手机设置的情况下禁用此功能?

1 个答案:

答案 0 :(得分:0)

我不知道它是否有效,但我的第一个想法是requestDisallowInterceptTouchEvent()可以帮助你(http://developer.android.com/reference/android/view/ViewParent.html#requestDisallowInterceptTouchEvent%28boolean%29)。

public boolean onTouch(View v, MotionEvent e) {
    if(e.getAction() == MotionEvent.ACTION_DOWN){
       viewPager.getParent().requestDisallowInterceptTouchEvent(true);
    }
}