出场、入场动画大全,基于NineOldAndroids轻松实现动画效果

一、前言

相信做过动画集的人都知道,用github上的NineOldAndroids,使用起来非常方便。(链接地址:https://github.com/JakeWharton/NineOldAndroids)唯一缺点就是:动画例子太少了,自己去调的话效率太慢了(个人就是在这上面花费了好长时间)。于是呢,国内的大神代码家,基于这个开源库实现了很多的出场、入场动画效果,基本上有用到的都举出来了。可惜啊,很多人都知道NineOldAndroids的存在却不知道它,链接地址:https://github.com/daimajia/AndroidViewAnimations

二、使用

效果图的话,大家可以点击链接去查看(https://github.com/daimajia/AndroidViewAnimations),这里主要是说一下它的用法。因为作者把它封装得很仔细,当然,如果通过作者的readme文本能够看得懂的话,就不必往下看了。
一开始,如果你看起来很吃力,不要紧,项目还是很有参考价值的。作者把各种动画都封装在工程下library,而且不同动画都放在不同文件夹,结构非常清晰。如下图:
出场、入场动画大全,基于NineOldAndroids轻松实现动画效果_第1张图片
这里我以HingeAnimator(左下摇摆弹出)动画为例,源代码如下:
出场、入场动画大全,基于NineOldAndroids轻松实现动画效果_第2张图片
通过索引不难发现,以下代码就能够简单调用实现动画集效果
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();
其它动画效果都是大同小异,最后,不要忘了引用前记得导入相关的库文件。

你可能感兴趣的:(开源框架)