Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android Activity 平滑水平切換動畫

Android Activity 平滑水平切換動畫

編輯:關於Android編程

在Android當中 設置activity的動畫 需要復寫 android:windowAnimationStyle這個屬性

我們自定義一個動畫樣式來繼承 @android:style/Animation(Base style for animations. This style specifies no animations)這個樣式是Android操作系統提供的 沒用動畫的樣式 我們定義其中的4個屬性還設置我們想要的效果

android:activityOpenEnterAnimation 一個activity創建進入的效果

android:activityOpenExitAnimation 一個activity還沒有finish()下退出效果, 比如有倆個activity A,B 首先啟動A 然後再啟動B 那麼A還沒有finish() 這A的退出效果

android:activityCloseEnterAnimation 表示上一個activity返回進入效果 比如有倆個activity A,B B退出後A進入的效果

activityCloseExitAnimation 表示的是activity finish()之後的效果 比如有倆個activity A,B B退出後會被finish() 那麼B的退出效果在這定義

下面給出程序中需要用到的主題:




下面給出4個動畫文件:

1:in_from_right.xml



android:toXDelta="0%p"
android:duration="500"/>

 

2:in_from_left.xml



android:toXDelta="0%p"
android:duration="500"/>

 

3:out_from_right



android:toXDelta="100%p"
android:duration="500"/>

 

4:out_from_left



android:toXDelta="-100%p"
android:duration="500"/>

 

最後給出相應AndroidManifast文件中是如何配置的:

android:name="xxxx"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait"
android:theme="@style/LeftRight"
android:windowSoftInputMode="adjustPan|stateHidden">
 

自己使用的時候發現的問題:剛開始的時候動畫寫好以後,運行程序發現動畫時有時無,不知道什麼原因,但是在其他Activity上面驗證是好的,我了個擦,後來發現我在那個有問題的Activity中復寫了父類的onWindowFouceChanged方法,在裡面計算了某個View距離頂部的距離,最後將這部分代碼拿出來,放到其他地方進行計算,動畫就好了,坑爹啊!

在這個把這個問題記錄一下~

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved