LayoutTransition Klasse

Definition

Diese Klasse ermöglicht automatische Animationen bei Layoutänderungen in ViewGroup-Objekten.

[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
Vererbung
LayoutTransition
Attribute

Hinweise

Diese Klasse ermöglicht automatische Animationen bei Layoutänderungen in ViewGroup-Objekten. Um Übergänge für einen Layoutcontainer zu aktivieren, erstellen Sie ein LayoutTransition-Objekt, und legen Sie es auf einer beliebigen ViewGroup durch Aufrufen ViewGroup#setLayoutTransition(LayoutTransition)fest. Dies führt dazu, dass Standardanimationen ausgeführt werden, wenn Elemente zu diesem Container hinzugefügt oder daraus entfernt werden. Verwenden Sie die LayoutTransition#setAnimator(int, Animator) setAnimator() Methode, um benutzerdefinierte Animationen anzugeben.

Eines der Kernkonzepte dieser Übergangsanimationen besteht darin, dass es zwei Arten von Änderungen gibt, die den Übergang verursachen, und vier verschiedene Animationen, die aufgrund dieser Änderungen ausgeführt werden. Die Änderungen, die den Übergang auslösen, sind Elemente, die einem Container (als "angezeigter" Übergang bezeichnet) hinzugefügt oder aus einem Container entfernt werden (auch als "verschwindend" bezeichnet). Wenn Sie die Sichtbarkeit von Ansichten (zwischen GONE und VISIBLE) festlegen, wird die gleiche Add-/Remove-Logik ausgelöst. Die Animationen, die aufgrund dieser Ereignisse ausgeführt werden, sind eine, die Elemente animiert, die hinzugefügt werden, eine, die Elemente animiert, die entfernt werden, und zwei, die die anderen Elemente im Container animieren, die sich aufgrund des Vorkommens zum Hinzufügen/Entfernen ändern. Benutzer des Übergangs möchten möglicherweise unterschiedliche Animationen für die sich ändernden Elemente, je nachdem, ob sie aufgrund eines angezeigten oder verschwindenden Ereignisses geändert werden, sodass für jede dieser Variationen des Änderungsereignisses eine Animation vorhanden ist. Die meisten APIs dieser Klasse befassen sich mit dem Einrichten der grundlegenden Eigenschaften der animationen, die in diesen vier Situationen verwendet werden, oder mit dem Einrichten von benutzerdefinierten Animationen für alle oder alle vier.

Standardmäßig beginnt die VERSCHWINDENDE Animation sofort, ebenso wie die CHANGE_APPEARING Animation. Die anderen Animationen beginnen nach einer Verzögerung, die auf die Standarddauer der Animationen festgelegt ist. Dieses Verhalten erleichtert eine Abfolge von Animationen in Übergängen wie folgt: Wenn ein Element einem Layout hinzugefügt wird, werden die anderen untergeordneten Elemente dieses Containers zuerst verschoben (wodurch Platz für das neue Element erstellt wird), dann wird die angezeigte Animation ausgeführt, um das hinzugefügte Element zu animieren. Wenn ein Element dagegen aus einem Container entfernt wird, wird die Animation zum Entfernen zuerst ausgeführt, und die Animationen der anderen untergeordneten Elemente im Layout werden ausgeführt (schließend die im Layout erstellte Lücke, wenn das Element entfernt wurde). Wenn dieses standardmäßige Choreographieverhalten nicht gewünscht ist, können die #setDuration(int, long) animationen und #setStartDelay(int, long) alle animationen entsprechend geändert werden. Beachten Sie jedoch, dass beim Starten einer APPEARING-Animation, bevor eine VERSCHWINDENDE Animation abgeschlossen ist, die VERSCHWINDENDE Animation anhält und alle Effekte aus der ANIMATION "VERSCHWINDEN" wiederhergestellt werden. Wenn Sie stattdessen eine VERSCHWINDENDE Animation starten, bevor eine APPEARING-Animation abgeschlossen ist, tritt ein ähnlicher Satz von Effekten für die APPEARING-Animation auf.

Die für den Übergang angegebenen Animationen, sowohl die Standardwerte als auch alle benutzerdefinierten Animationen, die für das Übergangsobjekt festgelegt sind, sind nur Vorlagen. Dies bedeutet, dass diese Animationen die grundlegenden Animationseigenschaften enthalten, z. B. die Dauer, die Startverzögerung und eigenschaften, die animiert werden. Das tatsächliche Zielobjekt sowie die Start- und Endwerte für diese Eigenschaften werden jedoch automatisch beim Einrichten des Übergangs bei jeder Ausführung festgelegt. Jede Der Animationen wird aus der ursprünglichen Kopie geklont, und der Klon wird dann mit den dynamischen Werten des animierten Ziels gefüllt (z. B. eines der Elemente in einem Layoutcontainer, der als Ergebnis des Layoutereignisses verschoben wird) sowie mit den Werten, die sich ändern (z. B. die Position und Größe dieses Objekts). Die tatsächlichen Werte, die an jede Animation übertragen werden, hängen davon ab, welche Eigenschaften für die Animation angegeben werden. Die Standardanimation CHANGE_APPEARING Animation animiert z. B. die leftEigenschaften , top, right, , bottomund scrollXscrollY die Eigenschaften. Werte für diese Eigenschaften werden bei Beginn des Übergangs mit den Werten vor und nach dem Layout aktualisiert. Benutzerdefinierte Animationen werden entsprechend mit dem animierten Ziel und den werten aufgefüllt, vorausgesetzt, sie verwenden ObjectAnimator-Objekte mit Eigenschaftennamen, die für das Zielobjekt bekannt sind.

Diese Klasse und das zugehörige XML-Flag für Container, animateLayoutChanges="true", bietet ein einfaches Hilfsprogramm zum Automatisieren von Änderungen in einfachen Situationen. Die Verwendung von LayoutTransition auf mehreren Ebenen einer geschachtelten Ansichtshierarchie funktioniert aufgrund der Wechselbeziehung der verschiedenen Layoutebenen möglicherweise nicht. Außerdem ist ein Container, der gleichzeitig mit elementen hinzugefügt oder entfernt wird, wahrscheinlich kein guter Kandidat für dieses Hilfsprogramm, da die von LayoutTransition berechneten Speicherorte möglicherweise nicht mit den tatsächlichen Speicherorten übereinstimmen, wenn die Animationen beendet werden, da der Container ausgeführt wird, während die Animationen ausgeführt werden. Sie können dieses bestimmte Problem umgehen, indem Sie die Animationen zum Ändern deaktivieren, indem Sie die CHANGE_APPEARING und CHANGE_DISAPPEARING Animationen auf NULL festlegen und die startDelay der anderen Animationen entsprechend festlegen.

Java Dokumentation für android.animation.LayoutTransition.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

Name Beschreibung
LayoutTransition()

Erstellt ein LayoutTransition -Objekt.

LayoutTransition(IntPtr, JniHandleOwnership)

Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Laufzeit aufgerufen.

Felder

Name Beschreibung
Appearing
Veraltet.

Ein Kennzeichen, das die Animation angibt, die auf diesen Elementen ausgeführt wird, die im Container angezeigt werden.

ChangeAppearing
Veraltet.

Ein Kennzeichen, das die Animation angibt, die auf diesen Elementen ausgeführt wird, die sich aufgrund eines neuen Elements ändern, das im Container angezeigt wird.

ChangeDisappearing
Veraltet.

Ein Kennzeichen, das die Animation angibt, die auf diesen Elementen ausgeführt wird, die sich aufgrund eines Elements ändern, das aus dem Container verschwindet.

Changing
Veraltet.

Ein Kennzeichen, das die Animation angibt, die auf diesen Elementen ausgeführt wird, die sich aufgrund einer Layoutänderung ändern, die nicht durch elemente verursacht wird, die dem Container hinzugefügt oder entfernt werden.

Disappearing
Veraltet.

Ein Flag, das die Animation angibt, die für diese Elemente ausgeführt wird, die aus dem Container verschwinden.

Eigenschaften

Name Beschreibung
Class

Gibt die Laufzeitklasse dieses Werts Objectzurück.

(Geerbt von Object)
Handle

Das Handle für die zugrunde liegende Android-Instanz.

(Geerbt von Object)
IsChangingLayout

Gibt true zurück, wenn Animationen ausgeführt werden, die layoutbezogene Eigenschaften animieren.

IsRunning

Gibt true zurück, wenn eine der Animationen in diesem Übergang derzeit ausgeführt wird.

JniIdentityHashCode

Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist.

(Geerbt von Object)
JniPeerMembers

Diese Klasse ermöglicht automatische Animationen bei Layoutänderungen in ViewGroup-Objekten.

PeerReference

Ruft den JNI-Objektverweis für diesen Java Peer ab.

(Geerbt von Object)
ThresholdClass

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

ThresholdType

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

TransitionListeners

Ruft die aktuelle Liste der Listener für Layoutänderungen ab.

Methoden

Name Beschreibung
AddChild(ViewGroup, View)

Diese Methode wird von ViewGroup aufgerufen, wenn dem Container eine untergeordnete Ansicht hinzugefügt werden soll.

AddTransitionListener(LayoutTransition+ITransitionListener)

Fügen Sie einen Listener hinzu, der aufgerufen wird, wenn sich die Grenzen der Ansicht aufgrund der Layoutverarbeitung ändern.

Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
DisableTransitionType(LayoutTransitionType)

Deaktiviert den angegebenen TransitionType für dieses LayoutTransition -Objekt.

Dispose()

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
Dispose(Boolean)

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
EnableTransitionType(LayoutTransitionType)

Aktiviert den angegebenen TransitionType für dieses LayoutTransition -Objekt.

Equals(Object)

Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist.

(Geerbt von Object)
GetAnimator(LayoutTransitionType)

Ruft die Animation ab, die während eines der Übergangstypen verwendet wird, die ausgeführt werden können.

GetDuration(LayoutTransitionType)

Ruft die Dauer für eines der von diesem Übergang verwendeten Animationsobjekte ab.

GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
GetInterpolator(LayoutTransitionType)

Ruft den Interpolator für eines der Animationsobjekte ab, die von diesem Übergang verwendet werden.

GetStagger(LayoutTransitionType)

Ruft die Dauer der Verzögerung zwischen dem Starten jeder Animation während einer der Änderungsanimationen ab.

GetStartDelay(LayoutTransitionType)

Ruft die Startverzögerung für eines der Animationsobjekte ab, die von diesem Übergang verwendet werden.

HideChild(ViewGroup, View, ViewStates)

Diese Methode wird von ViewGroup aufgerufen, wenn eine untergeordnete Ansicht im Container ausgeblendet werden soll.

HideChild(ViewGroup, View)
Veraltet.

Dieses Element ist veraltet.

IsTransitionTypeEnabled(LayoutTransitionType)

Gibt zurück, ob der angegebene transitionType für dieses LayoutTransition -Objekt aktiviert ist.

JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind.

(Geerbt von Object)
Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
RemoveChild(ViewGroup, View)

Diese Methode wird von ViewGroup aufgerufen, wenn eine untergeordnete Ansicht aus dem Container entfernt werden soll.

RemoveTransitionListener(LayoutTransition+ITransitionListener)

Entfernen Sie einen Listener für Layoutänderungen.

SetAnimateParentHierarchy(Boolean)

Mit diesem Kennzeichen wird gesteuert, ob CHANGE_APPEARING- oder CHANGE_DISAPPEARING Animationen auch in der übergeordneten Hierarchie ausgeführt werden.

SetAnimator(LayoutTransitionType, Animator)

Legt die Animation fest, die während eines der Übergangstypen verwendet wird, die ausgeführt werden können.

SetDuration(Int64)

Legt die Dauer fest, die von allen Animationen dieses Übergangsobjekts verwendet werden soll.

SetDuration(LayoutTransitionType, Int64)

Legt die Dauer für eines der Animationsobjekte fest, die von diesem Übergang verwendet werden.

SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
SetInterpolator(LayoutTransitionType, ITimeInterpolator)

Legt den Interpolator für eines der von diesem Übergang verwendeten Animationsobjekte fest.

SetStagger(LayoutTransitionType, Int64)

Legt die Zeitspanne fest, die zwischen dem Starten jeder Animation während einer der Änderungsanimationen verzögert werden soll.

SetStartDelay(LayoutTransitionType, Int64)

Legt die Startverzögerung für eines der von diesem Übergang verwendeten Animationsobjekte fest.

ShowChild(ViewGroup, View, ViewStates)

Diese Methode wird von ViewGroup aufgerufen, wenn eine untergeordnete Ansicht im Container sichtbar gemacht werden soll.

ShowChild(ViewGroup, View)
Veraltet.

Dieses Element ist veraltet.

ToArray<T>()

Erstellt ein verwaltetes Array aus diesem Java Arraywrapper.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterFromRuntime()

Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf.

(Geerbt von Object)
Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><>

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Ereignisse

Name Beschreibung
EndTransition

Diese Klasse ermöglicht automatische Animationen bei Layoutänderungen in ViewGroup-Objekten.

StartTransition

Diese Klasse ermöglicht automatische Animationen bei Layoutänderungen in ViewGroup-Objekten.

Explizite Schnittstellenimplementierungen

Name Beschreibung
IJavaPeerable.Disposed()

Benachrichtigt die Interoplaufzeit, dass dieser verwaltete Peer verworfen wurde.

(Geerbt von Object)
IJavaPeerable.DisposeUnlessReferenced()

Gibt diesen Java Peer frei, es sei denn, er wird von einem anderen verwalteten Verweis beibehalten.

(Geerbt von Object)
IJavaPeerable.Finalized()

Benachrichtigt die Interoplaufzeit, dass dieser verwaltete Peer abgeschlossen wurde.

(Geerbt von Object)
IJavaPeerable.JniManagedPeerState

Ruft den Zustand ab, der die Beziehung zwischen diesem verwalteten Peer und seinem JNI-Verweis beschreibt.

(Geerbt von Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Legt den Interop-Identitätshashcode für diesen Java Peer fest.

(Geerbt von Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Legt den verwalteten und JNI-Peerstatus für diesen Java Peer fest.

(Geerbt von Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Legt den JNI-Objektverweis fest, der von diesem verwalteten Peer verwendet wird.

(Geerbt von Object)

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Diese Klasse ermöglicht automatische Animationen bei Layoutänderungen in ViewGroup-Objekten.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: