很簡單,在startActivity后,調用overridePendingTransition方法,例如,實現淡入淡出的效果如下:
- Intent i = new Intent(StartActivity.this,MainTab.class);
- StartActivity.this.startActivity(i);
- overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
由左向右滑入的效果改變一下參數即可,
- overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
以上是直接使用android.R.anim預先定義好的animation,很奇怪為什么沒有zoomin和zoomout(也許是我沒有找到,還望高人指點)
要實現zoomin和zoomout,即類似iphone的進入和退出時的效果,代碼如下:
- overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
添加此代碼后,eclipse會報錯,因為沒有zoomin和zoomout的定義
此時在res目錄下新建文件夾anim,然后在anim下新建兩個xml,默認選項不用更改,分別命名為zoomin.xml和zoomout.xml,
代碼如下:
zoomin
- <?xmlversion="1.0"encoding="utf-8"?>
- <setxmlns:android="http://schemas.android.com/apk/res/android"
- android:interpolator="@android:anim/decelerate_interpolator">
- <scaleandroid: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
- <?xmlversion="1.0"encoding="utf-8"?>
- <setxmlns:android="http://schemas.android.com/apk/res/android"
- android:interpolator="@android:anim/decelerate_interpolator"
- android:zAdjustment="top">
- <scaleandroid: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"/>
- <alphaandroid:fromAlpha="1.0"android:toAlpha="0"
- android:duration="@android:integer/config_mediumAnimTime"/>
- </set>
轉自:http://www.cnblogs.com/jiayonghua/archive/2012/04/17/2454225.html