Version: 6000.3
语言: 中文
滑 块
标签

滑块内部

SliderInt 允许用户从一系列值中选择一个整数值。你可以使用 SliderInt 来调整一个值,例如游戏中的生命数。若要设定值,请沿轨道拖移拇指,或点按轨道本身。滑块还可以包括一个文本输入字段允许用户输入文本字符串
的字段更多信息 请参阅术语表
,您可以在其中直接修改值。

注意:要将元素与检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
请参阅术语表
窗口,只需将.unity-base-field__alignedUSS 级。有关更多信息,请参阅BaseField.

创建 SliderInt

你可以使用 UI Builder、UXML 或 C# 创建 SliderInt。以下 C# 示例创建具有默认值、低值和高值的 SliderInt,并设置滑块的方向:

var sliderInt = new SliderInt();
sliderInt.value = 42;
sliderInt.lowValue = 0;
sliderInt.highValue = 100;
sliderInt.direction = SliderDirection.Horizontal;

设置页面大小

SliderInt 控件具有一个 page-size 属性,用于控制单击指向指向图任一侧的轨道时,缩略图移动的量和值的变化量。

如果页面大小值为0,点按轨道会将指向移动到光标或指针位置,并相应地更新值。

如果页面大小值大于0,点按轨道会将拇指向光标或指针位置移动特定量。SliderInt 控件将页面大小视为总范围的百分比。

例如,如果总范围为200,并且页面大小为20,则页面大小为20%20040.每次点按轨道时,拇指都会移动,并且值会增加或减少40.

键盘快捷键

可以使用键盘快捷键导航和调整 SliderInt 控件。下表列出了键盘快捷键:

捷径 行动
箭头键 移动1/100整个范围。
箭头键 + Shift 移动1/10整个范围。
跳转到滑块的开头。
结束 跳转到滑块的末尾。
页面向上 向上移动(1/100 of the range) × page size.
向下翻页 向下移动(1/100 of the range) × page size.

以下UXML示例创建了一个SliderInt:

<UXML xmlns="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements">
    <SliderInt
        label="UXML Slider"
        name="the-uxml-slider"
        low-value="0"
        high-value="100"
        page-size="1"
        value="42" />
</UXML>

以下 C# 示例演示了 SliderInt 的一些可自定义功能:

/// <sample>
// Get a reference to the slider from UXML and assign it its value.
var uxmlSlider = container.Q<SliderInt>("the-uxml-slider");
uxmlSlider.value = 42;

// Create a new slider, disable it, and give it a style class.
var csharpSlider = new SliderInt("C# Slider", 0, 100);
csharpSlider.SetEnabled(false);
csharpSlider.AddToClassList("some-styled-slider");
csharpSlider.value = uxmlSlider.value;
container.Add(csharpSlider);

// Mirror value of uxml slider into the C# field.
uxmlSlider.RegisterCallback<ChangeEvent<int>>((evt) =>
{
    csharpSlider.value = evt.newValue;
});
/// </sample>

若要在 Unity 中实时试用此示例,请转到 Window > UI 工具包>示例

C# 基类和命名空间

C# 类SliderInt
命名空间UnityEngine.UIElements
基类BaseSlider_1

成员 UXML 属性

此元素具有以下成员属性:

名字 类型 描述
page-size float 单击 SliderInt.value 时要向 SliderInt.value 添加或删除的值。

这被强制转换为 int。

继承的UXML属性

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

名字 类型 描述
binding-path string 要绑定的目标属性的路径。
direction UIElements.SliderDirection 这是包含滑块方向的实际属性。
fill boolean 启用填充以设置滑块的颜色和形状。
focusable boolean 如果为 false,则不会聚焦元素。

只有当元素的 canGrabFocus 属性为 true 时,才能聚焦该元素。
high-value int 这是滑块编码的最大值。
inverted boolean 这指示此滑块是否反转。对于倒置水平滑块,高值位于左侧,低值位于右侧 对于倒置垂直滑块,高值位于底部,低值位于顶部。
label string 表示将显示在字段旁边的标签的字符串。如果字符串为空,则标签元素将从层次结构中删除。如果字符串不为空,则标签元素将添加到层次结构中。
low-value int 这是滑块编码的最小值。
page-size float 表示在滚动滑块时应应用于计算的滚动偏移量的值,例如在轨道内单击或单击滑块箭头时。
show-input-field boolean 滑块控件内可选字段的可见性。

将此属性设置为 true 以显示数字文本字段,该字段提供另一种编辑滑块值的方法。
tabindex int 用于对焦点环中的可聚焦元素进行排序的整数。必须大于或等于零。

设置
tabIndex值小于0(例如,−1) 从焦点环和选项卡导航中删除元素。
value int 滑块的实际值。

此元素还继承了以下属性VisualElement:

名字 类型 描述
content-container string 添加子元素的逻辑容器。如果将子项添加到此元素,则该子项将改为添加到此元素的内容容器中。

迭代
VisualElement.Children元素的,则使用元素的内容容器层次结构而不是元素本身。这可能会导致意外结果,例如,如果元素不直接位于内容容器的层次结构中,则导航事件会忽略元素。指IFocusRing了解更多信息。

如果内容容器与元素本身相同,则子元素将直接添加到元素中。对于大多数元素来说都是如此,但可以被更复杂的类型覆盖。

