Übergänge

Animieren Sie Bewegungen in der Benutzeroberfläche mit Start- und Endlayouts.
Letzte Aktualisierung Stabile Version Release Candidate Beta-Ausgabe Alphaversion
11. Dezember 2024 1.5.1 - - 1.6.0-alpha01

Abhängigkeiten deklarieren

Wenn Sie eine Abhängigkeit von Transition hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

Fügen Sie der Datei build.gradle für Ihre App oder Ihr Modul die Abhängigkeiten für die erforderlichen Artefakte hinzu:

Cool

dependencies {
    // Java language implementation
    implementation "androidx.transition:transition:1.5.1"
    // Kotlin
    implementation "androidx.transition:transition-ktx:1.5.1"
}

Kotlin

dependencies {
    // Java language implementation
    implementation("androidx.transition:transition:1.5.1")
    // Kotlin
    implementation("androidx.transition:transition-ktx:1.5.1")
}

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Bitte teilen Sie uns mit, wenn Sie neue Probleme feststellen oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.6

Version 1.6.0-alpha01

11. Dezember 2024

androidx.transition:transition:1.6.0-alpha01 und androidx.transition:transition-ktx:1.6.0-alpha01 werden freigegeben. Version 1.6.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Mit „Transition“ wird jetzt das nicht überlappende übergeordnete Element für ViewOverlays festgelegt, das zum Animieren der Übergänge verwendet wird. So können Inhaber über das nicht übereinstimmende übergeordnete Element ermittelt werden. Das bedeutet, dass Sie ViewModels, Lebenszyklen usw. jetzt während einer Umstellung korrekt auflösen können. (I10a16, b/340894487, b/287484338)

Fehlerkorrekturen

  • Diese Bibliothek verwendet jetzt JSpecify-Null-Anmerkungen, die sich auf den Typ beziehen. Kotlin-Entwickler sollten die folgenden Compilerargumente verwenden, um die korrekte Verwendung zu erzwingen: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (I1f54e, b/326456246)
  • Die manuelle Kennzeichnung des Zugriffs auf neue Plattform-APIs wurde entfernt, da dies bei Verwendung von R8 mit AGP 7.3 oder höher (z.B. R8 Version 3.3) und für alle Builds bei Verwendung von AGP 8.1 oder höher (z.B. D8 Version 8.1) automatisch über die API-Modellierung erfolgt. Kunden, die AGP nicht verwenden, wird empfohlen, auf D8 Version 8.1 oder höher zu aktualisieren. Weitere Details findest du in diesem Artikel. (Ia60e0, b/345472586)

Version 1.5

Version 1.5.1

24. Juli 2024

androidx.transition:transition:1.5.1 und androidx.transition:transition-ktx:1.5.1 werden freigegeben. Version 1.5.1 enthält diese Commits.

Fehlerkorrekturen

  • Es wurde ein Problem behoben, durch das Aufrufe von animateToStart() oder animateToEnd() bei einem suchbaren Übergang ignoriert wurden, wenn der Übergang nicht gestartet wurde. (I44d96, b/338624457)

Version 1.5.0

1. Mai 2024

androidx.transition:transition:1.5.0 und androidx.transition:transition-ktx:1.5.0 werden freigegeben. Version 1.5.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.4.0

  • Übergänge unterstützen die Suche ab API 34. TransitionManager, controlDelayedTransition(), wurde eine neue API hinzugefügt, die eine TransitionSeekController zurückgibt, mit der nach der Transition gesucht werden kann. Diese Funktion wird von Fragment 1.7.0 verwendet, um bei Verwendung der Touch-Geste „Zurück“ automatisch zu Übergängen zu springen.
  • Für Übergänge gibt es eine neue Methode, getRootTransition(), die den Übergang zurückgibt, der den aktuellen Übergang enthält, oder den aktuellen Übergang, wenn er in keinem anderen Übergang enthalten ist. Das kann nützlich sein, wenn der Entwickler Listener für den Beginn oder das Ende des gesamten Übergangs benötigt.
  • TransitionListeners hat jetzt neue onTransitionStart()- und onTransitionEnd()-Listener, mit denen der Entwickler erkennen kann, ob der Übergang rückwärts beginnt oder endet. Das kann wichtig sein, wenn du suchbare Übergänge mit TransitionListeners entwickelst.

Version 1.5.0-rc02

17. April 2024

androidx.transition:transition:1.5.0-rc02 und androidx.transition:transition-ktx:1.5.0-rc02 werden freigegeben. Version 1.5.0-rc02 enthält diese Commits.

Abhängigkeitsupdate

  • Die Fragmentabhängigkeit wurde auf Version 1.7.0-rc02 aktualisiert. Dadurch wurde ein Fehler behoben, durch den es zu einem Absturz kam, wenn einer Transaktion, bei der alle anderen Übergänge suchbar waren, ein nicht suchbares freigegebenes Element hinzugefügt wurde.

Version 1.5.0-rc01

3. April 2024

androidx.transition:transition:1.5.0-rc01 und androidx.transition:transition-ktx:1.5.0-rc01 werden freigegeben. Version 1.5.0-rc01 enthält diese Commits.

Version 1.5.0-beta01

20. März 2024

androidx.transition:transition:1.5.0-beta01 und androidx.transition:transition-ktx:1.5.0-beta01 werden freigegeben. Version 1.5.0-beta01 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem in Fragmenten wurde behoben, bei dem eingehende Übergänge durch eine Touch-Geste für die Vorhersage der Rückwärtsbewegung unterbrochen wurden, wodurch die Ansicht, die gerade eingeblendet wurde, zerstört wurde und möglicherweise ein leerer Bildschirm angezeigt wurde. (Id3f22, b/319531491)

Version 1.5.0-alpha06

10. Januar 2024

androidx.transition:transition:1.5.0-alpha06 und androidx.transition:transition-ktx:1.5.0-alpha06 werden freigegeben. Version 1.5.0-alpha06 enthält diese Commits.

Fehlerkorrekturen

  • Wenn TransitionSeekController.animateToStart() verwendet wird, wird für die hinzugefügte TransitionListeners jetzt onTransitionEnd() aufgerufen, nachdem animateToStart() die Runnable angegeben hat. (Ic6a55, b/307624554)

Abhängigkeitsupdate

  • Die Fragmentabhängigkeit wurde auf 1.7.0-alpha08 aktualisiert.

Version 1.5.0-alpha05

29. November 2023

androidx.transition:transition:1.5.0-alpha05 und androidx.transition:transition-ktx:1.5.0-alpha05 werden freigegeben. Version 1.5.0-alpha05 enthält diese Commits.

Fehlerkorrekturen

  • Behoben wurde ein NullPointerException, das durch das Festlegen eines Übergangs für ein freigegebenes Element und das Auslassen einer enter/exitTransition verursacht wurde. (I8472b)
  • Das Problem, dass die Ansicht mit animateToStart() und Slide() nicht zurück zur Startposition bewegt werden konnte, wurde behoben (I698f4, b/300157785)
  • Ein Problem mit der Wiedereintrittsfunktion in der Überleitung, durch das die Stornierung nicht funktionierte, wurde behoben. (Iddcce, b/308379201)

Version 1.5.0-alpha04

4. Oktober 2023

androidx.transition:transition:1.5.0-alpha04 und androidx.transition:transition-ktx:1.5.0-alpha04 wurden veröffentlicht. Version 1.5.0-alpha04 enthält diese Commits.

API-Änderungen

  • Bruchänderung: Die Methode animateToStart() nimmt jetzt ein Runnable an, mit dem die Ansichten, die sich gerade ändern, in ihren ursprünglichen Zustand zurückversetzt werden sollen.

Version 1.5.0-alpha03

20. September 2023

androidx.transition:transition:1.5.0-alpha03 und androidx.transition:transition-ktx:1.5.0-alpha03 werden freigegeben. Version 1.5.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Die Funktion „Übergang“ unterstützt jetzt In-App-Animationen für die Vorhersage der Rückwärtsnavigation auf Android 14-Geräten, wenn sie mit Fragment 1.7.0-alpha05 verwendet wird.

