Przejście
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ą.
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-alpha01
i androidx.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 elementamiViewModels
, 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.1
i androidx.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()
lubanimateToEnd()
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.0
i androidx.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 zwracaTransitionSeekController
, umożliwiający przewijanieTransition
. 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ówonTransitionStart()
ionTransitionEnd()
, 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-rc02
i androidx.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-rc01
i androidx.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
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-alpha06
i androidx.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 funkcjaTransitionListeners
będzie wywoływać funkcjęonTransitionEnd()
po wywołaniu funkcjiRunnable
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-alpha05
i androidx.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 nieustawieniementer/exitTransition
. (I8472b) - Rozwiązaliśmy problem polegający na tym, że w
animateToStart()
zSlide()
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 parametrRunnable
, 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-alpha03
i androidx.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-alpha02
i androidx.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 zanimateToStart()
ianimateToEnd()
przez wywołanieaddOnProgressChangedListener
. (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()
lubsetCurrentPlayTimeMillis()
używa śledzenia prędkości w 1 wymiarach, a także do początkowej prędkościanimateToStart
ianimateToEnd
. (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-alpha01
i androidx.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 zwracaTransisionSeekController
, 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ówonTransitionStart()
ionTransitionEnd()
, 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 podczascreateAnimator()
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.1
i androidx.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.0
i androidx.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 AndroidXTransition
, które umożliwiają dodawanie słuchaczy. (b/138870873)
Wersja 1.4.0-rc01
2 grudnia 2020 r.
androidx.transition:transition:1.4.0-rc01
i androidx.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-beta01
i androidx.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-alpha01
i androidx.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 AndroidXTransition
, 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 funkcjiVisibility
, 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 zView
naViewGroup
.
Poprawki błędów
SidePropagation
nie działa, gdysetStartDelay()
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 wRecyclerView
(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.