屏幕上方图标
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-06-02 15:08:41 |
👁️ 阅读: 3
要在屏幕上方创建图标,可以参考以下代码示例:
```lua
-- 创建父节点
local parent = GUI:Attach_MainTop()
GUI:LoadExport(parent, "main/main_top")
local ui = GUI:ui_delegate(parent)
-- 获取屏幕尺寸
local screenW = SL:GetMetaValue("SCREEN_WIDTH")
local screenH = SL:GetMetaValue("SCREEN_HEIGHT")
-- 创建网络标识图标
local Image_net = ui["Image_net"] or GUI:Image_Create(parent, "Image_net", screenW - 50, 30, "res/private/main/Other/1900000610.png")
GUI:setAnchorPoint(Image_net, 0.5, 0.5)
-- 设置图标点击事件
GUI:setTouchEnabled(Image_net, true)
GUI:addOnClickEvent(Image_net, function()
SL:print("网络图标被点击了!")
-- 可以在这里添加其他功能,比如打开充值界面
-- GUI:Win_Open("充值")
end)
-- 更新网络类型图标
local function updateNetType()
local netType = SL:GetMetaValue("NET_TYPE")
-- -1:未识别 0:wifi 1:蜂窝
if netType == 0 then
GUI:Image_loadTexture(Image_net, "res/private/main/Other/1900012501.png")
else
GUI:Image_loadTexture(Image_net, "res/private/main/Other/1900012500.png")
end
end
-- 注册网络变化事件
SL:RegisterLUAEvent(LUA_EVENT_NETCHANGE, "MainTop", updateNetType)
updateNetType()
-- 创建电量图标
local LoadingBar_battery = ui["LoadingBar_battery"] or GUI:LoadingBar_Create(parent, "LoadingBar_battery", screenW - 80, 30, 30, 10)
local function updateBattery()
local percent = SL:GetMetaValue("BATTERY")
GUI:LoadingBar_setPercent(LoadingBar_battery, percent)
end
SL:RegisterLUAEvent(LUA_EVENT_BATTERYCHANGE, "MainTop", updateBattery)
updateBattery()
-- 创建自定义按钮图标
local button = GUI:Button_Create(parent, "btn_custom", screenW - 110, 30, "res/public/1900000612.png")
GUI:Button_setTitleText(button, "功能")
GUI:addOnClickEvent(button, function()
SL:print("自定义按钮被点击!")
end)
```
这个代码会在屏幕上方创建几个常见的图标:
1. **网络状态图标**:显示当前网络类型(WIFI或蜂窝)
2. **电量显示**:显示设备电量百分比
3. **自定义功能按钮**:使用你指定的图片作为按钮背景
关键函数说明:
- `GUI:Attach_MainTop()` - 获取主界面顶部父节点
- `GUI:Image_Create()` - 创建图片控件
- `GUI:Image_loadTexture()` - 加载/更换图片纹理
- `GUI:Button_Create()` - 创建按钮
- `SL:GetMetaValue()` - 获取系统信息(屏幕尺寸、网络类型、电量等)
- `SL:RegisterLUAEvent()` - 注册事件监听
图标位置会自动根据屏幕宽度进行适配,确保在不同设备上都能正确显示。
← 返回问答库