开关 (Switch)
示例代码
function event_handler(obj, event)
if event == lvgl.EVENT_VALUE_CHANGED then
print("State", lvgl.switch_get_state(obj))
end
end
sw1 = lvgl.switch_create(lvgl.scr_act(), nil)
lvgl.obj_align(sw1, nil, lvgl.ALIGN_CENTER, 0, -50)
lvgl.obj_set_event_cb(sw1, event_handler)
sw2 = lvgl.switch_create(lvgl.scr_act(), sw1)
lvgl.switch_on(sw2, lvgl.ANIM_ON)
lvgl.obj_align(sw2, nil, lvgl.ALIGN_CENTER, 0, 50)
创建
开关的创建函数是 lvgl.switch_create
lvgl.switch_create(lvgl.scr_act(), nil)
状态
开关最重要的就是状态设置以及获取了,状态设置主要是通过三个函数设置的,分别是:
lvgl.switch_on -- 打开
lvgl.switch_off -- 关闭
lvgl.switch_toggle -- 切换
切换就是将开关设置为相反的状态,这三个函数设置状态时都可以选择是否显示动画。
状态获取函数就是 lvgl.switch_get_state
了,通过返回 true
false
来告知用户当前的状态。
lvgl.switch_get_state(sw)
事件
开关最常用的事件毫无疑问就是 lvgl.EVENT_VALUE_CHANGED
了。
function event_handler(obj, event)
if event == lvgl.EVENT_VALUE_CHANGED then
print("State", lvgl.switch_get_state(obj))
end
end
lvgl.obj_set_event_cb(sw, event_handler)
API
lvgl.switch_create
调用 |
lvgl.switch_create(par, copy) |
功能 |
创建一个开关对象 |
返回 |
指向创建的开关的指针 |
参数 |
|
par |
指向对象的指针, 它将是新键对象的父对象 |
copy |
指向开关对象的指针, 如果不为 nil, 则将从其复制新对象 |
lvgl.switch_on
调用 |
lvgl.switch_on(sw, anim) |
功能 |
打开开关 |
参数 |
|
sw |
指向微调框对象的指针 |
anim |
lvgl.ANIM_ON 用动画设置值。lvgl.ANIM_OFF 立即更改值 |
lvgl.switch_off
调用 |
lvgl.switch_off(sw, anim) |
功能 |
关闭开关 |
参数 |
|
sw |
指向微调框对象的指针 |
anim |
lvgl.ANIM_ON 用动画设置值。lvgl.ANIM_OFF 立即更改值 |
lvgl.switch_toggle
调用 |
lvgl.switch_toggle(sw, anim) |
功能 |
切换开关 |
参数 |
|
sw |
指向微调框对象的指针 |
anim |
lvgl.ANIM_ON 用动画设置值。lvgl.ANIM_OFF 立即更改值 |
lvgl.switch_set_anim_time
调用 |
lvgl.switch_set_anim_time(sw, anim_time) |
功能 |
设置开关的动画时间 |
参数 |
|
sw |
指向滑动条对象的指针 |
anim_time |
动画时间(以毫秒为单位)。 |
lvgl.switch_get_anim_time
调用 |
lvgl.switch_get_anim_time(sw) |
功能 |
获取开关设置的动画时间 |
返回 |
开关的动画时间 |
参数 |
|
sw |
指向开关对象的指针 |
lvgl.switch_get_state
调用 |
lvgl.switch_get_state(sw) |
功能 |
获取开关的状态 |
返回 |
开关的状态 |
参数 |
|
sw |
指向开关对象的指针 |