|
发表于 2020-12-17 12:11:05
|
显示全部楼层
有没有最简单的实现两个窗口滑动切换的方法,测试了个只能滑动一次,应该是那里配置有问题。
1、先在root上创建了一个
gx_studio_named_widget_create("window", (GX_WIDGET *)root, (GX_WIDGET **)&pScreen);
2、再创建两个,附加到pScreen上
gx_studio_named_widget_create("window_1", (GX_WIDGET *)GX_NULL, (GX_WIDGET **)&pScreen1);
gx_studio_named_widget_create("window_2", (GX_WIDGET *)GX_NULL, (GX_WIDGET **)&pScreen2);
gx_widget_attach((GX_WIDGET *)pScreen, (GX_WIDGET *)pScreen1);
gx_widget_attach((GX_WIDGET *)pScreen, (GX_WIDGET *)pScreen2);
3、然后创建动画对象
gx_animation_create(&slide_animation);
slide_animation_start((GX_WINDOW *)pScreen2);
函数的实现
weather_win_list[0] = (GX_WIDGET *)pScreen1;
weather_win_list[1] = (GX_WIDGET *)pScreen2;
weather_win_list[2] = (GX_WIDGET *)GX_NULL;
static VOID slide_animation_start(GX_WINDOW *window1)
{
GX_ANIMATION_INFO slide_animation_info;
memset(&slide_animation_info, 0, sizeof(GX_ANIMATION_INFO));
slide_animation_info.gx_animation_parent = (GX_WIDGET *)window1;
slide_animation_info.gx_animation_style = GX_ANIMATION_SCREEN_DRAG | GX_ANIMATION_HORIZONTAL | GX_ANIMATION_WRAP | GX_ANIMATION_SINE_EASE_OUT;
slide_animation_info.gx_animation_id = GX_NEXT_ANIMATION_ID;
slide_animation_info.gx_animation_frame_interval = 1;
slide_animation_info.gx_animation_steps = 10;
slide_animation_info.gx_animation_slide_screen_list = weather_win_list;
gx_animation_drag_enable(&slide_animation, (GX_WIDGET *)window1, &slide_animation_info);
}
|
|