合宙Air724UG LuatOS-Air LVGL API控件-开关 (Switch)

开关 (Switch)

合宙Air724UG LuatOS-Air LVGL API控件-开关 (Switch)_第1张图片

示例代码

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)

合宙Air724UG LuatOS-Air LVGL API控件-开关 (Switch)_第2张图片

状态

开关最重要的就是状态设置以及获取了,状态设置主要是通过三个函数设置的,分别是:

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)

合宙Air724UG LuatOS-Air LVGL API控件-开关 (Switch)_第3张图片

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 指向开关对象的指针

你可能感兴趣的:(AIR724软件,Air724UG)