合宙Air724UG LuatOS-Air LVGL API控件--复选框 (Checkbox)

复选框 (Checkbox)

复选框主要是让用户进行一些内容选择,或者同意用户协议。

示例代码

-- 复选框回调函数

function event_handler(obj, event)

if event == lvgl.EVENT_VALUE_CHANGED then

print("State", lvgl.checkbox_is_checked(obj))

end

end

-- 创建复选框

cb = lvgl.checkbox_create(lvgl.scr_act(), nil)

-- 设置标签

lvgl.checkbox_set_text(cb, "I agree to terms and conditions.")

-- 设置居中位置

lvgl.obj_align(cb, nil, lvgl.ALIGN_CENTER, 0, 0)

-- 设置回调函数

lvgl.obj_set_event_cb(cb, event_handler)

创建

通过 lvgl.checkbox_create 函数可以创建一个复选框控件。与按钮不同的是,这里文字属于复选框的一部分,不需要额外创建标签来显示文字,因为复选框本身就是按钮和标签组合而成的。

cb = lvgl.checkbox_create(lvgl.scr_act(), nil)

使用

复选框主要是让用户进行一些内容选择,或者同意用户协议。文本内容是通过 lvgl.checkbox_set_text 设置的。

lvgl.checkbox_set_text(cb, "I agree to terms and conditions.")

状态

复选框控件同按钮一样,可以通过设置风格改变状态,有关风格样式的说明可以参考 样式 章节,复选框可以设置的状态也有6种:

lvgl.BTN_STATE_RELEASED -- 正常

lvgl.BTN_STATE_PRESSED -- 按下

lvgl.BTN_STATE_DISABLED -- 禁用

lvgl.BTN_STATE_CHECKED_RELEASED -- 切换按钮 释放

lvgl.BTN_STATE_CHECKED_PRESSED -- 切换按钮 按下

lvgl.BTN_STATE_CHECKED_DISABLED -- 切换按钮 禁用

我们可以遍历打印一下所有状态

function addBtn(y, s)

local cb = lvgl.checkbox_create(lvgl.scr_act(), nil)

lvgl.obj_align(cb, nil, lvgl.ALIGN_CENTER, 0, y)

lvgl.checkbox_set_text(cb, s)

lvgl.checkbox_set_state(cb, lvgl[s])

end

addBtn(-100, "BTN_STATE_RELEASED") -- 正常

addBtn(-50 , "BTN_STATE_PRESSED") -- 按下

addBtn(0 , "BTN_STATE_DISABLED") -- 禁用

addBtn(50 , "BTN_STATE_CHECKED_RELEASED") -- 切换按钮 释放

addBtn(100 , "BTN_STATE_CHECKED_PRESSED") -- 切换按钮 按下

addBtn(150 , "BTN_STATE_CHECKED_DISABLED") -- 切换按钮 禁用

事件

复选框获取事件消息一般不是靠点击事件(虽然也可以响应),而是靠 lvgl.EVENT_VALUE_CHANGED 消息。

-- 复选框回调函数

function event_handler(obj, event)

if event == lvgl.EVENT_VALUE_CHANGED then

print("State", lvgl.checkbox_is_checked(obj))

end

end

lvgl.obj_set_event_cb(cb, event_handler)

API

lvgl.checkbox_create

调用 lvgl.checkbox_create(par, copy)

功能 创建一个复选框对象

返回 指向新复选框的指针

参数

par 指向对象的指针, 它将是新复选框的父对象

copy 指向复选框对象的指针, 如果不为 nil, 则将从其复制新对象

lvgl.checkbox_set_text

调用 lvgl.checkbox_set_text(cb, txt)

功能 设置复选框的文本。

参数

cb 指向复选框的指针。

txt 复选框的文本。

lvgl.checkbox_set_checked

调用 lvgl.checkbox_set_checked(cb, checked)

功能 设置复选框的状态

参数

cb 指向复选框对象的指针

checked true:选中 false:未选中

lvgl.checkbox_set_disabled

调用 lvgl.checkbox_set_disabled(cb)

功能 使复选框处于非活动状态(禁用)

参数

cb 指向复选框对象的指针

lvgl.checkbox_set_state

调用 lvgl.checkbox_set_state(cb, state)

功能 设置复选框的状态

参数

cb 指向复选框对象的指针

state 复选框的新状态

lvgl.checkbox_get_text

调用 lvgl.checkbox_get_text(cb)

功能 获取复选框的文本

返回 指向复选框文本的指针

参数

cb 指向复选框对象的指针

lvgl.checkbox_is_checked

调用 lvgl.checkbox_is_checked(cb)

功能 获取复选框的当前状态

返回 true:选中;false:未选中

参数

cb 指向复选框对象的指针

lvgl.checkbox_is_inactive

调用 lvgl.checkbox_is_inactive(cb)

功能 获取复选框是否处于非活动状态。

返回 true:是 false:否

参数

cb 指向复选框对象的指针

lvgl.checkbox_get_state

调用 lvgl.checkbox_get_state(cb)

功能 获取复选框的当前状态

返回 复选框的状态

参数

cb 指向复选框对象的指针

相关推荐
l5317981511 年前
合宙Air724UG LuatOS-Air lvgl字库
air724ug
l5317981511 年前
合宙Air724UG LuatOS-Air LVGL API控件-截屏(Screenshots)
air724ug
l5317981511 年前
合宙Air724UG LuatOS-Air LVGL API控件-图片(Gif)
air724ug
l5317981511 年前
合宙Air724UG LuatOS-Air LVGL API控件-二维码(Qrcode)
air724ug
l5317981511 年前
合宙Air724UG LuatOS-Air LVGL API控件-标签 (Label)
air724ug
l5317981511 年前
合宙Air724UG LuatOS-Air LVGL API控件-窗口 (Window)
air724ug
l5317981511 年前
合宙Air724UG LuatOS-Air LVGL API控件-图片 (Image)
air724ug
l5317981511 年前
合宙Air724UG LuatOS-Air LVGL API控件-表格(Table)
air724ug
l5317981511 年前
合宙Air724UG LuatOS-Air LVGL API控件-开关 (Switch)
air724ug
l5317981511 年前
合宙Air724UG LuatOS-Air LVGL API控件-页面 (Page)
air724ug