This is my test code,As you can see, when I press the button, tileview arrives (0,1), but I slide it back (0,0) by hand, it loses the animation effect, and it instantly returns (0,0).
lv_obj_t *test_tileview;
void test_event(lv_obj_t *obj, lv_event_t event)
{
if (event == LV_EVENT_CLICKED)
{
lv_tileview_set_tile_act(test_tileview, 0, 1, LV_ANIM_ON);
}
}
void create()
{
test_tileview = lv_tileview_create(lv_scr_act(), NULL);
lv_obj_set_pos(test_tileview, 0, 0);
lv_obj_set_size(test_tileview, LV_HOR_RES, LV_VER_RES);
static lv_point_t valid_pos[] = {{0, 0}, {0, 1}};
lv_tileview_set_valid_positions(test_tileview, valid_pos, 2);
lv_obj_t *tile1 = lv_obj_create(test_tileview, NULL);
lv_obj_set_pos(tile1, 0, 0);
lv_obj_set_size(tile1, LV_HOR_RES, LV_VER_RES);
lv_obj_set_style(tile1, &lv_style_pretty);
lv_tileview_add_element(test_tileview, tile1);
lv_obj_t *test_btn = lv_btn_create(tile1, NULL);
lv_obj_align(test_btn, tile1, LV_ALIGN_CENTER, 0, 0);
lv_obj_set_event_cb(test_btn, test_event);
lv_tileview_add_element(test_tileview, test_btn);
lv_obj_t *tile2 = lv_obj_create(test_tileview, NULL);
lv_obj_set_pos(tile2, 0, LV_VER_RES);
lv_obj_set_size(tile2, LV_HOR_RES, LV_VER_RES);
lv_obj_set_style(tile2, &lv_style_pretty);
lv_tileview_add_element(test_tileview, tile2);
lv_obj_t *label = lv_label_create(tile2, NULL);
lv_obj_align(label, tile2, LV_ALIGN_CENTER, 0, 0);
lv_label_set_text(label,"test");
}