Fehlerkorrekturen

  • Fehler beim Unterbrechen von Folienübergängen behoben Wenn ein Folienübergang einen Eintrittsübergang unterbrach, um eine Ansicht zu entfernen, wurde zu einer falschen Position gesprungen. (I946f8, b/297427333)

Version 1.5.0-alpha02

6. September 2023

androidx.transition:transition:1.5.0-alpha02 und androidx.transition:transition-ktx:1.5.0-alpha02 werden freigegeben. Version 1.5.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Bei TransitionSeekController können Sie den Fortschritt jetzt über setCurrentFragment() als Bruchteil der Gesamtdauer festlegen. (aosp/2647607)
  • Mit TransitionSeekController können Sie jetzt den Fortschritt bei der Verwendung von animateToStart() und animateToEnd() beobachten, indem Sie addOnProgressChangedListener aufrufen. (aosp/2647607)
  • TransitionManager.seekTo() wurde hinzugefügt, um Szenen für Suchübergänge verwenden zu können. (aosp/2647607)
  • Den Übergängen bei der Suche wurden physikbasierte Animationen hinzugefügt. Dabei wird ein eindimensionaler Geschwindigkeitstracker verwendet, um die Fortschrittsänderung mit setCurrentFraction() oder setCurrentPlayTimeMillis() zu verfolgen und für die Anfangsgeschwindigkeit von animateToStart und animateToEnd zu verwenden. (aosp/2647607)

Fehlerkorrekturen

  • Ein Flimmern beim Suchen nach AutoTransition wurde behoben. (aosp/2643369)
  • Es wurde ein Problem behoben, durch das ein Slide-Übergang bei einer Unterbrechung zur falschen Startposition sprang. (aosp/2733729, b/297427333)

Abhängigkeitsupdate

  • Die Umstellung wird jetzt mit API 34 kompiliert.

Version 1.5.0-alpha01

10. Mai 2023

androidx.transition:transition:1.5.0-alpha01 und androidx.transition:transition-ktx:1.5.0-alpha01 werden freigegeben. Diese Version wird in einem internen Branch entwickelt.

Neue Funktionen

  • Übergänge unterstützen die Suche ab API 34. TransitionManager wurde eine neue API hinzugefügt, controlDelayedTransition(), die eine TransisionSeekController zurückgibt, mit der der Übergang gesucht werden kann.

API-Änderungen

  • TransitionManager hat eine neue Methode, controlDelayedTransition(), mit der Anwendungen den Fortschritt von Übergangsanimationen in API 34 und höher steuern können. Über die zurückgegebene TransitionSeekController kann der Entwickler erkennen, wann der Übergang für das Suchen bereit ist, die Dauer der Animation abrufen und die aktuelle Zeit der Animation festlegen. Von controlDelayedTransition() werden nur Übergänge unterstützt, die isSeekable() überschreiben, um „wahr“ zurückzugeben.
  • Für Übergänge gibt es die neue Methode getRootTransition(), die den Übergang zurückgibt, der den aktuellen Übergang enthält, oder den aktuellen Übergang, wenn er in keinem anderen Übergang enthalten ist. Das kann nützlich sein, wenn der Entwickler Listener für den Beginn oder das Ende des gesamten Übergangs benötigt.
  • TransitionListeners hat jetzt neue onTransitionStart()- und onTransitionEnd()-Listener, mit denen der Entwickler erkennen kann, ob der Übergang rückwärts beginnt oder endet. Das kann wichtig sein, wenn du suchbare Übergänge mit TransitionListeners entwickelst.

Fehlerkorrekturen

  • Bei der Klonung von Übergängen wird jetzt auch die TransitionListeners kopiert. Das bedeutet, dass das Hinzufügen neuer Listener während createAnimator() keinen Einfluss auf die Stammübergang hat.

Version 1.4.1

Version 1.4.1

21. April 2021

