通過(guò)overridePendingTransition
實(shí)現(xiàn)
一宗挥、準(zhǔn)備動(dòng)畫(huà)文件
1墓塌、layout_down_up.xml
從下向上動(dòng)畫(huà)
2需五、layout_up_down.xml
從上向下動(dòng)畫(huà)
3护桦、layout_center.xml
初始位置
layout_down_up.xml 從下向上打開(kāi)
activity
的動(dòng)畫(huà)
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
//位置從 Y=100% 用250毫秒時(shí)間 移動(dòng)到 Y=0(從下往上移動(dòng)250毫秒動(dòng)畫(huà))
<translate android:fromYDelta="100%" android:toYDelta="0" android:duration="250" />
</set>
layout_up_down.xml 從上向下關(guān)閉
activity
的動(dòng)畫(huà)
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
//(從上往下移動(dòng)250毫秒動(dòng)畫(huà))
<translate android:fromYDelta="0" android:toYDelta="100%" android:duration="250" />
</set>
layout_center.xml 在0坐標(biāo)不移動(dòng)
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromYDelta="0" android:toYDelta="0" />
</set>
ps:可以實(shí)現(xiàn)縮放移動(dòng)透明等等多種聯(lián)合特效廊宪,這里只用從下往上來(lái)舉例
二浓瞪、開(kāi)始使用
1懈玻、在Activity
中的onCreate
方法設(shè)置打開(kāi)動(dòng)畫(huà)
@Override
protected void onCreate(Bundle savedInstanceState) {
//activity打開(kāi)時(shí)動(dòng)畫(huà)寫(xiě)在 super.onCreate(savedInstanceState); 前面,因?yàn)閛verridePendingTransition需要在onCreate之前設(shè)置
//或者也可以寫(xiě)在startActivity下面,這里不推薦所以略過(guò)
overridePendingTransition(R.anim.layout_down_up,R.anim.layout_center);
super.onCreate(savedInstanceState);
}
2涂乌、在Activity
中的finish
方法設(shè)置關(guān)閉動(dòng)畫(huà)
@Override
public void finish() {
super.finish();
//activity關(guān)閉的動(dòng)畫(huà)寫(xiě)在super.finish();下面
overridePendingTransition(R.anim.layout_center,R.anim.layout_up_down);
}
ps:
overridePendingTransition有兩個(gè)參數(shù)
1艺栈、要顯示的activity的動(dòng)畫(huà)
2、要消失的activity的動(dòng)畫(huà)
ps:overridePendingTransition(0, 0); //可以設(shè)置無(wú)默認(rèn)動(dòng)畫(huà)