欢迎来到泰骏兴电子,大家有问题可以直接联系管理员QQ:233619809单片机 QQ群:59194556 各位游客也可以注册玩玩,享受更多权益。温馨提示:本网站仅提供平台学习以及渠道,一切后果自行承担,还望广大用户提高自我意识,请不要轻易相信他人,请不要轻易相信他人,请不要轻易相信他人。为了更好的管理论坛工作,所以现在使用邮箱注册,如果以前的邮箱不能修改的,请联系管理员代为修改

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 121|回复: 0

渐变色的LVGL进度条程序

[复制链接]
发表于 2023-5-17 15:57:32 | 显示全部楼层 |阅读模式
本帖最后由 bcwx 于 2023-5-17 16:00 编辑

一个渐变色的进度条,可以修改渐变的方向,本实验采用上下渐变,修改程序可以变成左右渐变



  1. static void set_temp(void * bar,int32_t temp)
  2. {
  3.    lv_bar_set_value(bar,temp,LV_ANIM_ON);
  4. }
  5. void Boot_Pagr(lv_obj_t * parent)
  6. {
  7.                         static lv_style_t bar_bg;            //创建bar背景样式
  8.                         lv_style_init(&bar_bg);                    //初始化样式
  9.                         lv_style_set_bg_opa(&bar_bg,LV_OPA_COVER); //设置背景透明度
  10.                         lv_style_set_bg_color(&bar_bg,lv_palette_main(LV_PALETTE_RED));       //设置背景颜色
  11.                         lv_style_set_bg_grad_color(&bar_bg,lv_palette_main(LV_PALETTE_BLUE)); //设置下半背景颜色
  12.                         lv_style_set_bg_grad_dir(&bar_bg,LV_GRAD_DIR_VER);  //设置下半部分背景方向

  13.                         lv_obj_t * bar = lv_bar_create(parent);   //设置bar对象
  14.                         lv_obj_add_style(bar,&bar_bg,LV_PART_INDICATOR);    //添加样式
  15.                         lv_obj_set_size(bar,200,20);                    //设置尺寸
  16.                         lv_obj_center(bar);                             //居中样式
  17.                         lv_bar_set_range(bar,0,100);                   //设置范围

  18.                         lv_anim_t a;                                    //设置动画
  19.                         lv_anim_init(&a);                               //初始化动画
  20.                         lv_anim_set_exec_cb(&a,set_temp);               //设置回调
  21.                         lv_anim_set_time(&a,3000);                      //设置时间
  22.                         lv_anim_set_playback_time(&a,3000);             //设置回退时间
  23.                         lv_anim_set_var(&a,bar);                        //设置动画对象
  24.                         lv_anim_set_values(&a,0,100);                  //设置动画值
  25.                         lv_anim_set_repeat_count(&a,LV_ANIM_REPEAT_INFINITE); //设置动画重复
  26.                         lv_anim_start(&a);                              //开始动画


  27. }
复制代码




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|泰骏兴电子科技有限公司 ( 粤ICP备2023060260号-1 ) 单片机爱好者

GMT+8, 2026-2-25 09:03

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表