在ViewPager中怎么实现页面切换动画

avatar
作者
猴君
阅读量:0

在ViewPager中实现页面切换动画可以通过自定义PageTransformer来实现。以下是一个简单的示例代码:

public class DepthPageTransformer implements ViewPager.PageTransformer {     private static final float MIN_SCALE = 0.75f;      public void transformPage(View view, float position) {         int pageWidth = view.getWidth();          if (position < -1) { // 页面不可见时             view.setAlpha(0);         } else if (position <= 0) { // 页面从中心页滑向左侧页             view.setAlpha(1);             view.setTranslationX(0);             view.setScaleX(1);             view.setScaleY(1);         } else if (position <= 1) { // 页面从中心页滑向右侧页             view.setAlpha(1 - position);             view.setTranslationX(pageWidth * -position);             float scaleFactor = MIN_SCALE + (1 - MIN_SCALE) * (1 - Math.abs(position));             view.setScaleX(scaleFactor);             view.setScaleY(scaleFactor);         } else { // 页面不可见时             view.setAlpha(0);         }     } } 

然后在ViewPager中设置这个PageTransformer:

ViewPager viewPager = findViewById(R.id.viewPager); viewPager.setPageTransformer(true, new DepthPageTransformer()); 

这样就可以在ViewPager中实现页面切换动画了。您可以根据需要自定义不同的PageTransformer来实现不同效果的页面切换动画。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!