android 动画总结笔记 一

原创 2015年07月09日 15:13:15
终于有时间可以详细去了解一下 android动画,先从android动画基础着手。在android 3.0之前android动画api主要是android.view.Animation包下的内容,来先看看这个包里面主要的类

![Animation成员](http://img.blog.csdn.net/20150709115201928 "Animation类图")

<?xml version="1.0" encoding="utf-8"?>  
<set xmlns:android="http://schemas.android.com/apk/res/android"  
android:interpolator="@[package:]anim/interpolator_resource"  
android:shareInterpolator=["true" | "false"] >  
<alpha  
android:fromAlpha="float"  
android:toAlpha="float" />  
<scale  
android:fromXScale="float"  
android:toXScale="float"  
android:fromYScale="float"  
android:toYScale="float"  
android:pivotX="float"  
android:pivotY="float" />  
<translate  
android:fromXDelta="float"  
android:toXDelta="float"  
android:fromYDelta="float"  
android:toYDelta="float" />  
<rotate  
android:fromDegrees="float"  
android:toDegrees="float"  
android:pivotX="float"  
android:pivotY="float" />  
<set>  
...  
</set>  
</set>

布局文件必须有一个独立的根元素,可以是,,,,(持有一组其它的动画元素,可以是内嵌的set元素)中的一个
1****
android:interpolator动画插补器,该值必须是了解一个指定插值器的引用(不是一个类名),在平台中有缺省的插值器资源可以使用,或者自己创建插值器资源
android:shareInterpolator
Boolean 值,true:代表在所有的字元素中共享同一个插值器
Interpolator的具体使用方法
interpolator定义了动画变化的速率,在Animations框架当中定义了一下几种Interpolator
1、AccelerateDecelerateInterpolator:在动画开始与结束的地方速率变化比较慢,在中间的时候速率快。
2、accelerateInterpolator:在动画开始的地方速率变化比较慢,然后开始加速。
3、CycleInterpolator:动画循环播放特定的次数,速率改变沿着正弦曲线
4、DecelerateInterpolator:在动画开始的时候速率改变比较慢,然后开始减速
5、linearInterpolator:动画以均匀的速率改变
自定义插值器
如果你对系统提供的插值器不满意,我们可以创建一个插值器资源修改插值器的属性,比如修改Aniticipateinterpolator的加速速率,调整CycleInterpolator的循环次数等,为了完成这种序曲,我们需要创建xml资源文件,然后再动画元素中引用即可。几种常用的插值器可调整的属性

android:factor 浮点值,加速速率,默认为1
android:tension 浮点值,起始点后退的张力、拉力数,默认为2
android:tension 同上 android:extraTension 浮点值,拉力的倍数,默认1.5(2 *1.5)

android:cycles int,循环的个数,默认为1
android:factor 浮点值,减速的速率,默认为1

浮点值,超出终点后的张力、拉力,默认为2

<?xml version="1.0" encoding="utf-8"?>  
<overshootInterpolator xmlns:android="http://schemas.android.com/apk/res/android"  
android:tension="7.0"/>  
This animation XML will apply the interpolator:  
<scale xmlns:android="http://schemas.android.com/apk/res/android"  
android:interpolator="@anim/my_overshoot_interpolator"  
android:fromXScale="1.0"  
android:toXScale="3.0"  
android:fromYScale="1.0"  
android:toYScale="3.0"  
android:pivotX="50%"  
android:pivotY="50%"  
android:duration="700" />

如果简单的修改插值器的属性还不能够满足我们的需求,那么就自己来通过实现Interplator接口来定义自己的插值器,上面所有的Interpolator都实现了Interpolator接口,这个接口定义了一个方法:float getInterpolation(float intput);
此方法由系统调用,input代表动画的时间,在0和1之间,也就是开始和结束。

Frame动画

<?xml version="1.0" encoding="utf-8"?>  
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"  
android:oneshot=["true" | "false"] >  
<item  
android:drawable="@[package:]drawable/drawable_resource_name"  
android:duration="integer" />  
</animation-list>

必须作为跟元素,包含一个或者多个根元素
属性:android:oneshot: true: 只执行一次动画, false: 循环执行
一帧独立动画,必须是的子元素
属性:drawable资源图片
android:duration integer类型,该帧的时长,单位为毫秒

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android动画总结系列(4)——属性动画集成

本文总结了属性动画的使用方法,Android属性动画相对于补间动画而言,的确是发生了质的变化,整个框架的抽象性设计非常合理,扩展性也非常强。在实际使用过程中,如果动画很简单,而且没有文中提到的补间动画...
  • u013478336
  • u013478336
  • 2016年08月17日 17:18
  • 2274

android中的动画完全总结

这里会讲到的动画有视图动画(帧动画,补间动画),属性动画,activity和fragment切换时的动画,viewgroup添加和移除子view时的动画,android随后新的系统api的transi...
  • baidu_26994091
  • baidu_26994091
  • 2016年06月14日 21:59
  • 1368

Android开发艺术探索学习笔记

4.2.1 MeasureSpecMeasureSpec代表一个32位的值,高2位代表SpecMode,低30位代表SpecSize. SpecMode:测量模式 SpecSize:在某种测量模式...
  • qq_18715365
  • qq_18715365
  • 2016年11月20日 09:35
  • 551

Android系统总结之---AlertDialog笔记

系统的八大对话框对话框使用注意事项: 修改对话框宽高的时候,要在dialog对话框show方法之后使用 修改dialog样式的方法 在style中写dialog的样式,一般如下:通过下面属性来改变d...
  • u012920206
  • u012920206
  • 2016年10月21日 14:46
  • 1038

HTML5----大牛对HTML5的思考总结(一)(笔记篇)

1 合肥APP开发的博客 原文链接:http://blog.sina.com.cn/s/blog_1385466310102w28z.html 内容提要:本文罗列了该博客的7个观点,主要是关于H...
  • guzhenping
  • guzhenping
  • 2015年12月01日 20:28
  • 996

Android 笔记(个人总结)

往sd卡写数据 权限uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> tr...
  • qq_37614259
  • qq_37614259
  • 2017年07月07日 20:07
  • 96

第四周Android实习笔记

1.SharedPreferences: (1)轻型数据存储方式 (2)本质基于XML文件存储key-value键值对数据 (3)通常用来存储一些简单的配置信息实现步骤: SharedPref...
  • u014465934
  • u014465934
  • 2016年03月24日 21:54
  • 542

Java多线程笔记总结

1.线程的三种创建方式参考之前的总结: 多线程-创建线程的三种方式对比三种方式: 通过继承Thread类实现 通过实现Runnable接口 实现Callable接口 第1种方式无法继承其他类,第2,3...
  • neven7
  • neven7
  • 2015年12月22日 10:05
  • 590

Android 中通过Canvas 与线程结合实现动画效果

前段时间在公司做了一个模块,不使用第三方动画效果类,直接通过Canvas 进行图像的绘制,并通过Thread实现动画的效果 该模块主要是实现车辆运行时候的道路运行效果,在进行实施前做了一个相关的Dem...
  • Adrian24
  • Adrian24
  • 2016年06月09日 23:23
  • 4009

代码笔记总结(一些别人写的代码)

一些别人写的代码,只是觉得写得可以自己可以以后拿来使用的。 1、关于反射的,如何通过一个只用调用一个方法就可以接接收不同的对象并调用其实例方法:这些类必须实现或者继承同一个父类,然后用里氏替换原则(想...
  • w369033345
  • w369033345
  • 2016年07月11日 13:55
  • 542
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android 动画总结笔记 一
举报原因:
原因补充:

(最多只允许输入30个字)