Activity切換的動畫效果

2021-07-14 11:13:53 字數 3120 閱讀 7208

andorid中實現activity之間切換的動畫有兩種方法:

在**中使用overridependingtransition方法。

在androidmanifest.xml檔案中,通過主題在設定activity間的切換動畫。

接下來,具體看看兩種方式的實現:

首先在xml檔案中宣告兩個動畫效果,例如:

fade.xml

<?xml version="1.0" encoding="utf-8"?>

xmlns:android=""

android:interpolator="@android:anim/accelerate_interpolator"

android:fromalpha="0.0"

android:toalpha="1.0"

android:duration="@android:integer/config_longanimtime" />

hold.xml

<?xml version="1.0" encoding="utf-8"?>

xmlns:android=""

android:interpolator="@android:anim/accelerate_interpolator"

android:fromxdelta="0"

android:toxdelta="0"

android:duration="@android:integer/config_longanimtime" />

之後在activity跳轉的時候加上overridependingtransition方法:

intent intent = new intent(activity_1.this, activity_2.class);

startactivity(intent);

// 第乙個引數為啟動時的動畫效果,第二個引數為退出時的動畫效果

overridependingtransition(r.anim.fade, r.anim.hold);

定義包含動畫的activity主題

res/values/styles.xml,使用windowanimationstyle這個屬性,指定切換動畫的style

name="animactivitytheme">

name="android:windowanimationstyle">@style/feelyouwindowanimtheme

style>

定義切換動畫的style

res/values/styles.xml

name="feelyouwindowanimtheme"

parent="@android:style/animation.activity">

name="android:activityopenenteranimation">@anim/in_from_left

android:activityopenexitanimation">@anim/out_from_right

android:activitycloseenteranimation">@anim/in_from_right

android:activitycloseexitanimation">@anim/out_from_left

style>

注意需要繼承自@android:style/animation.activity。具體這4個屬性什麼意思呢?假設我們有2個activity,分別是a1和a2:

定義具體動畫檔案,以平移動畫為例:

anim/out_from_right.xml

<?xml version="1.0" encoding="utf-8"?>

xmlns:android=""

android:duration="500"

android:fromxdelta="0"

android:fromydelta="0"

android:toxdelta="100%p"

android:toydelta="0" />

anim/in_from_left.xml

<?xml version="1.0" encoding="utf-8"?>

xmlns:android=""

android:duration="500"

android:fromxdelta="-100%p"

android:fromydelta="0"

android:toxdelta="0"

android:toydelta="0" />

anim/out_from_left.xml

<?xml version="1.0" encoding="utf-8"?>

xmlns:android=""

android:duration="500"

android:fromxdelta="0"

android:fromydelta="0"

android:toxdelta="-100%p"

android:toydelta="0" />

anim/in_from_right.xml

<?xml version="1.0" encoding="utf-8"?>

xmlns:android=""

android:duration="500"

android:fromxdelta="100%p"

android:fromydelta="0"

android:toxdelta="0"

android:toydelta="0" />

應用到對應的activity:

androidmanifest.xml

android:name=".a1"

android:theme="@style/animactivitytheme" />

android:name=".a2"

android:theme="@style/animactivitytheme" />

Activity切換動畫效果

首先在res anim 下 宣告兩個動畫效果 fade.xml html view plain copy xmlversion 1.0 encoding utf 8 alpha xmlns android android interpolator android anim accelerate in...

Activity之間的動畫切換效果

通常我們在啟動乙個新的activity的時候,效果都是很單一的。當我們想每乙個activity都有乙個獨有的出場方式進入到當前主螢幕,那麼整個應用給使用者的感官效果會更好些。那麼我們從何出著手來實現這些自己想要的效果呢?通過查閱資料activity類用乙個overridependingtransit...

Activity 切換動畫

此方式只需要在啟動另乙個activity和退出activity的時候呼叫就行,這個方法接收兩個引數,乙個是新啟動的activity進入時的動畫,另乙個是當前activity消失時的動畫。啟動 startactivity newintent mainactivity.this,testactivity...