记录一个标志private int actionFlag = -1;
etTaskGoal.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//如果存在移动的情况则记录下来使actionFlag的值变为2;
if(event.getAction() == MotionEvent.ACTION_MOVE){
actionFlag = 2;
}
if (event.getAction() == MotionEvent.ACTION_UP) {
//当抬起动作发生的时候则判断之前有没有发生过移动事件,若没有发生过,则执行弹出编辑框
if(actionFlag != 2){
popupEditWindow();
}
//在任何情况下,抬起事件发生时,将actionFlag还原
actionFlag = -1;
}
return true;
}
});
效果(虚拟机上面)是点击此控件,当不发生滑动动作时执行popupEditWindow(),当发生滑动时则不执行。
不知道这种情况下对于手指触摸屏幕效果怎么样(手指触摸屏幕,是不是或多或少都会发生滑动即
event.getAction() == MotionEvent.ACTION_MOVE的情况呢,如果是这样该如何处理呢?<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">),希望有经验的开发者帮忙指点,谢谢!</span>