それらの実際の違いを知りたい...それぞれをいつ使用すべきか、どのように使用すべきか、そしてどのような状況でそれぞれが役立つのか?
いくつかの例を挙げて、それらを詳細に説明してください。
それらの実際の違いを知りたい...それぞれをいつ使用すべきか、どのように使用すべきか、そしてどのような状況でそれぞれが役立つのか?
いくつかの例を挙げて、それらを詳細に説明してください。
回答:
これは、Android Developers Blogで説明されています:http://android-developers.blogspot.co.at/2008/12/touch-mode.html
次の引用はそれを明確にする必要があります:
タッチモード自体は、最後のユーザー操作がタッチスクリーンで実行されたかどうかを示すだけなので、非常に理解しやすいものです。たとえば、G1電話を使用している場合、トラックボールでウィジェットを選択すると、タッチモードが終了します。
..。
タッチモードでは、フォーカスも選択もありません。グリッド内のリストで選択されたアイテムは、ユーザーがタッチモードに入るとすぐに選択解除されます。同様に、ユーザーがタッチモードに入ると、フォーカスされたウィジェットはフォーカスされなくなります。
..。
タッチモードではフォーカスが存在しないことがわかったので、それが完全に真実ではないことを説明する必要があります。フォーカスはタッチモードで存在できますが、非常に特別な方法でタッチモードでフォーカス可能と呼びます。この特別なモードは、EditTextや、フィルタリングが有効になっている場合はListViewなどのテキスト入力を受け取るウィジェット用に作成されました。
..。
タッチモードでフォーカス可能は、コードまたはXMLから自分で設定できるプロパティです。ただし、Androidの通常の動作との一貫性が失われるため、慎重に、非常に特定の状況でのみ使用する必要があります。ゲームは、タッチモードでフォーカス可能なプロパティをうまく利用できるアプリケーションの良い例です。MapViewは、Googleマップのようにフルスクリーンで使用する場合、タッチモードでフォーカス可能を正しく使用できるもう1つの良い例です。
いくつかの例を挙げて、それらを詳細に説明してください
私はあなたに私自身の経験を与えます:
たくさんのImageButtonを使ったアクティビティを行うGoogleTVアプリケーションがありました。
ImageButtonを選択可能にしたかったのです。
したがって、人がマウスまたはリモコンでそれらをクリックすると、それらは選択されただけになります(私の場合は強調表示されています)。次に、ユーザーが選択したを押すImageButton
と、アクションがトリガーされます。この正確な動作はfocusableInTouchMode
、XMLレイアウトを介してプロパティを有効にすることで実現されました。
私がしなければならなかったのはonClickListener
、ImageButtonsと出来上がりの普通を設定することだけでした!
携帯電話でアプリケーションをチェックしていませんが、おなじみの結果が得られると思います。
いつ?
私がテストしたユースケースをお話ししました:ボタンが必要な場合 onClickListener
しましたButton
。最初にクリックして選択した後、2回目のクリックでアクションをトリガーする場合。
最初のクリックを使用して「フォーカス」を取得し、ボタンにズームインスケールアップアニメーションを表示しました。
どうやって?
XMLレイアウトファイルでボタンのプロパティfocusableInTouchMode
をtrue
に設定するだけです。
フォーカスはビューの状態であり、通常、フォーカスはトラックボールと十字キーで変更できます。状態に焦点を合わせると、ビューの背景が異なる場合があります。
タッチモードでフォーカス可能にすると、ユーザーがビューに触れているときにビューにフォーカスを合わせることができますEditText
。この種のコンポーネントの良い例はです。
とButton
または任意のクリック可能なコンポーネント押された状態では、あなたが興味を持っているものは通常です。
ユーザーは、ハードウェアキーまたはボタンを使用するか、画面に触れることで、デバイスを操作できます。画面をタッチすると、デバイスがタッチモードになります。その後、ユーザーは画面上の仮想ボタンや画像などに触れることで操作できます。
デバイスがタッチモードになっているかどうかを確認するには、ViewクラスのisInTouchMode()メソッドを呼び出します。