function ItemTips.CreateEquipPanel(data, itemData, isWear, panelInsertIndex)
if not data or not itemData then
return
end
if SL:GetMetaValue("WINPLAYMODE") then
isWear = false
end
ResetDescParam()
ItemTips.itemC
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-15 14:39:05 |
👁️ 阅读: 6
根据你提供的代码,在 `ItemTips.CreateEquipPanel` 函数中,自适应背景图的宽高是在函数末尾部分通过 `GUI:setContentSize` 设置的。
具体来说,在计算完所有内容的最大宽度 `maxWidth` 和内容高度 `innerH` 后,有以下关键步骤:
1. 首先根据 `maxWidth` 和 `innerH` 设置滚动视图 `scrollView` 的内部容器大小:
```lua
GUI:ScrollView_setInnerContainerSize(scrollView, maxWidth, innerH)
```
2. 然后根据 `maxWidth` 和限制后的高度 `listH` 设置 `scrollView` 自身的大小和位置:
```lua
GUI:setContentSize(scrollView, maxWidth, listH)
GUI:setPosition(scrollView, 15, 10)
```
3. 最后,**设置背景 `ListBg` 的宽高**,其宽度为 `maxWidth + 30`,高度为 `listH + 20`:
```lua
GUI:setContentSize(ListBg, maxWidth + 30, listH + 20)
```
因此,背景图 `ListBg` 的最终宽高是动态计算得出的,它会根据道具描述内容的总宽度 (`maxWidth`) 和经过限制后的内容显示高度 (`listH`) 来自适应调整,并额外增加了边距(宽+30,高+20)。
根据你提供的代码,在 `ItemTips.CreateEquipPanel` 函数中,自适应背景图的宽高是在函数末尾部分通过 `GUI:setContentSize` 设置的。
具体来说,在计算完所有内容的最大宽度 `maxWidth` 和内容高度 `innerH` 后,有以下关键步骤:
1. 首先根据 `maxWidth` 和 `innerH` 设置滚动视图 `scrollView` 的内部容器大小:
```lua
GUI:ScrollView_setInnerContainerSize(scrollView, maxWidth, innerH)
```
2. 然后根据 `maxWidth` 和限制后的高度 `listH` 设置 `scrollView` 自身的大小和位置:
```lua
GUI:setContentSize(scrollView, maxWidth, listH)
GUI:setPosition(scrollView, 15, 10)
```
3. 最后,**设置背景 `ListBg` 的宽高**,其宽度为 `maxWidth + 30`,高度为 `listH + 20`:
```lua
GUI:setContentSize(ListBg, maxWidth + 30, listH + 20)
```
因此,背景图 `ListBg` 的最终宽高是动态计算得出的,它会根据道具描述内容的总宽度 (`maxWidth`) 和经过限制后的内容显示高度 (`listH`) 来自适应调整,并额外增加了边距(宽+30,高+20)。
← 返回问答库