function SettingBasic.CreateClickCell(parent, data)
--
local Panel_Click = GUI:Layout_Create(parent, "Panel_Click_" .. data.id, 0, 1, 200, 40, false)
GUI:setTouchEnabled(Panel_Click, true)
-- 描述
local Text_desc = GUI:Text_Create(
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-07-02 14:23:24 |
👁️ 阅读: 5
这是一个创建设置界面中点击开关单元格的Lua函数。
**函数功能:**
创建用于设置界面的一个可点击的开关选项,用户点击可以切换开关状态。
**参数说明:**
- `parent`: 父节点容器,通常是ListView
- `data`: 配置数据,包含id、content(描述文字)、tips(提示信息)等
**主要组件:**
1. **Panel_Click**: 主容器,尺寸200x40,可触摸
2. **Text_desc**: 描述文字,显示设置项的名称
3. **CheckBox_able**: 开关容器,包含开关的UI元素
4. **Panel_1**: 关闭状态的UI(灰色背景+左侧圆点)
5. **Panel_2**: 开启状态的UI(蓝色背景+右侧圆点)
**核心逻辑:**
1. 从服务端获取当前开关状态:`SL:GetMetaValue("SETTING_ENABLED", data.id)`
2. 根据状态显示对应的UI(Panel_1或Panel_2)
3. 点击Panel_Click时,切换开关状态并更新服务端数据:`SL:SetMetaValue("SETTING_VALUE", data.id, ...)`
4. 如果有提示信息(tips),点击文字会显示悬浮提示
**数据存储:**
- 开关状态存储在服务端的"SETTING_VALUE"中
- 创建的面板会保存到`SettingBasic._clickItems`表中,方便后续管理
这个函数是设置界面中常见的开关选项实现,用于让用户控制各种游戏功能的开启/关闭。
← 返回问答库