关于activity的切换,有很多挺好看的动画实现,最近在项目中加入了类似于iphone的进入退出的特效。主要使用了overridePendingTransition(int in,int out)这个方法,该方法里有两个int类型参数,不过这个方法只在android2.0之后的版本支持。所以在使用之前最好先判断一下当前系统的版本,该方法在startActivity(intent)后使用,代码如下:
Intent intent = new Intent(ActivityA.this, ActivityB.class);
this.startActivity(intent); int version = Integer.valueOf(android.os.Build.VERSION.SDK); if(version >= 5) { overridePendingTransition(R.anim.zoomin, R.anim.zoomout); }
??android.os.Build.VERSION.SDK是获得当前系统的版本号。上述代码中用到了两个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:fromXScale="2.0" android:toXScale="1.0" Android:fromYScale="2.0" android:toYScale="1.0" Android:pivotX="50%p" android:pivotY="50%p" Android:duration="@android:integer/config_mediumAnimTime" /> </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:fromXScale="1.0" android:toXScale=".5" Android:fromYScale="1.0" android:toYScale=".5" Android:pivotX="50%p" android:pivotY="50%p" Android:duration="@android:integer/config_mediumAnimTime" /> <alpha Android:fromAlpha="1.0" android:toAlpha="0" Android:duration="@android:integer/config_mediumAnimTime"/> </set>
?
?
?