【问题标题】:Android - Custom ViewPager animationAndroid - 自定义 ViewPager 动画
【发布时间】:2016-08-03 13:08:40
【问题描述】:

这是我必须实现的。我已经有一个垂直的viewpager,但我缺乏转换经验,我不知道如何做到这一点......

下一张要显示的卡片的顶部会在当前显示的卡片下方预览。当下一张卡片被触摸并拖到顶部时,动画开始下一张卡片向上滑动,同时当前卡片缩小然后向上滑动一点,以便在过渡后显示其顶部。

非常感谢您的帮助,因为这是一个时间紧迫的问题

【问题讨论】:

标签: android android-viewpager vertical-scrolling


【解决方案1】:

下面的代码是否符合您的要求?

制作您的原始变压器:

public class SlideUpTransformer implements ViewPager.PageTransformer {

    @Override
    public void transformPage(View view, float position) {
        int pageWidth = view.getWidth();
        int pageHeight = view.getHeight();

        if (-1 < position && position < 0) {
            float scaleFactor = 1 - Math.abs(position) * 0.1f;
            float verticalMargin = pageHeight * (1 - scaleFactor) / 2;
            float horizontalMargin = pageWidth * (1 - scaleFactor) / 2;
            if (position < 0) {
                view.setTranslationX(horizontalMargin - verticalMargin / 2);
            } else {
                view.setTranslationX(-horizontalMargin + verticalMargin / 2);
            }
            view.setScaleX(scaleFactor);
            view.setScaleY(scaleFactor);
        }

        view.setTranslationX(view.getWidth() * -position);

        if (position > 0) {
            float yPosition = position * view.getHeight();
            view.setTranslationY(yPosition);
        }
    }
}

这样使用:

viewPager.setPageTransformer(false, new SlideUpTransformer());

这样工作:

【讨论】:

  • 谢谢您,您的速度非常快!它几乎可以满足我的要求。我相信只要稍加调整,我就会得到我想要的确切结果。
猜你喜欢
  • 2013-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-28
  • 2012-08-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多