row动画回调函数
static void row_gap_anim(void* obj, int32_t v)
{
lv_obj_set_style_pad_row(obj, v, 0);
}
column动画回调函数
static void column_gap_anim(void* obj, int32_t v)
{
lv_obj_set_style_pad_column(obj, v, 0);
}
创建3x3按键行列间隔动画效果
static void lv_example_flex_5(void)
{
lv_obj_t* cont = lv_obj_create(lv_scr_act());
lv_obj_set_size(cont, 300, 220);
lv_obj_center(cont);
lv_obj_set_flex_flow(cont, LV_FLEX_FLOW_ROW_WRAP);
uint32_t i;
for (i = 0; i < 9; i++) {
lv_obj_t* obj = lv_obj_create(cont);
lv_obj_set_size(obj, 70, LV_SIZE_CONTENT);
lv_obj_t* label = lv_label_create(obj);
lv_label_set_text_fmt(label, "%d", i);
lv_obj_center(label);
}
lv_anim_t a;
lv_anim_init(&a);
lv_anim_set_var(&a, cont);
lv_anim_set_values(&a, 0, 10);
lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE);
lv_anim_set_exec_cb(&a, row_gap_anim);
lv_anim_set_time(&a, 500);
lv_anim_set_playback_time(&a, 500);
lv_anim_start(&a);
lv_anim_set_exec_cb(&a, column_gap_anim);
lv_anim_set_time(&a, 3000);
lv_anim_set_playback_time(&a, 3000);
lv_anim_start(&a);
}
效果图
![在这里插入图片描述](https://img-blog.csdnimg.cn/4359a9562514463c8eb6a8a3f75310ab.gif)