Navigation Manipulator を使用する¶
Navigation Manipulator を使用して、ユーザーがアプリケーション内の異なる方向に移動するために使用できるキーを設定します。
デフォルトの方向ナビゲーションキー¶
これらは、Kanzi アプリケーションでユーザーが使用できるデフォルトの方向キーです。
Slider ノードは Focusable プロパティが有効になっており、デフォルトでフォーカスを受け取ることができます。Slider ノードにフォーカスがある場合、そのスライダーのノブを動かすには、次のデフォルトのキーボードキーを使用できます。
スライダーのノブをレールの始点に移動するには、Home
スライダーのノブをレールの端まで移動するには、End を使用します。
← と → を使用して、水平スライダーのノブを移動します。
↑ と ↓ を使用して、垂直スライダーのノブを移動します。
スライダーノブを矢印キーで移動させるには、その Slider ノードで、各キー押下時にノブが移動する量を Step Value プロパティで設定します。
Kanzi Studio で作成する Scroll View ノードは、Focusable プロパティが有効になっており、デフォルトでフォーカスを受け取ることができます。Scroll View ノードがフォーカスを持っているとき、そのノードをスクロールするには、デフォルトのキーボードキー ←、→、↑、および ↓ を使用できます。
Grid List Box ノードにフォーカスがある場合、デフォルトで次のキーボードキーを使用できます。
↑ と ↓ を使用して、縦型リストボックス内のリストアイテムをスクロールします。
→ と ← を使用して、水平リストボックス内のリストアイテムをスクロールします。
Home が最初のリストアイテムを選択する
End が最後のリスト項目を選択します。
Page Up と Page Down をリストボックスの表示領域の始まりと終わりに移動する
Text Box ノードが編集状態にあるとき、そのテキストボックス内でカーソルを移動するには、次のデフォルトのキーボードキーを使用できます。
← でカーソルを1文字後ろに移動します。
→ はカーソルを1文字前に移動します。
Ctrl ← は、カーソルをカーソルの前にある単語の境界に移動します。
Ctrl → は、カーソルをカーソルの後に続く単語の境界に移動します。
Home はテキストコンテンツの先頭にカーソルを移動します。
End はテキストコンテンツの末尾にカーソルを移動します。
Text Box ノードが編集状態にあるとき、そのテキストボックス内のテキスト選択を変更するには、次のデフォルトのキーボードキーを使用できます。
Shift ← は、テキスト選択内のアクティブカーソルを1文字後ろに移動します。
Shift Ctrl は、テキスト選択内のアクティブカーソルを現在の位置に先行する単語の境界に移動します。
Shift Home は、テキスト選択内のアクティブカーソルをテキストコンテンツの先頭に移動します。
Shift → は、テキスト選択内のアクティブカーソルを1文字前に移動します。
Shift Ctrl → は、テキスト選択内のアクティブカーソルを現在の位置に続く単語の境界に移動します。
Shift End を使用して、テキスト選択内のアクティブカーソルをテキストコンテンツの末尾に移動します。
Ctrl A で全てのテキストを選択します。
Navigation Manipulator トリガーを使用する¶
Navigation Manipulator トリガーを使用して、ユーザーが方向ナビゲーションキーのジェスチャーを開始、終了、またはキャンセルしたときに反応します。たとえば、特定のキーを使用して、ユーザーがキーのフォーカスを特定の方向に移動できるようにすることができます。
Navigation Manipulator には次のトリガーがあります。
Key Navigation Started トリガーは、Kanzi がナビゲーションキーのキー押下またはキーリピートジェスチャーを認識したときに発動します。
例えば、これはユーザーがキーボードのナビゲーションキーを押したときに発生します。
Key Navigation Finished トリガーは、Kanzi がナビゲーションキーのキーリリースジェスチャーを認識したときに発動します。
例えば、これはユーザーがキーボードのナビゲーションキーを離したときに発生します。
Key Navigation Canceled トリガーは、Kanzi がナビゲーションキーのキー押下ジェスチャーのキャンセルを認識したときに発動します。
Navigation Manipulator トリガーを使用するには:
Navigation Manipulator を作成して構成する:
Node Tree または Prefabs で、キーからの方向ナビゲーション入力を受け取るフォーカス可能なノードを選択します。フォーカスの使用 を参照してください。
これらのノードは Focusable プロパティが有効になっており、デフォルトでフォーカスを受け取ることができます。
Kanzi Engine APIまたは Kanzi Studio を使用して作成する Button、Toggle Button、Slider、および Text Box ノード。
Kanzi Studio を使用して作成する Scroll View ノード。
例えば、Prefabs で垂直に積み重ねられたメニューボタンのグループをインスタンス化するために使用するプレハブを選択します。デフォルトで、Tab キーを押すとボタン間のフォーカスを前方向に移動でき、Shift Tab キーを押すと後方向に移動できます。フォーカスチェイン内でフォーカスを移動する と ユーザーインターフェース要素にフォーカスがあることを表示する を参照してください。
Node Components Alt を押しながら右クリック Input Manipulators で、Navigation Manipulator を選択します。
Navigation Manipulator を使用して、ノードが1つ以上のキーからの方向ナビゲーション入力に反応するように設定します。
Navigation Manipulator に、ノードが反応するキーを設定するために、1つ以上のナビゲーションキーのプロパティを追加して設定します。
例えば、ユーザーが上下にナビゲートするためのキーを設定するには、Up Navigation Key プロパティと Down Navigation Key プロパティを追加して設定します。
Navigation Manipulator で前のステップで設定したナビゲーションキーのトリガーを作成して構成します。
Node Components で Navigation Manipulator トリガーの1つを作成します。
例えば、Node Components Alt を押しながら右クリック Triggers で、Message Trigger > Key Input > Key Navigation Started を選択し、トリガーに名前を付けます。
Navigation Manipulator で複数のナビゲーションキーのプロパティを設定する場合、トリガー条件を使用して、作成したトリガーを起動するナビゲーションキーを設定してください。
Node Components Alt を押しながら右クリック のトリガーで、Trigger Condition を選択し、条件を設定します:
A
Type of A から Message argument へ
Message Argument から Navigation Direction へ
Operation から = へ
B
Type of B から Fixed へ
トリガーが反応するナビゲーションキーのナビゲーション方向に Fixed Value を設定します。
例えば、Navigation Manipulator で設定したキーをユーザーが押したときにトリガーを発動させたい場合、Down Navigation Key プロパティを使用して、Fixed Value を Down に設定します。
Node Components Alt を押しながら右クリック で作成したトリガーを使用し、Navigation Manipulator で設定したナビゲーションキーをユーザーが押したときにトリガーが実行するアクションを選択します。
例えば、Move Focus アクションを選択し、アクション設定で Direction を Forward に設定します。
このアクションは、フォーカスチェーン内の次のノードにフォーカスを前方向に移動します。これは、ユーザーが Tab キーを押したときにフォーカスが移動する方法と同様です。
ユーザーが Navigation Manipulator で設定したキーを押すと、Key Navigation Started トリガーが作成したアクションを開始します。
この例では、ユーザーが Navigation Manipulator の Down Navigation Key プロパティで設定した ↓ (Arrow down) キーを押すと、フォーカスが次のメニューボタンに前方向に移動します。
前の手順を繰り返して、別の Navigation Manipulator トリガーを作成し、設定します。
例えば、別の Key Navigation Started トリガーを作成し、そのトリガー内で以下を作成します。
Trigger Condition は、Up Navigation Key プロパティを使用して Navigation Manipulator で設定したキーをユーザーが押したときにトリガーを発動するように設定します。
Direction を Backward に設定する Move Focus アクション。
この例では、ユーザーが Navigation Manipulator の Up Navigation Key プロパティで設定した ↑ (Arrow up) キーを押すと、フォーカスが逆方向に次のメニューボタンに移動します。
Navigation Manipulator でさらに多くのナビゲーションキーを設定し、ユーザーがそれらのキーを押したときに何が起こるかを定義するトリガーを作成できます。
例えば、Navigation Manipulator で End Navigation Key プロパティを設定し、Key Navigation Started トリガーを作成して、ユーザーが End キーを押したときにグループ内の最後のボタンにフォーカスを設定する Try Set Focus アクションを作成します。
APIでナビゲーションマニピュレータを使用する¶
詳細については、NavigationManipulator クラスを参照してください。