ステップ 1 - アプリケーション画面をナビゲートする

このステップでは、アプリケーション画面のナビゲーションを作成する方法を学びます。ユーザーがタッチとキー入力の両方を使用してアプリケーション画面をナビゲートできるようにします。

チュートリアルを入手する

チュートリアルを入手するには、Kanzi Studio Quick Start ウィンドウで Examples をクリックします。UI navigation チュートリアルの横にある ダウンロード をクリックします。

Kanzi Studio はチュートリアルを <KanziWorkspace>/Tutorials ディレクトリにダウンロードします。以下が含まれています。

  • <KanziWorkspace>/Tutorials/UI navigation/Start/Tool_project ディレクトリにあるチュートリアルの開始地点プロジェクト。

  • <KanziWorkspace>/Tutorials/UI navigation/Completed ディレクトリにある完成したチュートリアル。

開始プロジェクトの内容

スタートポイントとなるプロジェクトには、このチュートリアルを完了するのに必要なコンテンツが含まれています。

  • MainScreen アクティビティプレハブには以下が含まれています:

    • ナビゲーションボタンメニューを表示する NavigationBar トグルボタングループ。

      NavigationBar では、トグルボタンは NavigationButton プレハブのインスタンスです。NavigationButton プレハブは、トグル状態に基づいてトグルボタンの外観を設定するステートマネージャーを使用します。

      このチュートリアルでは、これらのトグルボタンを使用してアプリケーションの画面をアクティブにします。

      ../../_images/preview-navigation-bar.png
    • ApplicationScreens エクスクルーシブアクティビティホストは、それぞれがアプリケーション画面を表すアクティビティを含んでいます。

      • Home には温度スライダーが含まれています。

      • Media には、アルバム、プレイリスト、ラジオ局のリストが含まれています。

      • Maps は静的な画像を含んでいます。

      • Settings には設定メニューが含まれています。

      このチュートリアルでは、ユーザーがこれらの画面間を移動し、各画面のUI要素とタッチおよびキー入力を使用して対話できるようにする方法を学びます。

      ../../_images/activity-browser-preview-start.gif
  • AlbumItem、PlaylistItem、RadioItem、および SettingsItem のプレハブは、さまざまなタイプのリスト内のアイテムのテンプレートです。

    ../../_images/prefabs-list-item-prefabs-selected.png
  • Media アクティビティプレハブでは、Albums、Playlists、および Radio は MediaList プレハブのインスタンスです。MediaList にはカスタマイズ可能なタイトルと、カスタマイズ可能なアイテムテンプレートとアイテムソースを表示する Grid List Box ノードが含まれています。Media アクティビティは、データソースからリストアイテムを取得します。

    ../../_images/prefabs-albums-playlists-radio.png
  • In the Settings Activity prefab, the list items in the SettingsMenu are instances of the SettingsItem prefab.

    ../../_images/prefabs-settings-menu.png
  • Library > State Managers > List State Manager は、フォーカス状態に基づいてノードの背景ブラシを設定します。

    このチュートリアルのステップ2で、このステートマネージャーを使用します。

    ../../_images/library-list-state-manager.png

アプリケーション起動時にフォーカスを設定する

このセクションでは、アプリケーションが開始されたときにキーのフォーカスを受け取るノードを設定します。

キー入力を受け取るには、ノードがフォーカス可能でなければなりません。フォーカス可能なノードは、Focusable プロパティが有効になっています。Slider や Button ノードのようなインタラクティブコントロールノードは、デフォルトで Focusable プロパティが有効になっています。

このチュートリアルプロジェクトでは、アプリケーション画面はアクティビティです。アクティビティノードはフォーカススコープであり、デフォルトでキーのフォーカスとキー入力を処理します。フォーカススコープはキーのナビゲーションを処理するのに役立ちます。キーのフォーカスがフォーカススコープノードに移動すると、そのフォーカススコープはフォーカスを最初のフォーカス可能な子ノードに転送します。

アプリケーションの起動時にキーのフォーカスを設定するには、以下のようにします。

  1. Prefabs で、MainScreen > Dock Layout 2D > ApplicationScreens エクスクルーシブアクティビティホストを選択します。

    ../../_images/prefabs-application-screens.png
  2. Properties で、Focus On Activating Activity プロパティを追加し、Always に設定します。

    この方法で、アプリケーションが起動したときにアクティブになる Home アクティビティにキーのフォーカスを設定します。

    Home アクティビティがアクティブになると、Kanzi はそのアクティビティにフォーカスを移動します。Home アクティビティはフォーカスをその唯一のフォーカス可能なノードである Slider ノードに転送します。Slider ノードがキー入力を受け取るキーのフォーカスノードになります。

    ../../_images/properties-focus-on-activating-activity.png

Preview ウィンドウを選択すると、ホーム画面のスライダーを使用してこれらのキーで温度を調整できます。

  • ノブを動かすには、↑ (Up) と ↓ (Down) を使用します。

  • スライダーのノブをレールの下部に移動するために Home

  • End をレールの上部にスライダーノブを移動します。

Slider ノードは、デフォルトでこれらのキーからの入力を処理します。

../../_images/preview-slider-key-input.gif

関連項目

Activity Browser の使用方法について詳しく知るには、アクティビティブラウザの使用 をご覧ください。

アクティビティシステムについて詳しく学ぶには、アクティビティ を参照してください。

バインディングの使用方法について詳しくは、バインディングの使用 および バインディング式リファレンス を参照してください。

スライダーの使用方法について詳しくは、Slider ノードを使用する を参照してください。

フォーカスについて詳しく知るには、フォーカス と フォーカスの使用 を参照してください。

Kanzi でのユーザー入力の処理について詳しく学ぶには、ユーザー入力の処理 を参照してください。

トリガーとアクションの詳細については、トリガー (Triggers) を参照してください。

List Box ノードの使用方法について詳しくは、リストボックス (List Box) ノード を参照してください。