037、LVGL动画类型与参数配置
LVGL动画类型与参数配置上周帮一个做智能家居面板的客户调试,遇到个挺典型的坑:他用了lv_anim_set_path_cb()自定义了一个缓动曲线,结果动画跑起来像抽风一样忽快忽慢。我让他把回调函数贴出来一看——好家伙,路径函数里直接调了lv_anim_set_time()改时长。这种在动画执行过程中动态改时间参数的操作,LVGL的动画引擎根本扛不住,内部的时间轴会直接乱掉。今天这篇就专门把LVGL动画的几种类型和参数配置掰开揉碎讲清楚,顺便把那些容易踩的坑都标出来。动画的底层逻辑LVGL的动画核心其实就三个东西:起始值、结束值、时间轴。引擎内部维护一个定时器,每帧根据当前时间进度计算插值,然后回调用户设置的自定义函数去更新控件的属性。别把动画想得太玄乎,本质上就是个定时器驱动的线性插值器。你告诉它“从0走到100,花500ms”,它就老老实实按时间比例算中间值。但如果你中途改了时间参数,相当于跑步的时候突然把终点往后挪了100米,计时器还按原来的节奏跑,结果必然乱套。内置动画类型LVGL提供了几种现成的动画类型,用lv_anim_set_xxx()系列函数配置。lv_anim_set_values()是最基础的,设置起始值和结束值。比如让一个按钮的宽度从100px变到200px:lv_anim_t/
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2615473.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!