当前位置:K88软件开发文章中心编程语言APP编程Android01 → 文章内容

8.4.4 Android动画合集之属性动画-又见

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-12 6:27:46

例代码如下private class DecelerateAccelerateInterpolator implements TimeInterpolator { @Override public float getInterpolation(float input) { if (input < 0.5) { return (float) (Math.sin(input * Math.PI) / 2); } else { return 1 - (float) (Math.sin(input * Math.PI) / 2); } }}调用setInterpolator(new DecelerateAccelerateInterpolator())设置下即可~限于篇幅就不贴图了~3.ViewPropertyAnimator3.1后系统当中附增的一个新的功能,为View的动画操作提供一种更加便捷的用法!假如是以前,让一个TextView从正常状态变成透明状态,会这样写:ObjectAnimator animator = ObjectAnimator.ofFloat(textview, "alpha", 0f); animator.start();而使用ViewPropertyAnimator来实现同样的效果则显得更加易懂:textview.animate().alpha(0f); 还支持连缀用法,组合多个动画,设定时长,设置Interpolator等~textview.animate().x(500).y(500).setDuration(5000) .setInterpolator(new BounceInterpolator());用法很简单,使用的时候查下文档就好~,另外下面有几个细节的地方要注意一下!整个ViewPropertyAnimator的功能都是建立在View类新增的animate()方法之上的,这个方法会创建并返回一个ViewPropertyAnimator的实例,之后的调用的所有方法,设置的所有属性都是通过这个实例完成的。使用ViewPropertyAnimator将动画定义完成之后,动画就会自动启动。并且这个机制对于组合动画也同样有效,只要我们不断地连缀新的方法,那么动画就不会立刻执行,等到所有在ViewPropertyAnimator上设置的方法都执行完毕后,动画就会自动启动。当然如果不想使用这一默认机制的话,我们也可以显式地调用start()方法来启动动画。ViewPropertyAnimator的所有接口都是使用连缀的语法来设计的,每个方法的返回值都是它自身的实例,因此调用完一个方法之后可以直接连缀调用它的另一个方法,这样把所有的功能都串接起来,我们甚至可以仅通过一行代码就完成任意复杂度的动画功能。4.本节示例代码下载AnimatorDemo3.zip在Github上找到一个动画合集的项目,很多动画效果都有,下面贴下地址:BaseAnimation 动画合集想研究各种动画是如何实现的可自行查看源码~本节小结嗯,本节我们讲了一些稍微高深一点的东西Evaluator啊,Interpolator啊,还有ViewPropertyAnimator,是不是又拓展了大家的见识~本节也是Android基础入门绘图与的最后一小节了,如果大家把这一章节的内容都掌握了,再去学自定义控件,或者看别人写的自定义控件,应该不会再那么地不知道从何入手,遇到一堆新面孔了吧!嗯,还是谢谢郭神的文章,属性动画部分的内容很都是直接在郭神那里搬过来的嘿嘿~本节就到这里,谢谢~PS:后面的示意图换模拟器是因为的N5秀逗了...

上一页  [1] [2] [3] 


8.4.4 Android动画合集之属性动画-又见