ViewPager 3D翻转

利用PageTransformer实现ViewPager3D翻转

 mDensity = getResources().getDisplayMetrics().density;
 mViewPager.setOffscreenPageLimit(2);//缓存两页,此处必须设置
 mViewPager.setPageTransformer(true,newFlipPagerTransformer());//设置3D翻转 效果
 mViewPager.setAdapter(mMainPagerAdapter);

实现PageTransformer接口:

private class FlipPagerTransformer implements ViewPager.PageTransformer{

        @Override
        public void transformPage(View page, float position) {
            if(position <= 0 && position >= -1){
                page.setPivotX(page.getMeasuredWidth());
            }else if(position <= 1 && position >= -1){
                page.setPivotX(0);
            }
            page.setPivotY(page.getMeasuredHeight() * 0.5f);
            if(mDensity <= 1.5f){
                page.setRotationY(position * 90f);

            }else if(1.5f < mDensity && mDensity <= 2.0f){
                page.setRotationY(position * 75f);
            }else if(2.0f < mDensity){
                page.setRotationY(position * 60f);
            }
        }

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值