Screen ノードの設定

Kanzi アプリケーションをレンダリングするターゲットデバイスの解像度設定と表示コンテンツを実装するには、Screen ノードを使用します。

以下の操作を行うことができます。

Screen ノードのサイズを設定する

Screen ノードのサイズを設定するには、Node Tree で Screen ノードを選択し、Properties で設定します。

  • 固定サイズのウィンドウの場合、次のいずれかを設定します:

    • Screen Resolution を特定の解像度に

      ../../_images/screen-resolution.png
    • Metrics Type を Absolute に変更し、絶対的な Width と Height を定義します。

      ../../_images/metrics-type-absolute.png ../../_images/window-width-and-height-1200x720.png
  • リサイズ可能なウィンドウの場合、Metrics Type を Relative に設定し、相対的な Width と Height を定義します。

    ../../_images/metrics-type-relative.png ../../_images/window-width-and-height-1x1.png

Screen ノードの外側の領域の色を設定する

デバイス画面の解像度が、固定サイズの Screen ノードを持つアプリケーションの解像度よりも大きい場合、Screen ノードの外側の領域の色を Screen Clear Color プロパティで設定できます。

Screen Clear Color プロパティを使用し、ノードツリーに Viewport 2D ノードがある場合、それらをカラークリアを行わないレンダーパスでレンダリングできます。Screen はすでにカラークリアを実行します。

Kanzi アプリケーションがコピー交換動作を使用しない場合は、Screen Clear Color を設定し、次のようにします。

  • ターゲットハードウェアはタイルベースのアーキテクチャを使用します。

または

  • ターゲットハードウェアはタイルベースのアーキテクチャを使用していませんが、背景画像のように不透明なレンダリングで画面の大部分が埋められていません。

Screen ノードの外側の領域の色を設定するには、

  1. Node Tree で Screen ノードを選択します。

    ../../_images/screen-node-project.png
  2. Properties で、Screen Clear Color プロパティを Screen ノードの外側の領域に使用したい色に設定します。

    Screen Clear Color プロパティを設定すると、Kanzi は Screen ノードの外側の画面を、他のものをレンダリングする前に設定した色でクリアします。

    ../../_images/screen-clear-color.png

画面全体を埋めるアプリケーションを作成する

Kanzi アプリケーションをデバイスの画面全体に表示するには、Node Tree で Screen ノードを選択し、Properties で以下を設定します。

  • Screen Resolution プロパティを Custom に

  • Metrics Type から Relative へ

  • Width と Height を 1 にする。

../../_images/fill-entire-screen.png

アプリケーションのルートノードで上記の設定をオーバーライドする必要がある場合、例えば RootPage:

  1. Node Tree でルートノードを選択します。

  2. Properties に次のプロパティを追加します。

    • Layout Width

    • Layout Height

    • Aspect Ratio

APIで Screen ノードを使用する

Screen ノードのロケールを設定するには:

// Switch locale to en-US.
screen->setLocale("en-US");

Screen ノードにテーマをアクティブ化するには:

// Activate the theme named "MyTheme" from the theme group named "MyThemeGroup".
screen->activateTheme("kzb://project/Themes/MyThemeGroup/MyTheme");

Screen ノードをユーザー入力を処理し、キーのフォーカスを管理するように設定するには、

// Instantiate the Input Manager and the Focus Manager.
auto inputManager = make_unique<InputManager>(screen->getDomain());
auto focusManager = make_unique<FocusManager>();

// Set the Input Manager and the Focus Manager.
// You must set the managers before you attach the Screen.
screen->setInputManager(inputManager.get());
screen->setFocusManager(focusManager.get());

// Attach the Screen.
screen->attach();

詳細については、Screen クラスを参照してください。

Screen プロパティタイプとメッセージ

Screen ノードで利用可能なプロパティタイプとメッセージのリストについては、スクリーン (Screen) を参照してください。

関連項目

フォーカス

ユーザー入力の処理

ローカライズ (Localization)

アプリケーションのテーマ設定

チュートリアル: 動的レイアウトを使用したアプリケーションの作成