androidx.transition:transition:1.4.1 und androidx.transition:transition-ktx:1.4.1 werden freigegeben. Version 1.4.1 enthält diese Commits.

Fehlerkorrekturen

  • Es wurde ein Problem behoben, durch das beim Starten einer Transition in einem Container andere laufende Übergänge in separaten Containern versehentlich pausiert wurden, wodurch diese Übergänge nie abgeschlossen wurden. (aosp/1664439, b/182845041)

Version 1.4.0

Version 1.4.0

27. Januar 2021

androidx.transition:transition:1.4.0 und androidx.transition:transition-ktx:1.4.0 werden freigegeben. Version 1.4.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.3.0

  • Das transition-ktx-Artefakt enthält Kotlin-Erweiterungen, mit denen AndroidX-Transition-Instanzen Listener hinzugefügt werden können. (b/138870873)

Version 1.4.0-rc01

2. Dezember 2020

androidx.transition:transition:1.4.0-rc01 und androidx.transition:transition-ktx:1.4.0-rc01 werden ohne Änderungen gegenüber 1.4.0-beta01 veröffentlicht. Version 1.4.0-rc01 enthält diese Commits.

Version 1.4.0-beta01

22. Juli 2020

androidx.transition:transition:1.4.0-beta01 und androidx.transition:transition-ktx:1.4.0-beta01 werden seit 1.4.0-alpha01 unverändert veröffentlicht. Version 1.4.0-beta01 enthält diese Commits.

Version 1.4.0-alpha01

24. Juni 2020

androidx.transition:transition:1.4.0-alpha01 und androidx.transition:transition-ktx:1.4.0-alpha01 werden freigegeben. Version 1.4.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Das transition-ktx-Artefakt enthält Kotlin-Erweiterungen, mit denen AndroidX-Transition-Instanzen Listener hinzugefügt werden können. (b/138870873)

Version 1.3.1

Version 1.3.1

19. Februar 2020

androidx.transition:transition:1.3.1 wird veröffentlicht. Version 1.3.1 enthält diese Commits.

Fehlerkorrekturen

  • Fehler behoben, bei dem einige animierte Ansichten bei Verwendung von „ChangeTransform“ falsch zugeschnitten wurden (b/148798452)

Version 1.3.0

Version 1.3.0

22. Januar 2020

androidx.transition:transition:1.3.0 wird veröffentlicht. Version 1.3.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.2.0

  • Verbesserungen für Fragment 1.2.0: Die Integration mit Fragment 1.2.0 wurde verbessert, damit die Ansicht des Fragments nicht vor Abschluss der Übergänge zerstört wird und Übergänge zum richtigen Zeitpunkt abgebrochen werden.

Version 1.3.0-rc02

4. Dezember 2019

androidx.transition:transition:1.3.0-rc02 wird veröffentlicht. Version 1.3.0-rc02 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem wurde behoben, durch das Ansichten nach dem Pop-out eines ausgeblendeten Fragments fälschlicherweise als INVISIBLE gekennzeichnet wurden. (b/70793925)

Version 1.3.0-rc01

23. Oktober 2019

androidx.transition:transition:1.3.0-rc01 wird seit 1.3.0-beta01 unverändert veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.

Version 1.3.0-beta01

9. Oktober 2019

androidx.transition:transition:1.3.0-beta01 wird veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.

Neue Funktionen

  • Die Integration mit Fragment 1.2.0-beta01 wurde verbessert, damit die Ansicht des Fragments nicht vor Abschluss der Übergänge zerstört wird und Übergänge zum richtigen Zeitpunkt abgebrochen werden. (aosp/1119841)

Version 1.2.0

Version 1.2.0

9. Oktober 2019

androidx.transition:transition:1.2.0 wurde ohne Änderungen gegenüber 1.2.0-rc01 veröffentlicht . Version 1.2.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.1.0

