哪个是OnClick实现的更好方法?

时间:2012-11-09 09:32:20

标签: android onclick ontouchevent ontouchlistener onclicklistener

用于实现onClick函数哪种方法更好?

  1. 保存触摸开始/修饰坐标并处理此值以获得贴近度?比如,如果起点和上点彼此关闭,则让点击操作开始。
  2. 保存触控开始/补足时差并处理此值?比如,如果触摸开始时间和上升时间差小于一个值,则让点击操作开始。
  3. 为什么?

2 个答案:

答案 0 :(得分:1)

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

 if(motionEvent==MotionEvent.ACTION_UP){
    long duration = motionEvent.getDownTime() - .getEventTime();
    if(duration < THRESHOULD)
         click();
 }

答案 1 :(得分:1)

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

  1. 上:点击

  2. on up:没有移动太多 - &gt;点击,移动 - &gt;轻扫

  3. on up:短持续时间 - &gt;点击,持续时间长 - &gt;长按有 被触发,忽略。

  4. on up和long press触发:没有移动太多 - &gt;忽略,移动 - &gt;拖放

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