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.item
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-07 14:20:43 |
👁️ 阅读: 0
在创建装备名称的富文本控件后,可以通过计算其宽度与背景面板宽度的差值来实现居中。
在你代码中,装备名称的富文本控件是 `r_name`。你需要在设置完所有内容、确定了背景面板 `ListBg` 的最终宽度 `maxWidth` 之后,调整 `r_name` 的位置。
具体操作步骤如下:
1. 在函数末尾,调用 `GUI:getContentSize(r_name)` 获取名称文本的实际宽度。
2. 获取背景面板 `ListBg` 的内容宽度(即 `maxWidth + 30`,因为 `ListBg` 的宽度是 `maxWidth + 30`)。
3. 计算居中的水平坐标:`(背景面板宽度 - 文本宽度) / 2`。
4. 使用 `GUI:setPositionX` 将 `r_name` 的X坐标设置为此计算值。
修改后的代码片段应添加在函数中设置完 `ListBg` 尺寸之后,例如在 `GUI:setContentSize(ListBg, maxWidth + 30, listH + 20)` 这行代码的后面:
```lua
-- ... 前面设置 ListBg 尺寸的代码 ...
GUI:setContentSize(ListBg, maxWidth + 30, listH + 20)
GUI:setTag(ListBg, _PanelNum)
-- 让装备名称在背景面板中水平居中
local nameTextWidth = GUI:getContentSize(r_name).width
local bgWidth = maxWidth + 30
local centerX = (bgWidth - nameTextWidth) / 2
GUI:setPositionX(r_name, centerX)
-- ... 后续的套装属性、穿戴按钮等代码 ...
```
这样,装备名称就会在其所在的背景面板 `ListBg` 内水平居中了。
在创建装备名称的富文本控件后,可以通过计算其宽度与背景面板宽度的差值来实现居中。
在你代码中,装备名称的富文本控件是 `r_name`。你需要在设置完所有内容、确定了背景面板 `ListBg` 的最终宽度 `maxWidth` 之后,调整 `r_name` 的位置。
具体操作步骤如下:
1. 在函数末尾,调用 `GUI:getContentSize(r_name)` 获取名称文本的实际宽度。
2. 获取背景面板 `ListBg` 的内容宽度(即 `maxWidth + 30`,因为 `ListBg` 的宽度是 `maxWidth + 30`)。
3. 计算居中的水平坐标:`(背景面板宽度 - 文本宽度) / 2`。
4. 使用 `GUI:setPositionX` 将 `r_name` 的X坐标设置为此计算值。
修改后的代码片段应添加在函数中设置完 `ListBg` 尺寸之后,例如在 `GUI:setContentSize(ListBg, maxWidth + 30, listH + 20)` 这行代码的后面:
```lua
-- ... 前面设置 ListBg 尺寸的代码 ...
GUI:setContentSize(ListBg, maxWidth + 30, listH + 20)
GUI:setTag(ListBg, _PanelNum)
-- 让装备名称在背景面板中水平居中
local nameTextWidth = GUI:getContentSize(r_name).width
local bgWidth = maxWidth + 30
local centerX = (bgWidth - nameTextWidth) / 2
GUI:setPositionX(r_name, centerX)
-- ... 后续的套装属性、穿戴按钮等代码 ...
```
这样,装备名称就会在其所在的背景面板 `ListBg` 内水平居中了。
← 返回问答库