有趣的ViewPager动画

原创
2016/08/12 00:26
阅读数 278

好久没写文章了,充数一篇。 搞Android的肯定都知道ViewPager.PageTransformer是什么,那么上一个在我的项目中用到的有趣的切换效果。

public class GoalTypePageTransformer implements ViewPager.PageTransformer {
    private static final AccelerateInterpolator INTERPOLATOR = new AccelerateInterpolator();
    private static final float THRESHOLD_MAX = .8f;
    private static final float THRESHOLD_MIN = .2f;

    @Override
    public void transformPage(View view, float v) {
        final double factor = Math.sin(Math.PI * Math.abs(v)) * .3 + .45;
        view.setTranslationX(view.getWidth() * (float)(-v * factor));
        final float alpha = 1 - Math.abs(v);
        view.setAlpha(INTERPOLATOR.getInterpolation(alpha > THRESHOLD_MAX ? 1 :
                alpha < THRESHOLD_MIN ? 0 : (alpha - THRESHOLD_MIN) / (THRESHOLD_MAX - THRESHOLD_MIN)));
    }
}
展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部