【发布时间】:2014-11-20 19:29:28
【问题描述】:
我正在尝试在我的 活动 的整个区域检测 onFling 事件。为此,我:
1) 设置GestureDetectorCompat:
private GestureDetectorCompat gDetect;
2) 在OnCreate中初始化检测器:
gDetect = new GestureDetectorCompat(this, new GestureListener());
3) 覆盖onTouchEvent:
@Override
public boolean onTouchEvent(MotionEvent event) {
gDetect.onTouchEvent(event);
return super.onTouchEvent(event);
}
4) 创建 GestureListener 类:
class GestureListener extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onDown(MotionEvent event) {
return true;
}
@Override
public boolean onFling(MotionEvent event1, MotionEvent event2,
float velocityX, float velocityY) {
Log.e(null, "onFling: " + event1.toString() + event2.toString());
return super.onFling(event1, event2, velocityX, velocityY);
}
}
它有效,但它检测到 onFling 手势 ONLY 在我的 UI 部分没有任何其他视图。因此,如果我在空白区域滑动它可以工作,如果我在 activity 的一部分中滑动另一个视图(例如 ScrollView 或 LinearLayout ) 未触发检测。
我希望我已经解释了我的问题:如何检测 Activity 整个表面上的手势,以完成简单的滑动手势?
许多坦克。
【问题讨论】:
-
你有没有想过让你的活动的整个布局都可以点击?
-
不,你能推荐一下代码吗?谢谢。
-
看看这个,尝试传递给父级stackoverflow.com/questions/6374592/…
标签: android swipe gesture touch-event