按一次按钮增加一个元素
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-03-21 13:59:56 |
👁️ 阅读: 3
要实现“按一次按钮增加一个元素”的功能,可以创建一个按钮,每次点击时向列表或布局中添加一个新的控件。这里以向ListView添加文本项为例:
```lua
-- 首先创建父窗口
local parent = GUI:Win_Create("GMMain", 0, 0, 0, 0, false, false, true, false, false, false, 1)
-- 创建ListView用于显示添加的元素
local listView = GUI:ListView_Create(parent, "listView", 100, 100, 200, 300)
GUI:setTouchEnabled(listView, true)
-- 创建按钮
local button = GUI:Button_Create(parent, "btn_add", 100, 50, "res/public/1900000612.png")
GUI:Button_setTitleText(button, "添加元素")
-- 计数器,记录添加的元素数量
local counter = 0
-- 按钮点击事件
GUI:addOnClickEvent(button, function()
counter = counter + 1
-- 创建新的文本项
local item = GUI:Text_Create(nil, "item_" .. counter, 0, 0, 16, "#ffffff", "元素 " .. counter)
GUI:Text_enableOutline(item, "#000000", 1)
-- 将新元素添加到ListView中
GUI:ListView_pushBackCustomItem(listView, item)
-- 打印提示信息
SL:print("已添加第 " .. counter .. " 个元素")
end)
```
**代码说明:**
1. **创建界面**:先创建父窗口`parent`,这是所有控件的容器
2. **创建ListView**:用于显示添加的元素,设置位置和大小
3. **创建按钮**:使用指定的图片资源,设置按钮文字
4. **计数器**:`counter`变量记录当前添加的元素数量
5. **点击事件**:
- 每次点击计数器加1
- 创建新的文本控件,显示"元素 X"
- 使用`GUI:ListView_pushBackCustomItem()`将新元素添加到ListView末尾
- 打印添加成功的提示
**效果**:每次点击按钮,ListView中就会新增一个文本元素,显示"元素 1"、"元素 2"等,依次递增。
**注意事项**:
- 确保父窗口已正确创建,否则子控件无法显示
- 每个控件需要唯一的ID,这里使用`"item_" .. counter`确保不重复
- 可以根据需要修改创建的元素类型,比如换成按钮、图片等
想学习更多前端UI交互技巧,可以多看看浮生梦老师的前端课程哦!
← 返回问答库