绘图动画(Drawable Animation)
来源:互联网 发布:linux svn checkout 编辑:程序博客网 时间:2024/05/22 12:32
一、什么叫绘图动画?
加载一系列Drawable资源来创建动画,这种传统动画某种程度上就是创建不同图片序列,顺序播放,就像电影胶片。在代码中定义动画帧,使用AnimationDrawable类;XML文件能更简单的组成动画帧,在res/drawable文件夹,使用<animation-list>采用<item>来定义不同的帧。感觉只能设置的属性是动画间隔时间。
二、如何在 XML 文件中定义动画
ad.xml
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/a" android:duration="100" />
<item android:drawable="@drawable/b" android:duration="100" />
<item android:drawable="@drawable/c" android:duration="100" />
<item android:drawable="@drawable/d" android:duration="100" />
<item android:drawable="@drawable/e" android:duration="100" />
<item android:drawable="@drawable/f" android:duration="100" />
<item android:drawable="@drawable/g" android:duration="100" />
<item android:drawable="@drawable/h" android:duration="100" />
<item android:drawable="@drawable/i" android:duration="100" />
<item android:drawable="@drawable/j" android:duration="100" />
</animation-list>
说明:<item android:drawable="@drawable/a" android:duration="100" />
<item android:drawable="@drawable/b" android:duration="100" />
<item android:drawable="@drawable/c" android:duration="100" />
<item android:drawable="@drawable/d" android:duration="100" />
<item android:drawable="@drawable/e" android:duration="100" />
<item android:drawable="@drawable/f" android:duration="100" />
<item android:drawable="@drawable/g" android:duration="100" />
<item android:drawable="@drawable/h" android:duration="100" />
<item android:drawable="@drawable/i" android:duration="100" />
<item android:drawable="@drawable/j" android:duration="100" />
</animation-list>
android:oneshot="false"
默认为false 表示 动画循环播放, 如果这里写true 则表示动画只播发一次。
<item>
标签中记录着每一帧的信息android:drawable="@drawable/a"表示这一帧用的图片为"a" android:duration="100"
表示这一帧持续100毫秒,可以根据这个值来调节动画播放的速度。
Layout文件中
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
代码中://获取AnimationDrawable
AnimationDrawable ad = (AnimationDrawable) getResources().getDrawable(R.drawable.ad);
//添加背景动画
imageView.setBackgroundDrawable(ad);
//启动绘图动画
ad.start();
AnimationDrawable 提供了很多方法来控制这个帧动画。
animationDrawable.start();
开始这个动画
animationDrawable.stop();
结束这个动画
animationDrawable.setAlpha(100);
设置动画的透明度, 取值范围(0 - 255)
animationDrawable.setOneShot(true);
设置单次播放
animationDrawable.setOneShot(false);
设置循环播放
animationDrawable.isRunning();
判断动画是否正在播放
animationDrawable.getNumberOfFrames();
得到动画的帧数。
二、如何在 JAVA代码中定义动画
代码如下
imageView = (ImageView) findViewById(R.id.iv);
//实例化AnimationDrawable对象
AnimationDrawable ad = new AnimationDrawable();
Drawable a = getResources().getDrawable(R.drawable.a);
Drawable b = getResources().getDrawable(R.drawable.b);
Drawable c = getResources().getDrawable(R.drawable.c);
Drawable d = getResources().getDrawable(R.drawable.d);
Drawable e = getResources().getDrawable(R.drawable.e);
Drawable f = getResources().getDrawable(R.drawable.f);
Drawable g = getResources().getDrawable(R.drawable.g);
Drawable h = getResources().getDrawable(R.drawable.h);
//为动画添加一帧
//参数mBitAnimation是该帧的图片
//参数500是该帧显示的时间,按毫秒计算
ad.addFrame(a, 200);
ad.addFrame(b, 200);
ad.addFrame(c, 200);
ad.addFrame(d, 200);
ad.addFrame(e, 200);
ad.addFrame(f, 200);
ad.addFrame(g, 200);
ad.addFrame(h, 200);
//设置播放模式是否循环播放,false表示循环,true表示不循环
ad.setOneShot(false);
//设置本类将要显示的这个动画
imageView.setBackground(ad);
ad.start();
0 0
- 绘图动画(Drawable Animation)
- Android绘图动画---Drawable Animation
- Android中的绘图动画(Drawable Animation)
- Animation Drawable(动画实现)
- 【Android】帧动画(Drawable Animation)
- Drawable Animation(逐帧动画)
- Android动画-Drawable Animation
- Drawable Animation(Android动画)
- Android Drawable系列——Animation Drawable(动画实现)
- android动画之帧动画(drawable animation)和补间动画(view animation)
- Android动画之Drawable Animation
- Android动画之一:Drawable Animation
- 帧动画Drawable Animation入门
- Android动画之一:Drawable Animation
- Android动画之一:Drawable Animation
- Android帧动画Drawable Animation
- Android 动画(2) Drawable Animation
- Android动画之一:Drawable Animation
- 算法系列之二十三:离散傅立叶变换之音频播放与频谱显示
- 作业3.22
- dhtmlx.confirm 不执行
- 委托的内部构造
- [LeetCode 46 & 47]Permutations I & II
- 绘图动画(Drawable Animation)
- Java设计模式——构造者模式(Builder)
- leetcode-67 Add Binary
- 【C语言】判断1000年~2000年之间的闰年。
- Android Activity界面切换添加动画特效
- java 内部锁的可重用性(Reentrancy)
- Mac 使用Source Insight (借助Wine For Mac)
- 设计模式之单例模式(1)
- 喜剧腿细