2017-01-07 34 views
0

ボタンを押し続けると、クリックしたくないとわからなくても、画面を押したままそれでもタッチイベントが発生しないように指を動かします。Android:onTouchListener - ユーザーがタッチを外に移動したときにタッチイベントをキャンセルする

私のonTouchListenerでこの動作を模倣したいと思います。私はカードのリストを持っています。すべてのカードには、インテント・オン・タッチUPイベントを発生させるonTouchListenerがあります。ユーザーが画面上で指を離して指を離した場合、意図が発射されていないことを確認したいと思います。

アイデア?応答のための

答えて

1

使用このコードは

@Override 
public boolean dispatchTouchEvent(MotionEvent event) { 
    switch (event.getAction()) { 
     case MotionEvent.ACTION_DOWN: 
      break; 
     case MotionEvent.ACTION_UP: 
      if (event.getX() < width && event.getY() < height) { 
       //finger is on the card and fire intent 
      } 
      break; 
    } 
    return true; 
} 
+0

おかげで、それは有望に見えます。 'width'と 'height'は、onTouchListenerに組み込まれているか、それとも自分で定義する必要がありますか? –

+0

いいえ、あなたは 'view.getWidth()'でそれらの値を得ることができません/ 'view.getHeight()' @JoshBeckwith –

+1

私はそれをショットし、意図したとおりに動作していました。しかし、あなたの答えをより多く研究すると、もっと簡単な解決策が見つかりました。 実際にはまったく同じことをするMotionEvent.ACTION_OUTSIDEがあります。ちょうど私があなたに知らせると思った。 編集:MotionEvent.ACTION_OUTSIDEからMotionEvent.ACTION_CANCELに切り替えました。これで、自分のビューのカラープロパティを正しくリセットできるようになりました。彼らは非常に似ています。 –

関連する問題