gpt4 book ai didi

android - 整个 Activity 上的 OnTouchListener

转载 作者:行者123 更新时间:2023-11-29 01:38:56 24 4
gpt4 key购买 nike

我正在尝试在我的 Activity 的整个区域检测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);
}

}

它有效,但它在我的 UI 部分没有任何其他 View 的地方检测到 onFling 手势。因此,如果我在空白区域滑动它会起作用,如果我在 activity 的一部分滑动,那里是另一个 View (例如 ScrollViewLinearLayout ) 未触发检测。

我希望我已经解释了我的问题:如何检测 Activity 的整个表面上的手势,以完成一个简单的滑动手势?

很多坦克。

最佳答案

您可以使用 GestureOverlayView .这是一个很好的入门资源 GestureOverlayView .你也可以看看这个SO question .

基本上,要使用它,您的应用程序必须使用 View “GestureOverlayView”,并将其他 View 放置在该 View 中。您的 Activity 必须实现接口(interface)“OnGesturePerformedListener”,如果检测到手势,则调用“onGesturePerformedListener”方法。

希望这对您有所帮助。祝你好运!

关于android - 整个 Activity 上的 OnTouchListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26048502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com