Screen ノードの設定¶
Kanzi アプリケーションをレンダリングするターゲットデバイスの解像度設定と表示コンテンツを実装するには、Screen ノードを使用します。
以下の操作を行うことができます。
アプリケーションの Screen サイズを設定し、そのサイズを固定または動的にリサイズ可能にします。Screen ノードのサイズを設定する を参照してください。
Screen ノードの外側の領域の色を設定します。Screen ノードの外側の領域の色を設定する を参照してください。
アプリケーションをデバイスの画面全体に表示させます。画面全体を埋めるアプリケーションを作成する を参照してください。
Screen ノードのサイズを設定する¶
Screen ノードのサイズを設定するには、Node Tree で Screen ノードを選択し、Properties で設定します。
固定サイズのウィンドウの場合、次のいずれかを設定します:
Screen Resolution を特定の解像度に
Metrics Type を Absolute に変更し、絶対的な Width と Height を定義します。
リサイズ可能なウィンドウの場合、Metrics Type を Relative に設定し、相対的な Width と Height を定義します。
Screen ノードの外側の領域の色を設定する¶
デバイス画面の解像度が、固定サイズの Screen ノードを持つアプリケーションの解像度よりも大きい場合、Screen ノードの外側の領域の色を Screen Clear Color プロパティで設定できます。
Screen Clear Color プロパティを使用し、ノードツリーに Viewport 2D ノードがある場合、それらをカラークリアを行わないレンダーパスでレンダリングできます。Screen はすでにカラークリアを実行します。
Kanzi アプリケーションがコピー交換動作を使用しない場合は、Screen Clear Color を設定し、次のようにします。
ターゲットハードウェアはタイルベースのアーキテクチャを使用します。
または
ターゲットハードウェアはタイルベースのアーキテクチャを使用していませんが、背景画像のように不透明なレンダリングで画面の大部分が埋められていません。
Screen ノードの外側の領域の色を設定するには、
Node Tree で Screen ノードを選択します。
Properties で、Screen Clear Color プロパティを Screen ノードの外側の領域に使用したい色に設定します。
Screen Clear Color プロパティを設定すると、Kanzi は Screen ノードの外側の画面を、他のものをレンダリングする前に設定した色でクリアします。
画面全体を埋めるアプリケーションを作成する¶
Kanzi アプリケーションをデバイスの画面全体に表示するには、Node Tree で Screen ノードを選択し、Properties で以下を設定します。
Screen Resolution プロパティを Custom に
Metrics Type から Relative へ
Width と Height を 1 にする。
アプリケーションのルートノードで上記の設定をオーバーライドする必要がある場合、例えば RootPage:
Node Tree でルートノードを選択します。
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) を参照してください。