美文网首页
ViewPager切换动画实现

ViewPager切换动画实现

作者: Avalon1 | 来源:发表于2017-06-21 17:27 被阅读40次

给ViewPager设置切换的效果。主要就是调用

public void setPageTransformer(boolean reverseDrawingOrder, PageTransformer transformer)

这个方法的一些说明

 * <p><em>Note:</em> Prior to Android 3.0 the property animation APIs did not exist.
 * As a result, setting a PageTransformer prior to Android 3.0 (API 11) will have no effect.</p>

3.0之后才有用。不过已经够了。现在app基本都是4.0最低支持版本了。
两个参数

 * @param reverseDrawingOrder true if the supplied PageTransformer requires page views
 *                            to be drawn from last to first instead of first to last.
 * @param transformer PageTransformer that will modify each page's animation properties

需要传入一个PageTransformer,而这个PageTransformer是一个接口。需要我们去手动实现。
重写

 public void transformPage(View page, float position);

方法。

 * @param page Apply the transformation to this page
     * @param position Position of page relative to the current front-and-center
     *                 position of the pager. 0 is front and center. 1 is one full
     *                 page position to the right, and -1 is one page position to the left.

注释。
手势往左为负,往右为正
根据position的取值对view进行变化吧。
一些效果可以参考Android 属性动画拓展(一)这里

image.png

通过一些日志可以看到这里收到影响的是两个不同的View,比如从第一页滑动到第二页。有这样的日志。
position对于第一个view为正。第二个view为负。

相关文章

网友评论

      本文标题:ViewPager切换动画实现

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