0

ボタンを使用せずに、ユーザーが画面に触れたとき、ダブルタッチしたとき、または単一のビューで指を長押ししたときにアクティビティを知る方法を知る必要があります

ここで何をすべきか、どのロジックを使用するべきかを簡単に説明してもらえますか?

4

1 に答える 1

1

Viewすべてのタッチイベントが画面に送信されるように、画面を取り囲むレイアウトアイテムが必要です。そこから、ある種のリスナー (おそらくタッチまたはジェスチャ) をアタッチする必要があります。

GestureDetector(これはダブルタップやその他のジェスチャーをサポートします)、または基本的なタッチリスナー(MotionEventダブルタップを持たない を使用しますが、これを自分で実装できます)のいずれかをお勧めします。

を使用するMotionEventと、 で指がどれだけ下がっているかを検出できますgetDownTime()。ダブルタップの場合、最後に押した時間を記録し (を使用するCalendarか、同様の方法で)、最後に押した時間が一定時間内 (500 ミリ秒くらい?) かどうかを確認します。

を使用するGestureDetectorと、これらを別の方法で実装できます。詳細については、この回答をご覧ください (そのスレッドの他の回答も代替案を提供しています)。オブジェクトもサポートしているMotionEventため、問題にはなりません。

于 2012-06-23T21:56:58.913 に答える