Przejście

Animowanie ruchu w interfejsie za pomocą początkowych i końcowych układów.
Ostatnia aktualizacja Wersja stabilna Wersja kandydująca Wersja Beta Wersja alfa
24 lipca 2024 r. 1.5.1 - - -

Deklarowanie zależności

Aby dodać zależność od Transition, musisz dodać repozytorium Google Maven do projektu. Więcej informacji znajdziesz w repozytorium Maven firmy Google.

Dodaj zależności dla artefaktów, których potrzebujesz, w pliku build.gradle aplikacji lub modułu:

Odlotowe

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")
}

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpack. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz oddać swój głos do istniejącego problemu, klikając przycisk gwiazdki.

Tworzenie nowego zgłoszenia

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Wersja 1.5

Wersja 1.5.1

24 lipca 2024 r.

androidx.transition:transition:1.5.1androidx.transition:transition-ktx:1.5.1 są dostępne. Wersja 1.5.1 zawiera te komitowane zmiany.

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował ignorowanie wywołań funkcji animateToStart() lub animateToEnd() w przypadku przejścia z możliwością przesunięcia, jeśli przejście nie zostało rozpoczęte. (I44d96, b/338624457)

Wersja 1.5.0

1 maja 2024 r.

androidx.transition:transition:1.5.0androidx.transition:transition-ktx:1.5.0 są dostępne. Wersja 1.5.0 zawiera te komity.

Ważne zmiany wprowadzone od wersji 1.4.0

  • Przejścia obsługują przewijanie na interfejsie API 34 i nowszych. Do interfejsu TransitionManager dodano nowy interfejs API, controlDelayedTransition(), który zwraca TransitionSeekController, umożliwiający przewijanie Transition. Ta funkcja jest używana przez Fragment 1.7.0 do automatycznego wyszukiwania przejść podczas korzystania z przewidywanego gestu wstecz.
  • Przejścia zawierają nową metodę (getRootTransition()), która zwraca przejście zawierające bieżące lub bieżące przejście, jeśli nie jest ono zawarte w żadnym innym przejściu. Jest to przydatne, jeśli deweloper potrzebuje odbiorców, gdy rozpoczyna się lub kończy cały proces przejścia.
  • TransitionListeners ma teraz nowe detektory onTransitionStart() i onTransitionEnd(), dzięki którym deweloper może wiedzieć, czy przejście zaczyna się lub kończy w odwrotnym kierunku. Może to być ważne przy tworzeniu przejść, które można przewinąć.TransitionListeners

Wersja 1.5.0-rc02

17 kwietnia 2024 r.

androidx.transition:transition:1.5.0-rc02androidx.transition:transition-ktx:1.5.0-rc02 są dostępne. Wersja 1.5.0-rc02 zawiera te zatwierdzenia.

Aktualizacja zależności

  • Zaktualizowaliśmy zależność fragmentu do wersji 1.7.0-rc02, która naprawia błąd polegający na tym, że jeśli do transakcji, w której wszystkie inne przejścia były możliwe do przeszukania, dodano element udostępniony, którego nie można było przeszukać, aplikacja się zawieszała.

Wersja 1.5.0-rc01

3 kwietnia 2024 r.

androidx.transition:transition:1.5.0-rc01androidx.transition:transition-ktx:1.5.0-rc01 są dostępne. Wersja 1.5.0-rc01 zawiera te komisy.

Wersja 1.5.0-beta01

20 marca 2024 r.

androidx.transition:transition:1.5.0-beta01 i androidx.transition:transition-ktx:1.5.0-beta01 zostały udostępnione. Wersja 1.5.0-beta01 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiono błąd we fragmentach „Fragmenty”, który powodował, że przerywanie przychodzących przejść gestem przewidywania skutkowało zniszczeniem widoku wejściowego, co mogło spowodować pozostawienie pustego ekranu. (Id3f22, b/319531491)

Wersja 1.5.0-alpha06

10 stycznia 2024 r.

androidx.transition:transition:1.5.0-alpha06androidx.transition:transition-ktx:1.5.0-alpha06 są dostępne. Wersja 1.5.0-alfa06 zawiera te zatwierdzenia.

Poprawki błędów

  • Gdy funkcja TransitionSeekController.animateToStart() jest używana, dodana funkcja TransitionListeners będzie teraz wywoływać funkcję onTransitionEnd() po otrzymaniu parametru Runnable z obiektu animateToStart(). (Ic6a55, b/307624554)

Aktualizacja zależności

  • Zależność fragmentu została zaktualizowana do wersji 1.7.0-alpha08.

Wersja 1.5.0-alpha05

29 listopada 2023 r.

