onClick 関数の実装では、どのアプローチが優れていますか?
- タッチ開始/タッチアップ座標を保存し、この値を処理して近似しますか? 同様に、始点と上点が近い場合は、クリック アクションを開始します。
- タッチ開始・タッチアップ時間差を保存してこの値を処理?同様に、タッチ開始時間とアップ時間の差が一定値未満の場合、クリック アクションを開始します。
なぜ?
onClick 関数の実装では、どのアプローチが優れていますか?
なぜ?
どうしても自分で実装する必要がある場合は、オプション2を使用します。
if(motionEvent==MotionEvent.ACTION_UP){
long duration = motionEvent.getDownTime() - .getEventTime();
if(duration < THRESHOULD)
click();
}
サポートするタッチ イベントの種類によって異なります。
上に : クリック
on Up : あまり動かさずに -> クリック , 移動 -> スワイプ
上 : 短い期間 - >クリック、長い期間 - >長押しがトリガーされました。無視します。
on Up および長押しトリガー: あまり移動せずに - >無視、移動 -> ドラッグ アンド ドロップ
より多くの種類のタッチイベントが本当に必要な場合は、期間と変位の詳細に入ります。最適なアプローチはシナリオによって異なります。したがって、タッチスクリーンにスワイプ、長押し、またはドラッグ アンド ドロップの概念がない場合は、すべてのアップ イベントでクリックを実行するだけで、最も単純なシナリオになります。