Android 动画系列一:Drawable Animation
来源:互联网 发布:软件企业资质有哪些 编辑:程序博客网 时间:2024/05/16 17:32
在Android3.0之前,也就是Property Animation还没有出来以前,android中只提供了两种动画定义方式也就是,Drawable Animation和
View Animation,这两种动画又被称作帧动画和补间动画(frame animation和tween animation),在3.0之后,android新推出了另外一
中动画定义方式:Property Animation,这种动画其实也是一种补间动画(tween animation),在3.0以前我们可能会有这样一种思维:
Drawable Animation 是帧动画(frame animation),View Animation是补间动画(tween animation),那么现在我们就应该这样认为:
android 中的帧动画有:Drawable Animation,补间动画有:View Animation和Property Animation。
好了现在我们来介绍一个Drawable Animation
Drawable Animation 是帧动画,何为帧动画?帧动画就是一个画面一个画面连续放映而形成的动态效果,最好的例子就是:我们拿连续
拍摄的照片,在一定时间间隔内连续的播放,就会看到视频的动态效果,这种动态效果我们就称之为帧动画。动画片其实也是这个原理。
Drawable Animation我们一般使用xml文件来进行制作,这个xml动画文件在android 工程中属于res/drawable文件夹下的文件,那么这
个xml文件由什么构成呢?Drawable Animation的xml文件由<animation-list>元素以及其子节点构成,下面我们就来创建一个Drawble
Animation 动画。
首先创建xml文件,在android工程中点击drawable文件夹选中,然后在Eclipse工具栏选择“New Android XML File”,在Resource Type
中选择Drawable,然后输入文件名:xxx.xml,然后在root Element选中<animation-list>,点击finish,这样我们便创建了一个Drawable
Animation动画文件,然后我们便是来编写这个xml文件
<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false" > <item android:drawable="@drawable/welcome_1" android:duration="200" /><item android:drawable="@drawable/welcome_2" android:duration="200" /><item android:drawable="@drawable/welcome_0" android:duration="200" /><item android:drawable="@drawable/welcome_3" android:duration="200" /><item android:drawable="@drawable/welcome_4" android:duration="200" /><item android:drawable="@drawable/welcome_0" android:duration="200" /></animation-list>
在编写之前我们应该准备好要播放的帧,即图片,然后将图片放到这个root element的子节点中。接下来我们就在代码中使用这个动画
/** * drawable animation*/public class MainActivity extends Activity implements OnClickListener{Button btn;ImageView img;AnimationDrawable drawableAnimation;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn = (Button)findViewById(R.id.btn);img = (ImageView)findViewById(R.id.img);btn.setOnClickListener(this);}@Overridepublic void onClick(View v) {if(v.getId() == R.id.btn){if(drawableAnimation==null){//将xml文件作为背景资源设置到ImageView中img.setBackgroundResource(R.drawable.welcome_anim);//获取ImageView的AnimationDrawable属性drawableAnimation = (AnimationDrawable)img.getBackground();//调用start()方法进行播放。drawableAnimation.start();}else if(drawableAnimation!=null && drawableAnimation.isRunning()){drawableAnimation.stop();}else if(drawableAnimation!=null && !drawableAnimation.isRunning()){drawableAnimation.start();}}}}
这样Drawable Animation便介绍完了,其他的一些方法使用请去查看android API。
- Android 动画系列一:Drawable Animation
- Android Drawable系列——Animation Drawable(动画实现)
- Android动画-Drawable Animation
- Drawable Animation(Android动画)
- Android绘图动画---Drawable Animation
- Android动画之Drawable Animation
- Android动画之一:Drawable Animation
- Android动画之一:Drawable Animation
- Android动画之一:Drawable Animation
- Android帧动画Drawable Animation
- Android 动画(2) Drawable Animation
- Android动画之一:Drawable Animation
- Android动画之一:Drawable Animation
- Android动画之Drawable Animation
- Android drawable animation(帧动画)
- Android Animation 动画(二)--Drawable动画
- Android中的绘图动画(Drawable Animation)
- 【Android】帧动画(Drawable Animation)
- 数据结构实验之链表四:有序链表的归并
- 判断出栈顺序是否正确
- NSSet 和 NSMutableSet 定义和基本用法
- iOS 菜鸟逆向学习 (一)
- vmware虚拟机上网
- Android 动画系列一:Drawable Animation
- LinuxMint安装前后【挂载/home】【改源】【搜狗输入法】
- android开发之播放视频文件
- Pro Git (笔记)
- Android中XML文件的序列化生成与解析
- Leetcode: Find Peak Element
- 最大子序列和
- 整数移位
- wordpress导入XML演示数据的方法