當前位置:首頁 » 安卓系統 » android退出動畫

android退出動畫

發布時間: 2025-05-10 17:34:02

1. 如何在Android開發中實現屏幕切換

屏幕切換指的是在同一個Activity內屏幕間的切換,最長見的情況就是在一個FrameLayout內有多個頁面,比如一個系統設置頁面;一個個性化設置頁面。android.widget.ViewAnimator類繼承至FrameLayout,ViewAnimator類的作用是為FrameLayout裡面的View切換提供動畫效果。
該類有如下幾個和動畫相關的函數:

setInAnimation:設置View進入屏幕時候使用的動畫,該函數有兩個版本,一個接受單個參數,類型為 android.view.animation.Animation,一個接受兩個參數,類型為Context和int,分別為Context對象和定義 Animation的resourceID。

setOutAnimation: 設置View退出屏幕時候使用的動畫,參數setInAnimation函數一樣。
showNext: 調用該函數來顯示FrameLayout裡面的下一個View。

多數情況下是使用ViewFlipper 是繼承至FrameLayout的,所以它是一個Layout裡面可以放置多個View。ViewFlipper可以用來指定FrameLayout內多 個View之間的切換效果,可以一次指定也可以每次切換的時候都指定單獨的效果。

isFlipping:用來判斷View切換是否正在進行
setFilpInterval:設置View之間切換的時間間隔
startFlipping:使用上面設置的時間間隔來開始切換所有的View,切換會循環進行
stopFlipping: 停止View切換

2. android 設置窗口的進入和退出動畫 在什麼情況下 退出有效 進入無效

其實設置Activity動畫的根本也就是設置View的動畫,因為Activity有一個根的View叫DecorView。下面介紹兩種設置Activity的動畫

1.修改Activity Theme

在styles.xml中輸入以下代碼

[html] view plainprint?
  1. <stylename="AnimationActivity"parent="@android:style/Animation.Activity">
  2. <itemname="android:activityOpenEnterAnimation">@anim/slide_in_left</item>
  3. <itemname="android:activityOpenExitAnimation">@anim/slide_out_left</item>
  4. <itemname="android:activityCloseEnterAnimation">@anim/slide_in_right</item>
  5. <itemname="android:activityCloseExitAnimation">@anim/slide_out_right</item>
  6. </style>
<stylename="AnimationActivity"parent="@android:style/Animation.Activity">
<itemname="android:activityOpenEnterAnimation">@anim/slide_in_left</item>
<itemname="android:activityOpenExitAnimation">@anim/slide_out_left</item>
<itemname="android:activityCloseEnterAnimation">@anim/slide_in_right</item>
<itemname="android:activityCloseExitAnimation">@anim/slide_out_right</item>
</style>

然後在themes.xml中

[html] view plainprint?
  1. <stylename="ThemeActivity">
  2. <itemname="android:windowAnimationStyle">@style/AnimationActivity</item>
  3. <itemname="android:windowNoTitle">true</item>
  4. </style>
<stylename="ThemeActivity">
<itemname="android:windowAnimationStyle">@style/AnimationActivity</item>
<itemname="android:windowNoTitle">true</item>
</style>

在AndroidMainfest.xml中為Activity指定theme

2.使用代碼設定

通過調用overridePendingTransition() 可以實時修改Activity的切換動畫。但需注意的是:該函數必須在調用startActivity()或者finish()後立即調用,且只有效一次。

3. Android零基礎入門第54節:視圖切換組件ViewSwitcher

ViewSwitcher是一個專門用於視圖切換的組件,每次只顯示一個組件,並且可以在切換視圖時添加動畫效果。以下是關於ViewSwitcher的詳細解答:

  1. 繼承關系

    • ViewSwitcher是ViewAnimator的一個子類。
    • ViewAnimator繼承了FrameLayout,允許多個View組件疊放,並提供動畫效果。
  2. 功能特點

    • 視圖切換:ViewSwitcher專門用於視圖切換,與FrameLayout相似,但每次只顯示一個組件。
    • 動畫效果:在切換視圖時,可以添加動畫效果,使界面切換更加流暢和吸引人。
  3. 配置與使用

    • 布局文件:在布局文件中定義ViewSwitcher組件,並添加需要切換的視圖。
    • ViewFactory:通常通過ViewSwitcher的setFactory方法設置ViewFactory,由ViewFactory創建View。這樣可以在需要時動態創建視圖。
    • 動畫設置:通過setInAnimation和setOutAnimation方法設置切換時的進入和退出動畫。
  4. 示常式序

    • 在示常式序中,通過創建viewswitcher_layout.xml文件定義ViewSwitcher組件和兩個按鈕。
    • 創建布局文件slide_gridview.xml和slide_gridview_item.xml,並定義實體類和適配器,用於在ViewSwitcher中顯示數據。
    • 在ViewSwitcherActivity.java文件中載入布局文件,設置ViewSwitcher的ViewFactory,並通過按鈕控制顯示上一屏、下一屏的程序列表。
    • 在切換視圖時,使用Android系統提供的動畫資源或自行提供的動畫資源來添加動畫效果。
  5. 注意事項

    • 確保在切換視圖時,ViewSwitcher中始終有可用的視圖,以避免出現空界面。
    • 動畫效果的設置可以根據實際需求進行調整,以達到最佳的視覺效果。