ScrollView例如,具有与自身不同的内容容器。在这种情况下,添加到滚动视图的子元素将改为添加到其内容容器元素中。虽然物理父级 (VisualElement.Hierarchy.parent) 是滚动视图的内容容器元素,它们的逻辑父元素 (VisualElement.parent) 仍然引用滚动视图本身。由于滚动视图的一些可聚焦子项不是其逻辑层次结构的一部分,例如Scroller元素,在使用顺序导航时,默认情况下不考虑这些可聚焦的子项。如果默认导航规则与您的需求不符,请参阅如何更改接下来关注的元素,了解解决方法解决方案的示例。
data-source Object 将数据源分配给此 VisualElement,该 VisualElement 将替代任何继承的数据源。此数据源由所有子级继承。
data-source-path string 从数据源到值的路径。
data-source-type System.Type 可分配给此 VisualElement 的可能数据源类型。
当设计时无法指定有效数据源时,UI 生成器仅将
此信息用作提示,以对数据源路径字段进行一些补全。
enabled boolean 如果VisualElement在本地启用。
如果 VisualElement 的父级之一隐式禁用,则
不会更改此标志。要验证这一点,请使用
enabledInHierarchy.
language-direction UIElements.LanguageDirection 指示元素文本的方向性。该值将传播到元素的子项。

设置
languageDirectionRTL只能获得文本反转等基本的 RTL 支持。要获得更全面的 RTL 支持,例如换行、自动换行或文本整形,您必须启用高级文本生成器
name string 此 VisualElement 的名称。

使用此属性可以编写面向特定元素的 USS 选择器。标准做法是为元素指定一个唯一的名称。
picking-mode UIElements.PickingMode 确定此元素是可以作为指针事件的目标还是由IPanel.Pick查询。

如果出现以下情况,则无法拾取元素:

- 它们不可见- 它们的
style.display设置为DisplayStyle.None

拾取模式为PickingMode.Ignore永远不要接收悬停伪状态。
style string VisualElement.
返回
的样式数据是根据 USS 文件或在 C# 中写入此对象的内联样式计算得出的,不表示完全解析的样式,例如 VisualElement 的最终高度和宽度。要访问这些完全解析的样式,请使用
resolvedStyle.



有关如何使用此属性和所有受支持的 USS 属性的信息,请参阅在 C# 脚本中应用样式USS 属性参考手册页。
tooltip string 用户将鼠标悬停在元素上一小段时间后,要在信息框内显示的文本。这仅在编辑器UI中受支持。
usage-hints UIElements.UsageHints 提示值的组合,用于指定VisualElement.只有当VisualElement还不是Panel.曾经是Panel,则此属性实际上变为只读,尝试更改它将引发异常。适当的规范UsageHints驱动系统根据预期的使用模式就如何处理或加速某些作做出更好的决策。请注意,这些提示不会影响行为或视觉结果,而只会影响面板和其中元素的整体性能。建议始终考虑指定适当的UsageHints,但请记住,某些UsageHints在某些情况下(例如,由于目标平台上的硬件限制),可能会在内部忽略。
view-data-key string 用于视图数据持久性,例如树展开状态、滚动位置或缩放级别。

此键用于从视图数据存储中保存和加载视图数据。如果未设置此键,则会禁用关联的持久性
VisualElement.有关更多信息,请参阅 Unity 手册中的查看数据持久性

USS 级

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

C# 属性 USS 选择器 描述
ussClassName .unity-slider-int 此类元素的 USS 级名称。
labelUssClassName .unity-slider-int__label USS 此类元素中标签的名称。
inputUssClassName .unity-slider-int__input 此类元素中输入元素的 USS 类名称。
ussClassName .unity-base-slider 此类元素的 USS 级名称。
labelUssClassName .unity-base-slider__label USS 此类元素中标签的名称。
inputUssClassName .unity-base-slider__input 此类元素中输入元素的 USS 类名称。
horizontalVariantUssClassName .unity-base-slider--horizontal USS 此类元素的类名称,当它们水平显示时。
verticalVariantUssClassName .unity-base-slider--vertical USS 此类元素的名称,当它们垂直显示时。
dragContainerUssClassName .unity-base-slider__drag-container USS 此类元素中容器元素的类名称。
trackerUssClassName .unity-base-slider__tracker 此类元素中跟踪器元素的 USS 类名称。
draggerUssClassName .unity-base-slider__dragger 此类元素中拖动器元素的 USS 类名称。
draggerBorderUssClassName .unity-base-slider__dragger-border 此类元素中拖动器边界元素的 USS 类名称。
fillUssClassName .unity-base-slider__fill 此类型元素中填充元素的 USS 类名称。
movableUssClassName .unity-base-slider--movable 拖动器上的 USS 级名称,表示它当前由NavigationMoveEvent.当滑块检测到与滑块方向对齐的移动事件时,它会调整滑块的值。如果检测到导航提交事件,则会删除样式,从而导致所有导航事件恢复为默认行为。第二个导航提交事件将样式重新应用于拖动器,并恢复以前的自定义行为。
ussClassName .unity-base-field 此类元素的 USS 级名称。
labelUssClassName .unity-base-field__label USS 此类元素中标签的名称。
inputUssClassName .unity-base-field__input 此类元素中输入元素的 USS 类名称。
noLabelVariantUssClassName .unity-base-field--no-label 当没有标签时,这种类型的元素的 USS 类名称。
labelDraggerVariantUssClassName .unity-base-field__label--with-dragger USS 类名称 标签的此类元素,当它们上附加了拖动器时。
mixedValueLabelUssClassName .unity-base-field__label--mixed-value 显示混合值的元素的 USS 级名称
alignedFieldUssClassName .unity-base-field__aligned 在检查器元素中对齐的元素的 USS 类名称
disabledUssClassName .unity-disabled 本地禁用元素的 USS 级名称。

您还可以使用 Inspector 或 UI Toolkit Debugger 中的 Matching Selectors 部分来查看哪些 USS 选择器会影响VisualElement在其层次结构的各个层面。

其他资源

滑 块
标签