littleVGL学习笔记14——lv_slider 滑块
1. 介绍
lv_slider 滑块是由 lv_bar 进度条对象外加一个类似于旋钮的东西构成的,这个旋钮可以被拖拽来设置 lv_slider 滑块的值,和 lv_bar 进度条一样,lv_slider 也可以被设置成是水平滑块或者是垂直滑块,不仅如此,lv_bar 对象上的大部分特性在 lv_slider 对象上基本都能找到,比如设置进度值,动画时间,设置最小最大范围等等,API 接口的用法基本是一模一样的.最后来说一下它的事件,当滑块被点击或者滑块上面的旋钮被拖拽导致其进度值发生变化时,它就会给它的事件回调函数发送一个 LV_EVENT_VALUE_CHANGED 事件,如果旋钮是在被持续拖拽的话,那么 LV_EVENT_VALUE_CHANGED 事件也将会被持续发送,有时候我们可能不希望持续接受到此事件,那我们只需忽略就行,只监听它的 LV_EVENT_RELEASED 松手事件来获取最后的进度值。
2. lv_slider 的 API 接口
2.1 主要数据类型
2.1.1 滑块样式数据类型
enum {LV_SLIDER_STYLE_BG,
LV_SLIDER_STYLE_INDIC,
LV_SLIDER_STYLE_KNOB,
};
typedef uint8_t lv_slider_style_t;
LV_SLIDER_STYLE_BG: 滑块的背景样式,其实就是其内部的 lv_bar 进度条的背景样式,使用样式中的 style.body 字段,其中的 padding 字段用来设置背景边框与旋钮边框之间的距离;
LV_SLIDER_STYLE_INDIC: 滑块的指示器样式,其实就是其内部的 lv_bar 进度条的指示器样式,使用样式中的 style.body 字段,其中的 padding 字段设置指示器与背景边框之间的距离;
LV_SLIDER_STYLE_KNOB: 滑块上旋钮的样式,使用样式中的 style.body 字段,但是其内部的 padding 字段除外。
2.2 API 接口
2.2.1 创建对象
lv_obj_t * lv_slider_create(lv_obj_t * par, const lv_obj_t * copy);
参数:
par: 父对象
copy: 拷贝的对象,如果无拷贝的话,传 NULL 值
返回值:
返回创建出来的对象,如果返回 NULL 的话,说明堆空间不够了
2.2.2 设置动画时长
static inline void lv_slider_set_anim_time(lv_obj_t * slider, uint16_t anim_time);
参数:
slider: 滑块对象
anim_time: 动画时长,单位 ms
注意此 API 接口必须得放在 lv_slider_set_value 接口前面调用,否则无效
2.2.3 设置进度值
static inline void lv_slider_set_value(lv_obj_t * slider, int16_t value, lv_anim_enable_t anim);
参数:
slider: 滑块对象
value: 新的进度值
anim: 在切换到新的进度值时,是否使能动画效果,有 2 个可选值如下:
LV_ANIM_OFF: 不使能动画效果
LV_ANIM_ON: 使能动画效果
2.2.4 设置进度范围
static inline void lv_slider_set_range(lv_obj_t * slider, int16_t min, int16_t max);
参数:
slider: 滑块对象
min: 最小值
max: 最大值
2.2.5 设置样式
void lv_slider_set_style(lv_obj_t * slider, lv_slider_style_t type, const lv_style_t * style);
参数:
slider: 滑块对象
type: 设置哪一个部件的样式,有如下 3 个可选值:
LV_SLIDER_STYLE_BG: 设置背景的样式
LV_SLIDER_STYLE_INDIC: 设置指示器的样式
LV_SLIDER_STYLE_KNOB: 设置旋钮的按钮
style: 样式
2.2.6 获取当前的进度值
int16_t lv_slider_get_value(const lv_obj_t * slider);
参数:
slider: 滑块对象
返回值:
返回当前的进度值
2.2.7 判断旋钮是否正在被拖拽
bool lv_slider_is_dragged(const lv_obj_t * slider);
参数:
slider: 滑块对象
返回值:
返回 true 代表正在被拖拽,返回 false 代表没有在被拖拽。
littleVGL学习笔记14——lv_slider 滑块相关推荐
- node.js学习笔记14—微型社交网站
node.js学习笔记14-微型社交网站 1.功能分析 微博是以用户为中心,因此需要有注册和登录功能. 微博最核心的功能是信息的发表,这个功能包括许多方面,包括:数据库访问,前端显示等. 一个完整的微 ...
- Linux学习笔记14
Linux学习笔记14 Linux学习笔记14 DNS服务搭建 基本介绍 使用bind搭建dns服务 增加一个域名zone 配置DNS转发 配置主从 测试主从同步 后续课程 DNS服务搭建 基本介绍 ...
- 【转】 C#学习笔记14——Trace、Debug和TraceSource的使用以及日志设计
[转] C#学习笔记14--Trace.Debug和TraceSource的使用以及日志设计 Trace.Debug和TraceSource的使用以及日志设计 .NET Framework 命名空 ...
- 台大李宏毅Machine Learning 2017Fall学习笔记 (14)Unsupervised Learning:Linear Dimension Reduction
台大李宏毅Machine Learning 2017Fall学习笔记 (14)Unsupervised Learning:Linear Dimension Reduction 本博客整理自: http ...
- LittleVGL 学习笔记1-标签,风格,字体
LittleVGL 学习笔记(一) 设置父类 建立显示屏scr为父类,显示屏一般父类为显示屏 lv_obj_t* scr = lv_scr_act(); 建立标签子类 声明标签子类 举例:lv_obj ...
- 华为HCIA-datacom 学习笔记14——WLAN概述
华为HCIA-datacom 学习笔记14--WLAN概述 1.WLAN(无线局域网) 通过无线技术构造的无线局域网络.WLAN广义上是指以无线电波.激光.红外线等无线信号代替有线局域网中的部分或全部 ...
- 【白帽子学习笔记14】SQL注入常用语句
[白帽子学习笔记14]SQL注入常用语句 目前网站中使用的最多的数据库要算是 ACCESS.SQL Server(MSSQL).MySQL 这三个了,所以这里的手工注入,我就以他们三个数据库来分成三 ...
- 影像组学视频学习笔记(14)-特征权重做图及美化、Li‘s have a solution and plan.
本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(14)主要介绍: 特征权重做图及美化 import matplotlib.pyplot as plt %matplotlib inlin ...
- opencv进阶学习笔记14:分水岭算法 实现图像分割
基础版学习笔记目录: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) 分水岭算法原理 分水岭算法 ...
最新文章
- 斯坦福2019 AI年度报告出炉 - 700亿美元投入AI
- C语言回调函数Demo - Win32版
- 并发之AQS原理(一) 原理介绍简单使用
- 项目中需要总结的内容
- css背景从左到右颜色渐变,CSS:linear-gradient()背景颜色渐变
- [笔记]前端 - 下拉菜单的实现
- svn提交代码失败提示清理(清理失败并且报错信息乱码解决办法)
- 程序猿最喜欢哪一个浏览器?
- GlobalMapper 脚本应用(持续更新)
- 服务器本地文件无法复制粘贴,本地电脑与服务器突然无法直接使用复制粘贴
- 面试中单例模式有几种写法
- 国外最流行的几个外包接活网站 简要介绍
- 35岁的大龄程序员都去哪里了?
- IOS上的monkey测试探索(一)
- 一步一步实现商城微信小程序(四)
- 连续分配存储的四种管理方式
- 孙鑫Java视频教程(全12CD)
- 解读人工智能、大数据和云计算的关系,大佬们赌AI竟都输了?
- JavaSE中的方法
- 数字化为何具有颠覆性?
热门文章
- 四川省房产测绘实施细则[2010版]-2
- 易保全上线“工信部查询”新功能,用户可在工信部直接查询存证数据
- java通过aspose实现word转pdf,加水印
- STM32F103单片机控制继电器开关小风扇和加热片
- 新开淘宝店怎么增加店铺流量方法步骤
- 2021华科计算机考研分数线,2021华科考研分数线_中国研究生招生信息网官网
- 关于c#GDI+绘图填充颜色的常见问题分析(颜色压缩问题)
- SSD算法priorbox的理解
- 99999款PS笔刷合集,简直就是绘画神器(全网最全系列)
- 《侯老师C++面向对象开发》从入门到“入土”(一)