如何将这个 Horizontal ViewPager transformer 修改为 Vertical transformer?
How to modify this Horizontal ViewPager transformer into Vertical transformer?
这是我的代码 have.It 适用于水平变换动画。我想垂直转换我的 ViewPager 过渡动画。
public class AccordionPageTransformer implements ViewPager.PageTransformer {
@Override
public void transformPage(View page, float position) {
// Counteract the default slide transition
page.setTranslationX(-position * page.getWidth());
page.setPivotX(position < 0 ? 0 : page.getWidth());
page.setScaleX(1 - Math.abs(position));
}}
为 ViewPager 试试这个,
if (position < -1) {
page.setAlpha(0);
} else if (position <= 1) {
page.setAlpha(1);
// Counteract the default slide transition
page.setTranslationX(page.getWidth() * -position);
//Set Y position to swipe in from top
float yPosition = position * page.getHeight();
page.setTranslationY(yPosition);
} else {
page.setAlpha(0);
}
或者你也可以使用ViewPager2它提供单行代码使滚动垂直,
myViewPager2.setOrientation(ViewPager2.ORIENTATION_VERTICAL);
这是我的代码 have.It 适用于水平变换动画。我想垂直转换我的 ViewPager 过渡动画。
public class AccordionPageTransformer implements ViewPager.PageTransformer {
@Override
public void transformPage(View page, float position) {
// Counteract the default slide transition
page.setTranslationX(-position * page.getWidth());
page.setPivotX(position < 0 ? 0 : page.getWidth());
page.setScaleX(1 - Math.abs(position));
}}
为 ViewPager 试试这个,
if (position < -1) {
page.setAlpha(0);
} else if (position <= 1) {
page.setAlpha(1);
// Counteract the default slide transition
page.setTranslationX(page.getWidth() * -position);
//Set Y position to swipe in from top
float yPosition = position * page.getHeight();
page.setTranslationY(yPosition);
} else {
page.setAlpha(0);
}
或者你也可以使用ViewPager2它提供单行代码使滚动垂直,
myViewPager2.setOrientation(ViewPager2.ORIENTATION_VERTICAL);