AndroidActivity進出動畫三種方法

 Android Activity進出動畫三種方法

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了烏拉特前免費建站歡迎大家使用!

 實現(xiàn)activity的進出場動畫總共有3種方式,下面會一一列出,首先給出示例的動畫xml文件。

動畫的xml文件

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
  android:fromYDelta="100%" 
  android:toYDelta="0" 
  android:duration="1000" 
  /> 

這是R.anim.in

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
  android:fromYDelta="0" 
  android:toYDelta="100%" 
  android:duration="1000" 
  /> 

這是R.anim.out

實現(xiàn)activity進出場動畫的第1種方式:overridePendingTransition

用法:

toNext(AnimationDrawableActivity.class); 
overridePendingTransition(R.anim.in, R.anim.out); 

PS:toNext是一個封裝的方法,跳轉(zhuǎn)到指定的activity。

如果要finish掉當(dāng)前activity,把它放在overridePendingTransition()方法前后似乎并無差別,不過有人建議finish()放在overridePendingTransition()之前,不知出處。

實現(xiàn)activity進出場動畫的第2種方式:在清單文件中為activity設(shè)置theme

在styles.xml文件中寫一個style,如下:

<style name="animationofactivity" parent="AppBaseTheme"> 
    <item name="android:windowAnimationStyle">@style/enterandentrance</item> 
</style> 

其中,主要是為android:windowAnimationStyle設(shè)置值,enterandentrance也是一個style,如下:

<style name="enterandentrance"> 
    <item name="android:activityOpenEnterAnimation">@anim/in</item> 
    <item name="android:activityOpenExitAnimation">@anim/out</item> 
    <item name="android:activityCloseEnterAnimation">@anim/in</item> 
    <item name="android:activityCloseExitAnimation">@anim/out</item> 
</style> 

從名為A的activity跳轉(zhuǎn)到B,B也可以跳轉(zhuǎn)到C,其中轉(zhuǎn)場動畫設(shè)置在B上。

android:activityOpenEnterAnimation:指的是,進入B時的動畫。
android:activityOpenExitAnimation:指的是進入B時,A的動畫,與B的動畫是一起顯示的。
android:activityCloseEnterAnimation:通過B跳轉(zhuǎn)到C后,后退到B時,B的進入動畫
android:activityCloseExitAnimation:通過B跳轉(zhuǎn)到C后,后退到B時,C的退出動畫

最終,為activity設(shè)置一個theme,如下:

<activity android:name="com.example.androidresources.AnimationDrawableActivity"  
     android:theme="@style/animationofactivity"/> 

實現(xiàn)activity進出場動畫的第3種方式:在activity中用代碼設(shè)置

在所要設(shè)置動畫的activity的onCreate方法中,設(shè)置了setContentView()之后,寫如下代碼:

這種方法除了用在activity的轉(zhuǎn)場動畫之外,還能用在dialog中。

LayoutParams params = getWindow().getAttributes(); 
params.windowAnimations = R.style.enterandentrance; 
getWindow().setAttributes(params); 

一些動畫小常識:

1、調(diào)用overridePendingTransition(enterAnim, exitAnim)時,enterAnim和exitAnim如果有為0的值,指的是不設(shè)置該動畫。

2、如果進入一個activity時,想讓前一個activity靜止不動,那么需要專門寫一個動畫,如下:

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
  android:fromYDelta="0" 
  android:toXDelta="0" 
  android:duration="1000"/> 

 感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

分享文章:AndroidActivity進出動畫三種方法
鏈接分享:http://muchs.cn/article42/iepehc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、軟件開發(fā)、網(wǎng)站內(nèi)鏈響應(yīng)式網(wǎng)站、關(guān)鍵詞優(yōu)化電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)