SlideListView 配置项说明文档

概述

SlideListView是一个可左右/上下滑动的定宽/高列表组件,支持从dataDict字典中读取配置项进行初始化设置。本文档详细说明了所有支持的配置项及其格式和含义。

配置项列表

1. scroll-direction(滚动方向)

  • 键名: scroll-direction
  • 格式: 字符串
  • 可选值:
    • Vertical - 垂直滚动
    • Horizontal - 水平滚动
    • VerticalAndHorizontal - 垂直和水平滚动
  • 默认值: Vertical
  • 说明: 设置列表的滚动方向。该值不区分大小写,会被自动转换为枚举值。

2. item-size(项目尺寸)

  • 键名: item-size
  • 格式: 整数
  • 单位: 像素
  • 说明: 设置列表项的固定尺寸。垂直滚动时表示高度,水平滚动时表示宽度。
  • 示例: "40" 表示每个列表项高度/宽度为40像素

3. capacity(容量)

  • 键名: capacity
  • 格式: 整数
  • 默认值: 1
  • 说明: 设置每行/每列可容纳的列表项数量。例如,当设置为3时,每行将显示3个列表项。

4. v-slidable(垂直滑动)

  • 键名: v-slidable
  • 格式: 布尔值(字符串形式)
  • 可选值:
    • "true" - 启用垂直滑动
    • "false" - 禁用垂直滑动
  • 默认值: true
  • 说明: 控制是否允许垂直方向的滑动操作。

5. h-slidable(水平滑动)

  • 键名: h-slidable
  • 格式: 布尔值(字符串形式)
  • 可选值:
    • "true" - 启用水平滑动
    • "false" - 禁用水平滑动
  • 默认值: false
  • 说明: 控制是否允许水平方向的滑动操作。

6. scroller-size(滚动条尺寸)

  • 键名: scroller-size
  • 格式: 整数
  • 单位: 像素
  • 默认值: 24
  • 说明: 设置滚动条的宽度(垂直滚动条)或高度(水平滚动条)。
  • 示例: "16" 表示滚动条宽度/高度为16像素

7. dragger-icon(拖拽图标)

  • 键名: dragger-icon
  • 格式: 字符串(资源路径)
  • 说明: 设置滚动条拖拽按钮的图标路径。该路径指向一个纹理资源,将被同时应用于垂直和水平滚动条的拖拽按钮。
  • 示例: "UI/Icons/scrollbar_dragger" 表示使用指定路径的纹理作为拖拽按钮图标

8. elasticity(弹性比例)

  • 键名: elasticity
  • 格式: 字符串(两个浮点数,以空格分隔)
  • 说明: 设置滚动视图的弹性比例,用于控制滚动超出边界时的回弹效果。第一个值表示水平方向的弹性比例,第二个值表示垂直方向的弹性比例。
  • 示例: "0.1 0.2" 表示水平方向弹性比例为0.1,垂直方向弹性比例为0.2

使用示例

XML配置示例

<SlideListView name="SkillList" scroller-size="50" elasticity="0 0.1" item-size="63" onLoad="加载脚本" style="left: 18px; top: 88px; width: 311px; height: 373px;"> 
  <VisualElement name="SkillListItem" class="list-item-template" style="width: 310px; height: 63px; font-size: 16px;"> 
    <VisualElement name="SkillIcon" style="left: 5px; top: 5px; width: 54px; height: 54px;" /> 
    <Label name="SkillName" style="left: 77px; top: 2px; width: 85px; height: 29px;" onClick="lua.go();" /> 
    <Label name="SkillLevel" style="left: 201px; top: 2px; width: 100px; height: 29px;" /> 
    <Label name="SkillExp" style="left: 123px; top: 34px; width: 100px; height: 29px;" /> 
    <VisualElement name="LevelIcon" style="left: 174px; top: 10px; width: 21px; height: 13px; background-image: Share/Img/DefaultUI/CharStat/State_00208.png;" /> 
    <VisualElement name="ExpIcon" style="left: 88px; top: 41px; width: 30px; height: 17px; background-image: Share/Img/DefaultUI/CharStat/State_00203.png;" /> 
  </VisualElement> 
</SlideListView>

注意事项

  1. 所有配置项都是可选的,未提供的配置将使用默认值。
  2. 布尔值配置项需要以字符串形式提供(”true”/“false”)。
  3. 数值配置项需要以字符串形式提供,系统会自动进行类型转换。
  4. 如果提供了无效的配置值,系统将忽略该配置项并使用默认值。
  5. dragger-icon路径指向的资源需要通过ResourceManager加载,确保资源路径正确且资源存在。
  6. elasticity配置项需要提供两个浮点数,以空格分隔,分别表示水平和垂直方向的弹性比例。如果只提供一个值,将不会应用该配置。
  7. onLoad配置项需要提供一个字符串,用于指定加载完成后的回调函数。如果未提供该配置项,将不会触发任何回调函数。建议在onLoad回调函数中通过LuaInterface.SetListViewBinder(SlideListView ve, Action<VisualElement, int> method)方法和LuaInterface.SetListViewUnbinder(SlideListView ve, Action<VisualElement, int> method)方法设置列表项的绑定器,以确保数据正确显示。前者会在列表的显示区域中出现新元素时被调用,后者会在元素从列表显示区域中移除时调用。
  8. 需设置列表的ItemCount属性指定列表中存在的元素数量。
  9. 触发动作包含
    点击 onclick
    双击 ondbclick
    长按 onlongpress
    加载 onload
    清除 onunload
    显示 onshow
    隐藏 onhide
  10. picking-mode: Ignore; 禁止点击

LuaInterface.SetListViewBinder(ve,abc)

function abc(ve,i)
local skillName = ve:Find(“SkillIcon Label”)
skillName:SetStyle(“技能名称”,”烈火剑法”)
end

–lua.go()
function go()
local SkillName = target:GetData(“技能名称”)
print(SkillName);
end

作者:yilin01  创建时间:2025-11-26 16:03
最后编辑:yilin01  更新时间:2025-12-08 16:51