との違いはOnTouchListenerありOnClickListenerますか?私はプログラミングの観点からではなく、ユーザーエクスペリエンスの観点から質問しています。
どちらを使用するのが良いですか?
両方を実装する必要がありますか?
との違いはOnTouchListenerありOnClickListenerますか?私はプログラミングの観点からではなく、ユーザーエクスペリエンスの観点から質問しています。
どちらを使用するのが良いですか?
両方を実装する必要がありますか?
回答:
どちらを使用するのが良いですか?
それは本当にあなたの要件に依存します。
onTouchあなたにモーションイベントを与えます。したがって、動きの状態を分離するのに役立つため、多くの豪華なことができます。いくつか例を挙げると:
これらは、画面上でビューをドラッグするなど、欲望の結果を得るために通常実装する一般的なアクションです。
一方、onClickユーザーが操作するビューを除いて、多くのことを与えることはありません。onClickフォーカシング、プレス、リリースからなる完全なイベントです。したがって、あなたはそれをほとんど制御できません。一方で、実装は非常に簡単です。
両方を実装する必要がありますか?
あなたがユーザーを台無しにしたくない限り、それは必要ありません。単純なクリックイベントだけが必要な場合は、に進んでくださいonClick。クリック以上の機能が必要な場合は、にアクセスしてくださいonTouch。両方を実行すると、プロセスが複雑になります。
ユーザーの観点からは、のonTouchように注意深く実装しても目立ちませんonClick。
「タッチ」イベントは、誰かが画面に指を置くことです。指の動き、ダウン、ドラッグ、アップのすべての段階で呼び出されます。画面から「クリック」する必要はありません。それは、エンターキーを押す人かもしれません。
OnTouchListener画面上で誰かの指からイベントを受け取りたい場合に使用します。
OnClickListenerクリックを検出したいときに使用します。
onClickListener たとえば、Button、ImageButtonのクリックイベントなど、ビューのクリックイベントが発生するたびに使用されます。
onTouchListener たとえば、タッチする画面の座標を正確に取得したい場合など、タッチのような機能を実装する場合に常に使用されます。
公式ドキュメントから、両方の定義は次のとおりです:
onClickListner:ビューがクリックされたときに呼び出されるコールバックのインターフェース定義。onTouchListener:touchイベントがこのビューにディスパッチされたときに呼び出されるコールバックのインターフェイス定義。コールバックは、タッチイベントがビューに渡される前に呼び出されます。onclickイベントよりもontouchイベントを使用する1つの理由は、ユーザーがクリックしたときに応答が速くなることです。onclickイベントが応答し、必要なアクションを続行できない場合。ontouchイベントは、パフォーマンスの高いモバイルWebアプリの配信に適しています。
OnClickListener -基本的な目的で使用されます。ユーザーからのクリックだけが必要な場合、つまりボタンをクリックするだけで、画面上でのドラッグやジェスチャーは不要です。
OnTouchListener基本的に、OnClickListenerよりも微調整されたコントロールです。画面上のプレス/リリースで動作し、アクションを実行します。ユーザーは、画面上の移動、ダウンタッチ、アップタッチ、指ドラッグ、または任意の移動ジェスチャーを組み合わせて使用できます。