Android Activity动画属性简介
Android Activity動(dòng)畫屬性簡介
在Android當(dāng)中 設(shè)置activity的動(dòng)畫 需要復(fù)寫?android:windowAnimationStyle這個(gè)屬性
我們自定義一個(gè)動(dòng)畫樣式來繼承 @android:style/Animation(Base style for animations. ?This style specifies no animations)
這個(gè)樣式是Android操作系統(tǒng)提供的 沒用動(dòng)畫的樣式 我們定義其中的4個(gè)屬性還設(shè)置我們想要的效果
?
android:activityOpenEnterAnimation 一個(gè)activity創(chuàng)建進(jìn)入的效果。
android:activityOpenExitAnimation ? ?一個(gè)activity還沒有finish()下退出效果, 比如有倆個(gè)activity A與B 首先啟動(dòng)A 然后再啟動(dòng)B 那么A還沒有finish() ?這時(shí)A的退出效果。
android:activityCloseEnterAnimation 表示上一個(gè)activity返回進(jìn)入效果 比如有倆個(gè)activity A與B ?B在最上面,B退出(finish)后 A重新進(jìn)入的效果。
android:activityCloseExitAnimation? ? 表示的是activity finish()之后的效果 比如有倆個(gè)activity A與B B退出后會被finish() 那么B的退出效果在這定義。
?
下面寫一個(gè)activity左右滑動(dòng)的效果。
<style name="AppTheme" parent="@android:style/Theme"> <item name="android:windowAnimationStyle">@style/activityAnimation</item></style> <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>?slide_left_in.xml
<setxmlns:android="http://schemas.android.com/apk/res/android"><translate android:duration="300" android:fromXDelta="-100.0%p" android:toXDelta="0.0" /> </set>slide_left_out.xml
<setxmlns:android="http://schemas.android.com/apk/res/android"><translate android:duration="300" android:fromXDelta="0.0" android:toXDelta="-100.0%p" /> </set>slide_right_in.xml
<setxmlns:android="http://schemas.android.com/apk/res/android"><translate android:duration="300" android:fromXDelta="100.0%p" android:toXDelta="0.0" /> </set>slide_right_out.xml
<setxmlns:android="http://schemas.android.com/apk/res/android"><translate android:duration="300" android:fromXDelta="0.0" android:toXDelta="100.0%p" /> </set>?
上面是通寫配置文件的方式來定義activity的動(dòng)畫效果,我們還可以通過代碼的方式來指定動(dòng)畫效果。
overridePendingTransition(int enterAnim, int exitAnim)
all immediately after one of the flavors of?startActivity(Intent)?or?finish()?to specify an explicit transition animation to perform next.
這個(gè)方法可以放在startActivity(intent)和finish()方法的后面。
?
(A啟動(dòng)B A不動(dòng) B從下面滑入)
第一個(gè)參數(shù)是進(jìn)入activity的動(dòng)畫,第二個(gè)參數(shù)是當(dāng)前activity退出時(shí)的動(dòng)畫。
Intent intent = new Intent(NavigationDemo.this, AnimationActivity.class); startActivity(intent); overridePendingTransition(R.anim.slide_in_from_bottom, R.anim.hold);slide_in_from_bottom.xml
<translate xmlns:android="http://schemas.android.com/apk/res/android"android:duration="@android:integer/config_longAnimTime"android:fromYDelta="100%p"android:toYDelta="0" />hold.xml
<translate xmlns:android="http://schemas.android.com/apk/res/android"android:duration="@android:integer/config_longAnimTime"android:fromXDelta="0"android:interpolator="@android:anim/accelerate_interpolator"android:toXDelta="0" />?
(A與B B退出時(shí)從下面滑出)?
第一個(gè)參數(shù)指定A進(jìn)入時(shí)的效果,為0表示沒有動(dòng)畫, 第二個(gè)參數(shù)表示當(dāng)前B退出時(shí)的動(dòng)畫。
@Overridepublic void finish() {super.finish();overridePendingTransition(0, R.anim.slide_out_to_bottom);} }slide_out_to_bottom.xml
<translate xmlns:android="http://schemas.android.com/apk/res/android"android:duration="@android:integer/config_longAnimTime"android:fromYDelta="0"android:toYDelta="100%p" />?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的Android Activity动画属性简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 应用DOM操作文档的一个实用例子
- 下一篇: Android Animation动画效