国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android Activity進出動畫三種方法

2019-10-23 18:29:52
字體:
來源:轉載
供稿:網友

 Android Activity進出動畫三種方法

 實現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

實現activity進出場動畫的第1種方式:overridePendingTransition

用法:

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

PS:toNext是一個封裝的方法,跳轉到指定的activity。

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

實現activity進出場動畫的第2種方式:在清單文件中為activity設置theme

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

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

其中,主要是為android:windowAnimationStyle設置值,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跳轉到B,B也可以跳轉到C,其中轉場動畫設置在B上。

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

最終,為activity設置一個theme,如下:

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

實現activity進出場動畫的第3種方式:在activity中用代碼設置

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

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

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

一些動畫小常識:

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

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"/> 

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


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 庆阳市| 岫岩| 西藏| 乐业县| 丰宁| 龙井市| 景宁| 浪卡子县| 高要市| 普宁市| 东明县| 平阳县| 磐石市| 松滋市| 吕梁市| 于田县| 永福县| 当涂县| 陇南市| 文昌市| 同德县| 巴彦淖尔市| 岳西县| 衡阳县| 宁强县| 鹤岗市| 翁牛特旗| 灵台县| 中卫市| 航空| 社会| 繁峙县| 林口县| 黎平县| 湖北省| 阿勒泰市| 定兴县| 钟祥市| 仪征市| 武宁县| 庆安县|