有没有办法在 ViewPager2 中包含多转换?

Is there a way to include a Multi-transition within ViewPager2?

我正在使用一个包含 5 张图像的数组列表,这些图像在 viewpager2 上使用处理程序和可运行程序在 5 秒的间隔后发生变化,图像从第 1 张图像到第 5 张图像变化得非常好,并使用幻灯片转换再次重新启动该过程,我遇到的问题是改变动画,因为它通过项目图像重新启动 运行 它看起来很糟糕,因为它必须滑回第一次,因为它通过项目向后移动得更快,我想创建它消失(最后一项)并重新出现(第一项)快速过渡,就像弹出广告更改图像并再次重新开始幻灯片过渡到片段中的最后一项一样,下面是一段代码。

 viewpager3.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
        @Override
        public void onPageSelected(int position) {
            super.onPageSelected(position);
            sliderHandler.removeCallbacks(sliderRunnable);

                sliderHandler.postDelayed(sliderRunnable, 5000);





        }
    });

      sliderRunnable =new Runnable() {

        @Override
        public void run() {
            if(viewpager3.getCurrentItem()<image2List.size()-1)
            { viewpager3.setCurrentItem(viewpager3.getCurrentItem()+1);
            }else {
                viewpager3.setPageTransformer();

                viewpager3.setCurrentItem(0);
            }


        }
    };

不确定为什么要为此使用 Viewpager2 并且必须自己自动更改视图,并且您确实还需要实施无限视图寻呼机以获得更无缝的过渡(尽管在一个小的如果 运行 超出页面的风险)

您可以尝试设置 viewpager3.setCurrentItem(0,false); 以不带任何动画的方式跳转到开头。

但更好的是使用更合适的 AdapterViewFlipper class.

这会根据内置的计时器自动更改项目(不需要运行)。

它像 viewpager2 一样回收并且是动态的,唯一的缺点是页面(视图)没有很好地封装在 Fragment 中,但是因为你只是显示图像,所以这应该不是问题。

如何使用示例https://abhiandroid.com/ui/adapterviewflipper

您可以添加 inout 动画来滑入和滑出以获得与 Viewpager2 动画相似的外观

如果您查看类似 class 的另一个示例以获得更多静态内容,它会显示幻灯片 in/out 动画 https://abhiandroid.com/ui/viewflipper