想学习如何使用 UI Builder 创建 UI(用户界面) 允许用户与您的应用程序交互。Unity 目前支持三种 UI 系统。 更多信息
参见 词汇表?使用此示例开始。
在 UI Builder 中创建 UI
在您开始之前,请熟悉以下内容
此示例创建了 创建列表视图运行时 UI 示例的主视图。它创建一个根元素作为背景,并包含两个容器。一个容器保存角色名称列表,另一个容器保存角色详细信息。在角色详细信息容器中,您添加背景和前景框架。最后,您添加两个标签用于角色名称。此示例不会创建角色名称列表条目 UI。
创建一个新项目,然后创建一个覆盖整个屏幕的根 视觉元素视觉树的节点,实例化或派生自 C# VisualElement
类。您可以设置外观样式,定义行为,并将其作为 UI 的一部分显示在屏幕上。 更多信息
参见 词汇表。设置您的根元素以具有背景颜色,并将所有子元素居中到屏幕中间。
在 Unity 中使用任何模板创建一个项目。
选择 窗口 > UI 工具包 > UI Builder。
在 UI Builder 窗口中,在 视口 窗口的左上角,选择 文件 > 新建 以创建一个新的 UXML 文档。
将其命名为 MainView.uxml
并保存。
从 库 拖动 VisualElement 到 层次结构 面板。
提示:您也可以双击控件将其添加到 层次结构 面板。
从 层次结构 面板中选择元素。
在 检查器 面板中,确保 弹性 > 增长 为 1
。这将 flex-grow
属性设置为 1
,使其覆盖整个屏幕。
要使所有子元素居中,请将 对齐项目 和 对齐内容 均设置为 居中
。
将 背景 > 颜色 设置为 #732526
。
注意: 默认情况下,颜色的 Alpha 值为 0
,使其完全透明。要使颜色不透明,请将 Alpha 值设置为 255
。
在根元素下创建一个新的 VisualElement。此元素成为 UI 左右部分的父容器。
从 库 拖动 VisualElement 到 层次结构 面板中的根 VisualElement。
从 层次结构 面板中选择元素。
在 检查器 面板中,将 弹性 > 方向 设置为 行
。
将 弹性 > 增长 设置为 0
。
将 大小 > 高度 设置为 350
像素。
将 ListView 作为容器的子元素添加,以保存角色名称。
从 库 拖动 ListView 到 层次结构 面板中的容器 VisualElement。
从 层次结构 面板中选择元素。
在 检查器 面板中,将 名称 设置为 CharacterList
。
将 大小 > 宽度 设置为 230
像素。
将 间距 > 边距 > 右边距 设置为 6
像素。
将 背景 > 颜色 设置为 #6E3925
。
将 边框 > 颜色 设置为 #311A11
。
将 边框 > 宽度 设置为 4
像素。
将 边框 > 半径 设置为 15
像素。
在与 #CharacterList
相同的父元素下添加一个新的 VisualElement 以保存角色详细信息容器。目的是,当用户从左侧列表中选择一个角色时,它会显示该角色的肖像、姓名和职业。
从 库 拖动 VisualElement 到 层次结构 面板中的容器元素。这是保存右侧所有元素的容器。
从 层次结构 面板中选择元素。
在 检查器 面板中,将 对齐 > 对齐项目 设置为 flex-end
。
将 对齐 > 对齐内容 设置为 space-between
。
将另一个 VisualElement 作为右侧容器的子元素添加。
从 层次结构 面板中选择元素。
将 弹性 > 增长 设置为 0
。
将 大小 > 宽度 设置为 276
像素。
在 对齐 部分,将 对齐项目 和 对齐内容 均设置为 居中
。
将 间距 > 填充 设置为 8
像素。
将 背景 > 颜色 设置为 #AA5939
。
角色详细信息容器将使用与角色名称列表容器相同的边框样式。创建一个 USS 类以应用于两个容器。
MainView.uss
并选择 保存。.border
。一个 .border
选择器出现在 样式表 面板中。.border
。#311A11
。4
像素。15
像素。.border
从 样式表 面板拖动到角色详细信息容器 VisualElement。.border
从 样式表 面板拖动到 #CharacterList。您的 UI 布局现在看起来像这样
将单个 UI 控件添加到角色详细信息容器。第一步是添加角色肖像背景。
从 库 拖动 VisualElement 到角色详细信息容器。
从 层次结构 面板中选择元素。
在 大小 部分,将 宽度 和 高度 均设置为 120
像素计算机图像中最小的单位。像素大小取决于您的屏幕分辨率。每个屏幕像素都会计算像素光照。 更多信息
参见 词汇表。
将 间距 > 填充 设置为 4
像素。
将 背景 > 颜色 设置为 #FF8554
。
将 边框 > 颜色 设置为 #311A11
。
将 边框 > 宽度 设置为 2
像素。
将 边框 > 半径 设置为 13
像素。
接下来在角色详细信息容器中,添加实际图像的前景。
从 库 拖动 VisualElement 到角色详细信息容器。
从 层次结构 面板中选择元素。
将 名称 设置为 CharacterPortrait
。
将 弹性 > 增长 设置为 1
,以便图像可以使用所有可用空间。
将 背景 > 比例模式 设置为 scale-to-fit
,以便您可以缩放图像以匹配元素大小,同时保持正确的纵横比。
将两个标签控件添加到角色详细信息容器,以显示所选角色的姓名和职业。
从 库 拖动 标签 到 层次结构 面板中的角色详细信息容器。
将 名称
设置为 CharacterName
。
从 库 拖动 标签 到 层次结构 面板中的角色详细信息容器。
将 名称
设置为 CharacterClass
。
选择 #CharacterName
元素。
将 文本 > 字体样式 设置为 B
。
将 文本 > 大小 设置为 18
像素。
在 视口 窗口中,选择 文件 > 保存 以保存对 MainView.uxml
的更改。
在 UI Builder 中,您可以创建元素并仅使用内联样式进行实验,直到元素数量仍然较少。随着您构建更复杂的 UI,使用样式表来管理样式会更容易。您可以在 UI Builder 中将内联样式提取到样式表中。
.background
作为类名。.background
类选择器,其中包含您为根元素设置的内联样式,并更新 UI 文档 (UXML) 以使用类选择器而不是内联样式。如果您想继续处理 创建列表视图运行时 UI 示例,您可以重复这些步骤以提取所有其他元素的样式,并按照说明创建示例。