Activity之間的動畫切換

2021-06-26 07:25:42 字數 3370 閱讀 4138

activity在啟動另外乙個activity時之間是可以加入效果的:

使用**:

intent intent = new intent(mainactivity.this , activity02.class);

startactivity(intent);overridependingtransition(r.anim.default_rotate_in, r.anim.default_rotate_out);

default_rotate_in的動畫是activity02進來的動畫,

default_rotate_out是mainactivity的動畫,這是對基本的使用。

使用這種方法是可以實現乙個到另乙個activity

之間的跳轉,如果每乙個跳轉都要加入這行**有些繁瑣

現在使用乙個應用程式都使用同乙個activity之間跳轉的效果(也可以使用

overridependingtransition 來指定某個activity跳轉效果
使用方法如下:
android:allowbackup="true"

android:icon="@drawable/ic_launcher"

其中:

只要加入這些屬性就可以實現所有的activity的跳轉效果一樣(除非

overridependingtransition 來指定某個activity跳轉效果

現在假設有兩個activity, a 和 b。 在a中可以啟動b. 同時,a,b的theme屬性均設定為上面定義的屬性。那麼,以上動畫的發生時機如下:

(1)當a啟動b時,a退出,b進入,a退出時的動畫名稱為android:activityopenexitanimation,動畫檔案為

r.anim.activity_open_out_anim. b進入時的動畫名稱為android:activityopenenteranimation, 動畫檔案為r.anim.activity_open_in_anim.

(2)當b結束時,b退出,a進入。b退出的動畫名稱為android:activitycloseexitanimation, 動畫檔案為r.anim.activity_close_out_anim. a進入時的動畫名稱為android:activitycloseenteranimation, 動畫檔案為r.anim.activity_close_in_anim. 

可以理解為前面一組

<itemname="android:activityopenenteranimation"

>@anim/activity_open_in_animitem>

<itemname="android:activityopenexitanimation"

>@anim/activity_open_out_animitem>

是開啟乙個新activity時使用的
後面一組
<itemname="android:activitycloseenteranimation"

>@anim/activity_close_in_animitem>

<itemname="android:activitycloseexitanimation"

>@anim/activity_close_out_animitem>

是按back鍵 finish()乙個activity時使用的
現在看乙個完整的例子:
描述: mainactivity  --------------->   activity02----------------->activity03   --------------- 》activity02 --------------------->mativity03
右進左出                          右進左出              按back    右出左進                右出左進
android:allowbackup="true"

android:icon="@drawable/ic_launcher"

android:name="com.example.testchangeactivity.mainactivity"

xml檔案 default_fromleft_in.xml

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

default_fromright_in.xml

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

default_toleft_out.xml

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

default_toright_out.xml

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

只使用了一種動畫 

translate   各種效果就得看個人的想象力

也可以使用  scale   rotate  alpha translate的組合,那麼效果就更好了

Activity之間的動畫切換效果

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

Activity之間動畫切換帶來的問題

startactivityforresult intenthelperutil.getinstance getintent activity1.this,activity2.class 0 overridependingtransition r.anim.push left in,r.anim.pu...

Activity 切換動畫

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