ステップ3 - Page ノード間をナビゲートするためのコントロールを作成する

このステップでは、まず RootPage ノードにヘッダーとフッターを作成し、その後、このチュートリアルの前のステップで作成した Page ノード間をナビゲートするためのボタンを作成します。

Page ノードに追加したコンテンツは、そのツリー内のすべての Page ノードで表示されます。したがって、RootPage ノードにコンテンツを追加すると、その Kanzi アプリケーションのすべての Page ノードでそのコンテンツが表示されます。

ナビゲーションボタンのためのプレハブを作成する

ノードプレハブ(プレハブテンプレート)を使用して、アプリケーションを構築し、一貫性のあるインターフェースを作成します。プレハブを使用すると、アプリケーションの構成要素を作成し、アプリケーションの保守を容易にすることができます。

このセクションでは、アプリケーション内の Page ノード間をナビゲートするためのコントロールとして Footer ノードで使用するトグルボタンのプレハブを作成します。

ナビゲーションボタン用のプレハブを作成するには、以下のようにします。

  1. Prefabs ウィンドウの右下隅で イメージ8 (image8) をクリックし、Toggle Button 2D プレハブを作成し、Toggle Button 2D で:

    1. Stack Layout 2D ノードを作成します。

    2. Assets から Stack Layout 2D ノードに Menu 画像をドラッグします。

    3. Stack Layout 2D ノード内に Text Block 2D ノードを作成します。

    ../../_images/toggle-button-2d-prefab-done.png
  2. Prefabs で、Toggle Button 2D プレハブをダブルクリックして、そのプレハブのみを別のタブで Preview で開きます。

    プレハブを Preview で開くと、Kanzi Studio がメインメニューの下にタブとして表示されます。プレハブを使用するコンテキストの影響を受けずにプレハブを表示および調整したい場合は、Preview でプレハブを開いてください。

    ../../_images/composition-tab.png
  3. Prefabs で、Toggle Button 2D > Stack Layout 2D > Text Block 2D ノードを選択し、Properties で Text プロパティの横にある image10 をクリックします。これにより、プレハブの各インスタンスに異なるテキストを表示することができます。

    ノードプレハブは、それぞれが独自のプロパティを持つノードのツリーを含むことができます。プロジェクト内でプレハブまたはそのインスタンスのいずれかのノードを編集すると、そのプレハブのすべてのインスタンスでそれらのノードが変更されます。プレハブのプロパティ値をオーバーライドすることで、プレハブの各インスタンスに独自のプロパティ値を持たせることができます。例えば、住所録エントリのプレハブを作成する際には、各住所録エントリに異なる名前、番号、写真を表示したいと考えます。

    画像11 をクリックすると、Kanzi Studio はそのプロパティからカスタムプロパティを作成し、それをそのプレハブのルートノードに追加し、そのプレハブのルートノード内のプロパティに ##Template バインディングを作成します。

    このようにして、プレハブインスタンスのルートに、Text Block 2D ノードに表示させたいテキストを設定できます。

    ../../_images/publish-text-property.png
  4. Text Block 2D が選択されている状態で、Preview で Node tool 画像12 を使用し、Align tool image13 の中央の四角をクリックして、Text Block 2D を Stack Layout 2D ノードの中心に揃えます。

    ../../_images/align-the-text-block-2d.png
  5. メインメニューの Screen タブをクリックして、Preview でアプリケーション全体を表示します。

    ../../_images/click-screen-composition-tab.png
  6. Node Tree で Footer ノードを選択します。

    1. Toggle Button Group 2D ノードを作成します。

      ユーザーに相互に排他的な複数の選択肢の中から1つだけを選択させるようにするには、Toggle Button Group ノードを使用します。

      トグルボタングループ内の各トグルボタンの動作はラジオボタンと似ています。つまり、一度に 1 つのトグルボタンのみをアクティブにできます。

      ../../_images/create-toggle-button-group.png
    2. Toggle Button Group 2D ノード内に Stack Layout 2D ノードを作成します。

      ../../_images/toggle-button-group-with-stack-layout.png
    3. Prefabs から3つの Toggle Button 2D プレハブを Node Tree にドラッグし、Footer > Toggle Button Group 2D > Stack Layout 2D ノードにドロップします。

      プレハブを Prefabs から Node Tree 内の任意のノードにドラッグすると、Kanzi Studio はそのプレハブのインスタンスを、プレハブをドロップしたノードツリーに作成します。

      ../../_images/footer-done.png
    4. 各 Toggle Button 2D プレハブインスタンスを選択し、F2 を押して、それらに Navigation、Car、および Media と名前を付けます。

      ../../_images/toggle-button-2d-nodes-renamed.png
    5. 各 Toggle Button 2D プレハブインスタンスを選択し、Properties で FirstApplication.ToggleButton2D.Text プロパティの値を Navigation、Car、および Media に追加して設定します。

      ../../_images/toggle-button-2d-nodes-renamed.png ../../_images/togglebutton2dtext-property-navigation.png ../../_images/toggle-button-2d-text-set.png
  7. Footer > Toggle Button Group 2D > Stack Layout 2D ノード内の各 Toggle Button 2D プレハブインスタンスに対して:

    1. Node Components Alt を押しながら右クリック Triggers で、Message Trigger > Toggle Button > Toggled On を選択して、そのトリガーを追加します。

      トリガーとアクションを使用してインタラクションを作成します。トリガーを使用して、プロパティを特定の値に設定したり、アプリケーションの状態を設定したりするアクションを開始します。

      ../../_images/add-toggled-on-trigger.png
    2. Node Components Alt を押しながら右クリック でトリガーを設定し、Dispatch Message Action > Page > Navigate to Page を選択します。

      ../../_images/navigate-to-page-action.png
    3. Page: Navigate to Page アクションで、Target Item プロパティを、アプリケーションをナビゲートしたい Page ノードに設定します。

      例えば、Navigation トグルボタンでアクションを Page ノード Navigation に移動するように設定します。

      ../../_images/navigation-request.png
    4. Preview で、インタラクト (Interact) をクリックして Interact モードに入ります。

      Interact モードでは、デバイス上で行うように Preview ウィンドウでアプリケーションと対話できます。

Preview を再起動し、Footer ノード内の各ボタンをクリックすると、ボタン内のトリガーがアクションを開始し、各ボタンに設定した Page ノードに遷移します。

関連項目

Preview ツールの使用方法について詳しく知るには、Preview でアプリケーションを編集する を参照してください。

レイアウトコントロールノードの使用方法に関する詳細については、レイアウトコントロール (Layout control) ノード を参照してください。

プレハブの使用方法に関する詳細については、ノードプレハブの使用 を参照してください。

トグルボタンおよびトグルボタングループの詳細については、ボタン を参照してください。