为您的应用程序设置主题¶
主题可让一个 Kanzi Studio 项目用于多个产品变体。
例如:在一个项目中,您可以为不同的汽车模型定义 Kanzi 应用程序,并为每个汽车模型定义不同的视觉主题。
为应用程序创建主题涉及不同资源的创建和使用,例如您要在应用程序中使用的主题文本、纹理、笔刷、材质和样式、布局等。
Theme Group 定义了一组 Themes。每个 Theme 在 Theme Group 中定义了应用程序的外观和感觉。在您的 Kanzi Studio 项目中,您可以定义多个 Theme Group,其中每个包含多个 Themes。在您的 Kanzi 应用程序中,您可以一次应用每个 Theme Group 中的一个 Theme。例如,您可以使用一个 Theme Group 来定义汽车模型,如掀背车、小型货车、皮卡、轿车和 SUV,另一个 Theme Group 来定义每种汽车模型的界面外观,如经典、数字、现代和运动。
Kanzi 间接使用主题资源,使用资源 ID 为每个 Theme 保存一个单独的值。在 Library > Themes 中,您可以看到 Kanzi Studio 项目中的所有 Theme Group 项目。
要为您的应用程序创建主题:
创建一个 Theme Group,并将您项目中要用 Theme 定义的资源添加到其中。请参阅 将工程中使用的资源添加到 Theme Group。
创建并导入每个 Theme 使用的资源。请参阅 为 Theme 设置资源。
在 Preview 中查看 Theme。请参阅 在 Preview 中查看主题。
将 Theme 使用的资源导出到 kzb 文件。请参阅 导出 Themes。
通过完成教程,了解如何为您的 Kanzi 应用程序设置主题。请参阅 教程:为您的应用程序设置主题。
将工程中使用的资源添加到 Theme Group¶
通过将您想要主题化的资源添加到 Theme Group,开始为您的 Kanzi 应用程序创建主题。将资源添加到 Theme Group 的最简单方法是在 Node Tree 中的节点上使用 Add Resources to a Theme Group 命令。
使用 Add Resources to a Theme Group 命令在 Node Tree 中,Kanzi Studio 会自动为节点中的每个资源及其树中的节点创建一个资源 ID,并将每个节点设置为使用这些资源 ID。
要将工程中使用的资源添加到 Theme Group:
在 Node Tree 中,右键单击 Screen 节点,并在上下文菜单中选择 Add Resources to a Theme Group。
使用 Add Resources to a Theme Group 命令在 Screen 节点上,Kanzi Studio 使您能够将项目中的所有资源添加到 Theme Group 中,并更改它们在每个 Theme 中的外观。要仅从选定的节点或预设及其树中添加到 Theme Group 资源,请右键单击该节点或预设并选择 Add Resources to a Theme Group。
在 Add Resources to a Theme Group 窗口中设置:
Theme Group 到您要添加资源的 Theme Group。如果您还没有 Theme Group,请选择 <Create New>。
Theme Group 定义了一组 Themes。
选择要在 Add Resources to a Theme Group 窗口中显示的资源类型。
例如,要只显示文本和图像资源,请选择
和
。
在列出选定类型所有资源的表格中,点击要添加到您所选 Theme Group 的资源旁边的复选框。要更改资源 ID,请双击资源 ID 并输入新名称。
Kanzi Studio 为使用相同 Text 属性值的 Text Block 节点创建一个资源 ID。这些节点在 Theme Group 中共享同一个条目。
单击 Add。
Kanzi Studio 从所有资源创建资源 ID,并将它们添加到您选择的 Theme Group 中。您可以在 Library > Themes 中找到 Theme Group 项。在 Theme Group 中,您现在可以创建 Themes,并设置要为哪个 Theme 使用哪个资源。请参阅 为 Theme 设置资源。
为 Theme 设置资源¶
将您的工程中使用的资源添加到 Theme Group 后,您可以创建一个 Theme 并定义每个 Theme 使用的资源。
要为 Theme 设置资源:
为每个 Theme 创建并导入您要使用的资源。例如:
在 Library 中创建资源,例如画笔、样式和材料,这些资源为应用程序中的每个主题设置外观。
在 Prefabs 中创建布局,以便为应用程序中的每个主题排列 UI 元素。
在 Assets 中导入您想在 Theme 中使用的 2D 和 3D 资源。
在 Library > Themes 中双击您要定义 Theme 的 Theme Group。
在 Theme Editor 中,单击 Create Theme 并命名为 Theme。
在上一步中创建的主题栏中,双击各资源单元格,为该行资源 ID 设置要使用的资源。
如果您没有为 Theme 选择资源或值,Kanzi 将使用该 Theme 的默认资源或值。默认值列在 Default Value 列中。
黑色单元格标记使用默认值的条目。
要为文本资源使用空字符串,输入值,删除值,然后按下 Enter 键。
灰色单元格标记使用空字符串的条目。
要使用文件系统的资源,在要设置资源的单元格中选择 < URL >,并输入
file://,后跟文件系统中资源的绝对或相对路径。
在 Theme 中为资源使用 kzb 文件 URL。¶
将您的工程中使用的资源添加到一个 Theme Group 之后,您可以使用一个 kzb 文件 URL 指向另一个 Kanzi Studio 工程中的资源。
要在 Theme 中为资源使用 kzb 文件 URL:
在 Library > Themes 中双击您要定义 Theme 的 Theme Group。
在 Theme Editor 中,单击 Create Theme 并命名为 Theme。
在上一步中创建的 Theme 栏中,双击要为其使用 kzb 文件 URL 的资源单元格,并在下拉菜单中选择 < URL >。
在单元格中,输入要使用的资源的 kzb 文件 URL。
例如,要使用来自另一个 Kanzi Studio 项目的字体,请输入指向该字体的 kzb 文件 URL。
在 Preview 中查看主题¶
当您为应用程序定义 Theme 时,可以设置 Preview 来显示 Theme,而无需为应用程序添加切换 Themes 的控件。
要在 Preview 中查看 Theme:
在 Dictionaries 中,单击 Locales and Themes 以启用查看 Localization Table 和 Theme Group 项目,并且对于每个 Theme Group,在 Preview 中选择您想要查看的 Theme。
在 Library 中选择包含您要查看的 Theme 的 Theme Group,并在 Properties 中将 Selected Theme 属性设置为该 Theme。