ページ

2013/05/26

[Android]Activityの画面遷移のアニメーションを無効化する

[Android]ActionBarSherlockの背景色をカスタマイズする | DevAchieve
[Android]ActionBarSherlockでActionBarを透過オーバーレイさせる | DevAchieve
書いたように Activity のアニメーションがあると透過 ActionBar で
起動時に一瞬灰色の表示になった後に透過されるので色々やっていたのだけど
どうも起動時のアニメーションが怪しい気がしたので
アニメーションを無効化してみたら灰色の表示が消えました。
というわけでActivityの画面遷移のアニメーションを無効化する方法について書きます。
と言ってもthrow Life - ActivityのOpenとCloseをアニメーションさせるを参考に
各アニメーションに @null を指定するだけ。
<style name="noActivityAnimation" parent="android:Animation.Activity">
    <!-- 呼び出される activity の Enter アニメーション -->
    <item name="android:activityOpenEnterAnimation">@null</item>
    <!-- 他の activity を呼び出す activity の Exit アニメーション -->
    <item name="android:activityOpenExitAnimation">@null</item>
    <!-- 他の activity を閉じる際に表示される activity の Enter アニメーション -->
    <item name="android:activityCloseEnterAnimation">@null</item>
    <!-- activity を閉じる際の Exit アニメーション -->
    <item name="android:activityCloseExitAnimation">@null</item>
</style>

あとは適用したい Activity のテーマで以下のように記述します。
<item name="android:windowAnimationStyle">@style/noActivityAnimation</item>