怎么设置tileview对象的页面切换时间?

平铺视图默认是拖动可以同时显示两个页面的,但这样太耗资源,我想左滑或者右滑在短暂动画后立即切换到下一个页面,但是没有找到相关的API,请教百问网的老师和各位大佬们指点指点 :pray:

tileview多个瓷砖对象怎么让页面之间直接切换啊?不要那个拖拽的动画?大佬在哪里?

通常,TileView允许用户在滑动过程中预览相邻的页面,以提供更流畅的交互体验。但我希望在滑动时(一定距离)立即切换页面(有动画但是很快的切换).

目前没有用户接口能控制这个动画时间,因为 tileview 基于 lv_obj_scroll_to 切换,然而在 lv_obj_scroll_to 最终会调用 lv_obj_scroll_by 创建anim,这个anim 的lv_anim_set_time是写死的,你可以在 lvgl\src\core\lv_obj_scroll.c 中修改这个值:

#define SCROLL_ANIM_TIME_MIN    200    /*ms*/
#define SCROLL_ANIM_TIME_MAX    400    /*ms*/

分析过程 lv_tileview.c

lv_obj_set_tile_id
    lv_obj_set_tile 
        lv_obj_scroll_to
            lv_obj_scroll_to_y / lv_obj_scroll_to_x
                lv_obj_scroll_by_bounded
                    lv_obj_scroll_by
                        uint32_t t = lv_anim_speed_to_time((lv_disp_get_hor_res(d) * 2) >> 2, 0, dx);
                         if(t < SCROLL_ANIM_TIME_MIN) t = SCROLL_ANIM_TIME_MIN;
                         if(t > SCROLL_ANIM_TIME_MAX) t = SCROLL_ANIM_TIME_MAX;
                         lv_anim_set_time(&a, t);

您好,我没说明白,其实我是不想要在滑动过程中预览相邻的页面的那个效果,我想通过手势直接切换tile页面.