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
11 grudnia 2024 r. 1.5.1 - - 1.6.0-alpha01

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ć Jetpacka. 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 dodać swój głos do istniejącego problemu, klikając przycisk z gwiazdką.

Tworzenie nowego zgłoszenia

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

Wersja 1.6

Wersja 1.6.0-alpha01

11 grudnia 2024 r.

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

Nowe funkcje

  • Transition teraz ustawia niespójne elementy nadrzędne dla ViewOverlays, które służą do animowania przejść. Umożliwia to rozwiązanie problemu z właścicielami w przypadku elementów niespójnych z elementem nadrzędnym, co oznacza, że podczas przejścia możesz poprawnie rozwiązać problem z elementami ViewModels, cyklami życia itp. (I10a16, b/340894487, b/287484338)

Poprawki błędów

  • Biblioteka ta korzysta teraz z adnotacji JSpecify dotyczących nullowania, które są używane w zależności od typu. Deweloperzy Kotlina powinni używać tych argumentów kompilatora, aby wymusić prawidłowe użycie: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (I1f54e, b/326456246)
  • Usunięto ręczne określanie dostępu do nowych interfejsów API platformy, ponieważ odbywa się to automatycznie za pomocą modelowania interfejsu API podczas korzystania z R8 z AGP 7.3 lub nowszym (np. R8 w wersji 3.3) oraz we wszystkich wersjach kompilacji podczas korzystania z AGP 8.1 lub nowszej (np. D8 w wersji 8.1). Klienci, którzy nie korzystają z AGP, powinni zaktualizować D8 do wersji 8.1 lub nowszej. Więcej szczegółów znajdziesz w tym artykule. (Ia60e0, b/345472586)

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 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 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. Może to być przydatne, jeśli deweloper potrzebuje odbiorców, gdy rozpoczyna się lub kończy cały proces 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

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 komisy.

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-beta01androidx.transition:transition-ktx:1.5.0-beta01 są dostępne. Wersja 1.5.0-beta01 zawiera te komity.

Poprawki błędów

  • Rozwiązaliśmy problem w Fragmentach, w którym przerwanie przejść za pomocą gestów przewidywania cofnięcia powodowało zniszczenie widoku wejściowego, co mogło skutkować pustym ekranem. (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-alpha06 zawiera te commity.

Poprawki błędów

  • Gdy TransitionSeekController.animateToStart() jest używane, dodana funkcja TransitionListeners będzie wywoływać funkcję onTransitionEnd() po wywołaniu funkcji Runnable przez funkcję 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-alpha05androidx.transition:transition-ktx:1.5.0-alpha05 są dostępne. 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`. 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 przewidywanego powrotu 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 przerwania slajdu podczas przejścia. 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 po przerwaniu przejścia Slide przeskakiwało ono do niewłaściwej pozycji początkowej. (aosp/2733729, b/297427333)

Aktualizacja zależności

  • Transition jest teraz kompilowany z interfejsem API 34.

Wersja 1.5.0-alpha01

10 maja 2023 r.

androidx.transition:transition:1.5.0-alpha01androidx.transition:transition-ktx:1.5.0-alpha01 są dostępne. Ta wersja jest opracowywana w gałęzi wewnętrznej.

Nowe funkcje

  • Przejścia obsługują przewijanie na interfejsie API 34 i nowszych. Do interfejsu TransitionManager dodano nowy interfejs API, controlDelayedTransition(), który zwraca TransisionSeekController, umożliwiający przewinię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 przewijania, 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 mieć słuchaczy, gdy rozpoczyna się lub kończy cały Transition.
  • TransitionListeners ma teraz nowych odbiorców onTransitionStart()onTransitionEnd(), którzy pozwalają deweloperowi wiedzieć, czy przejście się rozpoczęło, czy kończy, czy jest w odwrotnej kolejności. Może to być ważne przy tworzeniu przejść, które można przewinąć.TransitionListeners

Poprawki błędów

  • Podczas klonowania przejścia kopiują teraz swoje TransitionListeners. 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 commity.

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 commity.

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

22 stycznia 2020 r.

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.

androidx.transition:transition:1.2.0-beta01 został zwolniony. 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 odbicia 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-alpha01

7 maja 2019 r.

androidx.transition:transition:1.2.0-alpha01 został zwolniony.

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 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. Zmiany 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. Zmiany 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 method 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. Umożliwia ona tworzenie niestandardowej logiki warunkowej w zależności od bieżącej sceny.

Poprawki błędów

  • Usunięto awarię, która występowała podczas używania TransitionManager do zwijania lub rozwijania elementów 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.