本帖最后由 qiaohw04 于 2021-9-2 14:29 编辑
- local UIS = {
- {
- type="textview",
- name="update",
- val="",
- textsize=10,
- textcolor="#FF80FF00"
- },
- {
- {
- type="textview",
- name="kamil",
- val="卡密",
- textsize=10,
- },
- {
- type="edittext",
- name="kami",
- val="输入卡密",
- textsize=10,
- },
- },
- }
复制代码
如上是UI的数据, 然后自己写一个解析这些数据的函数:- function loadUI(UI)
- if UI.type=="edittext" then
- ui.addEditText("layout1",UI.name,UI.val)
- ui.setTextSize(UI.name,UI.textsize)
- elseif UI.type=="spinner" then
- ui.addSpinner("layout1",UI.name,UI.val,UI.sel)
- ui.setTextSize(UI.name,UI.textsize)
- elseif UI.type=="textview" then
- ui.addTextView("layout1",UI.name,UI.val)
- ui.setTextSize(UI.name,UI.textsize)
- if UI.textcolor then ui.setTextColor(UI.name,UI.textcolor) end
- if UI.bg then ui.setBackground(UI.name,UI.bg) end
- elseif UI.type=="line" then
- ui.addLine("layout1",UI.name,-1,2)
- if UI.bg then ui.setBackground(UI.name,UI.bg) end
- elseif UI.type=="checkbox" then
- ui.addCheckBox("layout1",UI.name,UI.text)
- ui.setTextSize(UI.name,UI.textsize)
- if UI.textcolor then ui.setTextColor(UI.name,UI.textcolor) end
- end
- end
复制代码 完整的使用方法如下:
- ui.newLayout("layout1")
- ui.setTitleText("layout1","测试UI")
- ui.setTitleBackground("layout1","#FF8B8174")
- for i=1,#UIS do
- local UI = UIS[i]
- if UI.type then
- loadUI(UI)
- else
- for j=1,#(UI) do
- loadUI(UI[j])
- end
- end
-
- ui.newRow("layout1","row")
- end
复制代码
这样封装的一个好处也就是不需要写大量的UI方法, 但是UI得按指定的格式自己准备, 好像也是比较麻烦的. 有得必有失吧 |