viewpager立方体切换效果

来源:互联网 发布:linux常用软件包 编辑:程序博客网 时间:2024/05/18 01:17

先上效果图


viewpager的正方体切换效果


首先是 PageTransformer这个类的了解,上个鸿洋大神的连接http://blog.csdn.net/lmj623565791/article/details/40411921

然后这个效果的实现就比较简单了,实际控制代码就几行解决了,话不多说,上代码:

package com.toxicant.hua.roateviewpagerdemo;/** * Created by hua on 2016/2/9. */import android.support.v4.view.ViewPager;import android.view.View;public class MyPageTransformer implements ViewPager.PageTransformer{    public void transformPage(View view, float position)    {            //左边0~-90度,右边90~0度,            //左边x 0~-width,右边x width~0;        if (position < -1)        {        } else if (position <= 1) // a页滑动至b页 ; a页从 0.0 ~ -1 ;b页从1 ~ 0.0        { // [-1,1]            if (position < 0)//滑动中左边页面            {                view.setPivotX(view.getMeasuredWidth());                view.setRotationY(position*90);            } else//滑动中右边页面            {                view.setPivotX(0);                view.setRotationY(position*90);            }        } else        { // (1,+Infinity]                    }    }}

然后调用:

mViewPager.setPageTransformer(true, new MyPageTransformer());

如此这般,便能得到如图效果。

为什么这样做可以自己观察下,并不难,就是旋转和平移view。

viewpager的PageTransformer有一点难理解,所以我画了下图,方便各位理解:


比较难理解的position就是像上面所说的,还不理解…我也没办法了。

1 0
原创粉丝点击