利用Theme自定義Activity進入退出動畫


有沒有覺得Activity的默認動畫太快了或者太難看了。。
我原來使用Activity.overridePendingTransition來自定義Activity的進入動畫,卻發現沒法定義退出的動畫。結果就發現了強大的Theme和Style,之后還需要好好研究一下。

具體是這樣子的:
在AndroidManifest里面,對於application和activity標簽可以定義theme屬性。如果對Application定義了某一個屬性,那么會對所有的activity產生影響,當然你可以在activity中覆蓋它。

<application android:theme="@style/ThemeActivity">

然后在values/themes.xml中

<style name="ThemeActivity" mce_bogus="1">
<item name="android:windowAnimationStyle">@style/AnimationActivity</item>
<item name="android:windowNoTitle">true</item>
</style>

在values/styles.xml中

<style name="AnimationActivity" parent="@android:style/Animation.Activity" mce_bogus="1">
<item name="android:activityOpenEnterAnimation">@anim/push_left_in</item>
<item name="android:activityOpenExitAnimation">@anim/push_left_out</item>
<item name="android:activityCloseEnterAnimation">@anim/push_right_in</item>
<item name="android:activityCloseExitAnimation">@anim/push_right_out</item>
</style>


這樣就可以了,至於anim中的動畫,就自己定義啦,這個和普通的animation是一樣的,如果不知道的話,請參見

http://developer.android.com/guide/topics/graphics/view-animation.html。

這種方式除了可以定義activity的animation之外,還有task,window出現和結束時候的動畫,具體請參見

http://developer.android.com/reference/android/R.styleable.html#WindowAnimation


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM