日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 编程下设置 Activity 切换动画

發布時間:2023/12/9 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 编程下设置 Activity 切换动画 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為 Activity 設置切換動畫

我們知道,我們可以在 AndroidManifest.xml 文件中,通過 android:theme 屬性設置 Activity 的主題。主題中定義了關于 Activity 外觀的很多特性。同時,主題中還可以定義 Activity 的切換動畫。這是應用 Activity 切換動畫的一種方法。下面講解一下如何通過主題來設置 Activity 間的切換動畫。

定義包含動畫的 Activity 主題

res/values/styles.xml,很簡單,就是使用 windowAnimationStyle 這個屬性,指定切換動畫的style即可。

<style name="AnimActivityTheme"><item name="android:windowAnimationStyle">@style/FeelyouWindowAnimTheme</item> </style>

定義切換動畫 style

res/values/styles.xml

<style name="FeelyouWindowAnimTheme" parent="@android:style/Animation.Activity"><item name="android:activityOpenEnterAnimation">@anim/in_from_left</item><item name="android:activityOpenExitAnimation">@anim/out_from_right</item><item name="android:activityCloseEnterAnimation">@anim/in_from_right</item><item name="android:activityCloseExitAnimation">@anim/out_from_left</item> </style>

注意需要繼承自?@android:style/Animation.Activity。具體這4個屬性什么意思呢?假設我們有 2 個 Activity,分別是 A1 和 A2:

  • 當我們從 A1 啟動 A2 時,A1 從屏幕上消失,這個動畫叫做?android:activityOpenExitAnimation
  • 當我們從 A1 啟動 A2 時,A2 出現在屏幕上,這個動畫叫做?android:activityOpenEnterAnimation
  • 當我們從 A2 退出回到 A1 時,A2 從屏幕上消失,這個叫做?android:activityCloseExitAnimation
  • 當我們從 A2 退出回到 A1 時,A1 出現在屏幕上,這個叫做?android:activityCloseEnterAnimation

結合上面我講的情況,在腦海中想象一下,再結合屬性的名字,就很容易理解了!

定義具體動畫文件

這里的動畫可以是透明度、位移、縮放之類的任何動畫,我這里以位移來舉例。當我們 A1 啟動 A2 時,我希望 A1 從右邊平移退出屏幕(out_from_right),A2 從左邊平移進入屏幕(in_from_left)。當我們從 A2 退出回到 A1 時,我希望 A2 從左邊平移退出屏幕(out_from_left),A1 從右邊平移進入屏幕(in_from_right)

下面我貼一下4個具體的動畫的 xml 文件:

anim/out_from_right.xml

<?xml version="1.0" encoding="utf-8"?> <!-- author:Remex Huang website:feelyou.info --> <translate xmlns:android="http://schemas.android.com/apk/res/android"android:duration="500"android:fromXDelta="0"android:fromYDelta="0"android:toXDelta="100%p"android:toYDelta="0" ></translate>

anim/in_from_left.xml

<?xml version="1.0" encoding="utf-8"?> <!-- author:Remex Huang website:feelyou.info --> <translate xmlns:android="http://schemas.android.com/apk/res/android"android:duration="500"android:fromXDelta="-100%p"android:fromYDelta="0"android:toXDelta="0"android:toYDelta="0" ></translate>

anim/out_from_left.xml

<?xml version="1.0" encoding="utf-8"?> <!-- author:Remex Huang website:feelyou.info --> <translate xmlns:android="http://schemas.android.com/apk/res/android"android:duration="500"android:fromXDelta="0"android:fromYDelta="0"android:toXDelta="-100%p"android:toYDelta="0" ></translate>

anim/in_from_right.xml

<?xml version="1.0" encoding="utf-8"?> <!-- author:Remex Huang website:feelyou.info --> <translate xmlns:android="http://schemas.android.com/apk/res/android"android:duration="500"android:fromXDelta="100%p"android:fromYDelta="0"android:toXDelta="0"android:toYDelta="0" ></translate>

應用到對應 Activity

AndroidMenifest.xml

<activityandroid:name="info.feelyou.demo.A1"android:theme="@style/AnimActivityTheme" > </activity> <activityandroid:name="info.feelyou.demo.A2"android:theme="@style/AnimActivityTheme" > </activity> 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Android 编程下设置 Activity 切换动画的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。