版本:Unity 6 (6000.0)
语言:English
UXML 元素 IntegerField
UXML 元素 LayerField

UXML 元素 Label

Label 是一种文本元素,可用于显示文本。您可以使用 Label 来显示控件的标题或描述。

创建 Label

您可以使用UI(用户界面) 允许用户与您的应用程序交互。Unity 目前支持三种 UI 系统。 更多信息
参见 术语表
Builder、UXML 或 C# 创建 Label。以下 C# 示例创建了一个文本为“Hello World”的 Label,并设置了字体大小、字体样式、文本对齐方式和颜色。

var label = new Label("Hello World");
label.style.fontSize = 14;
label.style.unityFontStyleAndWeight = FontStyle.Bold;
label.style.unityTextAlign = TextAnchor.MiddleCenter;
label.style.color = Color.red;

示例

以下 UXML 示例创建了一个 Label

<UXML xmlns="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements">
    <Label text="UXML Label" name="the-uxml-label" />
</UXML>

以下 C# 示例说明了 Label 的一些可自定义功能。

/// <sample>
// Get a reference to the label from UXML and update its text.
var uxmlLabel = container.Q<Label>("the-uxml-label");
uxmlLabel.text += " (Updated in C#)";

// Create a new label and give it a style class.
var csharpLabel = new Label("C# Label");
csharpLabel.AddToClassList("some-styled-label");
container.Add(csharpLabel);
/// </sample>

要在 Unity 中实时尝试此示例,请转到窗口 > UI 工具包 > 示例

C# 基类和命名空间

C# 类Label
命名空间UnityEngine.UIElements
基类TextElement

继承的 UXML 属性

此元素从其基类继承以下属性

名称 类型 描述
binding-path 字符串 要绑定的目标属性的路径。
display-tooltip-when-elided 布尔值 如果为真,则显示一个工具提示,其中包含省略文本的完整版本,并且如果之前提供了工具提示,它将被覆盖。
emoji-fallback-support 布尔值 指定系统在渲染文本时查找 Emoji 字符的顺序。如果启用此设置,则将首先在全局 Emoji 回退列表中搜索在 Unicode 14.0 标准中定义为 Emoji 的字符。
enable-rich-text 布尔值 如果为假,则不会解析富文本标签。
focusable 布尔值 如果元素可以聚焦,则为真。
parse-escape-sequences 布尔值 指定是否按原样显示转义序列,或者是否将其替换为它们表示的字符。
tabindex 整数 用于在焦点环中对可聚焦元素进行排序的整数。必须大于或等于零。
text 字符串 要显示的文本。

更改此值将隐式调用INotifyValueChanged_1.value setter,这将引发类型为字符串的ChangeEvent_1

此元素还从VisualElement继承以下属性

名称 类型 描述
content-container 字符串 子元素添加到其中,通常与元素本身相同。
data-source 对象 为该 VisualElement 分配一个数据源,该数据源覆盖任何继承的数据源。此数据源由所有子元素继承。
data-source-path 字符串 从数据源到值的路径。
data-source-type System.Type 可分配给此 VisualElement 的数据源的可能类型。

此信息仅供 UI Builder 使用,作为提示,以便在设计时无法指定有效数据源时为数据源路径字段提供一些自动完成。
language-direction UIElements.LanguageDirection 指示元素文本的方向性。该值将传播到元素的子元素。

将 languageDirection 设置为 RTL 通过反转文本并适当地处理换行和单词换行来添加对从右到左 (RTL) 的基本支持。但是,它不提供全面的 RTL 支持,因为这需要文本整形,包括字符的重新排序和 OpenType 字体功能支持。全面的 RTL 支持计划在未来的更新中提供,这将涉及处理语言、脚本和字体功能规范的其他 API。

为了增强此属性的 RTL 功能,用户可以探索 Unity Asset Store 中可用的第三方插件,并利用ITextElementExperimentalFeatures.renderedText
name 字符串 此 VisualElement 的名称。

使用此属性编写针对特定元素的 USS 选择器。标准做法是为元素提供唯一的名称。
picking-mode UIElements.PickingMode 确定此元素是否可以在鼠标事件或IPanel.Pick查询期间被拾取。
style 字符串 设置VisualElement样式值。
tooltip 字符串 在用户将鼠标悬停在元素上一段时间后,在信息框内显示的文本。这仅在编辑器 UI 中受支持。
usage-hints UIElements.UsageHints 指定VisualElement的高级预期使用模式的提示值的组合。仅当VisualElement尚未成为Panel的一部分时,才能设置此属性。一旦成为Panel的一部分,此属性实际上就成为只读的,尝试更改它将引发异常。正确UsageHints的规范会驱动系统做出更好的决策,关于如何基于预期的使用模式处理或加速某些操作。请注意,这些提示不会影响行为或视觉结果,而只会影响面板和其中元素的整体性能。建议始终考虑指定正确的UsageHints,但请记住,在某些情况下,某些UsageHints可能会在内部被忽略(例如,由于目标平台上的硬件限制)。
view-data-key 字符串 用于视图数据持久性,例如树展开状态、滚动位置或缩放级别。

此键用于从视图数据存储中保存和加载视图数据。如果您不设置此键,则相关联的VisualElement的持久性将被禁用。有关更多信息,请参阅视图数据持久性

USS 类

下表列出了所有 C# 公共属性名称及其相关的 USS 选择器。

C# 属性 USS 选择器 描述
ussClassName .unity-label 此类型元素的 USS 类名。
ussClassName .unity-text-element 此类型元素的 USS 类名。
selectableUssClassName .unity-text-element__selectable 可选文本元素的 USS 类名。
disabledUssClassName .unity-disabled 本地禁用元素的 USS 类名。

您还可以使用检查器或 UI 工具包调试器中的匹配选择器部分查看哪些 USS 选择器影响其层次结构中每个级别的VisualElement的组件。

其他资源

UXML 元素 IntegerField
UXML 元素 LayerField