Android布局动画、SVG矢量动画以及动画特效——Android群英传学习笔记

布局动画

定义:指作用在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 的使用
静态的 VectorDrawable

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

SVG实例:三球仪

earth_moon_system(1)
earth_moon_system(2)
anim_earth/anim_sun
sun_system
主代码

大致效果图

三球仪

动画特效

一、灵活菜单



效果图(点击中心位置展开和收缩菜单)

菜单展开动画的主代码,至于关闭动画与之雷同,就不提供了。

展开动画
按钮点击事件

二、计时器动画

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

主要代码

大致效果图

文章到这里就结束了,大家可以好好琢磨下SVG矢量动画,并且最好能亲自实现下这两个动画特效,相信这些会对大家有些帮助的!!!

你可能感兴趣的:(Android布局动画、SVG矢量动画以及动画特效——Android群英传学习笔记)