0

对于 onClick 功能的实现,哪种方法更好?

  1. 保存触摸开始/触摸坐标并处理此值以获得接近度?就像,如果起点和上点彼此靠近,让点击动作开始。
  2. 保存触摸开始/触摸时间差并处理此值?比如,如果touch开始时间和up时间差小于一个值,就让点击动作开始。

为什么?

4

2 回答 2

1

如果您绝对必须实现自己的,我会使用选项 2。

 if(motionEvent==MotionEvent.ACTION_UP){
    long duration = motionEvent.getDownTime() - .getEventTime();
    if(duration < THRESHOULD)
         click();
 }
于 2012-11-09T09:42:37.683 回答
1

取决于您要支持多少种触摸事件:

  1. 上 : 点击

  2. on Up : 不移动太多 -> 点击, 移动 -> 滑动

  3. on Up:短时->点击,长时->长按已触发,忽略。

  4. 向上和长按触发:不移动太多->忽略,移动->拖放

当您确实需要更多种类的触摸事件时,您会详细了解持续时间和位移。最佳方法取决于场景。因此,如果您的触摸屏没有滑动或长按或拖放的概念,您可能只需点击每个向上事件,最简单的情况。

于 2012-11-09T10:18:30.430 回答