LVGL Animations(动画)的简单使用

news2024/11/17 23:31:50

一、前言

哈喽,大家好。在进行界面设计的时候,动画的使用是必不可少的,今天这篇文章就跟大家分享一下 LVGL Animations(动画)的简单使用。笔者将在模拟器上运行演示,LVGL 版本号为 8.3.0。

二、Animations  介绍

在 LVGL 中要使某个对象拥有动画效果,可以通过 Animations 创建一个动画效果(旋转,缩放,滑动等),并将该动画效果附加在对象上。

下面介绍与动画设置相关的重要参数。

  • exec_cb 设置动画效果

       例如,使用 lv_obj_set_x 设置 x 坐标的值进行 x 轴的移动动画。类似的还有 lv_obj_set_y(设置 y 坐标),lv_obj_set_angle(设置角度)等。

  • path_cb 设置动画变化效果

       有以下内置 path 功能:

          lv_anim_path_linear 线性动画

          lv_anim_path_step 在最后一步更改

          lv_anim_path_ease_in 开始缓慢

          lv_anim_path_ease_out 最后缓慢

          lv_anim_path_ease_in_out 在开始和结束时都很缓慢

          lv_anim_path_overshoot 超出最终值

          lv_anim_path_bounce 从最终值反弹一点(比如撞到墙)

三、Animations 应用

1. 旋转动画

下面以设置旋转动画为例进行动画的使用。以上图为例进行设置。

① 创建图片对象

② 创建动画对象

③ 设置动画参数

这里设置 exec_cb 为 lv_img_set_angle,即旋转的效果;接着设置动画的持续时间;动画的起止这里是针对前面的动画效果,即设置角度;回放时间及延迟恢复时间根据需要设置。

④ 设置动画路径

⑤ 开始动画

动画效果如下图所示。

2. 心跳动画

与第 1 点步骤类似,主要是动画效果设置为 lv_img_set_zoom(缩放),具体代码如下:

动画效果如下图所示:

四、结语

以上介绍的只是简单动画的实现,动画的效果大家可根据应用场景和设计要求去创建,以上就是本次分享的全部内容,感谢大家的阅读。

五、参考文献

LVGL 官方手册 Welcome to the documentation of LVGL! — LVGL documentation

点击阅读原文,了解更多精彩内容~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/984185.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【HTML专栏3】!DOCTYPE、lang、字符集的作用

本文属于HTML/CSS专栏文章,适合WEB前端开发入门学习,详细介绍HTML/CSS如果使用,如果对你有所帮助请一键三连支持,对博主系列文章感兴趣点击下方专栏了解详细。 博客主页:Duck Bro 博客主页系列专栏:HTML/CS…

当AI遇到IoT:开启智能生活的无限可能

文章目录 1. AI和IoT的融合1.1 什么是人工智能(AI)?1.2 什么是物联网(IoT)?1.3 AI和IoT的融合 2. 智能家居2.1 智能家居安全2.2 智能家居自动化 3. 医疗保健3.1 远程监护3.2 个性化医疗 4. 智能交通4.1 交通…

Json“牵手”易贝商品详情数据方法,易贝商品详情API接口,易贝API申请指南

易贝是一个可让全球民众在网上买卖物品的线上拍卖及购物网站,易贝(EBAY)于1995年9月4日由Pierre Omidyar以Auctionweb的名称创立于加利福尼亚州圣荷塞。人们可以在易贝上通过网络出售商品。2014年2月20日,易贝宣布收购3D虚拟试衣公…

Ros noetic 机器人坐标记录运动路径和发布 实战教程(C)

前言: 承接上一篇博文本文将编写并记录上文中详细的工程项目,用于保存小车的运动路径,生成对应的csv,和加载所保存的路径到实际的Rviz中,本文将开源完整的工程项目,工程结构如下: 工程原码位于文章末尾: 路径存储: waypoint_saver 用于存储 waypoint 的节点 waypo…

控制三盏灯

驱动代码 #include <linux/init.h> #include <linux/module.h> #include <linux/fs.h> #include <linux/uaccess.h> #include <linux/io.h> #include "head.h"unsigned int major;//保存主设备号 char kbuf[128] {0}; unsigned int …

C# Emgu.CV+Tesseract实现识别图像验证码

效果图&#xff0c;简单的还行&#xff0c;复杂的。。。拉跨 懒得写讲解了&#xff0c;全部源码直接上吧 /// <summary>/// 验证码识别/// </summary>public partial class FrmCodeIdentify : FrmBase{private string _filePath;// 原图像Image<Bgr, byte> …

基于Python开发的DIY字符画程序(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)

一、项目简介 本项目是一套基于Python开发的DIY字符画程序&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者。 包含&#xff1a;项目源码、项目文档、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&…

Kafka3.0.0版本——消费者(消费者组初始化流程图解)

