1. 前言
动画在安卓中,使用是很是常见的,好比网络请求时的loading,就是经过旋转实现的。 在安卓中,动画分为两大类, 分别是视图动画和属性动画。视图动画又分为帧动画和补间动画。这篇文章主要讲帧动画的使用。三种动画的使用文章地址以下:android
2. 介绍
帧动画,指的就是利用视觉停留的特色,把一张张静态的图片顺序播放,造成动画的效果。git
3. 使用
3.1 在drawable目录建立xml文件,编写好帧动画的图片集合
<?xml version="1.0" encoding="utf-8"?>
<animation-list
android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/loading_1" android:duration="200"></item>
<item android:drawable="@drawable/loading_2" android:duration="200"></item>
<item android:drawable="@drawable/loading_3" android:duration="200"></item>
<item android:drawable="@drawable/loading_4" android:duration="200"></item>
<item android:drawable="@drawable/loading_5" android:duration="200"></item>
<item android:drawable="@drawable/loading_6" android:duration="200"></item>
<item android:drawable="@drawable/loading_7" android:duration="200"></item>
</animation-list>
复制代码
解释:
github
3.2 动画的开启和关闭
public class MainActivity extends BaseActivity {
@BindView(R.id.iv)
ImageView iv;
AnimationDrawable animationDrawable = null;
boolean isStart = false;
@Override
protected int setLayoutId() {
return R.layout.activity_main;
}
@Override
protected void initView() {
// 获取动画对象
animationDrawable = (AnimationDrawable) iv.getBackground();
}
@OnClick(R.id.iv)
public void onViewClicked() {
if (isStart) {
stop();
} else {
start();
}
}
//开启动画
private void start (){
animationDrawable.start();
isStart = true;
}
//关闭动画
private void stop (){
animationDrawable.stop();
isStart = false;
}
}
复制代码
解释:
bash
4.总结
5. 完整demo地址
6. 历史文章目录