美文网首页
ZoomOutPageTransformer

ZoomOutPageTransformer

作者: 人生刚开始 | 来源:发表于2017-03-19 12:12 被阅读0次
    
        private static final float MIN_SCALE = 0.9f;
        private static final float MIN_ALPHA = 0.8f;
    
        private static float defaultScale = 0.9f;
    
        public void transformPage(View view, float position) {
            //获取屏幕宽度
            int pageWidth = view.getWidth();
            //获取屏幕高度
            int pageHeight = view.getHeight();
    
            if (position < -1) { // [-Infinity,-1)
                // This page is way off-screen to the left.
                view.setAlpha(0);
                view.setScaleX(defaultScale);
                view.setScaleY(defaultScale);
            } else if (position <= 1) { // [-1,1]
                // Modify the default slide transition to shrink the page as well
                float scaleFactor = Math.max(MIN_SCALE, 1 - Math.abs(position));
                float vertMargin = pageHeight * (1 - scaleFactor) / 2;
                float horzMargin = pageWidth * (1 - scaleFactor) / 2;
                if (position < 0) {
                //viewpager左边item的显示
                    view.setTranslationX(horzMargin - vertMargin / 2);
                    view.setTranslationY(vertMargin);
                } else {
                 //viewpager右边item的显示
                    view.setTranslationX(-horzMargin + vertMargin / 2);
                //设置Y轴的位置
                    view.setTranslationY(vertMargin);
                }
    
                // Scale the page down (between MIN_SCALE and 1)
    
                view.setScaleX(scaleFactor);
                view.setScaleY(scaleFactor);
                // Fade the page relative to its size.
                view.setAlpha(MIN_ALPHA +
                        (scaleFactor - MIN_SCALE) /
                                (1 - MIN_SCALE) * (1 - MIN_ALPHA));
    
            } else { // (1,+Infinity]
                // This page is way off-screen to the right.
                view.setAlpha(0);
                view.setScaleX(defaultScale);
                view.setScaleY(defaultScale);
            }
        }
    

    相关文章

      网友评论

          本文标题:ZoomOutPageTransformer

          本文链接:https://www.haomeiwen.com/subject/bnymnttx.html