android中的动画效果

这里介绍一下补间动画和帧动画

补间动画
部件动画一般有两种写法,一种在代码中写,一种在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();

猜你喜欢

转载自blog.csdn.net/qq_28859405/article/details/52653567