Android通过Animation改变自带的Activity切屏效果

分享到:

若是感觉自带的Activity切换效果过于单一,我们可以通过Animation改变默认的切换效果。

在此提供一种切换方案。

在res目录下新建anim文件夹,用于存放Animation的XML文件。

zoomin.xml文件
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator" >
<scale
android:duration="1000"
android:fromXScale="2.0"
android:fromYScale="2.0"
android:pivotX="50%p"
android:pivotY="50%p"
android:toXScale="1.0"
android:toYScale="1.0" />
</set>  

zoomout.xml文件
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator"
android:zAdjustment="top" >
<scale
android:duration="1000"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="50%p"
android:pivotY="50%p"
android:toXScale=".5"
android:toYScale=".5" />
<alpha
android:duration="@android:integer/config_mediumAnimTime"
android:fromAlpha="1.0"
android:toAlpha="0" />
</set>  

应用

在原先的切屏代码后面加上(该动画的显示对SDK的版本有一定的要求):

int version = Integer.valueOf(android.os.Build.VERSION.SDK);
if(version >= 5) {
overridePendingTransition(R.anim.zoomin, R.anim.zoomout);   
例如:
Intent intent2 = new Intent();
intent2.setClass(MyQQActivity.this,Tabs.class );
startActivity(intent2);
int version = Integer.valueOf(android.os.Build.VERSION.SDK);
if(version >= 5) {
overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
}   

昵    称:
验证码:

相关文档: