0

マルチタッチ イベントを検出するにはどうすればよいですか? しようとしているコードは次のとおりです。

ImageView im = (ImageView) findViewById(R.id.imageView1);
im.setOnTouchListener(new OnTouchListener() {
  @Override
  public boolean onTouch(View v, MotionEvent event) {
    switch (event.getAction() & MotionEvent.ACTION_MASK) {
      case MotionEvent.ACTION_POINTER_DOWN:
        Log.e("case MotionEvent.ACTION_POINTER_DOWN","case MotionEvent.ACTION_POINTER_DOWN");
        break;
      case MotionEvent.ACTION_DOWN:
        Log.e("case MotionEvent.ACTION_DOWN","case MotionEvent.ACTION_DOWN");
        break;
      case MotionEvent.ACTION_UP:
        Log.e("case MotionEvent.ACTION_UP","case MotionEvent.ACTION_UP");
        break;
      case MotionEvent.ACTION_MOVE:
        Log.e("case MotionEvent.ACTION_MOVE","case MotionEvent.ACTION_MOVE");
        break;
    }
    return false;
  }
});

最初のタッチを検出し、ログ cat の出力は MotionEvent.ACTION_POINTER_DOWN です。セカンドタッチが行われたかどうかを知る方法は?

4

2 に答える 2

2

それを行うには多くの方法があるため、ここでいくつかのリンクから1つを選択して、マルチタッチを処理するための完全なアプリケーションを作成できます.

マルチタッチ

マルチタッチ処理

于 2012-11-13T13:04:36.663 に答える
2

xml レイアウト ファイルの imageView1 に次の行を追加する必要があります。

android:longClickable="true"

これにより、長いクリックが有効になり、他のイベントも受信されます。

于 2012-11-13T12:58:16.427 に答える