美文网首页
Android ViewPager.PageTransforme

Android ViewPager.PageTransforme

作者: 枫从流年 | 来源:发表于2018-05-22 14:21 被阅读0次

    viewPager是Android开发中经常使用的一个控件,在使用过程中如果需要给各page进入退出添加动画,就可以通过设置PageTransformer来实现。

    PageTransformer是一个接口,需要具体实现其transformPage方法,

    public void transformPage(View page, float position) {

    }

    其中参数page为页面view,position为相对当前页面对应的位置,具体文档说明如下:

    PageTransformer

    即左边page,当前page,右边page对应初始position值分别为-1,0,1

    当向左滑动时,当前page的position值变化为[0~-1],右边page的position值变化为[1~0];

    同理,当向右滑动时,当前page的position值变化为[0~1],左边page的position值变化为[-1~0]。

    这样,我们可以在page的移动过程中更改view的属性来达到动画效果,例如:

    动画

    向左滑动,当前page左移渐隐,右边page从中间由小到大渐现;向右滑动,当前页面从中间由大到小渐隐,左边page右移渐现。

    这里是通过设置TranslationX来控制page的真正位置,默认是跟着滑动对应移动。可以理解为真正水平位置

    X = 新left + translationX。

    设置好动画效果后,我们可以通过自定义viewPager的Scroller来控制页面滚动的消耗的时间,也就是动画时间,首先重新定义scroller

    自定义Scroller

    然后通过反射方法重新设置viewPager的scroller

    设置viewPager的Scroller

    以上就是对ViewPager中PageTransformer的一点简单介绍。

    相关文章

      网友评论

          本文标题:Android ViewPager.PageTransforme

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