0
这就是我必须实现的。我已经有一个垂直viewpager,但我缺乏转换的经验,我不知道如何做到这一点...
要显示的下一张卡的顶部部分预览显示卡当前显示。当下一张卡片被触摸并拖动到顶部时,动画开始,下一张卡片在同一时间滑动,同时当前卡片被缩小,然后向上滑动一点,以便在转换后显示顶部。
我将非常感谢您的帮助,因为它是一个时间敏感的问题
这就是我必须实现的。我已经有一个垂直viewpager,但我缺乏转换的经验,我不知道如何做到这一点...
要显示的下一张卡的顶部部分预览显示卡当前显示。当下一张卡片被触摸并拖动到顶部时,动画开始,下一张卡片在同一时间滑动,同时当前卡片被缩小,然后向上滑动一点,以便在转换后显示顶部。
我将非常感谢您的帮助,因为它是一个时间敏感的问题
请问下面的代码按照你的要求?
让你原来的变压器:
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());
这是这样的:
谢谢你,你真快!它几乎做我想要的。我相信稍微调整一下,我会得到我想要的确切结果。 – Anonymous
你能告诉我,垂直viewpager的库或垂直viewpager的源代码? – nshmura
https://github.com/kaelaela/VerticalViewPager – Anonymous