LayoutTransition クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
このクラスは、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
- 継承
- 属性
注釈
このクラスは、ViewGroup オブジェクトのレイアウト変更に対する自動アニメーションを有効にします。 レイアウト コンテナーの切り替えを有効にするには、LayoutTransition オブジェクトを作成し、 を呼び出 ViewGroup#setLayoutTransition(LayoutTransition)
して任意の ViewGroup に設定します。 これにより、そのコンテナーに項目が追加または削除されるたびに、既定のアニメーションが実行されます。 カスタム アニメーションを指定するには、 メソッドを使用します LayoutTransition#setAnimator(int, Animator) setAnimator()
。
これらの切り替えアニメーションの中心概念の 1 つは、切り替えを引き起こす 2 種類の変更と、それらの変更のために実行される 4 つの異なるアニメーションがあることです。 遷移をトリガーする変更は、コンテナーに追加される項目 ("表示" 遷移と呼ばれます) またはコンテナー ("非表示" とも呼ばれます) から削除される項目です。 (GONE と VISIBLE の間) ビューの可視性を設定すると、同じ追加/削除ロジックがトリガーされます。 これらのイベントによって実行されるアニメーションは、追加される項目をアニメーション化するアニメーション、削除される項目をアニメーション化するアニメーション、および追加/削除の発生によって変更されるコンテナー内の他の項目をアニメーション化するアニメーションです。 画面切り替えのユーザーは、イベントの表示と非表示のどちらが原因で変更されているかに応じて、変更する項目に対して異なるアニメーションが必要になる場合があるため、変更するイベントのバリエーションごとに 1 つのアニメーションがあります。 このクラスのほとんどの API は、これら 4 つの状況で使用されるアニメーションの基本的なプロパティの設定、または 4 つのいずれかまたはすべてのカスタム アニメーションの設定に関係しています。
既定では、CHANGE_APPEARINGアニメーションと同様に、DISAPPEARING アニメーションがすぐに開始されます。 他のアニメーションは、アニメーションの既定の継続時間に設定された遅延の後に開始されます。 この動作により、画面切り替え中のアニメーションのシーケンスが容易になります。項目がレイアウトに追加されると、そのコンテナーの他の子が最初に移動し (そのため、新しい項目のスペースを作成します)、表示されるアニメーションが実行されて、追加される項目がアニメーション化されます。 逆に、項目がコンテナーから削除されると、削除するアニメーションが最初に実行され、レイアウト内の他の子のアニメーションが実行されます (アイテムが削除されたときにレイアウトで作成されたギャップを閉じます)。 この既定の振り付け動作が望ましくない場合は、必要に#setDuration(int, long)
#setStartDelay(int, long)
応じて、アニメーションの および と を変更できます。 ただし、消えるアニメーションが完了する前に APPEARING アニメーションを開始すると、消えるアニメーションが停止し、DISAPPEARING アニメーションの効果はすべて元に戻されます。 APPEARING アニメーションが完了する前に、代わりに DISAPPEARING アニメーションを開始すると、APPEARING アニメーションに対して同様の効果セットが発生します。
画面切り替えに指定されたアニメーション (既定値と、遷移オブジェクトに設定されたカスタム アニメーションの両方) はテンプレートのみです。 つまり、これらのアニメーションは、アニメーション化される期間、開始遅延、プロパティなどの基本的なアニメーション プロパティを保持するために存在します。 ただし、実際のターゲット オブジェクトと、それらのプロパティの開始値と終了値は、実行するたびに遷移を設定する過程で自動的に設定されます。 各アニメーションは元のコピーから複製され、複製には、アニメーション化されるターゲットの動的な値 (レイアウト イベントの結果として移動するレイアウト コンテナー内の項目の 1 つなど) と、変更される値 (そのオブジェクトの位置やサイズなど) が設定されます。 各アニメーションにプッシュされる実際の値は、アニメーションに指定されるプロパティによって異なります。 たとえば、既定のCHANGE_APPEARING アニメーションでは、、、、right
、、および scrollY
の各プロパティがアニメーション化されますleft
。 scrollX
bottom
top
これらのプロパティの値は、画面切り替えが開始されると、レイアウト前とレイアウト後の値で更新されます。 カスタム アニメーションは、ターゲット オブジェクトで認識されているプロパティ名を持つ ObjectAnimator オブジェクトを使用すると仮定して、アニメーション化されるターゲットと値で同様に設定されます。
このクラスとコンテナーの関連 XML フラグ animateLayoutChanges="true" は、単純な状況での変更を自動化するためのシンプルなユーティリティを提供します。 入れ子になったビュー階層の複数のレベルで LayoutTransition を使用すると、さまざまなレベルのレイアウトの相互関係が原因で機能しない場合があります。 また、アイテムの追加または削除と同時にスクロールされるコンテナーは、LayoutTransition によって計算される前後の場所が、アニメーションの実行中にスクロールされるため、アニメーションが終了したときに実際の場所と一致しない可能性があるため、このユーティリティには適していない可能性があります。 この特定の問題を回避するには、CHANGE_APPEARINGアニメーションとCHANGE_DISAPPEARINGアニメーションを null に設定し、他のアニメーションの startDelay を適切に設定することで、"変更" アニメーションを無効にすることができます。
の android.animation.LayoutTransition
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。
コンストラクター
LayoutTransition() |
LayoutTransition オブジェクトを構築します。 |
LayoutTransition(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
フィールド
Appearing |
古い.
コンテナーに表示されている項目で実行されるアニメーションを示すフラグ。 |
ChangeAppearing |
古い.
コンテナーに新しい項目が表示されるために変更される項目で実行されるアニメーションを示すフラグ。 |
ChangeDisappearing |
古い.
コンテナーからアイテムが消えたために変更されている項目で実行されるアニメーションを示すフラグ。 |
Changing |
古い.
レイアウトの変更が原因で変更されている項目に対して実行されるアニメーションを示すフラグ。コンテナーへの項目の追加またはコンテナーからの削除が原因ではありません。 |
Disappearing |
古い.
コンテナーから消える項目で実行されるアニメーションを示すフラグ。 |
プロパティ
Class |
この |
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) |
実行できる遷移の種類の 1 つで使用されるアニメーションを取得します。 |
GetDuration(LayoutTransitionType) |
この画面切り替えで使用されるアニメーション オブジェクトの 1 つの期間を取得します。 |
GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
GetInterpolator(LayoutTransitionType) |
この遷移で使用されるアニメーション オブジェクトの 1 つの補間を取得します。 |
GetStagger(LayoutTransitionType) |
変更アニメーションの 1 つで各アニメーションを開始するまでの遅延時間を取得します。 |
GetStartDelay(LayoutTransitionType) |
この遷移で使用されるアニメーション オブジェクトの 1 つで開始遅延を取得します。 |
HideChild(ViewGroup, View) |
古い.
このメンバーは非推奨とされます。 |
HideChild(ViewGroup, View, ViewStates) |
このメソッドは、子ビューがコンテナーで非表示になりようとしているときに、ViewGroup によって呼び出されます。 |
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 つに補間器を設定します。 |
SetStagger(LayoutTransitionType, Int64) |
変更アニメーションの 1 つで各アニメーションを開始するまでの遅延時間を設定します。 |
SetStartDelay(LayoutTransitionType, Int64) |
この切り替えで使用されるアニメーション オブジェクトの 1 つに開始遅延を設定します。 |
ShowChild(ViewGroup, View) |
古い.
このメンバーは非推奨とされます。 |
ShowChild(ViewGroup, View, ViewStates) |
このメソッドは、子ビューがコンテナーに表示されようとしているときに、ViewGroup によって呼び出されます。 |
ToArray<T>() |
このクラスは、ViewGroup オブジェクトのレイアウト変更に対する自動アニメーションを有効にします。 (継承元 Object) |
ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
UnregisterFromRuntime() |
このクラスは、ViewGroup オブジェクトのレイアウト変更に対する自動アニメーションを有効にします。 (継承元 Object) |
Wait() |
現在のスレッドが起動するまで待機します。通常<は、通知</em> または>< em 中断</em によって待機します>。> (継承元 Object) |
Wait(Int64) |
現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Wait(Int64, Int32) |
現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</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 オブジェクトのレイアウト変更に対する自動アニメーションを有効にします。 |