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#setLayoutTransition(LayoutTransition)を呼び出して任意の ViewGroup に設定します。 これにより、そのコンテナーに項目が追加または削除されるたびに、既定のアニメーションが実行されます。 カスタム アニメーションを指定するには、 LayoutTransition#setAnimator(int, Animator) setAnimator() メソッドを使用します。

これらの遷移アニメーションの主要な概念の 1 つは、遷移を引き起こす 2 種類の変更と、それらの変更のために実行される 4 つの異なるアニメーションがあることです。 遷移をトリガーする変更は、コンテナーに追加される項目 ("表示" 遷移と呼ばれます) またはコンテナーから削除される項目 ("非表示" とも呼ばれます) です。 ビューの可視性 (GONE と VISIBLE の間) を設定すると、同じ追加/削除ロジックがトリガーされます。 これらのイベントが原因で実行されるアニメーションは、追加される項目をアニメーション化するアニメーション、削除される項目をアニメーション化するアニメーション、および追加/削除の発生によって変化するコンテナー内の他の項目をアニメーション化するアニメーションです。 画面切り替えのユーザーは、表示されるイベントまたは消えるイベントによって変更される項目に対して異なるアニメーションが必要な場合があるため、変化するイベントのバリエーションごとに 1 つのアニメーションが存在します。 このクラスの API のほとんどは、これら 4 つの状況で使用されるアニメーションの基本的なプロパティの設定、または 4 つのいずれかまたはすべてのカスタム アニメーションの設定に関係しています。

既定では、CHANGE_APPEARING アニメーションと同様に、すぐに消えるアニメーションが開始されます。 他のアニメーションは、アニメーションの既定の継続時間に設定された遅延の後に開始されます。 この動作により、画面切り替え中のアニメーションのシーケンスが容易になります。項目がレイアウトに追加されると、そのコンテナーの他の子が最初に移動し (したがって、新しい項目のスペースが作成されます)、表示されるアニメーションが実行されて、追加される項目がアニメーション化されます。 逆に、項目がコンテナーから削除されると、削除するアニメーションが最初に実行され、その後、レイアウト内の他の子のアニメーションが実行されます (項目が削除されたときにレイアウトに作成されたギャップを閉じます)。 この既定の振り付け動作が望ましくない場合は、任意またはすべてのアニメーションの #setDuration(int, long)#setStartDelay(int, long) を適宜変更できます。 ただし、消えるアニメーションが完了する前に表示アニメーションを開始すると、消えるアニメーションが停止し、消えるアニメーションの効果は元に戻されます。 代わりに、APPEARING アニメーションが完了する前に消えるアニメーションを開始すると、APPEARING アニメーションに対して同様の効果セットが発生します。

画面切り替えに指定されたアニメーション (既定値と、遷移オブジェクトに設定されたカスタム アニメーションの両方) はテンプレートのみです。 つまり、これらのアニメーションは、継続時間、開始遅延、アニメーション化されるプロパティなどの基本的なアニメーション プロパティを保持するために存在します。 ただし、実際のターゲット オブジェクトと、それらのプロパティの開始値と終了値は、遷移を実行するたびに設定するプロセスで自動的に設定されます。 各アニメーションは元のコピーから複製され、複製には、アニメーション化されるターゲットの動的な値 (レイアウト イベントの結果として移動するレイアウト コンテナー内のいずれかの項目など) と、変更される値 (そのオブジェクトの位置やサイズなど) が設定されます。 各アニメーションにプッシュされる実際の値は、アニメーションに指定されるプロパティによって異なります。 たとえば、既定のCHANGE_APPEARING アニメーションでは、 lefttoprightbottomscrollX、および scrollY の各プロパティがアニメーション化されます。 これらのプロパティの値は、切り替えが開始されると、レイアウト前とレイアウト後の値で更新されます。 カスタム アニメーションは、ターゲット オブジェクトで認識されているプロパティ名を持つ ObjectAnimator オブジェクトを使用すると仮定すると、同様にターゲットとアニメーション化される値で設定されます。

このクラスとコンテナーに関連付けられている XML フラグ animateLayoutChanges="true"は、単純な状況での変更を自動化するための単純なユーティリティを提供します。 入れ子になったビュー階層の複数のレベルで LayoutTransition を使用すると、さまざまなレベルのレイアウトの相互関係が原因で機能しない場合があります。 また、項目の追加または削除と同時にスクロールされるコンテナーは、LayoutTransition によって計算される前後の場所が、アニメーションの実行中にスクロールされるため、アニメーションが終了したときに実際の場所と一致しない可能性があるため、このユーティリティには適していない可能性があります。 この特定の問題を回避するには、CHANGE_APPEARINGアニメーションとCHANGE_DISAPPEARINGアニメーションを null に設定し、他のアニメーションの startDelay を適切に設定することで、アニメーションを無効にします。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
LayoutTransition()

LayoutTransition オブジェクトを構築します。

