相信大家都知道Android默認(rèn)的Activity跳轉(zhuǎn)動(dòng)畫比較單一,并且有些時(shí)候蚓胸,從右到左的進(jìn)入動(dòng)畫和從左到右的退出動(dòng)畫挣饥,并不是適用于每一個(gè)應(yīng)用場(chǎng)景,下面來(lái)記錄兩個(gè)關(guān)于修改Activity 動(dòng)畫的方法赢织。
1. Activity1------>Activity2(請(qǐng)注意此方法僅適用于Activity之間跳轉(zhuǎn)時(shí)MainActivity無(wú)法實(shí)現(xiàn)效果)
在跳轉(zhuǎn)過(guò)程中我們可以設(shè)置進(jìn)入Activity的進(jìn)入動(dòng)畫方式
通過(guò)使用overridePendingTransition(R.anim.alpha_in, R.anim.alpha_out);方法來(lái)實(shí)現(xiàn)
此方法寫在StartActivity之后
startActivity(new Intent(MainActivity.this,LogInActivity.class));
//overridePendingTransition(R.anim.alpha_in, R.anim.alpha_out);
但是使用這個(gè)方式的話只能設(shè)置要跳轉(zhuǎn)的Activty的樣式亮靴,不能設(shè)置進(jìn)入首頁(yè)的Activity的樣式(也就是MainActivty)因?yàn)镸ainActivty為程序的入口沒(méi)有別的界面跳轉(zhuǎn)到此故不能使用這種方式來(lái)動(dòng)態(tài)設(shè)置Activty的樣式
2.在AndroidManifest.xml文件中設(shè)置Activity的樣式
android:name="com.liboheng.MainActivity"
?android:theme="@style/Anim_fade"?>
這個(gè)MainActivity為程序的入口 我們?cè)贏ndroidManifest中來(lái)設(shè)置他的進(jìn)入和退出動(dòng)畫這樣就可以替換掉系統(tǒng)自動(dòng)的動(dòng)畫效果,然后是Anim_fade
<style name ="Anim_fade" parent="android:Theme.Light.NoTitleBar">
????<item name="android:windowAnimationStyle">@style/fade</item>
</style>
<style name="fade" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/alpha_in</item>
<item name="android:activityOpenExitAnimation">@anim/alpha_out</item>
<item name="android:activityCloseEnterAnimation">@anim/alpha_in</item>
<item name="android:activityCloseExitAnimation">@anim/alpha_out</item>
</style>
設(shè)置Activty的進(jìn)入和退出動(dòng)畫于置,這樣就能把制定Activity的進(jìn)入和退出效果
相比這兩種方式茧吊,更推薦第二種,改變Activity的的默認(rèn)樣式使界面更加美觀