ボタンを使用せずに、ユーザーが画面に触れたとき、ダブルタッチしたとき、または単一のビューで指を長押ししたときにアクティビティを知る方法を知る必要があります
ここで何をすべきか、どのロジックを使用するべきかを簡単に説明してもらえますか?
View
すべてのタッチイベントが画面に送信されるように、画面を取り囲むレイアウトアイテムが必要です。そこから、ある種のリスナー (おそらくタッチまたはジェスチャ) をアタッチする必要があります。
GestureDetector
(これはダブルタップやその他のジェスチャーをサポートします)、または基本的なタッチリスナー(MotionEvent
ダブルタップを持たない を使用しますが、これを自分で実装できます)のいずれかをお勧めします。
を使用するMotionEvent
と、 で指がどれだけ下がっているかを検出できますgetDownTime()
。ダブルタップの場合、最後に押した時間を記録し (を使用するCalendar
か、同様の方法で)、最後に押した時間が一定時間内 (500 ミリ秒くらい?) かどうかを確認します。
を使用するGestureDetector
と、これらを別の方法で実装できます。詳細については、この回答をご覧ください (そのスレッドの他の回答も代替案を提供しています)。オブジェクトもサポートしているMotionEvent
ため、問題にはなりません。