现在先来说一下scale(缩放比例)的使用:
调用方法:overridePendingTransition(R.anim.scale_in, R.anim.scale_out);
R.anim.scale_in表示要进入的Activity界面的xml文件,R.anim.scale_out表示离开的Activity界面的xml文件,在xml文件中可配置相关属性,即可实现相关的动画效果。
下面来举例并说明其配置的相关含义:
R.anim.scale_in:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<scale
android:duration="4000"
android:fromXScale="1.0"
android:fromYScale="0.0"
android:pivotX="0%p"
android:pivotY="0%p"
android:toXScale="1.0"
android:toYScale="1.0" />
</set>
<!--
duration:经历时间为4000ms
fromYScale由0.0放大到1.0;
fromXScale不变
pivotX与pivotY:进入画面的位置0%p表示从上面,100%表示从屏幕下面开始进入 -->
R.anim.scale_out:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<scale
android:duration="4000"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="100%p"
android:pivotY="100%p"
android:toXScale="1.0"
android:toYScale="0.0" />
</set>
相关配置信息与R.anim.scale_in含义一致。
接下来rotate_scale(旋转界面)
调用方法:overridePendingTransition(R.anim.alpha_in, R.anim.rotate_scale);
R.anim.rotate_scale才是我们需要配置的旋转界面的xml文件
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<rotate
android:duration="4000"
android:fromDegrees="0"
android:interpolator="@android:anim/linear_interpolator"
android:pivotX="50%p"
android:pivotY="50%p"
android:startOffset="0"
android:toDegrees="720"
android:toYScale="0" />
<scale
android:duration="4000"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="50%p"
android:pivotY="50%p"
android:toXScale="0.0"
android:toYScale="0.0" />
</set>
<!--
<rotate>标签:旋转,本文配置表示旋转时间为4000ms,旋转的中心为正中心,由属性android:pivotX="50%"与android:pivotY="50%"决定的。
android:fromDegrees:开始旋转时的度数
android:toDegrees:结束时的度数。
<scale>标签:缩放: 缩放时间为4000ms,缩放的中心为正中,由属性android:pivotX="50%p"
android:pivotY="50%p"决定,缩放由1.0缩放到0.0,即由原始大小缩到0大小
-->