合宙Air724UG LuatOS-Air LVGL API控件-滑动条 (Slider)

滑动条 (Slider)

slider.png


滑动条看起来和进度条是有些是有些像,但不同的是滑动条可以进行数值选择。

示例代码

-- 回调函数
slider_event_cb = function(obj, event)
    if event == lvgl.EVENT_VALUE_CHANGED then 
        local val = (lvgl.slider_get_value(obj) or "0").."%"
        lvgl.label_set_text(slider_label, val)
        lvgl.obj_align(slider_label, obj, lvgl.ALIGN_OUT_BOTTOM_MID, 0, 10)
    end
end

-- 创建滑动条
slider = lvgl.slider_create(lvgl.scr_act(), nil)
lvgl.obj_align(slider, nil, lvgl.ALIGN_CENTER, 0, 0)
lvgl.obj_set_event_cb(slider, slider_event_cb)

-- 创建标签
slider_label = lvgl.label_create(lvgl.scr_act(), nil)
lvgl.label_set_text(slider_label, "0%")
lvgl.obj_align(slider_label, slider, lvgl.ALIGN_OUT_BOTTOM_MID, 0, 10)

创建

滑动条是通过 lvgl.slider_create 函数创建的。

slider = lvgl.slider_create(lvgl.scr_act(), nil)

滑动条创建完之后设置显示位置就可以进行操作了。

jdfw3.gif

设置数值

滑动条的使用和 Bar 还是很像的。可以设置数值 lvgl.slider_set_value,也可以设置显示范围。 lvgl.slider_set_range

lvgl.slider_set_range(slider, 100, 200)
lvgl.slider_set_value(slider, 150, lvgl.ANIM_OFF)

设置数值.png

类型

滑动条可以设置类型,除了普通的单个旋钮外,也可以设置两个旋钮,起始位置和结束位置各一个,两个位置的旋钮都可以滑动。滑动条类型是通过函数 lvgl.slider_set_type 设置的,可以选择的类型有:

lvgl.SLIDER_TYPE_NORMAL -- 普通的默认类型
lvgl.SLIDER_TYPE_RANGE  -- 滑动条可以有两个旋钮

下面我们来看下两个旋钮的滑动条。

lvgl.slider_set_type(slider, lvgl.SLIDER_TYPE_RANGE)

jdfw.gif

事件

通过对滑动条设置回调函数,我们可以获取滑动条设置的数值,滑动条本身就是个输入控件。

-- 回调函数
slider_event_cb = function(obj, event)
    if event == lvgl.EVENT_VALUE_CHANGED then 
        local val = (lvgl.slider_get_value(obj) or "0").."%"
        lvgl.label_set_text(slider_label, val)
        lvgl.obj_align(slider_label, obj, lvgl.ALIGN_OUT_BOTTOM_MID, 0, 10)
    end
end

-- 创建滑动条
slider = lvgl.slider_create(lvgl.scr_act())
lvgl.obj_align(slider, nil, lvgl.ALIGN_CENTER, 0, 0)
lvgl.obj_set_event_cb(slider, slider_event_cb)

-- 创建标签
slider_label = lvgl.label_create(lvgl.scr_act(), nil)
lvgl.label_set_text(slider_label, "0%")
lvgl.obj_align(slider_label, slider, lvgl.ALIGN_OUT_BOTTOM_MID, 0, 10)

在这里,我们对滑动条设置了一个回调函数,监听数值改变事件。同时,我们添加了一个标签,用来显示滑动条的数值。显示效果如下:

jdfw4.gif

API

lvgl.slider_create

调用lvgl.slider_create(par, copy)
功能创建一个滑动条对象
返回指向滑动条对象的指针
参数
par指向对象的指针, 它将是新键对象的父对象
copy指向滑动条对象的指针, 如果不为 nil, 则将从其复制新对象

lvgl.slider_set_value

调用lvgl.slider_set_value(slider, val, anim)
功能设置滑动条的数值
参数
slider指向滑动条对象的指针
val滑动条的新数值
animlvgl.ANIM_ON 用动画设置值。lvgl.ANIM_OFF 立即更改值

lvgl.slider_set_type

调用lvgl.slider_set_type(slider, type)
功能设置滑动条的类型
参数
slider指向滑动条对象的指针
type滑动条的类型 lvgl.SLIDER_TYPE_RANGE 或 lvgl.SLIDER_TYPE_NORMAL

lvgl.slider_set_range

调用lvgl.slider_set_range(slider, min, max)
功能设置滑动条的最小值和最大值
参数
slider指向滑动条对象的指针
min最小值
max最大值

lvgl.slider_set_anim_time

调用lvgl.slider_set_anim_time(slider, anim_time)
功能设置滑动条的动画时间
参数
slider指向滑动条对象的指针
anim_time动画时间(以毫秒为单位)。

lvgl.slider_get_value

调用lvgl.slider_get_value(slider)
功能获取滑动条的设置值
返回滑动条的设置值
参数
slider指向滑动条对象的指针

lvgl.slider_get_left_value

调用lvgl.slider_get_left_value(slider)
功能获取滑动条的左值
返回滑动条的左值
参数
slider指向滑动条对象的指针

lvgl.slider_get_min_value

调用lvgl.slider_get_min_value(slider)
功能获取滑动条的最小值
返回滑动条的最小值
参数
slider指向滑动条对象的指针

lvgl.slider_get_max_value

调用lvgl.slider_get_max_value(slider)
功能获取滑动条的最大值
返回滑动条的最大值
参数
slider指向滑动条对象的指针

lvgl.slider_is_dragged

调用lvgl.slider_is_dragged(slider)
功能判断忽快是否被拖动
返回true 在被拖动, false 没有被拖动
参数
slider指向滑动条对象的指针

lvgl.slider_get_anim_time

调用lvgl.slider_get_anim_time(slider, time)
功能获取滑块设置的动画时间
返回滑块的动画时间
参数
slider指向滑动条对象的指针
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

l531798151

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值