LayoutTransition(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

フィールド

名前 説明
Appearing
古い.

コンテナーに表示されている項目で実行されるアニメーションを示すフラグ。

ChangeAppearing
古い.

コンテナーに新しい項目が表示されるために変更される項目に対して実行されるアニメーションを示すフラグ。

ChangeDisappearing
古い.

コンテナーからアイテムが消えたために変更されている項目に対して実行されるアニメーションを示すフラグ。

Changing
古い.

コンテナーへの項目の追加またはコンテナーからの削除によって発生しないレイアウト変更によって変更される項目に対して実行されるアニメーションを示すフラグ。

Disappearing
古い.

コンテナーから消える項目で実行されるアニメーションを示すフラグ。

プロパティ

名前 説明
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
IsChangingLayout

レイアウト関連のプロパティをアニメーション化するアニメーションが実行されている場合は true を返します。

IsRunning

この遷移のアニメーションのいずれかが現在実行中の場合は true を返します。

JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

このクラスは、ViewGroup オブジェクトのレイアウト変更に対して自動アニメーションを有効にします。

(継承元 JavaObject)
JniPeerMembers

このクラスは、ViewGroup オブジェクトのレイアウト変更に対して自動アニメーションを有効にします。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

TransitionListeners

レイアウト変更のリスナーの現在の一覧を取得します。

メソッド

名前 説明
AddChild(ViewGroup, View)

このメソッドは、子ビューがコンテナーに追加されるときに、ViewGroup によって呼び出されます。

AddTransitionListener(LayoutTransition+ITransitionListener)

レイアウト処理によってビューの境界が変更されたときに呼び出されるリスナーを追加します。

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

このクラスは、ViewGroup オブジェクトのレイアウト変更に対して自動アニメーションを有効にします。

(継承元 JavaObject)
DisableTransitionType(LayoutTransitionType)

この LayoutTransition オブジェクトの指定した transitionType を無効にします。

Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

このクラスは、ViewGroup オブジェクトのレイアウト変更に対して自動アニメーションを有効にします。

(継承元 JavaObject)
EnableTransitionType(LayoutTransitionType)

この LayoutTransition オブジェクトに対して指定した transitionType を有効にします。

Equals(Object)

このクラスは、ViewGroup オブジェクトのレイアウト変更に対して自動アニメーションを有効にします。

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
GetAnimator(LayoutTransitionType)

実行できる遷移の種類の 1 つで使用されるアニメーションを取得します。

GetDuration(LayoutTransitionType)

この遷移で使用されるアニメーション オブジェクトの 1 つの期間を取得します。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
GetInterpolator(LayoutTransitionType)

この遷移で使用されるアニメーション オブジェクトの 1 つの補間を取得します。

GetStagger(LayoutTransitionType)

変更アニメーションの 1 つで各アニメーションを開始するまでの遅延時間を取得します。

GetStartDelay(LayoutTransitionType)

この遷移で使用されるアニメーション オブジェクトの 1 つの開始遅延を取得します。

HideChild(ViewGroup, View, ViewStates)

このメソッドは、子ビューがコンテナーで非表示になりようとしているときに、ViewGroup によって呼び出されます。

HideChild(ViewGroup, View)
古い.

このメンバーは非推奨です。

IsTransitionTypeEnabled(LayoutTransitionType)

指定した transitionType がこの LayoutTransition オブジェクトに対して有効かどうかを返します。

JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
RemoveChild(ViewGroup, View)

このメソッドは、子ビューがコンテナーから削除されるときに、ViewGroup によって呼び出されます。

RemoveTransitionListener(LayoutTransition+ITransitionListener)

レイアウト変更のリスナーを削除します。

SetAnimateParentHierarchy(Boolean)

このフラグは、CHANGE_APPEARINGアニメーションとCHANGE_DISAPPEARINGアニメーションのどちらを使用して、既定の変更アニメーションを親階層でも実行するかを制御します。

SetAnimator(LayoutTransitionType, Animator)

実行できる遷移の種類の 1 つで使用されるアニメーションを設定します。

SetDuration(Int64)

この遷移オブジェクトのすべてのアニメーションで使用する期間を設定します。

SetDuration(LayoutTransitionType, Int64)

この切り替えで使用されるアニメーション オブジェクトの 1 つで継続時間を設定します。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetInterpolator(LayoutTransitionType, ITimeInterpolator)

この遷移で使用されるアニメーション オブジェクトの 1 つに補間を設定します。

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

このクラスは、ViewGroup オブジェクトのレイアウト変更に対して自動アニメーションを有効にします。

(継承元 JavaObject)
SetStagger(LayoutTransitionType, Int64)

変更アニメーションの 1 つで各アニメーションを開始するまでの遅延時間を設定します。

SetStartDelay(LayoutTransitionType, Int64)

この切り替えで使用されるアニメーション オブジェクトの 1 つに開始遅延を設定します。

ShowChild(ViewGroup, View, ViewStates)

このメソッドは、子ビューがコンテナーに表示されようとしているときに、ViewGroup によって呼び出されます。

ShowChild(ViewGroup, View)
古い.

このメンバーは非推奨です。

ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

イベント

名前 説明
EndTransition

このクラスは、ViewGroup オブジェクトのレイアウト変更に対して自動アニメーションを有効にします。

StartTransition

このクラスは、ViewGroup オブジェクトのレイアウト変更に対して自動アニメーションを有効にします。

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

このクラスは、ViewGroup オブジェクトのレイアウト変更に対して自動アニメーションを有効にします。

(継承元 JavaObject)
IJavaPeerable.Finalized()

このクラスは、ViewGroup オブジェクトのレイアウト変更に対して自動アニメーションを有効にします。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

このクラスは、ViewGroup オブジェクトのレイアウト変更に対して自動アニメーションを有効にします。

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

このクラスは、ViewGroup オブジェクトのレイアウト変更に対して自動アニメーションを有効にします。

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

このクラスは、ViewGroup オブジェクトのレイアウト変更に対して自動アニメーションを有効にします。

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

このクラスは、ViewGroup オブジェクトのレイアウト変更に対して自動アニメーションを有効にします。

(継承元 JavaObject)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

このクラスは、ViewGroup オブジェクトのレイアウト変更に対して自動アニメーションを有効にします。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象