共用方式為


Activity.OverrideActivityTransition 方法

定義

多載

OverrideActivityTransition(OverrideTransition, Int32, Int32)

使用這個活動自定義活動轉換的動畫。

OverrideActivityTransition(OverrideTransition, Int32, Int32, Int32)

使用這個活動自定義活動轉換的動畫。

OverrideActivityTransition(OverrideTransition, Int32, Int32)

使用這個活動自定義活動轉換的動畫。

[Android.Runtime.Register("overrideActivityTransition", "(III)V", "GetOverrideActivityTransition_IIIHandler", ApiSince=34)]
public virtual void OverrideActivityTransition (Android.App.OverrideTransition overrideType, int enterAnim, int exitAnim);
[<Android.Runtime.Register("overrideActivityTransition", "(III)V", "GetOverrideActivityTransition_IIIHandler", ApiSince=34)>]
abstract member OverrideActivityTransition : Android.App.OverrideTransition * int * int -> unit
override this.OverrideActivityTransition : Android.App.OverrideTransition * int * int -> unit

參數

overrideType
OverrideTransition

OVERRIDE_TRANSITION_OPEN 此動畫會在開始/輸入活動時使用。 OVERRIDE_TRANSITION_CLOSE 完成/關閉活動時,將會使用此動畫。

enterAnim
Int32

要用於傳入活動的動畫資源資源資源標識碼。 不使用動畫使用 0。

exitAnim
Int32

要用於傳出活動之動畫資源的資源標識碼。 不使用動畫使用 0。

屬性

備註

使用這個活動自定義活動轉換的動畫。 活動仍在運作時隨時可以呼叫此專案。

這是在運行時間覆寫轉換動畫的更強固方法,而不需要依賴 #overridePendingTransition(int, int) 無法用於預測回來。 不過,當系統正在尋找下一個轉換動畫時,來自 #overridePendingTransition(int, int) 的動畫集仍然具有較高的優先順序。

只有在活動轉換正在播放時,才會選擇此方法所設定的動畫資源,且只有在活動轉換時位於任務之上時。 例如,如果我們想要在啟動從活動 A 啟動的活動 B 時自定義開啟轉換,我們應該在 B 的 onCreate overrideType = OVERRIDE_TRANSITION_OPEN 內呼叫此方法,因為活動 B 會位於工作之上。 而且,如果我們想要在完成活動 B 並回到活動 A 時自定義關閉轉換,因為 B 仍然在 A 上方,我們應該在 overrideType = OVERRIDE_TRANSITION_CLOSE活動 B 中使用 來呼叫此方法。

如果 Activity 已呼叫這個方法,而且它也會透過 Window#setWindowAnimations(int)設定另一個活動動畫,則系統會從這個方法選擇動畫集。

請注意,Window#setWindowAnimations#overridePendingTransition(int, int)如果活動是以 啟動ActivityOptions#makeSceneTransitionAnimation(Activity, Pair[]),則會忽略這個方法。 另請注意,這個方法只能用來自定義跨活動轉換,但無法自定義完全不可自定義的跨工作轉換,從 Android 11 開始。

android.app.Activity.overrideActivityTransition(int, int, int)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

OverrideActivityTransition(OverrideTransition, Int32, Int32, Int32)

使用這個活動自定義活動轉換的動畫。

[Android.Runtime.Register("overrideActivityTransition", "(IIII)V", "GetOverrideActivityTransition_IIIIHandler", ApiSince=34)]
public virtual void OverrideActivityTransition (Android.App.OverrideTransition overrideType, int enterAnim, int exitAnim, int backgroundColor);
[<Android.Runtime.Register("overrideActivityTransition", "(IIII)V", "GetOverrideActivityTransition_IIIIHandler", ApiSince=34)>]
abstract member OverrideActivityTransition : Android.App.OverrideTransition * int * int * int -> unit
override this.OverrideActivityTransition : Android.App.OverrideTransition * int * int * int -> unit

參數

overrideType
OverrideTransition

OVERRIDE_TRANSITION_OPEN 此動畫會在開始/輸入活動時使用。 OVERRIDE_TRANSITION_CLOSE 完成/關閉活動時,將會使用此動畫。

enterAnim
Int32

要用於傳入活動的動畫資源資源資源標識碼。 不使用動畫使用 0。

exitAnim
Int32

要用於傳出活動之動畫資源的資源標識碼。 不使用動畫使用 0。

backgroundColor
Int32

如果動畫需要背景,則動畫期間用於背景的背景色彩。 設定為 Color#TRANSPARENT ,不要覆寫預設色彩。

屬性

備註

使用這個活動自定義活動轉換的動畫。 活動仍在運作時隨時可以呼叫此專案。

這是在運行時間覆寫轉換動畫的更強固方法,而不需要依賴 #overridePendingTransition(int, int) 無法用於預測回來。 不過,當系統正在尋找下一個轉換動畫時,來自 #overridePendingTransition(int, int) 的動畫集仍然具有較高的優先順序。

只有在活動轉換正在播放時,才會選擇此方法所設定的動畫資源,且只有在活動轉換時位於任務之上時。 例如,如果我們想要在啟動從活動 A 啟動的活動 B 時自定義開啟轉換,我們應該在 B 的 onCreate overrideType = OVERRIDE_TRANSITION_OPEN 內呼叫此方法,因為活動 B 會位於工作之上。 而且,如果我們想要在完成活動 B 並回到活動 A 時自定義關閉轉換,因為 B 仍然在 A 上方,我們應該在 overrideType = OVERRIDE_TRANSITION_CLOSE活動 B 中使用 來呼叫此方法。

如果 Activity 已呼叫這個方法,而且它也會透過 Window#setWindowAnimations(int)設定另一個活動動畫,則系統會從這個方法選擇動畫集。

請注意,Window#setWindowAnimations#overridePendingTransition(int, int)如果活動是以 啟動ActivityOptions#makeSceneTransitionAnimation(Activity, Pair[]),則會忽略這個方法。 另請注意,這個方法只能用來自定義跨活動轉換,但無法自定義完全不可自定義的跨工作轉換,從 Android 11 開始。

android.app.Activity.overrideActivityTransition(int, int, int, int)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於