You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.4 KiB
61 lines
1.4 KiB
local function group_example()
|
|
local g = lvgl.group.create()
|
|
g:set_default()
|
|
|
|
-- for demo purpose, set all indev to use this group
|
|
local indev = nil
|
|
while true do
|
|
indev = lvgl.indev.get_next(indev)
|
|
if not indev then break end
|
|
|
|
local t = indev:get_type()
|
|
if t == 2 or t == 4 then
|
|
indev:set_group(g)
|
|
end
|
|
end
|
|
|
|
local style = lvgl.Style({
|
|
border_width = 5,
|
|
border_color = "#a00",
|
|
})
|
|
|
|
local root = lvgl.Object(nil, {
|
|
w = lvgl.PCT(100),
|
|
h = lvgl.PCT(100),
|
|
align = lvgl.ALIGN.CENTER,
|
|
bg_color = "#aaa",
|
|
flex = {
|
|
flex_direction = "row",
|
|
flex_wrap = "wrap"
|
|
}
|
|
})
|
|
|
|
root:add_style(style, lvgl.STATE.FOCUSED)
|
|
|
|
for _ = 1, 5 do
|
|
local obj = root:Object({
|
|
w = lvgl.PCT(50),
|
|
h = lvgl.PCT(50),
|
|
bg_color = "#555",
|
|
})
|
|
|
|
obj:add_style(style, lvgl.STATE.FOCUSED)
|
|
|
|
obj:onClicked(function(obj, code)
|
|
print("clicked: ", obj)
|
|
end)
|
|
|
|
obj:onevent(lvgl.EVENT.FOCUSED, function(obj, code)
|
|
print("focused: ", obj)
|
|
obj:scroll_to_view(true)
|
|
end)
|
|
|
|
obj:onevent(lvgl.EVENT.DEFOCUSED, function(obj, code)
|
|
print("defocused: ", obj)
|
|
end)
|
|
|
|
g:add_obj(obj)
|
|
end
|
|
end
|
|
|
|
group_example()
|
|
|