如何在android手机上检测边缘滑动以操纵触摸行为?

如何在android手机上检测边缘滑动以操纵触摸行为?,android,android-gesture,Android,Android Gesture,我正在活动中实现gesturedector.OnGestureListener, 其覆盖的onTouchEvent是: public boolean onTouchEvent(MotionEvent event) { //gestureDetector is new GestureDetector(this,this) in Activity's onCreate() this.gestureDetector.onTouchEvent(event); r

我正在活动中实现
gesturedector.OnGestureListener
, 其覆盖的onTouchEvent是:

public boolean onTouchEvent(MotionEvent event) {
       //gestureDetector is new GestureDetector(this,this) in Activity's onCreate()
       this.gestureDetector.onTouchEvent(event);
       return super.onTouchEvent(event);
    }
使用MotionEvent类中的getEdgeFlags进行边缘检测,如下所示:

 @Override
public boolean onDown(MotionEvent e) {
    final int edgeInfo = e.getEdgeFlags();
    return ((edgeInfo == MotionEvent.EDGE_LEFT) || (edgeInfo == MotionEvent.EDGE_RIGHT)) ||
            (edgeInfo == MotionEvent.EDGE_BOTTOM);
}
但onDown总是返回false。 我也尝试过改变

final int-edgeInfo=e.getEdgeFlags()
final int-edgeInfo=e.getAction()&e.getEdgeFlags()

以及
final int-edgeInfo=e.getActionMasked()&e.getEdgeFlags()以防万一

但毫无益处

我看过,但我发现只有

  • 只有一些较旧的手机返回非零值
  • 我应该自己做
  • 我用API错了吗

    getEdgeFlags()有更好的替代方案吗

    即使onDown返回false,在logcat中,我仍然可以看到其他
    GestureDetector.OnTestureListener
    被解雇的方法,为什么

    如果有的话,一个小片段会有所帮助