4. android轉場動畫windowAnimation和ActivityAnimation的區別

1.windowAnimation包括windowEnterAnimation和windowExitAnimation;
ActivityAnimation
包含
android:activityOpenEnterAnimation,android:activityOpenExitAnimation,android:activityCloseEnterAnimation
和android:activityCloseExitAnimation
2.在項目中WindowAnimation的控制權大於Activity的控制權,
即在Activity轉場過程中,如果同時設置了WindowAnimation和ActivityAnimation,那麼可能(因為這種情況非常多)只會執行WindowAnimation
3.對於WindowAnimation的定義很簡單,在style.xml文件中只需要繼承AnimationStyle即可
<stylename="Animation"parent="@android:style/Animation">
<!--窗體進入動畫-->
<itemname="android:windowEnterAnimation">@anim/slide_left_enter</item>
<!--窗體退出動畫-->
<itemname="android:windowExitAnimation">@anim/slide_right_exit</item>
</style>
對於Activity,需要繼承AnimationActivityStyle
<stylename="FeelyouWindowAnimTheme"parent="@android:style/Animation.Activity">
<itemname="android:activityOpenEnterAnimation">@android:anim/slide_in_left</item>
<itemname="android:activityOpenExitAnimation">@android:anim/slide_out_right</item>
<itemname="android:activityCloseEnterAnimation">@anim/push_right_in</item>
<itemname="android:activityCloseExitAnimation">@anim/push_left_out</item>
</style>
當我們從A1啟動A2時,A1從屏幕上消失,這個動畫叫做android:activityOpenExitAnimation
當我們從A1啟動A2時,A2出現在屏幕上,這個動畫叫做android:activityOpenEnterAnimation
當我們從A2退出回到A1時,A2從屏幕上消失,這個叫做android:activityCloseExitAnimation
當我們從A2退出回到A1時,A1出現在屏幕上,這個叫做android:activityCloseEnterAnimation
從上述2中動畫的定義上來看,顯然ActivityAnimation更為復雜,但這種復雜帶來的轉場效果非常好,
可以同時控制2個Activity的動畫,而不像WindowAnimation只能控制下一個Activity的窗體動畫。
5.在開發中,窗體動畫也可以使用Activity.overridePendingTransition來設置,也可以定義在主題中,但Activity只能使用在主題中
<application
android:name="test.view.weitop.BaseApplication"
android:allowBackup="false"
android:hardwareAccelerated="false"
android:icon="@drawable/app_logo"
android:label="@string/app_name"
android:largeHeap="true"
android:theme="@style/Theme.App">
</application>
6.對於比較追求界面美感的動畫,使用ActivityAnimation要好得多,因此對於一般開發使用windowAnimation即可,
但對於追求用戶體驗,那麼直接使用ActivityAnimation吧

熱點內容
am27系列存儲器 發布:2025-05-10 19:45:48 瀏覽:668
android支持的視頻格式 發布:2025-05-10 19:45:09 瀏覽:494
模擬器安卓版哪個好用電腦玩 發布:2025-05-10 19:41:00 瀏覽:16
浪潮伺服器配置bmc管理ip 發布:2025-05-10 19:26:31 瀏覽:469
兒童編程編 發布:2025-05-10 19:05:46 瀏覽:384
自己在電腦上怎麼搭建伺服器 發布:2025-05-10 19:05:11 瀏覽:426
沖鋒車裡面配置了什麼 發布:2025-05-10 18:55:31 瀏覽:430
c語言typedef的用法 發布:2025-05-10 18:51:35 瀏覽:893
同城網站源碼 發布:2025-05-10 18:47:36 瀏覽:643
怎麼查網易我的世界伺服器ip 發布:2025-05-10 18:46:19 瀏覽:943