gpt4 book ai didi

android - 在不同的 View 上检测手势

转载 作者:太空狗 更新时间:2023-10-29 12:56:37 24 4
gpt4 key购买 nike

我需要在多个 View 上检测不同的手势。我的 View 需要能够接收点击、双击和拖动事件。我尝试了 Gesture Detector,但我的实现只显示了全局手势事件,我无法将这些事件连接到特定 View 。

在我的 activity.onCreate 中:

    dthandler = new DoubleTapHandler();
mDetector = new GestureDetector(this,dthandler);
gestureListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
Log.d("myLog","touch");
mDetector.onTouchEvent(event);
return false;
}
};

在我的 Activity 中,我覆盖了 dispatchTouch 函数:

@Override 
public boolean dispatchTouchEvent(MotionEvent me){
this.mDetector.onTouchEvent(me);
return super.dispatchTouchEvent(me);
}

这就是我尝试将 touchevent 与我的观点联系起来的方式:

prod.setOnTouchListener(this.gestureListener);

我的 DoubleTapHandler:

public class DoubleTapHandler implements OnDoubleTapListener, OnGestureListener {
private ProductView relatedView;

@Override
public boolean onDoubleTapEvent(MotionEvent e) {
Log.d("myLog", "onDoubleTapEvent");
Log.d("myLog",""+e.getSource());
return false;
}

@Override
public boolean onDoubleTap(MotionEvent e) {
Log.d("myLog", "onDoubleTap"+relatedView);
return false;
}

@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
Log.d("myLog", "singletap");
return false;
}
}

有人有什么建议吗?谢谢!

最佳答案

要使其正常工作,请将手势直接附加到每个 View ,然后您可以有不同的实现。

关于android - 在不同的 View 上检测手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6150360/

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