Android Activity進(jìn)出動(dòng)畫三種方法
Android Activity進(jìn)出動(dòng)畫三種方法
實(shí)現(xiàn)activity的進(jìn)出場(chǎng)動(dòng)畫總共有3種方式,下面會(huì)一一列出,首先給出示例的動(dòng)畫xml文件。
動(dòng)畫的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
實(shí)現(xiàn)activity進(jìn)出場(chǎng)動(dòng)畫的第1種方式:overridePendingTransition
用法:
toNext(AnimationDrawableActivity.class); overridePendingTransition(R.anim.in, R.anim.out);
PS:toNext是一個(gè)封裝的方法,跳轉(zhuǎn)到指定的activity。
如果要finish掉當(dāng)前activity,把它放在overridePendingTransition()方法前后似乎并無(wú)差別,不過(guò)有人建議finish()放在overridePendingTransition()之前,不知出處。
實(shí)現(xiàn)activity進(jìn)出場(chǎng)動(dòng)畫的第2種方式:在清單文件中為activity設(shè)置theme
在styles.xml文件中寫一個(gè)style,如下:
<style name="animationofactivity" parent="AppBaseTheme">
<item name="android:windowAnimationStyle">@style/enterandentrance</item>
</style>
其中,主要是為android:windowAnimationStyle設(shè)置值,enterandentrance也是一個(gè)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)場(chǎng)動(dòng)畫設(shè)置在B上。
android:activityOpenEnterAnimation:指的是,進(jìn)入B時(shí)的動(dòng)畫。
android:activityOpenExitAnimation:指的是進(jìn)入B時(shí),A的動(dòng)畫,與B的動(dòng)畫是一起顯示的。
android:activityCloseEnterAnimation:通過(guò)B跳轉(zhuǎn)到C后,后退到B時(shí),B的進(jìn)入動(dòng)畫
android:activityCloseExitAnimation:通過(guò)B跳轉(zhuǎn)到C后,后退到B時(shí),C的退出動(dòng)畫
最終,為activity設(shè)置一個(gè)theme,如下:
<activity android:name="com.example.androidresources.AnimationDrawableActivity"
android:theme="@style/animationofactivity"/>
實(shí)現(xiàn)activity進(jìn)出場(chǎng)動(dòng)畫的第3種方式:在activity中用代碼設(shè)置
在所要設(shè)置動(dòng)畫的activity的onCreate方法中,設(shè)置了setContentView()之后,寫如下代碼:
這種方法除了用在activity的轉(zhuǎn)場(chǎng)動(dòng)畫之外,還能用在dialog中。
LayoutParams params = getWindow().getAttributes(); params.windowAnimations = R.style.enterandentrance; getWindow().setAttributes(params);
一些動(dòng)畫小常識(shí):
1、調(diào)用overridePendingTransition(enterAnim, exitAnim)時(shí),enterAnim和exitAnim如果有為0的值,指的是不設(shè)置該動(dòng)畫。
2、如果進(jìn)入一個(gè)activity時(shí),想讓前一個(gè)activity靜止不動(dòng),那么需要專門寫一個(gè)動(dòng)畫,如下:
<?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"/>
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Android購(gòu)物車項(xiàng)目快速開發(fā)
這篇文章主要為大家詳細(xì)介紹了Android購(gòu)物車項(xiàng)目快速開發(fā),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
Android使用JobScheduler定期推送本地通知實(shí)例代碼
本篇文章主要介紹了Android使用JobScheduler定期推送本地通知實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
Andorid基于ZXing實(shí)現(xiàn)二維碼生成與掃描的示例代碼
ZXing是一個(gè)開源的條碼和二維碼掃描庫(kù),它可以用于Android開發(fā)中,通過(guò)ZXing庫(kù)可以實(shí)現(xiàn)Android設(shè)備上的條碼和二維碼掃描功能,開發(fā)者可以輕松地在Android應(yīng)用中集成條碼和二維碼掃描功能,本文主要給大家介紹了Andorid?ZXing實(shí)現(xiàn)二維碼,感興趣的朋友可以參考下2023-08-08
詳解Android Studio3.5及使用AndroidX的一些坑
這篇文章主要介紹了詳解Android Studio3.5及使用AndroidX的一些坑,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Android 判斷當(dāng)前網(wǎng)絡(luò)是否可用簡(jiǎn)單實(shí)例
這篇文章主要介紹了Android 判斷當(dāng)前網(wǎng)絡(luò)是否可用簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-06-06
Android 6.0動(dòng)態(tài)權(quán)限申請(qǐng)教程
本文主要介紹了Android 6.0動(dòng)態(tài)權(quán)限申請(qǐng)的教程,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03
Android 數(shù)據(jù)存儲(chǔ)之 FileInputStream 工具類及FileInputStream類的使用
這篇文章主要介紹了Android 數(shù)據(jù)存儲(chǔ)之 FileInputStream 工具類及FileInputStream類的使用的相關(guān)資料,需要的朋友可以參考下2015-11-11
Android Studio用genymotion運(yùn)行后小圖標(biāo)無(wú)法顯示問(wèn)題
這篇文章主要介紹了Android Studio用genymotion運(yùn)行后小圖標(biāo)無(wú)法顯示的問(wèn)題,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04