Diese Version sollte verwendet werden, wenn Sie auf API-Level 29 abzielen. Andernfalls funktionieren einige Übergänge nicht richtig. Anstelle der Reflection-Aufrufe werden in dieser Version die neuen öffentlichen Methoden verwendet, die in API-Level 29 hinzugefügt wurden. Dies ist Teil unserer Bemühungen, Einschränkungen für Nicht-SDK-Schnittstellen einzuführen.

Version 1.2.0-rc01

5. September 2019

androidx.transition:transition:1.2.0-rc01 wird ohne Änderungen seit Version 1.2.0-beta01 veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Version 1.2.0-beta01

2. Juli 2019

androidx.transition:transition:1.2.0-beta01 wird veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Neue Funktionen

  • Diese Version sollte verwendet werden, wenn Sie 29 als targetSdkVersion angeben. Andernfalls funktionieren einige Übergänge nicht richtig. Anstelle der Reflection-Aufrufe werden in dieser Version die neuen öffentlichen Methoden verwendet, die in API-Level 29 hinzugefügt wurden. Dies ist Teil unserer Bemühungen, Einschränkungen für Nicht-SDK-Schnittstellen einzuführen.

Version 1.2.0-alpha01

7. Mai 2019

androidx.transition:transition:1.2.0-alpha01 wird veröffentlicht.

Neue Funktionen

  • Diese Version sollte verwendet werden, wenn Sie Q als targetSdkVersion angeben. Andernfalls funktionieren einige Übergänge nicht richtig. Anstelle der Reflection-Aufrufe werden in dieser Version die neuen öffentlichen Methoden verwendet, die in Q hinzugefügt wurden. Dies ist Teil unserer Bemühungen, Einschränkungen für Nicht-SDK-Schnittstellen einzuführen.

Version 1.1.0

Version 1.1.0

2. Juli 2019

androidx.transition:transition:1.1.0 wird ohne Änderungen gegenüber 1.1.0-rc02 veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Version 1.1.0-rc02

5. Juni 2019

androidx.transition:transition:1.1.0-rc02 wird veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Fehlerkorrekturen

  • Behebung eines Problems, durch das TransitionManager.endTransitions() nicht richtig mit abhängigen Übergängen funktionierte. (aosp/946400)

Version 1.1.0-rc01

7. Mai 2019

androidx.transition:transition:1.1.0-rc01 wird veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Version 1.1.0-beta01

3. April 2019

androidx.transition:transition:1.1.0-beta01 wird veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Fehlerkorrekturen

  • Behoben: Fehler beim Caching von ViewGroupOverlay in Visibility auf API-Ebene 17 und niedriger (aosp/937350)

Version 1.1.0-alpha02

13. März 2019

androidx.transition:transition:1.1.0-alpha02 wird veröffentlicht. Eine vollständige Liste der Commits in dieser Version finden Sie hier.

API-Änderungen

  • Der Typ des Methodenparameters Scene.getCurrentScene() wurde von View in ViewGroup geändert.

Fehlerkorrekturen

  • SidePropagation funktioniert nicht, wenn über setStartDelay() eine zusätzliche Verzögerung angegeben wird (b/119839526).
  • ChangeImageTransform wendet die falsche Matrix an, wenn die Verbindung vor API 21 unterbrochen wird (b/123226255).
  • ChangeTransform funktioniert vor API 21 in einigen Fällen nicht richtig (b/125777978).

Version 1.1.0-alpha01

3. Dezember 2018

API-Änderungen

  • aosp/807055: Scene.getCurrentScene(View)-Methode wurde veröffentlicht. Sie können eine benutzerdefinierte bedingte Logik abhängig von einer aktuellen Szene schreiben.

Fehlerkorrekturen

  • Der Absturz beim Zusammen-/Aufklappen von Elementen in RecyclerView mit TransitionManager wurde behoben (b/37129527).
  • Die fehlerhafte Animation bei zwei Sichtbarkeitsübergängen wurde behoben (b/62629600).
  • Überschreiben von Werten wie „duration“ und „interpolator“ für die untergeordneten Elemente von „TransitionSet“ zulassen (b/64644617).
  • Viele weitere kleinere Fehler wurden behoben.