LVGL学习笔记 23 - 动画Animimg

本文介绍了如何使用LVGL库创建动画,包括设置动画源(图像数组),设置间隔时间(毫秒),设置重复次数(无限循环),以及启动动画。注意,图像数组必须是静态或全局的,以避免显示问题。最后展示了如何调整对象样式并启动动画。
摘要由CSDN通过智能技术生成

目录

1. 设置动画源

2. 设置间隔时间

3. 设置重复次数

4. 启动动画


动画就是对一组图像数组以固定的时间间隔显示。

lv_obj_t *animimg = lv_animimg_create(lv_scr_act());

1. 设置动画源

void lv_animimg_set_src(lv_obj_t * obj,  lv_img_dsc_t * dsc[], uint8_t num)

dsc是图像源数组,类型说明动画必须是图像结构体指针,不能是文件,注意,这个数组必须是static或全局的,否则显示会闪,num是图像个数。

static const lv_img_dsc_t* dsc[] = {&imgFan, &imgFan1, &imgFan2};
lv_animimg_set_src(animimg, (lv_img_dsc_t**)dsc, 3);

2. 设置间隔时间

void lv_animimg_set_duration(lv_obj_t * img, uint32_t duration);

duration的单位是ms。

lv_animimg_set_duration(animimg, 200);

3. 设置重复次数

void lv_animimg_set_repeat_count(lv_obj_t * img, uint16_t count);

count设置为LV_ANIM_REPEAT_INFINITE时表示一直循环显示。

lv_animimg_set_repeat_count(animimg, LV_ANIM_REPEAT_INFINITE);

4. 启动动画

void lv_animimg_start(lv_obj_t * obj);

启动动画前可以设置样式之类的,比如指定图像显示的位置等。

lv_obj_align(animimg, LV_ALIGN_CENTER, 0, 0);
lv_animimg_start(animimg);

LVGL的动画不是阻塞式的。

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值