一、前言
相信做过动画集的人都知道,用github上的NineOldAndroids,使用起来非常方便。(链接地址:https://github.com/JakeWharton/NineOldAndroids)唯一缺点就是:动画例子太少了,自己去调的话效率太慢了(个人就是在这上面花费了好长时间)。于是呢,国内的大神代码家,基于这个开源库实现了很多的出场、入场动画效果,基本上有用到的都举出来了。可惜啊,很多人都知道NineOldAndroids的存在却不知道它,链接地址:https://github.com/daimajia/AndroidViewAnimations
一开始,如果你看起来很吃力,不要紧,项目还是很有参考价值的。作者把各种动画都封装在工程下library,而且不同动画都放在不同文件夹,结构非常清晰。如下图:
二、使用
效果图的话,大家可以点击链接去查看(https://github.com/daimajia/AndroidViewAnimations),这里主要是说一下它的用法。因为作者把它封装得很仔细,当然,如果通过作者的readme文本能够看得懂的话,就不必往下看了。一开始,如果你看起来很吃力,不要紧,项目还是很有参考价值的。作者把各种动画都封装在工程下library,而且不同动画都放在不同文件夹,结构非常清晰。如下图:
这里我以HingeAnimator(左下摇摆弹出)动画为例,源代码如下:
通过索引不难发现,以下代码就能够简单调用实现动画集效果
AnimatorSet animatorSet = new AnimatorSet();
float x = gifImageView1.getPaddingLeft();
float y = gifImageView1.getPaddingTop();
animatorSet.playTogether(
ObjectAnimator.ofFloat(gifImageView1, "rotation", 0, 80, 60, 80, 60, 60),
ObjectAnimator.ofFloat(gifImageView1, "translationY", 0, 0, 0, 0, 0, 700),
ObjectAnimator.ofFloat(gifImageView1, "alpha", 1, 1, 1, 1, 1, 0),
ObjectAnimator.ofFloat(gifImageView1, "pivotX", x, x, x, x, x, x),
ObjectAnimator.ofFloat(gifImageView1, "pivotY", y, y, y, y, y, y)
);
animatorSet.setStartDelay(1000);
animatorSet.setDuration(1300);
animatorSet.start();
其它动画效果都是大同小异,最后,不要忘了引用前记得导入相关的库文件。