java - 如何将此水平 ViewPager 变压器修改为垂直变压器?

标签 java android animation android-viewpager android-support-library

这是我的代码。它对于水平变换动画效果很好。我想垂直转换我的 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); 

关于java - 如何将此水平 ViewPager 变压器修改为垂直变压器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54957356/

相关文章:

Android:不幸的是(项目名称)已停止工作

android - 如何使用 Intent 将 ArrayList<File> 对象从一个 Activity 传递到另一个 Activity?

android - 如何使用 OnTouch() 检查图像是否被触摸

java - 将值连接到变量名称

java - Jtable 列在 NetBeans GUI 生成器中无法水平滚动?

javascript - 使用 Snap 对分组/分层 SVG 进行动画处理

Jquery加载动画直到页面加载完成?

image - SDL_image PNG 透明度错误

java - Spring Security openId 支持和用户解除认证

java - 在单独的进程中执行 Java 应用程序