ステップ 3 - 画面間を移動する

このステップでは、まず RootNode ノードにヘッダーとフッターを作成し、次に前のステップで作成した Activity ノード間を移動するボタンを作成します。

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

プレハブ (あらかじめ作成されたテンプレート) を使用して、アプリケーションを構造化し、一貫性のあるインターフェイスを作成します。プレハブを利用してアプリケーションの構成要素を作成し、アプリケーションのメンテナンスを容易にすることができます。

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

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

  1. Prefabs ウィンドウの右下隅にある create-prefab をクリックし、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 ../../_images/preview-toggle-button-2d.png
  3. Prefabs で Toggle Button 2D > Stack Layout 2D > Text Block 2D ノードを選択します。Properties で、Text プロパティの隣にある publish-property をクリックします。

    この方法で、プレハブインスタンスごとにテキストを設定できるようになります。

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

    publish-property をクリックすると、Kanzi Studio は次の処理を行います。

    1. そのプロパティからカスタムプロパティタイプを作成します。

    2. カスタムプロパティタイプをプレハブのルートノードに追加します。

    3. プレハブのルートノードにあるプロパティへの ##Template バインディングを作成します。

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

    ../../_images/prefabs-toggle-button-text-block.png ../../_images/publish-text-property.png
  4. Text Block 2D を選択した状態で、Preview で Node tool ノードツール を使用し、Align tool 整列 (align) の中央の四角をクリックして、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 から Toggle Button 2D プレハブを Node Tree に 3 回ドラッグし、Footer > Toggle Button Group 2D > Stack Layout 2D ノードにドロップします。

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

      ../../_images/footer-done.png
    4. Node Tree で各 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/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 を押しながら右クリック Actions を選択し、Dispatch Message Action > Activity Host > Activate Activity を選択します。

      ../../_images/activate-activity-action.png
    3. Activity Host: Activate Activity アクションで次のように設定します。

      • Target Item を、アクティビティを保持する Exclusive Activity Host 2D に設定

      • Activity Activation Path を、ボタンで移動させたい Activity に設定

      例えば、Car トグルボタンでは、Car Settings アクティビティに移動するようにアクションを設定します。

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

      Interact モードでは、デバイスを操作するときと同じように Preview ウィンドウでアプリケーションを操作できます。

Preview をリスタートして Footer ノードの各ボタンをクリックすると、ボタンのトリガーによって、各ボタンで設定した Activity ノードに移動するアクションが実行されます。

../../_images/first-tutorial-step-3.gif

関連項目

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

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

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

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