Share via


LayoutTransition 類別

定義

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。

[Android.Runtime.Register("android/animation/LayoutTransition", DoNotGenerateAcw=true)]
public class LayoutTransition : Java.Lang.Object
[<Android.Runtime.Register("android/animation/LayoutTransition", DoNotGenerateAcw=true)>]
type LayoutTransition = class
    inherit Object
繼承
LayoutTransition
屬性

備註

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。 若要啟用配置容器的轉換,請呼叫 來建立 LayoutTransition 物件,並在任何 ViewGroup ViewGroup#setLayoutTransition(LayoutTransition) 上設定它。 這會導致每當專案新增至該容器或從該容器中移除時,就會執行預設動畫。 若要指定自訂動畫,請使用 LayoutTransition#setAnimator(int, Animator) setAnimator() 方法。

這些轉換動畫的核心概念之一是有兩種類型的變更會導致轉換,以及因為這些變更而執行四個不同的動畫。 觸發轉換的變更是將專案新增至容器 (稱為「顯示」轉換) 或從容器中移除 (也稱為「消失」) 。 在 GONE 與 VISIBLE) 之間設定檢視 (的可見度,將會觸發相同的新增/移除邏輯。 由於這些事件而執行的動畫是一個動畫專案正在新增、一個動畫顯示要移除的專案,另一個動畫顯示容器中的其他專案,而因新增/移除發生而變更的專案。 轉換的使用者可能會想要變更專案的不同動畫,視它們是否因為出現或消失事件而變更,因此變更事件的每個變化都有一個動畫。 此類別的大部分 API 都與設定這四種情況中使用的動畫基本屬性有關,或設定四個或全部的自訂動畫。

根據預設,DISAPPEARING 動畫會立即開始,就像CHANGE_APPEARING動畫一樣。 其他動畫會在延遲設定為動畫的預設持續時間之後開始。 此行為有助於轉換中的動畫序列,如下所示:當專案新增至版面配置時,該容器的其他子系會先移動 (因此為新專案建立空間) ,然後出現的動畫會執行 來建立所新增專案的動畫效果。 相反地,從容器中移除專案時,要移除的動畫會先執行,然後配置中其他子系的動畫將會執行 (關閉移除專案時,在配置中建立的間距) 。 如果不需要此預設編目行為, #setDuration(int, long) 則可以視需要變更任何或所有動畫的 和 #setStartDelay(int, long) 。 不過,請記住,如果您在完成 DISAPPEARING 動畫之前啟動 APPEARING 動畫,則 DISAPPEARING 動畫會停止,而且會還原來自 DISAPPEARING 動畫的任何效果。 如果您改為在 APPEARING 動畫完成之前啟動 DISAPPEARING 動畫,則會出現一組類似的效果。

針對轉換指定的動畫,在轉換物件上設定的預設值和任何自訂動畫,都是範本。 也就是說,這些動畫存在以保存基本動畫屬性,例如持續時間、開始延遲和動畫的屬性。 但是,實際的目標物件以及這些屬性的開始和結束值,會在每次執行時自動設定轉換。 每個動畫都會從原始複本複製,然後複製會填入要以動畫顯示之目標的動態值 (,例如配置容器中的其中一個專案,因為配置事件) 而移動,以及變更 (的值,例如該物件的位置和大小) 。 推送至每個動畫的實際值取決於動畫所指定的屬性。 例如,預設CHANGE_APPEARING動畫會 left 以動畫顯示 、 toprightbottomscrollXscrollY 屬性。 這些屬性的值會在轉換開始時,使用預先和後置配置值來更新。 自訂動畫同樣會填入以動畫顯示的目標和值,假設它們使用 ObjectAnimator 物件搭配目標物件上已知的屬性名稱。

這個類別和容器的相關聯 XML 旗標 animateLayoutChanges=「true」,提供簡單的公用程式,用於在直接的情況下將變更自動化。 在巢狀檢視階層的多個層級使用 LayoutTransition 可能無法運作,因為各種版面配置層級的相互關聯。 此外,因為 LayoutTransition 計算的前置/之後位置可能不符合動畫執行時所捲動容器,因為隨著正在執行動畫而捲動容器完成時,正在捲動專案的容器可能不符合實際位置。 您可以藉由將CHANGE_APPEARING和CHANGE_DISAPPEARING動畫設定為 null,並適當地設定其他動畫的 startDelay,藉此解決該特定問題。

android.animation.LayoutTransition JAVA 檔。

此頁面的部分是根據 原始碼專案所建立和共用的工作進行修改,並根據中所述的詞彙使用。

建構函式

LayoutTransition()

建構 LayoutTransition 物件。

LayoutTransition(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 標記法時所使用的建構函式;由執行時間呼叫。

欄位

Appearing
已淘汰.

旗標,表示在容器中顯示的這些專案上執行的動畫。

ChangeAppearing
已淘汰.

旗標,指出因為容器中出現新專案而變更的專案上執行的動畫。

ChangeDisappearing
已淘汰.

旗標,指出因為專案從容器消失而變更的專案上執行的動畫。

Changing
已淘汰.

旗標,指出因為配置變更而變更的這些專案上執行的動畫,不會因為專案新增至容器或從容器中移除而造成。

Disappearing
已淘汰.

旗標,指出從容器消失的這些專案上執行的動畫。

屬性

Class

傳回這個 Object 的執行時間類別。

(繼承來源 Object)
Handle

基礎 Android 實例的控制碼。

(繼承來源 Object)
IsChangingLayout

如果動畫正在執行以動畫顯示版面配置相關屬性,則會傳回 true。

IsRunning

如果此轉換中的任何動畫目前正在執行,則傳回 true。

JniIdentityHashCode

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。

(繼承來源 Object)
JniPeerMembers

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。

PeerReference

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。

(繼承來源 Object)
ThresholdClass

此 API 支援 Mono for Android 基礎結構,並不適合直接從您的程式碼使用。

ThresholdType

此 API 支援 Mono for Android 基礎結構,並不適合直接從您的程式碼使用。

TransitionListeners

取得版面配置變更的目前接聽程式清單。

方法

AddChild(ViewGroup, View)

當子檢視即將新增至容器時,ViewGroup 會呼叫這個方法。

AddTransitionListener(LayoutTransition+ITransitionListener)

新增當檢視界限因版面配置處理而變更時所呼叫的接聽程式。

Clone()

建立並傳回這個 物件的複本。

(繼承來源 Object)
DisableTransitionType(LayoutTransitionType)

停用這個 LayoutTransition 物件的指定 transitionType。

Dispose()

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。

(繼承來源 Object)
Dispose(Boolean)

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。

(繼承來源 Object)
EnableTransitionType(LayoutTransitionType)

啟用這個 LayoutTransition 物件的指定 transitionType。

Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
GetAnimator(LayoutTransitionType)

取得其中一個可能執行的轉換類型期間所使用的動畫。

GetDuration(LayoutTransitionType)

取得這個轉換所使用的其中一個動畫物件的持續時間。

GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
GetInterpolator(LayoutTransitionType)

取得這個轉換所使用的其中一個動畫物件上的插補器。

GetStagger(LayoutTransitionType)

取得在其中一個變更動畫期間啟動每個動畫之間延遲的時間長度。

GetStartDelay(LayoutTransitionType)

取得這個轉換所使用的其中一個動畫物件的開始延遲。

HideChild(ViewGroup, View)
已淘汰.

已取代這個成員。

HideChild(ViewGroup, View, ViewStates)

當子檢視即將隱藏在容器中時,ViewGroup 會呼叫這個方法。

IsTransitionTypeEnabled(LayoutTransitionType)

傳回這個 LayoutTransition 物件是否已啟用指定的 transitionType。

JavaFinalize()

當垃圾收集判斷物件沒有其他參考時,由物件上的垃圾收集行程呼叫。

(繼承來源 Object)
Notify()

喚醒正在等候此物件的監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
RemoveChild(ViewGroup, View)

當子檢視即將從容器中移除時,ViewGroup 會呼叫這個方法。

RemoveTransitionListener(LayoutTransition+ITransitionListener)

移除配置變更的接聽程式。

SetAnimateParentHierarchy(Boolean)

此旗標可控制CHANGE_APPEARING或CHANGE_DISAPPEARING動畫是否也會在父階層上執行預設變更動畫。

SetAnimator(LayoutTransitionType, Animator)

設定其中一種可能執行的轉換類型期間所使用的動畫。

SetDuration(Int64)

設定這個轉換物件之所有動畫要使用的持續時間。

SetDuration(LayoutTransitionType, Int64)

設定這個轉換所使用的其中一個動畫物件的持續時間。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetInterpolator(LayoutTransitionType, ITimeInterpolator)

在此轉換所使用的其中一個動畫物件上設定插補器。

SetStagger(LayoutTransitionType, Int64)

設定在其中一個變更動畫期間啟動每個動畫之間的延遲時間長度。

SetStartDelay(LayoutTransitionType, Int64)

設定這個轉換所使用的其中一個動畫物件的開始延遲。

ShowChild(ViewGroup, View)
已淘汰.

已取代這個成員。

ShowChild(ViewGroup, View, ViewStates)

當子檢視即將在容器中顯示時,ViewGroup 會呼叫這個方法。

ToArray<T>()

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。

(繼承來源 Object)
Wait()

讓目前的執行緒等到喚醒為止,通常是藉由 < em > notified < /em > 或 < em > interrupted < /em > 來喚醒。

(繼承來源 Object)
Wait(Int64)

讓目前的執行緒等到喚醒為止,通常是 < 透過 em > notified < /em 或 em > interrupted < /em >> ,或 < 直到經過一定數量的即時為止。

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的執行緒等到喚醒為止,通常是 < 透過 em > notified < /em 或 em > interrupted < /em >> ,或 < 直到經過一定數量的即時為止。

(繼承來源 Object)

事件

EndTransition

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。

StartTransition

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。

明確介面實作

IJavaPeerable.Disposed()

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。

(繼承來源 Object)
IJavaPeerable.Finalized()

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。

(繼承來源 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。

(繼承來源 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。

(繼承來源 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。

GetJniTypeName(IJavaPeerable)

這個類別會啟用 ViewGroup 物件中版面配置變更的自動動畫。

適用於