主题
EUIListView
EUIListView 是可滚动的界面列表容器,用于承载按顺序排列的子节点并统一管理列表的滚动、回弹与裁切表现。它通过 BackgroundImage、BackgroundOpacity、ClippingEnabled、BounceEnab...
概览
EUIListView 是可滚动的界面列表容器,用于承载按顺序排列的子节点并统一管理列表的滚动、回弹与裁切表现。它通过 BackgroundImage、BackgroundOpacity、ClippingEnabled、BounceEnabled 控制外观与裁切回弹行为,通过 ItemsMargin、ScrollDirection、ListviewGravity、ScrollEnabled 决定条目间距、滚动方向、对齐方式以及是否允许滑动。借助 ScrollToPercent、ScrollToItem 与 GetScrollPercent,可以在运行时按比例或按指定子项定位列表,并查询当前滚动进度。
继承自
EUINodeBase;可通过World:CreateUnit("EUIListView", ...)创建;返回单个单位
函数
ScrollToPercent
签名:ScrollToPercent(percent: Float, time: Float, attenuated: Bool)
EUIListView 的函数,用于按比例滚动列表内容。参数为 percent(Float,滚动比例)、time(Float,滚动过程的时间)与 attenuated(Bool,控制滚动过程是否带衰减)。
| 参数 | 类型 | 说明 |
|---|---|---|
percent | Float | 目标百分比(0~100) |
time | Float | 滚动时长(秒) |
attenuated | Bool | 是否衰减 |
滚动到指定百分比位置
lua
-- @runtime client
local Players = game:GetService("Players")
local World = game:GetService("World")
local localPlayer = Players.LocalPlayer
if localPlayer == nil then return end
local rootNode = localPlayer.PlayerGui.EuiManager:GetRootNode()
local listView = World:CreateUnit("EUIListView", {
Parent = rootNode,
Position = Vector2.New(0, 0),
Size = Vector2.New(200, 300),
})
listView:ScrollToPercent(50, 0.3, true)ScrollToItem
签名:ScrollToItem(itemIndex: Int, time: Float)
EUIListView 的函数,用于将列表滚动到指定索引的列表项位置。参数为 itemIndex(Int,目标列表项的索引)与 time(Float,滚动过程的时间)。
| 参数 | 类型 | 说明 |
|---|---|---|
itemIndex | Int | 子项索引(从0开始) |
time | Float | 滚动时长(秒) |
滚动到指定子项
lua
-- @runtime client
local Players = game:GetService("Players")
local World = game:GetService("World")
local localPlayer = Players.LocalPlayer
if localPlayer == nil then return end
local rootNode = localPlayer.PlayerGui.EuiManager:GetRootNode()
local listView = World:CreateUnit("EUIListView", {
Parent = rootNode,
Position = Vector2.New(0, 0),
Size = Vector2.New(200, 300),
})
World:CreateUnit("EUIImage", {
Parent = listView,
Size = Vector2.New(180, 48),
Image = "official://image/10066",
})
-- itemIndex 从 0 开始;0 表示第一个子项
listView:ScrollToItem(0, 0.5)GetScrollPercent
签名:GetScrollPercent() -> Float
GetScrollPercent 是 EUIListView(滚动列表节点)提供的读取接口,用于获取该列表当前所处的滚动百分比位置。函数无入参,返回一个 Float 浮点数,取值含义为当前滚动进度(0~100)。
返回值 Float
属性
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
BackgroundOpacity | Float | 1.0 | EUIListView 的背景透明度属性,类型为 Float,默认值为 1.0。它用于控制列表控件背景的不透明程度。 |
BackgroundImage | String | "" | EUIListView 的背景图片属性,类型为 String,默认值为空字符串。它用于指定列表控件整体显示的背景图资源。 |
ClippingEnabled | Bool | true | EUIListView 的开启裁切属性,类型为 Bool,默认值为 true。它控制列表内容是否按列表自身区域进行裁剪。 |
BounceEnabled | Bool | true | EUIListView 的开启反弹属性,类型为 Bool,默认值为 true。它控制列表在滑动到边界时是否产生反弹效果。 |
ItemsMargin | Int | 0 | EUIListView 的列表边距属性,类型为 Int,默认值为 0。它用于设置列表项之间的间距。 |
ScrollDirection | EUIScrollDirection | 0 | EUIListView 的方向属性,类型为 EUIScrollDirection 枚举,默认值为 0。它用于指定列表的滚动方向。 |
ListviewGravity | EUIListviewGravity | Enums.EUIListviewGravity.Left | 列表项在列表容器中的对齐方式,使用 Enums.EUIListviewGravity 命名成员。 |
ScrollEnabled | Bool | true | EUIListView 的开启滑动属性,类型为 Bool,默认值为 true。它控制列表是否响应滑动操作。 |
