设置 Screen 节点

使用 Screen 节点设置渲染您的 Kanzi 应用程序所用的目标设备屏幕的指标和内容。

您可以:

设置 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 Clear Color 属性设置 Screen 节点外部区域的颜色。

使用 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)

为您的应用程序设置主题

教程:制作具有动态布局的应用程序