1

我正在尝试在页面交换上实现以下显示的效果:

页面变换效果

我的代码是:

public class DepthPageTransformer implements ViewPager.PageTransformer {

    private static float MIN_SCALE = 1.0f;

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

        if (position < -1) { 

            // This page is way off-screen to the left.
            view.setAlpha(0);

        } else if (position <= 0) { 

            // Use the default slide transition when moving to the left page
            view.setAlpha(1);
            view.setTranslationX(0);
            view.setScaleX(1);
            view.setScaleY(1);

        } else if (position <= 1) { 

            // Counteract the default slide transition
            view.setTranslationX(-1 * view.getWidth() * position);

            // Scale the page down (between MIN_SCALE and 1)
            float scaleFactor = MIN_SCALE
                + (1 - MIN_SCALE) * (1 - Math.abs(position));
            view.setScaleX(scaleFactor);
            view.setScaleY(scaleFactor);
        } else { 
            // This page is way off-screen to the right.
            view.setAlpha(0);
        }
    }
}

请提及转换为相似的更改,如图所示。

4

0 回答 0