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

LVGL学习笔记-----进度条控件(lv_bar)

LVGL学习笔记-----进度条控件(lv_bar)

@@author: 明月清了个风

@@date: 2025.7.10

⭐️关于按钮空间的一些笔记和课后思考的答案

进度条的创建

lv_obj_t * bar = lv_bar_create(lv_screen_active());lv_obj_set_size(bar, 200, 20); // 设置长宽,宽更大时就竖起来lv_bar_set_range(bar, 0, 100); // 设置进度条数值范围。lv_obj_center(bar);lv_bar_set_value(bar, 70, LV_ANIM_OFF);  //设置进度条的值
lv_obj_set_style_bg_color(bar, lv_color_hex(0xc3494b), LV_PART_MAIN);  // 设置主体的颜色lv_obj_set_style_bg_color(bar, lv_color_hex(0x66d252), LV_PART_INDICATOR); // 设置指示器颜色

指示器的默认指示方向从左向右,从下到上,默认范围0 \sim 100,如果设置了最小值大于最大值,那么绘图方向就会反过来。

进度条有三种模式

typedef enum {LV_BAR_MODE_NORMAL,LV_BAR_MODE_SYMMETRICAL,LV_BAR_MODE_RANGE
} lv_bar_mode_t;

LV_BAR_MODE_SYMMETRICAL能够创建一个两侧对称的进度条,并且进度条从0开始。

课后思考

  1. 怎么让进度条动起来

    设置进度条的值的时候 lv_bar_set_value(bar, 70, LV_ANIM_OFF);会开启进度条的动画,因此涉及动画效果的设置,如lv_obj_set_style_anim_duration(bar, 1000, 0);需要在设定值之前进行。

    也可以使用定时器lv_timer_create(my_timer, 1000, bar);,然后需要实现一个my_timer对应的函数,在函数中改变进度条的值即可。

  2. 如何实现一个方形,颜色渐变的进度条

    其实就是将两个官方示例结合起来,以下是颜色渐变的样式示例

        lv_style_init(&style_indic);lv_style_set_radius(&style_indic, 0);lv_style_set_bg_grad_color(&style_indic, lv_palette_main(LV_PALETTE_RED));  // 设置渐变颜色lv_style_set_bg_grad_dir(&style_indic, LV_GRAD_DIR_HOR);	// 设置颜色渐变方向
    
http://www.dtcms.com/a/273325.html

相关文章:

  • Java结构型模式---桥接模式
  • 什么?不知道 MyBatisPlus 多数据源(动态数据源)干什么的,怎么使用,看这篇文章就够了。
  • AI探索 | 豆包智能助手跟扣子空间(AI办公助手)有什么区别
  • Ranger框架的发展历程
  • Windows系统DLL、运行库、DirectX等DLL丢失等异常状态
  • 数组的应用示例
  • 【Python进阶篇 面向对象程序设计(7) Python操作数据库】
  • 《测试开发:从技术角度提升测试效率与质量》
  • 《Revisiting Generative Replay for Class Incremental Object Detection》阅读笔记
  • 3D lidar目标跟踪
  • PyTorch自动微分:从基础到实战
  • Linux C 文件基本操作
  • 【Java并发编程】AQS(AbstractQueuedSynchronizer)抽象同步器核心原理
  • 飞算科技:以原创技术赋能电商企业数字化转型
  • AI翻唱——So-VITS-SVC
  • ubuntu virtual box全屏
  • 无人机三叶螺旋桨概述
  • kail相关
  • Linux下PCIe子系统(二)——PCIe子系统框架详解
  • 算法练习5-原地移除数组中所有的元素
  • 多元函数的链式法则:从单变量到高维的推广
  • 无人设备遥控器之无线电频率篇
  • Java HashMap已存在的值是否覆盖
  • 全链智造铸丰碑 全球布局启新程 —— 河北华创测控技术有限公司领航测控产业新高度
  • python学习打卡:DAY 29 复习日:类的装饰器
  • 快捷键——VsCode
  • msf复现“永恒之蓝”
  • 在 node 端执行打开一个新的 chrome 并且跳转到指定 url
  • 力扣热门算法题 136.只出现一次的数字,139.单词拆分,141.环形链表
  • Docker——容器文件操作