ViewPager 16种切换动画,早晚能用到

时间:2022-11-28 22:35:39

相信很多同学都用过Viewpager但是,Viewpager提供的动画不能应对我们所有的需求,今天就给大家带来16+的动画效果,你可以用,更可以自定义。

转载请注明来源
http://blog.csdn.net/androidmsky/article/details/50248937
代码连接
https://github.com/AndroidMsky/ViewPagerAnimation

上图:
ViewPager 16种切换动画,早晚能用到
ViewPager 16种切换动画,早晚能用到
ViewPager 16种切换动画,早晚能用到

16个效果名:

0.左右黏合滑动
1.快速消失切入
2.3D向前飞出屏幕
3.3D箱子旋转
4.平移
5.卡片左右翻页
6.卡片上下翻页
7.等比放大缩小
8左右带角度平移1
9左右带角度平移2
10.好像没有写case10.
11.遮盖翻页
12.内旋3D翻页
13.不翻页中心缩小
14.左右半透明平移
15.改变透明度变换
16.左右黏贴平移

找到源头。其实安卓早就为我们提供了各种各样的viewpager切换动画API ,我们只需重写们只需写一行代码

viewPager.setPageTransformer(true,
new DepthPageTransformer());

第一个参数true就是 是否开启动画的意思。来我们看看第二个类是什么:

public class DepthPageTransformer extends ABaseTransformer {

private static final float MIN_SCALE = 0.75f;

@Override
protected void onTransform(View view, float position) {
if (position <= 0f) {
view.setTranslationX(0f);
view.setScaleX(1f);
view.setScaleY(1f);
} else if (position <= 1f) {
final float scaleFactor = MIN_SCALE + (1 - MIN_SCALE) * (1 - Math.abs(position));
view.setAlpha(1 - position);
view.setPivotY(0.5f * view.getHeight());
view.setTranslationX(view.getWidth() * -position);
view.setScaleX(scaleFactor);
view.setScaleY(scaleFactor);
}
}

@Override
protected boolean isPagingEnabled() {
return true;
}

}

其实就是在定义自己的动画了,这里就不细说,大家想要什么效果自己拿去,如果还不够就自己去写ABaseTransformer吧.

别忘记引入包

 compile files('libs/androidannotations-api-3.2.jar')

欢迎关注作者。欢迎评论讨论。欢迎拍砖。
如果觉得这篇文章对你有帮助,欢迎打赏, 欢迎star,Fork我的github。
喜欢作者的也可以Follow。也算对作者的一种支持。
本文Github代码链接 https://github.com/AndroidMsky/ViewPagerAnimation欢迎加作者自营安卓开发交流群:308372687
ViewPager 16种切换动画,早晚能用到

—————————————————————————————

作者推荐:

安卓自定义view滚动数据显示
http://blog.csdn.net/androidmsky/article/details/53009886
RecyclerView下拉刷新分页加载性能优化和Gilde配合加载三部曲
http://blog.csdn.net/androidmsky/article/details/53115818
打造企业级网络请求框架集合retrofit+gson+mvp
http://blog.csdn.net/androidmsky/article/details/52882722
安卓手机自动接起QQ视频秒变摄像头
http://blog.csdn.net/androidmsky/article/details/53066441

—————————————————————————————