0

onClick 関数の実装では、どのアプローチが優れていますか?

  1. タッチ開始/タッチアップ座標を保存し、この値を処理して近似しますか? 同様に、始点と上点が近い場合は、クリック アクションを開始します。
  2. タッチ開始・タッチアップ時間差を保存してこの値を処理?同様に、タッチ開始時間とアップ時間の差が一定値未満の場合、クリック アクションを開始します。

なぜ?

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. 上 : 短い期間 - >クリック、長い期間 - >長押しがトリガーされました。無視します。

  4. on Up および長押しトリガー: あまり移動せずに - >無視、移動 -> ドラッグ アンド ドロップ

より多くの種類のタッチイベントが本当に必要な場合は、期間と変位の詳細に入ります。最適なアプローチはシナリオによって異なります。したがって、タッチスクリーンにスワイプ、長押し、またはドラッグ アンド ドロップの概念がない場合は、すべてのアップ イベントでクリックを実行するだけで、最も単純なシナリオになります。

于 2012-11-09T10:18:30.430 に答える