- Activity是android源碼的一個類,其中有方法overridePendingTransition可以實現(xiàn)activity跳轉(zhuǎn)帶動畫效果楷拳。如下源碼
public void overridePendingTransition(int enterAnim, int exitAnim) {
try {
ActivityManagerNative.getDefault().overridePendingTransition(
mToken, getPackageName(), enterAnim, exitAnim);
} catch (RemoteException e) {
}
}
可以在調(diào)用startactivity
之后調(diào)用這個api就可以達到效果,第一個參數(shù)是進入的動畫鱼响,第二個參數(shù)是出去的動畫玷室。調(diào)用方式如下代碼嗽交。
overridePendingTransition(R.anim.activity_open_in_anim, R.anim.activity_close_out_anim);
當然還要定義動畫xml文件醋拧,放在res\anim下面
進入的動畫xml如下:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="https://schemas.android.com/apk/res/android" >
<alpha
android:duration="200"
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:repeatCount="0" />
<translate
android:duration="200"
android:fromXDelta="0"
android:fromYDelta="10%"
android:toXDelta="0"
android:toYDelta="0" />
</set>
出去的動畫xml如下:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="https://schemas.android.com/apk/res/android" >
<alpha android:fromAlpha="1.0"
android:toAlpha="0.0"
android:duration="200"
android:repeatCount="0"/>
<translate
android:duration="200"
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="0"
android:toYDelta="10%" />
</set>
這里只定義了透明度慷嗜,和y方向移動的動畫,當然開發(fā)者也可以自己定義動畫丹壕。