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 滑块相关推荐

  1. node.js学习笔记14—微型社交网站

    node.js学习笔记14-微型社交网站 1.功能分析 微博是以用户为中心,因此需要有注册和登录功能. 微博最核心的功能是信息的发表,这个功能包括许多方面,包括:数据库访问,前端显示等. 一个完整的微 ...

  2. Linux学习笔记14

    Linux学习笔记14 Linux学习笔记14 DNS服务搭建 基本介绍 使用bind搭建dns服务 增加一个域名zone 配置DNS转发 配置主从 测试主从同步 后续课程 DNS服务搭建 基本介绍 ...

  3. 【转】 C#学习笔记14——Trace、Debug和TraceSource的使用以及日志设计

    [转] C#学习笔记14--Trace.Debug和TraceSource的使用以及日志设计 Trace.Debug和TraceSource的使用以及日志设计   .NET Framework 命名空 ...

  4. 台大李宏毅Machine Learning 2017Fall学习笔记 (14)Unsupervised Learning:Linear Dimension Reduction

    台大李宏毅Machine Learning 2017Fall学习笔记 (14)Unsupervised Learning:Linear Dimension Reduction 本博客整理自: http ...

  5. LittleVGL 学习笔记1-标签,风格,字体

    LittleVGL 学习笔记(一) 设置父类 建立显示屏scr为父类,显示屏一般父类为显示屏 lv_obj_t* scr = lv_scr_act(); 建立标签子类 声明标签子类 举例:lv_obj ...

  6. 华为HCIA-datacom 学习笔记14——WLAN概述

    华为HCIA-datacom 学习笔记14--WLAN概述 1.WLAN(无线局域网) 通过无线技术构造的无线局域网络.WLAN广义上是指以无线电波.激光.红外线等无线信号代替有线局域网中的部分或全部 ...

  7. 【白帽子学习笔记14】SQL注入常用语句

    [白帽子学习笔记14]SQL注入常用语句 目前网站中使用的最多的数据库要算是 ACCESS.SQL Server(MSSQL).MySQL 这三个了,所以这里的手工注入,我就以他们三个数据库来分成三 ...

  8. 影像组学视频学习笔记(14)-特征权重做图及美化、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(14)主要介绍: 特征权重做图及美化 import matplotlib.pyplot as plt %matplotlib inlin ...

  9. opencv进阶学习笔记14:分水岭算法 实现图像分割

    基础版学习笔记目录: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) 分水岭算法原理 分水岭算法 ...

最新文章

  1. 斯坦福2019 AI年度报告出炉 - 700亿美元投入AI
  2. C语言回调函数Demo - Win32版
  3. 并发之AQS原理(一) 原理介绍简单使用
  4. 项目中需要总结的内容
  5. css背景从左到右颜色渐变,CSS:linear-gradient()背景颜色渐变
  6. [笔记]前端 - 下拉菜单的实现
  7. svn提交代码失败提示清理(清理失败并且报错信息乱码解决办法)
  8. 程序猿最喜欢哪一个浏览器?
  9. GlobalMapper 脚本应用(持续更新)
  10. 服务器本地文件无法复制粘贴,本地电脑与服务器突然无法直接使用复制粘贴
  11. 面试中单例模式有几种写法
  12. 国外最流行的几个外包接活网站 简要介绍
  13. 35岁的大龄程序员都去哪里了?
  14. IOS上的monkey测试探索(一)
  15. 一步一步实现商城微信小程序(四)
  16. 连续分配存储的四种管理方式
  17. 孙鑫Java视频教程(全12CD)
  18. 解读人工智能、大数据和云计算的关系,大佬们赌AI竟都输了?
  19. JavaSE中的方法
  20. 数字化为何具有颠覆性?

热门文章

  1. 四川省房产测绘实施细则[2010版]-2
  2. 易保全上线“工信部查询”新功能,用户可在工信部直接查询存证数据
  3. java通过aspose实现word转pdf,加水印
  4. STM32F103单片机控制继电器开关小风扇和加热片
  5. 新开淘宝店怎么增加店铺流量方法步骤
  6. 2021华科计算机考研分数线,2021华科考研分数线_中国研究生招生信息网官网
  7. 关于c#GDI+绘图填充颜色的常见问题分析(颜色压缩问题)
  8. SSD算法priorbox的理解
  9. 99999款PS笔刷合集,简直就是绘画神器(全网最全系列)
  10. 《侯老师C++面向对象开发》从入门到“入土”(一)