PageTransformer函数详解

作者: 墨源为水 | 来源:发表于2016-08-14 01:06 被阅读388次

    一.日志数据分析

    PageTransformer接口中有transformPage(View view, float position)函数,我用了一个Demo工程的日志得到以下数据。这个Demo工程的ViewPager有三个View。
    (1)当有View1左滑到View2时,由transformPage函数的日志获得以下数据(注意顺序):
    view2的posion由1 -> 0;
    view1的posion由0 -> -1;


    QQ图片20160814005415.png

    (2)当View2右滑到View1时,由transformPage函数的日志获得以下数据(注意顺序):
    view2的posion有0 -> 1;
    view1的posion由-1 -> 0;
    view3的posion有1 -> 2;
    (2)当View2右滑到View3时,由transformPage函数的日志获得以下数据(注意顺序):
    view2的posion有0 -> -1;
    view3的posion有1 -> 0;
    view1的posion有-1 -> -2;

    二.总结

    其实我们在实际使用时,实现滑动效果不会考虑所有ViewPager的子item,只考虑滑动时左右两个item。
    当左滑时:左View的posion将会由 0-> -1,右View的posion将会由1 -> 0;
    当右滑时:左View的posion将会由 -1-> 0,右View的posion将会由 0-> 1;
    其实很好理解:

    • 当左滑时,屏幕离左View的距离由不偏离(即0)到左偏离一个ViewPager宽度(即-1)。屏幕离由View的距离由右偏离一个ViewPager宽度(即1)到不偏离(即0)
    • 当右滑时,屏幕离右View的距离由不偏离(即0)到右偏离一个ViewPager宽度(即1)。屏幕离左View的距离由左偏离一个ViewPager宽度(即-1)到不偏离(即0)

    相关文章

      网友评论

        本文标题:PageTransformer函数详解

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