line meter实现进度圈

  • 任务回调函数

    
    void line_meter_task(lv_task_t* t)
    {
        static uint8_t progress;
        lv_obj_t* lmeter = t->user_data;
    
        progress += 10;
        if (progress == 100)
        {
            progress = 0;
        }
        lv_lmeter_set_value(lmeter, progress);
    }
    
  • line meter进度实现

    void line_meter_demo(void)
    {
        /*Create a style for the line meter*/
        static lv_style_t style_lmeter;
        lv_style_copy(&style_lmeter, &lv_style_pretty_color);
        style_lmeter.line.width = 4;
        style_lmeter.line.color = LV_COLOR_RED;
        style_lmeter.body.main_color = lv_color_hex(0x91bfed);
        style_lmeter.body.grad_color = lv_color_hex(0x04386c);
        style_lmeter.body.padding.left = 16;
    
        /*Create a line meter*/
        lv_obj_t* lmeter;
        lmeter = lv_lmeter_create(lv_scr_act(), NULL);
        lv_lmeter_set_range(lmeter, 0, 100);
        lv_lmeter_set_value(lmeter, 50);
        lv_lmeter_set_scale(lmeter, 360, 31);
    
        lv_lmeter_set_style(lmeter, LV_LMETER_STYLE_MAIN,&style_lmeter);
        lv_obj_set_size(lmeter, 150, 150);
        lv_obj_align(lmeter, NULL, LV_ALIGN_CENTER, 0, 0);
       
        lv_task_t* t = lv_task_create(line_meter_task, 200, LV_TASK_PRIO_MID, lmeter);
        lv_task_ready(t);
    
    }
  • 调用line_meter_demo函数,编译运行

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值