LVGL 8.2 meter with multiple arcs
动画回调函数
static lv_obj_t* meter;
static void set_value(void* indic, int32_t v)
{lv_meter_set_indicator_end_value(meter, indic, v); // 设置meter结束值
}
创建meter
static void lv_example_meter_2(void)
{meter = lv_meter_create(lv_scr_act()); // 创建meter对象lv_obj_center(meter); // 居中显示lv_obj_set_size(meter, 200, 200); // 设置大小/*Remove the circle from the middle*/lv_obj_remove_style(meter, NULL, LV_PART_INDICATOR); // 移除中间圆点/*Add a scale first*/lv_meter_scale_t* scale = lv_meter_add_scale(meter); // meter添加刻度lv_meter_set_scale_ticks(meter, scale, 11, 2, 10, lv_palette_main(LV_PALETTE_GREY)); // 设置刻度,刻度数11,刻度线宽2,刻度红长10,刻度线颜色灰色lv_meter_set_scale_major_ticks(meter, scale, 1, 2, 30, lv_color_hex3(0xeee), 15); // 设置major ticks,nth 1,线宽2,线长30,线颜色0xeee,线与label间距15lv_meter_set_scale_range(meter, scale, 0, 100, 270, 90); // 设置meter最小值0,最大值100,角度范围270,3点钟方向角度偏移90/*Add a three arc indicator*/lv_meter_indicator_t* indic1 = lv_meter_add_arc(meter, scale, 10, lv_palette_main(LV_PALETTE_RED), 0); // 添加红色指示器lv_meter_indicator_t* indic2 = lv_meter_add_arc(meter, scale, 10, lv_palette_main(LV_PALETTE_GREEN), -10); // 添加绿色指示器lv_meter_indicator_t* indic3 = lv_meter_add_arc(meter, scale, 10, lv_palette_main(LV_PALETTE_BLUE), -20); // 添加蓝色指示器/*Create an animation to set the value*/lv_anim_t a;lv_anim_init(&a);lv_anim_set_exec_cb(&a, set_value); // 动画执行回调函数lv_anim_set_values(&a, 0, 100); // 动画start值0,end值100lv_anim_set_repeat_delay(&a, 100); // 重复动画前延时100毫秒lv_anim_set_playback_delay(&a, 100); // 开始回播前延时100毫秒lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE); // 无限重复lv_anim_set_time(&a, 2000); // 动画持续时间2000毫秒lv_anim_set_playback_time(&a, 500); //回播持续时间500毫秒lv_anim_set_var(&a, indic1); // 设置动画对象指示器1lv_anim_start(&a); // 启动动画lv_anim_set_time(&a, 1000); // 动画持续时间1000毫秒lv_anim_set_playback_time(&a, 1000); //回播持续时间1000毫秒lv_anim_set_var(&a, indic2); // 设置动画对象指示器2lv_anim_start(&a); // 启动动画lv_anim_set_time(&a, 1000); // 动画持续时间1000毫秒lv_anim_set_playback_time(&a, 2000); //回播持续时间2000毫秒lv_anim_set_var(&a, indic3); // 设置动画对象指示器3lv_anim_start(&a); // 启动动画
}
运行效果
LVGL 8.2 meter with multiple arcs相关推荐
- LVGL 8.2 meter
动画播放回调函数 static lv_obj_t* meter; static void set_value(void* indic, int32_t v) {lv_meter_set_indicat ...
- LVGL 8.2 meter控件实现模拟时钟
动画回调函数 static lv_obj_t* meter; static void set_value(void* indic, int32_t v) {lv_meter_set_indicator ...
- CH32V307移植LVGL Master及Code::Blocks仿真笔记
一. LVGL简介 GUI(graphical user interface)是一种用于可视化显示的计算机接口软件,可显示计算机的运行信息,接受行为化的操作指令.1981年在Xerox PARC,Al ...
- TopoJSON格式规范说明
TopoJSON 是 GeoJSON 的扩展, 增加了拓扑逻辑的编码. 武汉市TopoJSON数据 目录 1.简介 1.1.举例 1.1.1 example 1 1.1.2 example 2 1.2 ...
- 【LVGL学习笔记】(三)控件使用
LVGL全程LittleVGL,是一个轻量化的,开源的,用于嵌入式GUI设计的图形库.并且配合LVGL模拟器,可以在电脑对界面进行编辑显示,测试通过后再移植进嵌入式设备中,实现高效的项目开发. LVG ...
- LVGL官方文档-7.11.0-14-Overview-Displays
Multiple display support 在LVGL中,可以存在多个Display,每个都有他们各自的Driver和Object.唯一的限制是这些Display的颜色深度要一样(由LV_COL ...
- lvgl lv_conf.h文件详解
学习的是正点原子的例程,跟着自己敲了些中文注释,特此分享 /*** @file lv_conf.h**//** COPY THIS FILE AS `lv_conf.h` NEXT TO the `l ...
- 物联网开发笔记(64)- 使用Micropython开发ESP32开发板之控制ILI9341 3.2寸TFT-LCD触摸屏进行LVGL图形化编程:控件显示
一.目的 这一节我们学习如何使用我们的ESP32开发板来控制ILI9341 3.2寸TFT-LCD触摸屏进行LVGL图形化编程:控件显示. 二.环境 ESP32 + ILI9341 3.2寸TFT-L ...
- ACPI Spec Chapter 10 Power Source And Power Meter Devices
目录 前言 一.Smart Battrey Subsystems 1. ACPI Smart Battery Status Change Notification Requirements 1.1 S ...
最新文章
- Halide应用开发
- ACMNO.16用迭代法求 。求平方根的迭代公式为: X[n+1]=1/2(X[n]+a/X[n]) 要求前后两次求出的得差的绝对值少于0.00001。 输出保留3位小数 输入 X 输出 X的
- android文件存储token,ANDROID 学习笔记(二) 用户登陆问题 TOKEN SESSION 缓存
- 你真的会停止线程吗?
- springboot 整合mybatis_SpringBoot整合Mybatis、MybatisPuls
- MySQL学习笔记_2_MySQL创建数据表(上)
- 习题3.9 堆栈操作合法性 (20分)
- Objective-C中小怪兽的逻辑
- Java并行编程–从并行任务集获取反馈
- 深入了解VPP关键技术有哪些?
- 网页header 的 meta使用
- sql Sever的存储过程如何转换为mysql
- cartographer探秘之文章索引
- 《Linux 系列》- 常用命令- 文件浏览命令]
- 基于Jersey框架创建web项目
- 设备点检php源码,设备巡检管理系统Delphi源码下载
- 【OR】YALMIP 全局最优化
- 常用的VS Code插件(Java后台、前端)
- 会计科目(定义,分类)
- 泰坦尼克号数据_泰坦尼克号数据可视化分析