Android布局动画、SVG矢量动画以及动画特效——Andro
2019-04-02 本文已影响8人
辰_鱼
布局动画
定义:指作用在ViewGroup上,给ViwGroup增加View时添加一个动画过渡效果。
最简单的布局动画:在ViewGroup的XML中,使用:

但该效果是Android 默认的现实的过渡效果,且不能使用自定义的动画来替换。
还可通过LayoutAnimationController类来自定义:

SVG矢量动画
先来一起认识下SVG吧,本人也是头一次接触。
• 可伸缩矢量图形(Scalable Vector Graphics)
• 定义用于网络的基于适量的图形
• 使用XML格式定义图形
• 图像再放大或改变尺寸的情况下其图形质量不会有所损失
SVG常用指令:
L:绘制直线的指令,代表从当前点绘制直线到给定点。
M:代表将画笔移动到某一点,但并不发生绘制动作。
A:该指令用于绘制一段弧线且允许弧线不闭合。
Android中使用SVG:
①VectorDrawable:创建基于XML的SVG图形,并结合AnimatedVectorDrawable来实现动画效果
②AnimatedVectorDrawable:给VectorDrawable提供动画效果,并通过其来连接静态的VectorDrawable和动态的ObjectAnimation。


注意:AnimatedVectorDrawable中制定的target 的name属性,必须与VectorDrawable中需要作用的name属性保持一致,否则系统找不到要实现的动画的元素。
SVG实例:三球仪





大致效果图

动画特效
一、灵活菜单

效果图(点击中心位置展开和收缩菜单)
菜单展开动画的主代码,至于关闭动画与之雷同,就不提供了。


二、计时器动画
计时器动画效果主要是当点击按钮后,数字会不断增加。我们只需借助ValueAnimator实现数字增加并将值设置给TextView即可。


大致效果图