使用此
mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onSingleTapUp(MotionEvent e) {
return true;
}
仅检测单击事件,即快速点击和释放。
如果我按住然后释放,则不会调用onSingleTapUp
。
我正在寻找一个持续下去后ACTION_UP
的动作事件。
我查看了当用户执行向下操作时调用的onShowPress
,但后来我不确定如何在ACTION_UP
中检测到onShowPress
。
请注意,这是recycler view
点击项目。目前,我可以单击一个有效的项目,但如果我按住它然后释放,则不会调用它。
答案 0 :(得分:1)
您可以在onSingleTapUp
方法中尝试以下操作:
@Override
public boolean onSingleTapUp(MotionEvent e) {
if(e.getAction() == MotionEvent.ACTION_UP){
// Do what you want
return true;
}
return false;
}
答案 1 :(得分:1)
您可以对视图进行子类化并覆盖onTouchEvent
。这将让您在手势检测器处理它们之前观察不同的动作。
@Override
public boolean onTouchEvent(MotionEvent e) {
int action = e.getActionMasked();
if (action == MotionEvent.ACTION_UP) {
// do something here
}
return mGestureDetector.onTouchEvent(e);
}