一般在startActivity後調用overridePendingTransition方法,該方法是在Android2.0新增進去的,所以只支援Android2.0以上系統
樣本如下:
Intent intent = new Intent(WelcomeActivity.this,MainActivity.class);<br />startActivity(intent );<br />overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
參數中設定的動畫可以換成其他的,比如左滑,右滑:
overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
除了使用系統預設提供的Animation外,還可以自訂Animation,以下定義ZoomIn和ZoomOut的效果
在res目錄下建立檔案夾anim,分別建立兩個xml檔案,命名為zoom_in.xml,zoom_out.xm
zoom_in.xml:
<?xml version="1.0" encoding="utf-8"?><br /><set xmlns:android="http://schemas.android.com/apk/res/android"<br /> android:interpolator="@android:anim/decelerate_interpolator"><br /> <scale android:fromXScale="2.0" android:toXScale="1.0"<br /> android:fromYScale="2.0" android:toYScale="1.0"<br /> android:pivotX="50%p" android:pivotY="50%p"<br /> android:duration="@android:integer/config_mediumAnimTime" /><br /></set>
zoom_out.xml:
<?xml version="1.0" encoding="utf-8"?><br /><set xmlns:android="http://schemas.android.com/apk/res/android"<br /> android:interpolator="@android:anim/decelerate_interpolator"<br /> android:zAdjustment="top"><br /> <scale android:fromXScale="1.0" android:toXScale=".5"<br /> android:fromYScale="1.0" android:toYScale=".5"<br /> android:pivotX="50%p" android:pivotY="50%p"<br /> android:duration="@android:integer/config_mediumAnimTime" /><br /> <alpha android:fromAlpha="1.0" android:toAlpha="0"<br /> android:duration="@android:integer/config_mediumAnimTime"/><br /></set>
開始調用自訂Animation:
overridePendingTransition(R.anim.zoom_in, R.anim.zoom_out);