简介:View动画的作用对象是View,它支持4种效果,平移、缩放、旋转、透明度。
动画可以定义在xml中和直接在java代码中定义
动画的xml文件放在res/anim目录下
透明度动画
效果图:
java代码:
AlphaAnimation alphaAnimation = new AlphaAnimation(0.1f, 1f); // 此处表示透明度从10%~100%显示
alphaAnimation.setDuration(2000); // 动画的持续时间
imageView.startAnimation(alphaAnimation); // 开始动画
xml代码:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true">
<alpha
android:duration="2000"
android:fromAlpha="0.1"
android:toAlpha="1" />
</set>
java中引用xml中定义的动画:
Animation animation = AnimationUtils.loadAnimation(this, R.anim.alpha);
imageView.startAnimation(animation);
fillAfter:动画结束以后View是否停留在结束位置。
缩放动画
效果图:
xml代码:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:duration="2000"
android:fromXScale="0.0"
android:fromYScale="0.0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1.0"
android:toYScale="1.0" />
</set>
pivotX:缩放的轴点的x坐标,它会影响缩放的效果。
pivotY:缩放的轴点的y坐标,它会影响缩放的效果。
轴点:View的中心点。
平移动画:
效果图:
xml代码:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="2000"
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="0"
android:toYDelta="500" />
</set>
fromXDelta:x的起始值。
toXDelta:x的结束值。
fromYDelta:y的起始值。
toYDelta:y的结束值。
旋转动画:
效果图:
xml代码:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:duration="2000"
android:fromDegrees="0"
android:toDegrees="90"
android:pivotX="50%"
android:pivotY="50%"
/>
</set>
fromDegrees:旋转开始的角度。
toDegrees:旋转结束的角度。
pivotX:旋转的轴点的x坐标。
pivotY:旋转的轴点的y坐标。
轴点:View的中心点。