Android ViewPager.PageTransformer简单介绍

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的一点简单介绍。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容