天天看點

安卓設定Activity進入和退出動畫及樣式

在使用Activity的時候不知道大家有沒有發現系統預設的進入動畫是從右側進入到左側停止,退出動畫是從左到右移動直到完全退出界面。

當我們從Activity1跳轉到Activty2的時候Activity2從右側進入界面,點選傳回按鈕Activity從左到右退出,但是在退出的過程中Activity1也會跟随着從左到右進入直到完全顯示

如果我們不希望用系統預設的這種進入樣式(至少首頁不要是從右到左的進入樣式)我們可以自己來修改Activty的進入樣式,下面我們來實際操作一下:

第一種方式。

在跳轉過程中我們可以設定進入Activity的進入動畫方式

通過使用overridePendingTransition(R.anim.alpha_in, R.anim.alpha_out);方法來實作

此方法寫在StartActivity之後

startActivity(new Intent(MenuFragment.this.getActivity(),LogInActivity.class));

//overridePendingTransition(R.anim.alpha_in, R.anim.alpha_out);

但是使用這個方式的話隻能設定要跳轉的Activty的樣式,不能設定進入首頁的Activity的樣式(也就是MainActivty)因為MainActivty為程式的入口沒有别的界面跳轉到此故不能使用這種方式來動态設定Activty的樣式

第二種方式

在AndroidManifest.xml檔案中設定Activity的樣式

        <activity

            android:name="com.xiaoqiang.BottomMenuActivity"

            android:theme="@style/Anim_fade" >

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

這個BottomMenuActivity為程式的入口 我們在AndroidManifest中來設定他的進入和退出動畫這樣就可以替換掉系統自動的動畫效果,然後是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>

設定Activty的進入和退出動畫,這樣就能把制定Activity的進入和退出效果

相比這兩種方式,更推薦第二種,改變Activity的的預設樣式使界面更加美觀

繼續閱讀