进度条 (Bar)
Bar 是进度条,可以用来显示数值,加载进度。
示例代码
-- 创建进度条
bar = lvgl.bar_create(lvgl.scr_act(), nil)
-- 设置尺寸
lvgl.obj_set_size(bar, 200, 20);
-- 设置位置居中
lvgl.obj_align(bar, NULL, lvgl.ALIGN_CENTER, 0, 0)
-- 设置加载完成时间
lvgl.bar_set_anim_time(bar, 2000)
-- 设置加载到的值
lvgl.bar_set_value(bar, 100, lvgl.ANIM_ON)
创建
可以通过 lvgl.bar_create(par, copy) 创建一个进度条对象然后对其进行操作。
-- 创建控件
bar = lvgl.bar_create(lvgl.scr_act(), nil)
设置数值
进度条的用法还是比较简单的,功能比较单一,只是设置数值。
lvgl.bar_set_value(bar, 50, lvgl.ANIM_OFF)
虽然翻译为了进度条,但是不要以为它的满量程只能是 100 (虽然这是个默认数值),进度条的数值范围也是可以设置的,比如下面的代码:
lvgl.bar_set_range(bar, 100, 200)
lvgl.bar_set_value(bar, 150, lvgl.ANIM_OFF)
这个就是把进度条的数值范围设置到了 100-200,所以 150 就是进度条的中间,跟上面的显示效果一样的。
动画
进度条设置的值可以是实时的,当然也可以是有延时的,可以通过 lvgl.ANIM_OFF lvgl.ANIM_ON 这两个值来决定是否显示设置值的一个中间效果。通过 lvgl.bar_set_anim_time 可以设置加载时间。
-- 设置加载完成时间
lvgl.bar_set_anim_time(bar, 2000)
-- 设置加载到的值
lvgl.bar_set_value(bar, 100, lvgl.ANIM_ON)
上面代码就是设置了 2秒 走完整个进度条:
进度条起始值也可以添加动画,录制有点卡,实际还是很流畅的。
-- 设置进度条起始值
lvgl.bar_set_start_value(bar, 100, lvgl.ANIM_ON)
sys.wait(2000)
-- 设置加载完成时间
lvgl.bar_set_anim_time(bar, 2000)
-- 设置加载到的值
lvgl.bar_set_value(bar, 100, lvgl.ANIM_ON)
获取属性
进度条控件设置的很多值都可以通过 get 获取,具体使用情况可以参照 API。
API
lvgl.bar_create
调用 lvgl.bar_create(par, copy)
功能 创建一个进度条对象
返回 指向创建的进度条的指针
参数
par 指向对象的指针, 它将是新键对象的父对象
copy 指向进度条对象的指针, 如果不为 nil, 则将从其复制新对象
lvgl.bar_set_value
调用 lvgl.bar_set_value(bar, value, anim)
功能 在进度条上设置新值
参数
bar 指向进度条对象的指针
value 新数值
anim lvgl.ANIM_ON 用动画设置值。lvgl.ANIM_OFF 立即更改值。
lvgl.bar_set_start_value
调用 lvgl.bar_set_start_value(bar, start_value, anim)
功能 在进度条上设置新的起始值
参数
bar 指向进度条对象的指针
value 新的起始值
anim lvgl.ANIM_ON 用动画设置值。lvgl.ANIM_OFF 立即更改值。
lvgl.bar_set_range
调用 lvgl.bar_set_range(bar, min, max)
功能 设置进度条的最小值和最大值
参数
bar 指向进度条对象的指针
min 最小值
max 最大值
lvgl.bar_set_type
调用 lvgl.bar_set_type(bar, type)
功能 设置进度条的类型。
参数
bar 指向进度条对象的指针
type 进度条类型
lvgl.BAR_TYPE_NORMAL
lvgl.BAR_TYPE_SYMMETRICAL
lvgl.BAR_TYPE_CUSTOM
lvgl.bar_set_anim_time
调用 lvgl.bar_set_anim_time(bar, anim_time)
功能 设置进度条的动画时间
参数
bar 指向进度条对象的指针
anim_time 动画时间(以毫秒为单位)。
lvgl.bar_get_value
调用 lvgl.bar_get_value(bar)
功能 获取进度条的数值
返回 进度条的数值
参数
bar 指向进度条对象的指针
lvgl.bar_get_start_value
调用 lvgl.bar_get_start_value(bar)
功能 获取进度条的起始值
返回 进度条的起始值
参数
bar 指向进度条对象的指针
lvgl.bar_get_min_value
调用 lvgl.bar_get_min_value(bar)
功能 获取进度条的最小值
返回 进度条的最小值
参数
bar 指向进度条对象的指针
lvgl.bar_get_max_value
调用 lvgl.bar_get_max_value(bar)
功能 获取条形的最大值
返回 进度条的最大值
参数
bar 指向进度条对象的指针
lvgl.bar_get_type
调用 lvgl.bar_get_type(bar)
功能 获取进度条的类型。
返回 进度条类型
参数
bar 指向进度条对象的指针
lvgl.bar_get_anim_time
调用 lvgl.bar_get_anim_time(bar)
功能 获取进度条的动画时间
返回 动画时间(以毫秒为单位)。
参数
bar 指向进度条对象的指针
参考链接(C语言)