Activity 切换动画
如果想設定應用的activity之間切換可以使用下面的屬性
activityOpenEnterAnimation
activityOpenExitAnimation
activityCloseEnterAnimation
activityCloseExitAnimation
他們的關系如下:
?
?
?
<style name="AppTheme" parent="android:Theme.Light"><item name="android:windowNoTitle">true</item><item name="android:windowAnimationStyle">@style/activityAnimation</item></style><!-- animation 樣式 --><style name="activityAnimation" parent="@android:style/Animation"><item name="android:activityOpenEnterAnimation">@anim/slide_right_in</item><item name="android:activityOpenExitAnimation">@anim/slide_left_out</item><item name="android:activityCloseEnterAnimation">@anim/slide_left_in</item><item name="android:activityCloseExitAnimation">@anim/slide_right_out</item></style><applicationandroid:name=".MainApp"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" >?
使用代碼設置
public void? overridePendingTransition (int enterAnim, int exitAnim)????? API level 5
enterAnim resource ID of the animation resource to use for the incoming activity. Use 0 for no animation.
exitAnim resource ID of the animation resource to use for the outgoing activity. Use 0 for no animation.?
動態的修改activity切換時的動畫, 要在startActivity(Intent)?或者 finish() 之后調用。
?
比如從打開一個頁面,從當前頁面的底部向上滑出,當前頁面不動。
bottom_up.xml 往上滑出現
<?xml version="1.0" encoding="utf-8"?><translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_mediumAnimTime"
android:fromYDelta="100%"
android:toYDelta="0"
/>
?
up_bottom.xml 向下滑消失
<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android"android:duration="@android:integer/config_mediumAnimTime"android:fromYDelta="0"android:toYDelta="100%" />?
still.xml 不變的動畫,透明度不變
<?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.android.com/apk/res/android"android:duration="300"android:fromAlpha="1.0"android:toAlpha="1.0" />?
當前頁面打開新頁面:
startActivity(intent);
overridePendingTransition(R.anim.bottom_up, 0);
(這里退出的動畫設為0的話,新界面出來的時候,當前頁面在后面會消失掉,可以設一個不變的動畫來解決:
overridePendingTransition(R.anim.bottom_up, R.anim.still);)
?
?
新頁面退出:
finish(); overridePendingTransition(0, R.anim.up_bottom);
?
?
?
?
轉載于:https://www.cnblogs.com/zijianlu/archive/2012/11/22/2782245.html
總結
以上是生活随笔為你收集整理的Activity 切换动画的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 乌鲁木齐新疆丝路中心是毛坯房还是精装修?
- 下一篇: Memcache的使用