一、消费者组初始化流程图解 每个consumer都发送JoinGroup请求&#xff0c;如下图所示&#xff1a; 选出一个consumer作为leader&#xff0c;如下图所示&#xff1a; 把要消费的topic情况发送给leader 消费者&#xff0c;如下图所示&#xff1a; leader会负责制定消费方案…

MFC:自绘CListBox,GetText返回一个乱码

问题描述 自绘CListBox&#xff0c;GetText返回一个乱码&#xff0c;并且还会伴随以下断言 解决方案 ListBox Control 属性【Has Strings】改为True即可

【线程池处理任务】Runnable任务和Callable任务

线程池处理任务 ExecutorService的常用方法 方法名称说明void execute(Runnable command)执行 Runnable 任务Future< T > submit(Callable< T > task)执行 Callable 任务&#xff0c;返回未来任务对象&#xff0c;用于获取线程返回的结果void shutdown()等全部任…

前端,关于一个骚气的页面阅读定位图(菜单)

之前在网上看到一个特别骚气的页面阅读定位菜单&#xff0c;今天给大家分享一下原理&#xff0c;先看效果图&#xff1a; 这是我之前浏览联想官网上看到的一个效果图&#xff0c;觉得相当骚气。然后我把他的背景图扣下来&#xff0c;也做了一个&#xff0c;看看效果。 他的实现…

接口自动化测试总结

一、什么项目适合做自动化测试&#xff1f; 软件需求变动不频繁 测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁&#xff0c;测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本&#xff0c;而脚本的维护本身就是一个代码开发的过程&#x…

【SpringCloudAlibaba】Seata分布式事务使用

文章目录 分布式事务问题示例Seata概述、官网一个典型的分布式事务过程处理过程全局GlobalTransactional分布式交易解决方案流程图 Seata安装下载修改conf目录下的application.yml配置文件dashboard demo 分布式事务问题示例 单体应用被拆分成微服务应用&#xff0c;原来的三个…

详解Transformer中的Encoder

一.Transformer架构 左半边是Encoder&#xff0c;右半边是Decoder。 二.Vision Transformer Vision Transformer取了Transformer的左半边。包含 Input EmbeddingPositional Encoding多头注意力机制 Add & Norm(前馈网络)Feed Forward Add & Norm 2.1 Input Embe…

C51智能小车(循迹、跟随、避障、测速、蓝牙、wifie、4g、语音识别)总结

目录 1.电机模块开发 1.1 让小车动起来 1.2 串口控制小车方向 1.3 如何进行小车PWM调速 1.4 PWM方式实现小车转向 2.循迹小车 2.1 循迹模块使用 2.2 循迹小车原理 2.3 循迹小车核心代码 3.跟随/避障小车 3.1 红外壁障模块分析​编辑 3.2 跟随小车的原理 3.3 跟随小…

世界级黑客丨电脑犯罪界的汉尼拔

被美国FBI称为电脑界的汉尼拔的人&#xff0c;有什么样的故事&#xff1f; 这个人就是世界级黑客凯文李波尔森&#xff0c;他在早期是正儿八经的黑客&#xff0c;他在17岁的时候就使用TRS-80电脑攻入美国国防部的高等研究计划署网络&#xff0c;但是当时他进去啥也没干&#x…

lambda nodejs 函数降低冷启动时间的最佳实践

lambda nodejs 函数降低冷启动时间的最佳实践 lambda nodejs 函数降低冷启动时间的最佳实践 前言什么是冷启动时间打包服务端 js什么是 inline进一步封装的打包工具存在的弊端以及解决方案Next Chapter完整示例及文章仓库地址 前言 本文章的思路&#xff0c;继承发展自这两篇…

vite vue项目 运行时 \esbuild\esbuild.exe 缺失 错误码 errno: -4058, code: ‘ENOENT‘,

vite vue项目运行 npm run dev 报错某个模块启动文件丢失信息 D:\PengYe_code\2\vite-vue3-admin>npm run dev> vite-vue3-admin1.0.2 dev > vitenode:events:504throw er; // Unhandled error event^Error: spawn D:\PengYe_code\2\vite-vue3-admin\node_modules\vi…

jupyter 添加中文选项

文章目录 jupyter 添加中文选项1. 下载中文包2. 选择中文重新加载一下&#xff0c;页面就变成中文了 jupyter 添加中文选项 1. 下载中文包 pip install jupyterlab-language-pack-zh-CN2. 选择中文 重新加载一下&#xff0c;页面就变成中文了 这才是设置中文的正解&#xff…

出现Browse information of one xxxx解决方法

不良现象如下&#xff1a; Browse information of one or more files is not available: Doing a project rebuild might fix this. 解决的方法&#xff1a;将C文件里面的内容全部注释掉&#xff0c;再编译正常。 然后再将注释掉的代码打开&#xff0c;再次编译就正常了。