android提供了两种动画
tween动画
通过对view的内容进行一系列的图形变换,有平移,缩放,旋转,改变透明度,来实现
操作过程
1. 在res下新建一个anim文件夹,然后在anim里添加一个alpha.xml文件
如这样: 添加一个渐变到无的效果
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="1.0"
android:toAlpha="0"
android:duration="5000" />
</set>
Java代码
Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.alpha);
ImageView imageView = (ImageView)this.findViewById(R.id.imageview);
imageView.startAnimation(animation);
平移
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
从x轴的 0 开始
android:fromXDelta="0"
从y轴的 0 开始
android:fromYDelta="0"
到x轴的 100 处停止
android:toXDelta="100"
到y轴的 100 处停止
android:toYDelta="100"
间隔时长 0.7 秒
android:duration="700" />
</set>
Java代码
Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.translate);
animation.setFillAfter(true);
ImageView imageView = (ImageView)this.findViewById(R.id.imageview);
imageView.startAnimation(animation);
缩放或者扩大
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="1.0"
android:fromYScale="1.0"
android:toXScale="0"
android:toYScale="0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="2000"/>
</set>
Java代码
Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.scale);
animation.setFillAfter(true);
ImageView imageView = (ImageView)this.findViewById(R.id.imageview);
imageView.startAnimation(animation);
旋转
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:fromDegrees="0"
android:toDegrees="180"
android:pivotX="50%"
android:pivotY="50%"
android:duration="2000"/>
</set>
Java代码
Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.rotate);
animation.setFillAfter(true);
ImageView imageView = (ImageView)this.findViewById(R.id.imageview);
imageView.startAnimation(animation);
frame动画