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 的使用静态的 VectorDrawable
注意:AnimatedVectorDrawable中制定的target 的name属性,必须与VectorDrawable中需要作用的name属性保持一致,否则系统找不到要实现的动画的元素。
SVG实例:三球仪
earth_moon_system(1)earth_moon_system(2)
anim_earth/anim_sun
sun_system 主代码
大致效果图
三球仪动画特效
一、灵活菜单
效果图(点击中心位置展开和收缩菜单)
菜单展开动画的主代码,至于关闭动画与之雷同,就不提供了。
展开动画按钮点击事件
二、计时器动画
计时器动画效果主要是当点击按钮后,数字会不断增加。我们只需借助ValueAnimator实现数字增加并将值设置给TextView即可。
主要代码大致效果图