使用 Themes

Kanzi 使用 Theme 作为 ID 来选择与该 Theme 关联的资源。如果您没有为 Theme 定义资源,Kanzi 将使用该 Theme Group 中该资源 ID 的默认值。

通过完成教程,了解如何为您的 Kanzi 应用程序设置主题。请参阅 教程:为您的应用程序设置主题。

创建一个 Theme

要创建 Theme:

  1. 在 Library > Themes 中,双击您想要添加 Theme 的 Theme Group。

    Kanzi Studio 在 Theme Editor 中打开 Theme Group。

  2. 在 Theme Editor 中点击 Create Theme,输入 Theme 的名称,然后点击 OK。

    ../../_images/create-theme.png

重命名 Theme

要更改现有 Theme 的名称:

  1. 在 Library > Themes 中,双击包含您要重命名的 Theme 的 Theme Group。

    ../../_images/color-theme-group-in-library.png
  2. 在 Theme Editor 中,右键单击您要重命名的 Theme 的标题,然后选择 Rename。

    ../../_images/rename-theme.png
  3. 为 Theme 输入新名称,然后点击 OK。

    ../../_images/rename-theme-dialog.png

设置应用程序 Theme

您可以通过以下方式设置应用程序 Theme:

  • To set the Theme that your application uses when a user launches the application or that you want to see in the Kanzi Studio Preview:

    • 在 Library > Themes 中,选择包含您要使用的 Theme 的 Theme Group,并将 Selected Theme 设置为您要使用的 Theme。

      ../../_images/color-theme-group-in-library.png ../../_images/properties-startup-theme.png
    • 在 Dictionaries 窗口中,点击 Locales and Themes,并为项目中的每个 Theme Group 选择您要使用的 Theme。

      ../../_images/dictionaries-select-theme.png
  • 要使用触发器设置 Theme,在要用于设置应用程序主题的触发器中,创建一个 Theme: Activate Theme 操作并设置您要使用的 Theme。

    ../../_images/triggers-activate-theme.png ../../_images/triggers-activate-theme-set-theme.png

手动将资源添加到 Theme Group 中

将资源添加到 Theme Group 的最快方法是在 Node Tree 中使用 Add Resources to a Theme Group 命令。请参阅 将工程中使用的资源添加到 Theme Group。

../../_images/add-resource-to-theme-group.png

要手动将资源添加到 Theme Group:

  1. 在 Library > Themes 中,双击包含您要手动添加资源的 Theme 的 Theme Group。

    Kanzi Studio 在 Theme Editor 中打开 Theme Group。

    ../../_images/export-example-library-color.png
  2. 在 Theme Editor 中,单击 + Add Resource 并选择:

    • Create 并选择您要创建的资源类型。

    • Add Existing 并选择一个已在您的项目中存在的资源。

    ../../_images/add-resource.png
  3. 为用于该资源的资源 ID 输入名称,并点击 OK。

  4. 在每个 Theme 集资源的列中的 Theme Editor 中,为您创建的资源 ID 设置要使用的资源。

  5. 在 Node Tree 中选择要使用您创建的资源 ID 的节点,在 Properties 中将指向资源的属性设置为 < Resource ID >,并在 Theme Editor 中输入您创建的资源 ID。

从 Theme Group 删除资源 ID

要从 Theme Group 中删除资源 ID:

  • 要删除项目中未使用的资源 ID,请单击 Clean,选择要删除的资源 ID,然后单击 OK。

    ../../_images/delete-unused-resource-ids.png
  • 要删除资源 ID,右键点击资源 ID 并选择 Delete Resource ID。

  • 要删除多个资源 ID,请按 Ctrl 或 Shift 键并选择您要删除的资源 ID,然后按 Delete 键。

本地化 Theme

Kanzi 使您能够本地化主题应用程序。

