这里介绍一下补间动画和帧动画
补间动画
部件动画一般有两种写法,一种在代码中写,一种在xml文件中写。
1.代码中写法
//一个集合可以定义很多动画
AnimationSet set = new AnimationSet(true);
//创建透明度渐变对象,参数表示透明度从1到0.
AlphaAnimation aa = new AlphaAnimation(1,0);
//设置动画执行时间
aa.setDuration(2000);
set.addAnimation(aa);
//设置动画执行完成之后是否还留在结束后的位置
set.setFillAfter(true);
//执行动画
iv.startAnimation(set);
其他旋转,平移相同
2.xml中定义动画
2.1 在res中创建文件夹anim
2.2 在anim中创建xxx.xml文件,内容如下
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="1" android:toAlpha="0"></alpha>
</set>
2.3 然后在代码中调用
//从代码中获取Animation对象,其余和上面一样,jianbian为xml文件名
```
Animation anim = AnimationUtils.loadAnimation(MainActivity.this,R.anim.jianbian);
anim.setDuration(2000);
anim.setFillAfter(true);
iv.startAnimation(anim);
```
帧动画
1.在drawable文件夹中创建xml文件如下
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/a" android:duration="1000"></item>
</animation-list>
2.然后再布局文件中将该文件设置为背景
<ImageView
android:id="@+id/iv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/donghue"/>
3.在java代码中获取动画并启动
AnimationDrawable ad = background = iv.getBackground();
ad.start();