当前位置: 首页 > news >正文

合宙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指向滑动条对象的指针
http://www.lryc.cn/news/160356.html

相关文章:

  • SQLAlchemy 封装的工具类,数据库pgsql(数据库连接池)
  • 【Git】Git 基础
  • 腾讯云AI绘画:探究AI创意与技术的新边界
  • 离线数仓同步数据1
  • c语言开篇---跟着视频学C语言
  • 本地yum源-如学
  • 【实训】“宅急送”订餐管理系统(程序设计综合能力实训)
  • openeuler上安装polarismesh集群
  • Java基础——stream
  • Spring Quartz 持久化解决方案
  • 基于Java+SpringBoot+Vue前后端分离火锅店管理系统设计和实现
  • Unity——导航系统补充说明
  • nginx实现负载均衡load balance
  • 淘宝订单接口:连接消费者与商家的桥梁
  • 数据结构-第一期——数组(Python)
  • 八 动手学深度学习v2 ——卷积神经网络之卷积+填充步幅+池化+LeNet
  • SparkCore
  • 配置 Windows 系统环境变量
  • 【计算机视觉】图片文件格式的讲解
  • 2023最全的性能测试种类介绍,这6个种类特别重要!
  • 代码随想录算法训练营19期第43天
  • 微信小程序wx.previewImage实现图片预览
  • Java实现Modbus读写数据
  • C++11新特性⑤ | 仿函数与lambda表达式
  • 解决websocket不定时出现1005错误
  • 文章内容生成随机图像,并将这些图像上链
  • l8-d9 UDP通信实现
  • MongoDB复杂聚合查询与java中MongoTemplate的api对应
  • WireShark抓包工具的安装
  • 审计智能合约的成本是多少?如何审计智能合约?