要本地化主题:

  1. 对于每个您要将其内容本地化的主题,从包含要本地化的文本节点的内容创建预设件。请参阅 创建和使用节点预设件。

    ../../_images/table-rpm-gasoline-hybrid-prefabs.png
  2. 本地化文本资源:

    1. 在 Prefabs 中,选择您在上一步中创建的预设,并将其资源添加到本地化表中。

      请参阅 添加资源至本地化表。

      ../../_images/add-resources-to-localization-table.png ../../_images/localization-table-add.png
    2. 在 Library > Localization 中,双击您在上一步中创建的本地化表以在 Localization Editor 中打开它,添加您想要本地化主题的语言环境,并本地化文本资源。请参阅 本地化文本资源。

      要添加语言环境,请单击 + Create Locale,输入语言环境的名称,然后单击 OK。

      ../../_images/localization-editor-with-localized-text.png
  3. 使用 Prefab View 节点显示本地化内容:

    1. 在 Prefabs 中,在您要显示本地化内容的节点下,创建一个 Prefab View 节点,并在 Properties 中添加并将 Prefab Template 属性设置为您在第一步中创建的预设之一。

      您必须使用 Prefab View 节点,以便可以动态更改 Prefab View 实例化的预设。请参阅 Prefab Placeholder 和 Prefab View 节点。

      ../../_images/table-rpm-prefab-view-in-project.png ../../_images/displayed-prefab-in-properties.png
    2. 在 Prefabs 中,右键单击您在上一步中创建的 Prefab View 节点,然后选择 Add Resources to a Theme Group。

      ../../_images/add-resource-to-theme-group.png
    3. 在 Add Resources to a Theme Group 窗口中:

      • 将 Theme Group 设置为您要添加资源的主题组。

        主题组包含有关哪个主题使用哪些资源的信息。

      • 将 Resource ID 重命名为在您的项目上下文中有意义的名称。

      单击 Add。

      Kanzi Studio 将资源 ID 添加到主题组,该资源 ID 指向在 Value 列中显示的预设。在您将资源添加到 Theme Group 的 Prefab View 节点中,Kanzi Studio 将 Prefab Template 属性的值设置为资源 ID。

      ../../_images/add-displayed-prefab-to-theme-group.png ../../_images/table-rpm-displayed-prefab.png
    4. (可选) 在 Prefabs 中,将您在第 1 步中创建的 Prefab View 节点复制到您想要显示相同内容的位置。

      ../../_images/table-rpm-prefab-views-in-project.png
    5. 在 Library > Themes 中,双击您添加资源的主题组,并在您在步骤 3 中创建的资源 ID 的 Theme Editor 中为每个主题选择正确的预设。

      ../../_images/table-rpm-in-theme-editor.png
  4. 在 Dictionaries 窗口中查看项目中本地化表和主题组的资源字典,点击 Locales and Themes,并选择不同的区域设置和主题以查看 Preview 中的本地化主题。

    ../../_images/dictionaries-set-locale.png ../../_images/dictionaries-set-car-variant-theme.png

在多个 Kanzi Studio 项目中使用主题并将其合并到一个 Kanzi 应用程序中。

要在将多个 Kanzi Studio 项目合并到 Kanzi 应用程序中时使用主题,您必须通过以下方式之一使主题组可供应用程序主项目的 Screen 节点访问:

  • 在应用程序的主工程中定义主题组。

  • 将引用项目中的主题组合并到包含 Screen 节点的主项目中。然后,您可以使用资源 ID 访问引用项目中主题组的资源。请参阅 合并工程。

  • 请联系 Rightware 支持团队并请求 Kanzi Engine 插件,该插件使您能够在多个 Kanzi Studio 项目和 kzb 文件中使用主题。请参阅 提交支持请求。

另请参阅

教程:为您的应用程序设置主题

为您的应用程序设置主题

导出 Themes

使用触发器

使用节点预设

将 Kanzi Studio 项目合并到 Kanzi 应用程序中。