0

ボタンのクリックイベントを2倍にしたいのですが、誰かアイデアを教えてください。

ありがとう

4

1 に答える 1

2

なんで長押ししないの?それとも、すでに何か他のものに使用していますか? ダブルタッチよりロングタッチの利点:

  1. 長押しは UI ガイドラインで推奨されている操作ですが、ダブルタッチは推奨されていません。
  2. それがユーザーの期待です。ユーザーはダブルタッチ アクションを探しに行かないため、見つけられない可能性があります。
  3. すでに API で処理されています。
  4. ダブル タッチを実装すると、シングル タッチの処理に影響します。これは、処理する前に、すべてのシングル タッチがダブル タッチに変わるかどうかを確認する必要があるためです。

ダブルクリックが必要な場合: GestureDetector を使用できます。

次のコードを参照してください。

public class MyView extends View {

GestureDetector gestureDetector;

public MyView(Context context, AttributeSet attrs) {
    super(context, attrs);
            // creating new gesture detector
    gestureDetector = new GestureDetector(context, new GestureListener());
}

// skipping measure calculation and drawing

    // delegate the event to the gesture detector
@Override
public boolean onTouchEvent(MotionEvent e) {
    return gestureDetector.onTouchEvent(e);
}


private class GestureListener extends GestureDetector.SimpleOnGestureListener {

    @Override
    public boolean onDown(MotionEvent e) {
        return true;
    }
    // event when double tap occurs
    @Override
    public boolean onDoubleTap(MotionEvent e) {
        float x = e.getX();
        float y = e.getY();

        Log.d("Double Tap", "Tapped at: (" + x + "," + y + ")");

        return true;
    }
}
}
于 2012-10-16T07:35:27.353 に答える