androidx.transition:transition:1.5.0-alpha05 i androidx.transition:transition-ktx:1.5.0-alpha05 zostały udostępnione. Wersja 1.5.0-alpha05 zawiera te commity.

Poprawki błędów

  • Rozwiązaliśmy błąd NullPointerException spowodowany ustawieniem przejścia elementu współdzielonego i nieustawieniem enter/exitTransition. (I8472b)
  • Rozwiązaliśmy problem polegający na tym, że w animateToStart()Slide() nie można było przenieść widoku z powrotem do pozycji początkowej (I698f4, b/300157785).
  • Rozwiązaliśmy problem z reentranty w Transition, który powodował błąd anulowania. (Iddcce, b/308379201)

Wersja 1.5.0-alpha04

4 października 2023 roku

androidx.transition:transition:1.5.0-alpha04 i `androidx.transition:transition-ktx:1.5.0-alpha04 zostały opublikowane. Wersja 1.5.0-alpha04 zawiera te commity.

Zmiany w interfejsie API

  • Zmiany w wersji beta: metoda animateToStart() przyjmuje teraz parametr Runnable, który powinien być używany do przywracania widoków przejściowych do ich pierwotnego stanu.

Wersja 1.5.0-alpha03

20 września 2023 r.

androidx.transition:transition:1.5.0-alpha03androidx.transition:transition-ktx:1.5.0-alpha03 są dostępne. Wersja 1.5.0-alpha03 zawiera te commity.

Nowe funkcje

  • Transition obsługuje teraz animacje wstecznego przechodzenia w aplikacji na urządzeniach z Androidem 14, gdy są one używane z Fragmentem 1.7.0-alpha05.

Poprawki błędów

  • Usunęliśmy błąd związany z przechodzeniem ze slajdu. Gdy przejście między slajdami przerywał przejście wprowadzające, aby usunąć widok, przeskakiwało ono do nieprawidłowej pozycji. (I946f8, b/297427333)

Wersja 1.5.0-alpha02

6 września 2023 r.

androidx.transition:transition:1.5.0-alpha02androidx.transition:transition-ktx:1.5.0-alpha02 są dostępne. Wersja 1.5.0-alpha02 zawiera te commity.

Nowe funkcje

  • TransitionSeekController umożliwia teraz ustawienie postępu jako ułamka całkowitego czasu trwania za pomocą setCurrentFragment(). (aosp/2647607)
  • TransitionSeekController umożliwia teraz obserwowanie postępów podczas korzystania z animateToStart() i animateToEnd() przez wywołanie addOnProgressChangedListener. (aosp/2647607)
  • Dodano TransitionManager.seekTo(), aby umożliwić używanie scen do przewijania przejść. (aosp/2647607)
  • Dodano animacje oparte na fizyce do przejść nawigacyjnych. Do śledzenia zmiany postępu za pomocą funkcji setCurrentFraction() lub setCurrentPlayTimeMillis() używa śledzenia prędkości w 1 wymiarach, a także do początkowej prędkości animateToStartanimateToEnd. (aosp/2647607)

Poprawki błędów

  • Usunęliśmy błąd, który powodował migotanie podczas przewijania AutoTransition. (aosp/2643369)
  • Rozwiązaliśmy problem, który powodował, że przerywane przejście w trybie Slide powodowało przeskakiwanie do niewłaściwej pozycji początkowej. (aosp/2733729, b/297427333)

Aktualizacja zależności

  • Przejście jest teraz kompilowane z interfejsem API 34.

Wersja 1.5.0-alpha01

10 maja 2023 r.

androidx.transition:transition:1.5.0-alpha01 i androidx.transition:transition-ktx:1.5.0-alpha01 zostały udostępnione. Ta wersja jest opracowana w gałęzi wewnętrznej.

Nowe funkcje

  • Przejścia obsługują przewijanie na interfejsie API 34 i nowszych. Do TransitionManager (controlDelayedTransition()) dodano nowy interfejs API, który zwraca TransisionSeekController umożliwiający przejście do przejścia.

Zmiany w interfejsie API

  • TransitionManager ma nową metodę controlDelayedTransition(), która umożliwia aplikacjom kontrolowanie postępu animacji przejścia w przypadku interfejsu API w wersji 34 lub nowszej. Zwracana wartość TransitionSeekController informuje dewelopera, kiedy przejście jest gotowe do przeskakiwania, czas trwania animacji i umożliwia ustawienie bieżącego czasu animacji. controlDelayedTransition() obsługuje tylko przejścia, które zastępują isSeekable(), zwracając wartość true.
  • Przejścia mają nową metodę getRootTransition(), która zwraca Przejście zawierające bieżące Przejście lub bieżące Przejście, jeśli nie jest ono zawarte w żadnym innym Przejściu. Jest to przydatne, jeśli deweloper potrzebuje detektorów na czas rozpoczęcia lub zakończenia całego przejścia.
  • TransitionListeners ma teraz nowych odbiorców onTransitionStart()onTransitionEnd(), którzy pozwalają deweloperowi wiedzieć, czy przejście zaczyna się lub kończy w odwrotnej kolejności. Może to być ważne przy tworzeniu przejść, które można przewinąć.TransitionListeners

Poprawki błędów

  • Przenoszenie TransitionListeners jest teraz kopiowane podczas klonowania. Oznacza to, że dodanie nowych słuchaczy podczas createAnimator() nie wpłynie na przejście główne.

Wersja 1.4.1

Wersja 1.4.1

21 kwietnia 2021 r.

androidx.transition:transition:1.4.1androidx.transition:transition-ktx:1.4.1 są dostępne. Wersja 1.4.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że uruchomienie Transition w jednym kontenerze przypadkowo wstrzymywało inne przeprowadzane przejścia w osobnych kontenerach, przez co te przejścia nigdy się nie kończyły. (aosp/1664439, b/182845041)

Wersja 1.4.0

Wersja 1.4.0

27 stycznia 2021 r.

androidx.transition:transition:1.4.0androidx.transition:transition-ktx:1.4.0 są dostępne. Wersja 1.4.0 zawiera te zatwierdzenia.

Najważniejsze zmiany od wersji 1.3.0

  • Artefakt transition-ktx wprowadza rozszerzenia Kotlina dodawane do instancji AndroidX Transition, które umożliwiają dodawanie słuchaczy. (b/138870873)

Wersja 1.4.0-rc01

2 grudnia 2020 r.

androidx.transition:transition:1.4.0-rc01androidx.transition:transition-ktx:1.4.0-rc01 są publikowane bez zmian w porównaniu z wersją 1.4.0-beta01. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.

Wersja 1.4.0-beta01

22 lipca 2020 r.

androidx.transition:transition:1.4.0-beta01androidx.transition:transition-ktx:1.4.0-beta01 są publikowane bez zmian od 1.4.0-alpha01. Wersja 1.4.0-beta01 zawiera te zatwierdzenia.

Wersja 1.4.0-alpha01

24 czerwca 2020 r.

androidx.transition:transition:1.4.0-alpha01androidx.transition:transition-ktx:1.4.0-alpha01 są dostępne. Wersja 1.4.0-alpha01 zawiera te commity.

Nowe funkcje

  • Artefakt transition-ktx wprowadza rozszerzenia Kotlina dodawane do instancji AndroidX Transition, które umożliwiają dodawanie słuchaczy. (B/138870873)

Wersja 1.3.1

Wersja 1.3.1

19 lutego 2020 r.

androidx.transition:transition:1.3.1 został zwolniony. Wersja 1.3.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Usunęliśmy błąd, który powodował nieprawidłowe przycinanie niektórych animowanych widoków podczas korzystania z funkcji ChangeTransform (b/148798452).

Wersja 1.3.0

Wersja 1.3.0

Styczeń 22, 2020

androidx.transition:transition:1.3.0 został zwolniony. Wersja 1.3.0 zawiera te zatwierdzenia

Ważne zmiany od wersji 1.2.0

  • Ulepszenia Fragmentu 1.2.0: ulepszono integrację z Fragmentem 1.2.0, aby widok fragmentu nie był usuwany przed zakończeniem przejścia, a przejścia były anulowane we właściwym czasie.

Wersja 1.3.0-rc02

4 grudnia 2019

androidx.transition:transition:1.3.0-rc02 został zwolniony. Wersja 1.3.0-rc02 zawiera te zatwierdzenia:

Poprawki błędów.

  • Rozwiązaliśmy problem polegający na tym, że po wygenerowaniu ukrytego fragmentu widoki były nieprawidłowo oznaczane jako INVISIBLE. (b/70793925)

Wersja 1.3.0-rc01

23 października 2019 r.

androidx.transition:transition:1.3.0-rc01 jest publikowany bez zmian od 1.3.0-beta01. Wersja 1.3.0-rc01 zawiera te zatwierdzenia:

Wersja 1.3.0-beta01

9 października 2019 r.

androidx.transition:transition:1.3.0-beta01 został zwolniony. Wersja 1.3.0-beta01 zawiera te zatwierdzenia:

Nowe funkcje

  • Ulepszono integrację z Fragmentem 1.2.0-beta01, aby widok fragmentu nie był usuwany przed zakończeniem przejścia, a przejścia były anulowane we właściwym czasie. (Aosp/1119841)

Wersja 1.2.0

Wersja 1.2.0

9 października 2019 r.

androidx.transition:transition:1.2.0 jest wydana bez zmian w porównaniu z 1.2.0-rc01 . Wersja 1.2.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.1.0

Należy używać tej wersji, jeśli kierujesz aplikację na poziom interfejsu API 29. W przeciwnym razie niektóre przejścia nie będą dzia��ać prawidłowo. Zamiast wywołań za pomocą mechanizmu odzwierciedlenia ta wersja używa nowych publicznych metod dodanych w poziomie interfejsu API 29. Jest to część naszych ograniczeń dotyczących interfejsów innych niż SDK.

Wersja 1.2.0-rc01

5 września 2019 r.

androidx.transition:transition:1.2.0-rc01 jest wydana bez zmian od wersji 1.2.0-beta01. Zmiany zawarte w tej wersji znajdziesz tutaj.

Wersja 1.2.0-beta01

2 lipca 2019 r.

Usługa androidx.transition:transition:1.2.0-beta01 została zwolniona. Zmiany zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

  • Należy użyć tej wersji, jeśli jako targetSdkVersion podajesz 29. W przeciwnym razie niektóre przejścia nie będą działać prawidłowo. Zamiast wywołań za pomocą mechanizmu odzwierciedlenia ta wersja używa nowych publicznych metod dodanych w poziomie interfejsu API 29. Jest to część naszych ograniczeń związanych z używaniem interfejsów innych niż SDK.

Wersja 1.2.0-alpha01

7 maja 2019 r.

Usługa androidx.transition:transition:1.2.0-alpha01 została zwolniona.

Nowe funkcje

  • Należy użyć tej wersji, jeśli Q jest określone jako targetSdkVersion. W przeciwnym razie niektóre przejścia nie będą działać prawidłowo. Zamiast wywołań za pomocą mechanizmu odwoływania się do kodu tej wersji używa nowych publicznych metod dodanych w Androidzie Q. Jest to część naszych ograniczeń dotyczących interfejsów innych niż SDK.

Wersja 1.1.0

Wersja 1.1.0

2 lipca 2019 r.

androidx.transition:transition:1.1.0 jest publikowany bez zmian z 1.1.0-rc02. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Wersja 1.1.0-rc02

5 czerwca 2019 r.

androidx.transition:transition:1.1.0-rc02 został zwolniony. Zmiany zawarte w tej wersji znajdziesz tutaj.

Poprawki błędów

  • Poprawka dotycząca TransitionManager.endTransitions(), która umożliwia prawidłowe działanie w przypadku zależnych przejść. (Aosp/946400)

Wersja 1.1.0-rc01

7 maja 2019 r.

androidx.transition:transition:1.1.0-rc01 został zwolniony. Zmiany zawarte w tej wersji znajdziesz tutaj.

Wersja 1.1.0-beta01

3 kwietnia 2019 r.

androidx.transition:transition:1.1.0-beta01 został zwolniony. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Poprawki błędów

  • Naprawiono błąd dotyczący buforowania ViewGroupOverlay w funkcji Visibility, który występował na poziomie interfejsu API 17 i niżej (aosp/937350).

Wersja 1.1.0-alpha02

13 marca 2019 r.

androidx.transition:transition:1.1.0-alpha02 został zwolniony. Pełną listę zatwierdzeń zawartych w tej wersji znajdziesz tutaj.

Zmiany w interfejsie API

  • Typ parametru metody Scene.getCurrentScene() został zmieniony z View na ViewGroup.

Poprawki błędów.

  • SidePropagation nie działa, gdy setStartDelay() poda dodatkowe opóźnienie (b/119839526).
  • ChangeImageTransform stosuje nieprawidłową matrycę, gdy zostanie przerwane przed interfejsem API 21 (b/123226255).
  • ChangeTransform działa nieprawidłowo w niektórych przypadkach w wersjach starszych niż API 21 (b/125777978).

Wersja 1.1.0-alpha01

3 grudnia 2018 r.

Zmiany w interfejsie API

  • aosp/807055: metoda Scene.getCurrentScene(View) została udostępniona publicznie. Pozwala napisać własną logikę warunkową uzależnioną od bieżącej sceny.

Poprawki błędów.

  • Naprawiono błąd, który powodował awarię przy użyciu funkcji TransitionManager do zwijania/rozwijania elementu w RecyclerView (b/37129527).
  • Naprawiono nieprawidłową animację podczas stosowania 2 przejść widoczności (b/62629600).
  • Zezwalaj na zastąpienie wartości takich jak czas trwania i interpolator w przypadku elementów TransitionSet (b/64644617).
  • Naprawiono wiele innych drobnych błędów.