gpt4 book ai didi

android - 自定义 View 上的手势检测器

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

我定义了一个扩展 GestureDetector.SimpleOnGestureListener 并覆盖 onDownonFling 方法的类

class MyGestureDetector extends GestureDetector.SimpleOnGestureListener {

@Override
public boolean onDown(MotionEvent e) {
// TODO Auto-generated method stub
return super.onDown(e);
}

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
// TODO Auto-generated method stub

Toast.makeText(PersianDatePicker.this.getContext(),
"fling " + velocityX + " - " + velocityY, Toast.LENGTH_LONG)
.show();

return super.onFling(e1, e2, velocityX, velocityY);
}
}

而且我还定义了一个 GestureDetectorCompat 的实例

@Override
public boolean onTouchEvent(MotionEvent event) {

mDetector.onTouchEvent(event);

return super.onTouchEvent(event);
}

我在一个 Activity 中测试过它,效果很好。我想在自定义 View 中使用它,但它不起作用!而且我没有错误。

最佳答案

在您的自定义 View 中,试试这个:

@Override
public boolean onTouchEvent(MotionEvent event) {
if (mGestureDetector.onTouchEvent(event)) {
return true;
}

return super.onTouchEvent(event);
}

或者,更简洁地说:

@Override
public boolean onTouchEvent(MotionEvent event) {
return mGestureDetector.onTouchEvent(event) || super.onTouchEvent(event);
}

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

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