littleVGL学习笔记17——lv_lmeter 刻度指示器

1. 介绍

  lv_lmeter 控件是一种类似于汽车仪表盘上的弧形刻度,它是由一些径向放射状的刻度线构成,它的主要作用就是进度指示,在所有的刻度线中,可以分为 2 种,一种是活跃刻度线,它利用样式中的 body.main_color 和 body.grad_color 属性,可以让活跃刻度线显示出弧形渐变色,活跃刻度线的作用就是展示当前的进度值,配合渐变色,可以达到更为友好更为直观的提示作用,另外一种就是非活跃刻度线了,它的颜色由 line.color 指定,一般为灰色,用来作为背景线,表示还剩下多少进度未被加载,lv_lmeter 的进度范围可以通过lv_lmeter_set_range(lmeter, min,max);接口进行设置,另外其刻度线的数量和角度值可以通过 lv_lmeter_set_scale(lmeter, angle,line_num)接口来进行设置。
在这里插入图片描述

2. lv_lmeter 的 API 接口

2.1 主要数据类型

2.1.1 刻度指示器样式数据类型
enum {
LV_LMETER_STYLE_MAIN,
};
typedef uint8_t lv_lmeter_style_t;

我们这里主要是讲这种样式里面相关字段的含义,如下所示:
body.main_color: 活跃刻度线的起始颜色
body.grad_color: 活跃刻度线的终止颜色
line.color: 非活跃刻度线的颜色
line.width: 每一条刻度线的宽度
body.padding.left: 每一条刻度线的长度

2.2 API 接口

2.2.1 创建对象
lv_obj_t * lv_lmeter_create(lv_obj_t * par, const lv_obj_t * copy);

参数:
par: 父对象
copy: 拷贝的对象,如果无拷贝的话,传 NULL 值
返回值:
返回创建出来的对象,如果返回 NULL 的话,说明堆空间不够了

2.2.2 设置进度值
void lv_lmeter_set_value(lv_obj_t * lmeter, int16_t value);

参数:
lmeter: 刻度指示器对象
value: 进度值

2.2.3 设置进度范围
void lv_lmeter_set_range(lv_obj_t * lmeter, int16_t min, int16_t max);

参数:
lmeter: 刻度指示器对象
min: 最小进度值
max: 最大进度值

2.2.4 设置角度和刻度线数量
void lv_lmeter_set_scale(lv_obj_t * lmeter, uint16_t angle, uint8_t line_cnt);

参数:
lmeter: 刻度指示器对象
angle: 角度,范围为[0,360]
line_cnt: 刻度线的数量

2.2.5 设置样式
static inline void lv_lmeter_set_style(lv_obj_t * lmeter, lv_lmeter_style_t type, lv_style_t * style)

参数:
lmeter: 刻度指示器对象
type: 要设置那部分的样式,目前只有 LV_LMETER_STYLE_MAIN 这一个可选值
style: 样式

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贾贾乾杯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值