Animacja w Compose
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(Zobacz dokumentację API wszystkich pakietów Compose)
| Najnowsza aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja beta | Wersja alfa |
|---|---|---|---|---|
| 7 października 2026 r. | 1.12.1 | - | 1.13.0-beta01 | - |
Struktura
Compose to połączenie 7 identyfikatorów grup Maven w androidx. Każda grupa zawiera ukierunkowany podzbiór funkcji, a każda z nich ma własny zestaw informacji o wersji.
W tej tabeli znajdziesz grupy i linki do poszczególnych zestawów informacji o wersji.
| Grupa | Opis |
|---|---|
| compose.animation | tworzyć animacje w aplikacjach Jetpack Compose, aby wzbogacać wrażenia użytkowników; |
| compose.compiler | Przekształcanie funkcji z adnotacją @Composable i włączanie optymalizacji za pomocą wtyczki kompilatora Kotlin. |
| compose.foundation | Twórz aplikacje w Jetpack Compose za pomocą gotowych elementów składowych i rozszerzaj podstawy, aby tworzyć własne elementy systemu projektowania. |
| compose.material | Twórz interfejsy Jetpack Compose za pomocą gotowych komponentów Material Design. Jest to punkt wejścia wyższego poziomu w Compose, który ma zapewniać komponenty zgodne z tymi opisanymi na stronie www.material.io. |
| compose.material3 | Twórz interfejsy Jetpack Compose za pomocą komponentów Material Design 3, czyli kolejnej ewolucji Material Design. Material 3 zawiera zaktualizowane motywy i komponenty oraz funkcje personalizacji Material You, takie jak dynamiczny kolor. Jest on spójny z nowym stylem wizualnym Androida 12 i interfejsem systemu. |
| compose.runtime | Podstawowe elementy modelu programowania i zarządzania stanem w Compose oraz podstawowe środowisko wykonawcze, do którego kierowana jest wtyczka kompilatora Compose. |
| compose.ui | Podstawowe komponenty interfejsu Compose potrzebne do interakcji z urządzeniem, w tym układ, rysowanie i dane wejściowe. |
Deklarowanie zależności
Aby dodać zależność od Compose, musisz dodać do projektu repozytorium Maven Google. Więcej informacji znajdziesz w repozytorium Maven Google.
Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle aplikacji lub modułu:
Groovy
dependencies { implementation "androidx.compose.animation:animation:1.12.1" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.12.1") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Prześlij opinię
Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nową kartę, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz oddać głos na istniejący problem, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.13
Wersja 1.13.0-beta01
7 października 2026 r.
Publikacja androidx.compose.animation:animation-*:1.13.0-beta01 Wersja 1.13.0-beta01 zawiera te zmiany.
Zmiany w interfejsie API
- Biblioteki są teraz przeznaczone dla języka Kotlin 2.2 i wymagają kompilatora kotlinc 2.2 (I82396, b/498369605).
Poprawki błędów
- Usunęliśmy błąd w klasie SeekableTransitionState, w którym zaokrąglanie wartości NaN powodowało zgłaszanie wyjątku IllegalArgumentException podczas przejść o zerowym czasie trwania lub przerwanych przejść. (I8f3a9, b/555294641)
Wersja 1.13.0-alpha03
9 września 2026 r.
Publikacja androidx.compose.animation:animation-*:1.13.0-alpha03 Wersja 1.13.0-alpha03 zawiera te zmiany.
Zmiany w interfejsie API
- Kontakt
ExperimentalDeferredTransitionApizostał usunięty. Interfejsy API Deferred transition nie wymagają już zgody na eksperymentalne funkcje. (Ib6430)
Poprawki błędów
compileSdkbibliotek Compose zaktualizowanych do wersji 37.1. Wymaga to przechodniego zaktualizowaniacompileSdkwe wszystkich aplikacjach i bibliotekach korzystających z Compose. (I05b0f)
Wersja 1.13.0-alpha02
26 sierpnia 2026 r.
Publikacja androidx.compose.animation:animation-*:1.13.0-alpha02 Wersja 1.13.0-alpha02 zawiera te zmiany.
Wersja 1.13.0-alpha01
12 sierpnia 2026 r.
Publikacja androidx.compose.animation:animation-*:1.13.0-alpha01 Wersja 1.13.0-alpha01 zawiera te zmiany.
Zmiany w interfejsie API
- Przywrócono
EnterTransition.withjako wycofany zDeprecationLevel.HIDDENw celu zapewnienia zgodności binarnej. (I71214, b/535291175) - Dodano adnotacje do pustych metod podstawowych, które można zastąpić w Compose, za pomocą symbolu
@EmptySuper, aby wskazać, że zastępujące implementacje nie powinny wywoływać super. (Id407b) - Wprowadzono
CapturedAnimatedVisibility, alternatywę dlaAnimatedVisibility, która natychmiast usuwa kompozycję podrzędną po wyjściu i animuje ostatnią wyrenderowaną klatkę za pomocąGraphicsLayer. (I6c5b3) - Zmieniono nazwę przeciążenia
rememberTransition, które akceptujeDeferredTransitionState, narememberDeferredTransition, aby odróżnić je od standardowych wariantówTransitionState. (I7bb7e) - Udostępniliśmy
EnterExitTransitionConfigpublicznie użytkownikomEnterTransitioniExitTransition. (Idd5a4, b/330152398) Transition.CrossfadeicreateChildTransitionsą teraz stabilne.EnterTransition.withzostał usunięty (użyjtogetherWith). (I38f66)createChildTransitionjest teraz stabilny. (Ied832, b/261422996)androidx.benchmarkma terazminSdkna poziomie 24. (Ic2a85)- Udostępniliśmy bieżącą wartość animacji w
DeferredTargetAnimation. (Ie4f6e, b/434659224) - Zastąp eksperymentalny interfejs API
@AnimationToolingApiinterfejsem API@RestrictTo, który zapewnia większą dokładność śledzenia. (Ia4fd1, b/524317805) - Ustabilizowaliśmy interfejsy API
unveilIniveilOut(I9e3a3).
Poprawki błędów
- Zoptymalizowana inicjalizacja na poziomie pliku właściwości klasy wartości najwyższego poziomu
animationza pomocą dynamicznych funkcji pobierających. (I88b86) - Zoptymalizowana inicjalizacja obiektu towarzyszącego klas wartości
compose:animation(StartOffsetType,ArcMode,SlideDirection) za pomocą dynamicznych funkcji pobierających. (I4162e) - Usuwa informacje o interfejsie API (Ia8066)
Wersja 1.12
Wersja 1.12.1
9 września 2026 r.
Publikacja androidx.compose.animation:animation-*:1.12.1 Wersja 1.12.1 zawiera te zmiany.
Wersja 1.12.0
12 sierpnia 2026 r.
Publikacja androidx.compose.animation:animation-*:1.12.0 Wersja 1.12.0 zawiera te zmiany.
Ważne zmiany od wersji 1.11.0:
Wersja 1.12.0-rc01
29 lipca 2026 r.
Publikacja androidx.compose.animation:animation-*:1.12.0-rc01 Wersja 1.12.0-rc01 zawiera te zmiany.
Wersja 1.12.0-beta02
1 lipca 2026 r.
Publikacja androidx.compose.animation:animation-*:1.12.0-beta02 Wersja 1.12.0-beta02 zawiera te zmiany.
Wersja 1.12.0-beta01
17 czerwca 2026 r.
Publikacja androidx.compose.animation:animation-*:1.12.0-beta01 Wersja 1.12.0-beta01 zawiera te zmiany.
Zmiany w interfejsie API
- Wprowadzono parametr
permitTransformDuringDeferredTransitionwSharedContentConfig, aby określić, czy udostępnione elementy mają się wizualnie przekształcać wraz z kontenerem nadrzędnym w fazie odroczonejDeferredTransition. (I4b67b) - Przebudowano przejście do klasy zamkniętej i ulepszono
DeferredTransitiondokumentację oraz bezpieczeństwo interfejsu API. (Iecb8f) - Dodano
inactiveElementColordoLookaheadAnimationVisualDebugging" do androidx-main - Dodano
inactiveElementColordoLookaheadAnimationVisualDebugging(I5454b, b/501193322) - Usunięto adnotację
ExperimentalAnimatableApi. (I4e670, b/500030165)
Poprawki błędów
- Rozwiązaliśmy problem w
LinkComposer, który mógł powodować pomijanie funkcji kompozycyjnych zamiast ponownego komponowania, gdy były one unieważniane podczas komponowania. (Ie29fe)
Wersja 1.12.0-alpha03
19 maja 2026 r.
Publikacja androidx.compose.animation:animation-*:1.12.0-alpha03 Wersja 1.12.0-alpha03 zawiera te zmiany.
Zmiany w interfejsie API
DeferredTargetAnimationnie jest już eksperymentalne, usuń zgodę na korzystanie z androidx-main- Dodaliśmy parametr
mutableTransformdo funkcjiAnimatedVisibilityiAnimatedContent, aby obsługiwać bezpośrednie ręczne manipulowanie właściwościami (np. w przypadku gestów predykcyjnych) w fazie odroczonej przejścia. (I236e8) DeferredTargetAnimationnie jest już eksperymentalną funkcją. Usuń zgodę na jej używanie. (I1e4ae, b/500030165)- Nowy wyliczenie do obsługi wyzwalaczy w narzędziach interfejsu (I6e198, b/478807872)
Wersja 1.12.0-alpha02
6 maja 2026 r.
Publikacja androidx.compose.animation:animation-*:1.12.0-alpha02 Wersja 1.12.0-alpha02 zawiera te zmiany.
Wersja 1.12.0-alpha01
22 kwietnia 2026 r.
Publikacja androidx.compose.animation:animation-*:1.12.0-alpha01 Wersja 1.12.0-alpha01 zawiera te zmiany.
Poprawki błędów
- Zaktualizowano Compose
compileSdkdo interfejsu API 37. Oznacza to, że podczas korzystania z Compose wymagana jest minimalna wersja AGP 9.2.0. (Id45cd, b/413674743) - Zakończ animację
SeekableTransitionStateprzed kompozycją (1bf9dc, b/410055849)
Wersja 1.11
Wersja 1.11.4
1 lipca 2026 r.
Publikacja androidx.compose.animation:animation-*:1.11.4 Wersja 1.11.4 zawiera te zmiany.
Wersja 1.11.3
17 czerwca 2026 r.
Publikacja androidx.compose.animation:animation-*:1.11.3 Wersja 1.11.3 zawiera te zmiany.
Wersja 1.11.2
19 maja 2026 r.
Publikacja androidx.compose.animation:animation-*:1.11.2 Wersja 1.11.2 zawiera te zmiany.
Wersja 1.11.1
6 maja 2026 r.
Publikacja androidx.compose.animation:animation-*:1.11.1 Wersja 1.11.1 zawiera te zmiany.
Wersja 1.11.0
22 kwietnia 2026 r.
Publikacja androidx.compose.animation:animation-*:1.11.0 Wersja 1.11.0 zawiera te zmiany.
Ważne zmiany od wersji 1.10.0:
- Publikacja
androidx.compose.animation:animation-*:1.11.0Ta wersja stabilna zawiera ulepszenia i poprawki z cyklu rozwoju wersji 1.11.0, które koncentrują się na stabilności wspólnych elementów, niezawodności wątków i nowych narzędziach dla deweloperów.
Nowe funkcje
- Wizualne debugowanie funkcji Lookahead: wprowadziliśmy nowy zestaw funkcji wizualnego debugowania, które umożliwiają wizualizację informacji związanych z elementami udostępnionymi i
Modifier.animatedBounds. Takie informacje obejmują: granice docelowe, trajektorię animacji granic, liczbę znalezionych dopasowań, czy przejście jest aktywne itp.
Zmiany w interfejsie API
- Dodano nowe interfejsy API
LookaheadAnimationVisualDebugging,CustomizedLookaheadAnimationVisualDebuggingiLookaheadAnimationVisualDebugConfig, które pomagają debugować animowane granice i animacje wspólnych elementów. (Id5575, b/390011686, b/466169919)
Poprawki błędów
- Bezpieczeństwo wątków:
SeekableTransitionStateteraz prawidłowo obsługuje zmiany stanu poza wątkiem. Wcześniej, jeśli stan został zmodyfikowany poza wątkiem UI za pomocąSnapshot.withMutableSnapshot(), przejście nieprawidłowo próbowało obsłużyć aktualizację poza wątkiem UI. (0aba38) - Skuteczność: większa skuteczność dostępu do
sharedElementsmap. (93f57d) - State Reporting: poprawiono
isTransitionActive, aby raportował tylko wtedy, gdy istnieją aktywne animacje z dopasowanych wspólnych elementów. (d3426a, b/474385510) - Stabilność: wymagane umieszczenie wspólnego korzenia przejścia przed zapytaniem o granice (77d59c) i zapewnienie, że pozycje dla
sharedElementssą uzyskiwane tylko wtedy, gdySharedTransitionLayoutjest dołączony. (I2a035) - Obsługa przerwań: naprawiono przypadek brzegowy obsługi przerwań, gdy animacja wyjścia elementu podrzędnego kończy się, a animacja przejścia elementu nadrzędnego nadal trwa w
AnimatedContent. (ad9b4f) - Weryfikacja: zweryfikowany czas trwania w
InfiniteRepeatableSpec, aby zapobiec cyklom o czasie trwania 0. (151b6d) - Dostosowywanie: uwzględniaj
visibilityThresholdw niestandardowymAnimationSpecdlaanimateFloatAsState. (3a1cdc)
Wersja 1.11.0-rc01
8 kwietnia 2026 r.
Publikacja androidx.compose.animation:animation-*:1.11.0-rc01 Wersja 1.11.0-rc01 zawiera te zmiany.
Wersja 1.11.0-beta02
25 marca 2026 r.
Publikacja androidx.compose.animation:animation-*:1.11.0-beta02 Wersja 1.11.0-beta02 zawiera te zmiany.
Poprawki błędów
SeekableTransitionStateteraz prawidłowo obsługuje zmiany stanu poza wątkiem. Wcześniej, jeśli stan został zmodyfikowany poza wątkiem UI za pomocąSnapshot.withMutableSnapshot(), przejście nieprawidłowo próbowało obsłużyć aktualizację poza wątkiem UI.(0aba38)- Sprawdź czas trwania w
InfiniteRepeatableSpec, aby zapobiec cyklom o zerowym czasie trwania (151b6d) - Respektuj
visibilityThresholdw niestandardowymAnimationSpecdlaanimateFloatAsState(3a1cdc) - Naprawiono obsługę przerwań w przypadku sytuacji brzegowych, gdy animacja wyjścia elementu podrzędnego kończy się, a animacja przejścia elementu nadrzędnego nadal działa w
AnimatedContent. (ad9b4f)
Wersja 1.11.0-beta01
11 marca 2026 r.
Publikacja androidx.compose.animation:animation-*:1.11.0-beta01 Wersja 1.11.0-beta01 zawiera te zmiany.
Poprawki błędów
- Popraw
isTransitionActive, aby zgłaszał wartość „prawda” tylko wtedy, gdy aktywna jest animacja z dopasowanego elementu wspólnego (d3426a, b/474385510).
Wersja 1.11.0-alpha06
25 lutego 2026 r.
Publikacja androidx.compose.animation:animation-*:1.11.0-alpha06 Wersja 1.11.0-alpha06 zawiera te zmiany.
Poprawki błędów
- Zwiększanie wydajności dostępu do mapy
sharedElements. (93f57d)
Wersja 1.11.0-alpha05
11 lutego 2026 r.
Publikacja androidx.compose.animation:animation-*:1.11.0-alpha05 Wersja 1.11.0-alpha05 zawiera te zmiany.
Wersja 1.11.0-alpha04
28 stycznia 2026 r.
Publikacja androidx.compose.animation:animation-*:1.11.0-alpha04 Wersja 1.11.0-alpha04 zawiera te zmiany.
Wersja 1.11.0-alpha03
14 stycznia 2026 r.
Publikacja androidx.compose.animation:animation-*:1.11.0-alpha03 Wersja 1.11.0-alpha03 zawiera te zmiany.
Nowe funkcje
- Wprowadziliśmy nowy zestaw funkcji debugowania wizualnego, które umożliwiają wizualizację informacji związanych z elementami udostępnionymi i
Modifier.animatedBounds. Takie informacje obejmują: granice docelowe, trajektorię animacji granic, liczbę znalezionych dopasowań, czy przejście jest aktywne itp.
Zmiany w interfejsie API
- Dodano nowe interfejsy API
LookaheadAnimationVisualDebugging,CustomizedLookaheadAnimationVisualDebuggingiLookaheadAnimationVisualDebugConfig, które pomagają w debugowaniu animowanych granic i animacji elementów udostępnionych. (Id5575, b/390011686, b/466169919)
Poprawki błędów
- Wymagaj umieszczenia wspólnego katalogu głównego przejścia przed granicami zapytania. (77d59c)
Wersja 1.11.0-alpha02
17 grudnia 2025 r.
Publikacja androidx.compose.animation:animation-*:1.11.0-alpha02 Wersja 1.11.0-alpha02 zawiera te zmiany.
Wersja 1.11.0-alpha01
3 grudnia 2025 r.
Publikacja androidx.compose.animation:animation-*:1.11.0-alpha01 Wersja 1.11.0-alpha01 zawiera te zmiany.
Poprawki błędów
- Pobieraj pozycję tylko w przypadku urządzenia
sharedElements, jeśli jest do niego dołączony elementSharedTransitionLayout(I2a035)
Wersja 1.10
Wersja 1.10.6
25 marca 2026 r.
Publikacja androidx.compose.animation:animation-*:1.10.6 Wersja 1.10.6 zawiera te zmiany.
Wersja 1.10.5
11 marca 2026 r.
Publikacja androidx.compose.animation:animation-*:1.10.5 Wersja 1.10.5 zawiera te zmiany.
Wersja 1.10.4
25 lutego 2026 r.
Publikacja androidx.compose.animation:animation-*:1.10.4 Wersja 1.10.4 zawiera te zatwierdzenia.
Wersja 1.10.3
11 lutego 2026 r.
Publikacja androidx.compose.animation:animation-*:1.10.3 Wersja 1.10.3 zawiera te zmiany.
Poprawki błędów
- Naprawiliśmy awarię spowodowaną przez przypadek brzegowy, w którym węzeł udostępnionych treści jest odłączany, zanim zostanie umieszczony korzeń udostępnionej zmiany. (121310)
Wersja 1.10.2
28 stycznia 2026 r.
Publikacja androidx.compose.animation:animation-*:1.10.2 Wersja 1.10.2 zawiera te zmiany.
Wersja 1.10.1
14 stycznia 2026 r.
Publikacja androidx.compose.animation:animation-*:1.10.1 Wersja 1.10.1 zawiera te zmiany.
Wersja 1.10.0
3 grudnia 2025 r.
Publikacja androidx.compose.animation:animation-*:1.10.0 Wersja 1.10.0 zawiera te zmiany.
Ważne zmiany od wersji 1.9.0:
- Wspólne interfejsy API przejść są stabilne w wersji 1.10
- Nowy interfejs API
Modifier.skipToLookaheadPositiondo układów wSharedTransitionScope, który umożliwia przejście do pozycji docelowej zamiast animowania zmian pozycji (9a88f4) - Obsługa dynamicznego włączania i wyłączania elementów udostępnionych (07680e)
- Nowy interfejs API obsługujący początkową prędkość inicjowania przejścia elementu udostępnionego za pomocą szybkiego przesunięcia (b0afe2)
- Nowe
EnterTransitioniExitTransitiondo animowania warstwy zasłony dlaAnimatedVisibilityiAnimatedContent(0f6e7c)
Wersja 1.10.0-rc01
19 listopada 2025 r.
Publikacja androidx.compose.animation:animation-*:1.10.0-rc01 Wersja 1.10.0-rc01 zawiera te zmiany.
Zmiany w interfejsie API
- Opcje
unveilIniveilOutsą teraz dostępne w przypadkuEnterExitTransitions. Umożliwia to animowanie warstwy nakładki przed wchodzącą lub wychodzącą treścią. (If26fe)
Poprawki błędów
- Obsługa śledzenia granic przez odłączanie i ponowne podłączanie
sharedElement(be0e9e) - Udostępnij mapę udostępnionych elementów do obserwacji aktywności przejścia. (1fc2ec)
Wersja 1.10.0-beta02
5 listopada 2025 r.
Publikacja androidx.compose.animation:animation-*:1.10.0-beta02 Wersja 1.10.0-beta02 zawiera te zmiany.
Wersja 1.10.0-beta01
22 października 2025 r.
Publikacja androidx.compose.animation:animation-*:1.10.0-beta01 Wersja 1.10.0-beta01 zawiera te zmiany.
Zmiany w interfejsie API
- Usunięto metodę fabryczną
SharedContentConfig, która przyjmuje lambdę wskazującą, czy udostępniony element powinien być włączony.lookheadScopeCoordinatesInterfejs API został zaktualizowany. Zakres odbiorcy toLookaheadScope, a parametr to współrzędne źródła. (Id1fc2, b/452416806) - Interfejs
BoundsTransformzostał zaktualizowany, aby był zgodny z interfejsemSizeTransform. (Ia46f2, b/343696350) - Wycofany interfejs API
ScaleToBoundszostał usunięty. Zamiast niej używaj zasadyscaleToBounds. (I17296)
Wersja 1.10.0-alpha05
8 października 2025 r.
Publikacja androidx.compose.animation:animation-*:1.10.0-alpha05 Wersja 1.10.0-alpha05 zawiera te zmiany.
Zmiany w interfejsie API
- Interfejsy API przejść udostępnionych są teraz stabilne. Więcej informacji znajdziesz w przewodniku po elementach wspólnych. (I7167e).
Wersja 1.10.0-alpha04
24 września 2025 r.
Publikacja androidx.compose.animation:animation-*:1.10.0-alpha04 Wersja 1.10.0-alpha04 zawiera te zmiany.
Zmiany w interfejsie API
- Zaktualizowano nazwy interfejsów API związanych z
PlaceHolderSize. (I037d8, b/343696350) - Nowy interfejs API przejścia między elementami udostępnionymi, który obsługuje początkową prędkość, aby kontynuować prędkość gestu w elementach udostępnionych. (I91be9)
Wersja 1.10.0-alpha03
10 września 2025 r.
Publikacja androidx.compose.animation:animation-*:1.10.0-alpha03 Wersja 1.10.0-alpha03 zawiera te zmiany.
Zmiany w interfejsie API
Modifier.skipToLookaheadSizekorzysta teraz z domyślnie włączonej funkcji lambda, która włącza pomijanie rozmiaru tylko wtedy, gdy aktywna jest wspólna zmiana, tak samo jakModifier.skipToLookaheadPosition. (Ibe0f5, b/432485585)
Wersja 1.10.0-alpha02
27 sierpnia 2025 roku
Publikacja androidx.compose.animation:animation-*:1.10.0-alpha02 Wersja 1.10.0-alpha02 zawiera te zmiany.
Wersja 1.10.0-alpha01
13 sierpnia 2025 r.
Publikacja androidx.compose.animation:animation-*:1.10.0-alpha01 Wersja 1.10.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Nowy interfejs API, który umożliwia dynamiczne włączanie i wyłączanie elementów udostępnionych, a także uwzględnianie tego, czy trwa już przejście elementu udostępnionego.
- Nowy interfejs API do konfigurowania alternatywnych granic elementu docelowego, gdy udostępniony element docelowy zostanie usunięty podczas przejścia.
- Nowy interfejs API do uzyskiwania
LayoutCoordinatesLookaheadScope. (I18dd4, b/409819304, b/395670637) - Nowy modyfikator
Modifier.skipToLookaheadPositionwSharedTransitionScopedo zakotwiczenia układu w pozycji docelowej podczas przejścia współdzielonego. (I88734)
Zmiany w interfejsie API
- Uproszczono
renderInSharedTransitionOverlayprzez usunięcie funkcjiclipInOverlayDuringTransitionlambda, ponieważ była ona rzadko używana. Wprowadziliśmy nową metodę fabryczną dlaSharedContentConfig. (Id01b2) - Dodano zestaw domyślnych ustawień dla udostępnionego elementu, udostępnionych granic i konfiguracji
renderInSharedTransitionOverlay. Te wartości domyślne są teraz dostępne za pomocą publicznych interfejsów API. (Id23cc) ScaleToBoundsResizeMode został zmieniony nascaleToBounds(I5ac50)
Poprawki błędów
- Przeniesienie domyślnego minSdk z API 21 na API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
Wersja 1.9
Wersja 1.9.5
19 listopada 2025 r.
Publikacja androidx.compose.animation:animation-*:1.9.5 Wersja 1.9.5 zawiera te zatwierdzenia.
Wersja 1.9.4
22 października 2025 r.
Publikacja androidx.compose.animation:animation-*:1.9.4 Wersja 1.9.4 zawiera te zatwierdzenia.
Wersja 1.9.3
8 października 2025 r.
Publikacja androidx.compose.animation:animation-*:1.9.3 Wersja 1.9.3 zawiera te zatwierdzenia.
Wersja 1.9.2
24 września 2025 r.
Publikacja androidx.compose.animation:animation-*:1.9.2 Wersja 1.9.2 zawiera te zatwierdzenia.
Wersja 1.9.1
10 września 2025 r.
Publikacja androidx.compose.animation:animation-*:1.9.1 Wersja 1.9.1 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono inicjowanie animacji dla
sharedElementWithCallerManagedVisibility. (fa29de)
Wersja 1.9.0
13 sierpnia 2025 r.
Publikacja androidx.compose.animation:animation-*:1.9.0 Wersja 1.9.0 zawiera te zatwierdzenia.
Wersja 1.9.0-rc01
30 lipca 2025 r.
Publikacja androidx.compose.animation:animation-*:1.9.0-rc01 Wersja 1.9.0-rc01 zawiera te zatwierdzenia.
Wersja 1.9.0-beta03
16 lipca 2025 r.
Publikacja androidx.compose.animation:animation-*:1.9.0-beta03 Wersja 1.9.0-beta03 zawiera te zatwierdzenia.
Wersja 1.9.0-beta02
2 lipca 2025 r.
Publikacja androidx.compose.animation:animation-*:1.9.0-beta02 Wersja 1.9.0-beta02 zawiera te zatwierdzenia.
Wersja 1.9.0-beta01
18 czerwca 2025 r.
Publikacja androidx.compose.animation:animation-*:1.9.0-beta01 Wersja 1.9.0-beta01 zawiera te zatwierdzenia.
Wersja 1.9.0-alpha04
4 czerwca 2025 r.
Publikacja androidx.compose.animation:animation-*:1.9.0-alpha04 Wersja 1.9.0-alpha04 zawiera te zatwierdzenia.
Wersja 1.9.0-alpha03
20 maja 2025 r.
Publikacja androidx.compose.animation:animation-*:1.9.0-alpha03 Wersja 1.9.0-alpha03 zawiera te zatwierdzenia.
Wersja 1.9.0-alpha02
7 maja 2025 r.
Publikacja androidx.compose.animation:animation-*:1.9.0-alpha02 Wersja 1.9.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- Znacznie ulepszona obsługa przewijania i przeciągania w przypadku udostępnionych elementów. Gdy przewijany jest przechodzący element współdzielony, delta przewijania jest stosowana bezpośrednio do elementu współdzielonego, zamiast powodować, że elementy współdzielone podążają za nowym celem. (cacf7b)
Wersja 1.9.0-alpha01
23 kwietnia 2025 r.
Publikacja androidx.compose.animation:animation-*:1.9.0-alpha01 Wersja 1.9.0-alpha01 zawiera te zatwierdzenia.
Zmiany w zachowaniu
- Sprawdzanie kodu za pomocą narzędzia Lint w Compose wymaga teraz minimalnej wersji AGP 8.8.2. Jeśli nie możesz uaktualnić AGP, możesz zamiast tego uaktualnić Lint, używając wersji
android.experimental.lint.version=8.8.2(lub nowszej) w plikugradle.properties. Aby uruchamiać sprawdzanie kodu Compose w IDE, musisz mieć Androida Studio w wersji Ladybug lub nowszej.
Nowe funkcje
- Poprawiona wydajność przewijania w przypadku elementów udostępnionych (ea4f1f)
Zmiany w interfejsie API
- Projekty wydane w Kotlinie 2.0 wymagają KGP w wersji 2.0.0 lub nowszej. (Idb6b5)
- Metody
TabRowiScrollableTabRowzostały wycofane na rzecz ich wersji podstawowych i dodatkowych. Wiersze na kartach Podstawowe i Dodatkowe działają wydajniej i są bardziej zgodne ze specyfikacją. (I918e2) - Dodano
LocalResourceskompozycję lokalną do zasobów zapytania. Wywołanie funkcjiLocalResources.currentspowoduje ponowne skomponowanie, gdy zmieni się konfiguracja, więc wywołania interfejsów API, takich jakstringResource(), zwrócą zaktualizowane wartości (I50c13, b/274786917).
Poprawki błędów
- Zapewnienie, że udostępnione elementy są usuwane z nakładki po zakończeniu przejścia (35f359)
- Eliminate extra recomposition in Transition (988923)
- Poprawiono obsługę przerwania przejścia dziecka (8aed52)
- Zapewnij resetowanie przejścia po podaniu nowego
TransitionState(57820a)
Wkład zewnętrzny
- Z Compose
1.8.1: kończenie animacji wSeekableTransitionState, jeśli przekraczają już nowy czas trwania, autor: Steven Schoen. (0c832c)
Wersja 1.8
Wersja 1.8.3
18 czerwca 2025 r.
Publikacja androidx.compose.animation:animation-*:1.8.3 Wersja 1.8.3 zawiera te zatwierdzenia.
Wersja 1.8.2
20 maja 2025 r.
Publikacja androidx.compose.animation:animation-*:1.8.2 Wersja 1.8.2 zawiera te zatwierdzenia.
Wersja 1.8.1
7 maja 2025 r.
Publikacja androidx.compose.animation:animation-*:1.8.1 Wersja 1.8.1 zawiera te zatwierdzenia.
Wkład zewnętrzny
- Zakończ animacje w
SeekableTransitionState, jeśli już minął nowy czas trwania. Thanks Steven Schoen! (fbcdf7)
Wersja 1.8.0
23 kwietnia 2025 r.
Publikacja androidx.compose.animation:animation-*:1.8.0 Wersja 1.8.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.7.0
- Ważne zmiany w wersji 1.8.0 zostały opisane w tym poście na blogu.
- Nowy interfejs API
Modifier.animateBoundsdo animowania zmian rozmiaru i pozycji w zakresie wyprzedzającym. (94b939) - Finalizacja interfejsów API dla klatek kluczowych z łukami i krzywymi (89e119)
- Obsługiwane wyprzedzające w
LazyGridi Pagerze. Obejmuje to rozróżnianie przewidywanego przejścia od przejścia zbliżającego się podczas przewijania, kompozycji/usuwania elementu i animacji elementu oraz wykorzystywanie przewidywanego przejścia jako źródła informacji o przewijaniu i docelowej animacji elementu. - Zmieniliśmy nazwę parametru
sharedElementz „state” nasharedContentState, aby zachować spójność w interfejsach API elementów udostępnionych. (9e7df5) AnimatedImageVectorinterfejsów API jest już stabilny.(69d7e0)
Wersja 1.8.0-rc03
9 kwietnia 2025 r.
Publikacja androidx.compose.animation:animation-*:1.8.0-rc03 Wersja 1.8.0-rc03 zawiera te zmiany.
Wersja 1.8.0-rc02
26 marca 2025 r.
Publikacja androidx.compose.animation:animation-*:1.8.0-rc02 Wersja 1.8.0-rc02 zawiera te zmiany.
Wersja 1.8.0-rc01
12 marca 2025 r.
Publikacja androidx.compose.animation:animation-*:1.8.0-rc01 Wersja 1.8.0-rc01 zawiera te zmiany.
Poprawki błędów
- Naprawiono błąd, w którym przejście do elementu podrzędnego było błędnie oznaczane jako przerwane. (3fa2ce)
Wersja 1.8.0-beta03
26 lutego 2025 r.
Publikacja androidx.compose.animation:animation-*:1.8.0-beta03 Wersja 1.8.0-beta03 zawiera te zmiany.
Wersja 1.8.0-beta02
12 lutego 2025 r.
Publikacja androidx.compose.animation:animation-*:1.8.0-beta02 Wersja 1.8.0-beta02 zawiera te zmiany.
Wersja 1.8.0-beta01
29 stycznia 2025 r.
Publikacja androidx.compose.animation:animation-*:1.8.0-beta01 Wersja 1.8.0-beta01 zawiera te zmiany.
Wersja 1.8.0-alpha08
15 stycznia 2025 r.
Publikacja androidx.compose.animation:animation-*:1.8.0-alpha08 Wersja 1.8.0-alpha08 zawiera te zmiany.
Poprawki błędów
- Naprawiono nieprawidłową animację umieszczania z
animateBoundswLazyGridz powodu zresetowaniaMotionFrameOfReferencePlacement. (16193b) - Naprawiono wewnętrzne zapytanie w
SharedTransitionLayout, przekierowując je do etapu wyprzedzającego z głównego węzła wyprzedzającego. (a07d12) - Dodano brakujące tagi
@paramw dokumentach. (e5cf67)
Wersja 1.8.0-alpha07
11 grudnia 2024 r.
Publikacja androidx.compose.animation:animation-*:1.8.0-alpha07 Wersja 1.8.0-alpha07 zawiera te zmiany.
Nowe funkcje
- Obsługuje wyprzedzające wczytywanie w komponencie Pager, odróżniając wyprzedzające wczytywanie od wczytywania przybliżającego w celu zachowania elementów i wykorzystania przewijania. (b/371802474)
Poprawki błędów
- Naprawia rzadki błąd powodujący awarię, gdy udostępniony element jest tworzony, ale nigdy nie jest mierzony ani umieszczany. Wymaga, aby udostępniony element był renderowany w miejscu co najmniej raz przed renderowaniem go w nakładce. (b/371802474)
Wersja 1.8.0-alpha06
13 listopada 2024 r.
Publikacja androidx.compose.animation:animation-*:1.8.0-alpha06 Wersja 1.8.0-alpha06 zawiera te zmiany.
Zmiany w interfejsie API
- Zmieniliśmy nazwę parametru
sharedElementzstatenasharedContentState, aby zachować spójność w interfejsach API elementów udostępnionych. (I5694c, b/375351468) AnimatedImageVectorinterfejsów API jest już stabilna. (I7174b, b/261436267)
Wersja 1.8.0-alpha05
30 października 2024 r.
Publikacja androidx.compose.animation:animation-*:1.8.0-alpha05 Wersja 1.8.0-alpha05 zawiera te zmiany.
Nowe funkcje
- Funkcja przewidywania jest teraz obsługiwana w języku
LazyGrid. Obejmuje to rozróżnianie przewidywanego przejścia od przejścia zbliżającego się podczas przewijania, kompozycji/usuwania elementu i animacji elementu oraz wykorzystywanie przewidywanego przejścia jako źródła informacji o przewijaniu i docelowej animacji elementu.
Poprawki błędów
- Aktualizowanie stanów wewnętrznych przekształcenia rozmiaru elementu
AnimatedContent, gdy przejście zostanie utworzone ponownie. Dzięki temu informacje o rozmiarze docelowym są zawsze aktualne. (b/372512085)
Wersja 1.8.0-alpha04
16 października 2024 r.
Publikacja androidx.compose.animation:animation-*:1.8.0-alpha04 Wersja 1.8.0-alpha04 zawiera te zmiany.
Poprawki błędów
- Naprawiliśmy błąd, który powodował awarię niektórych krzywych wygładzania przy określonych ułamkach czasu.
- Naprawiliśmy błąd powodujący nieprawidłowe wyrównanie elementu
Modifier.animateContentSizew przypadku języków zapisywanych od prawej do lewej. (Idae6b, b/372055503)
Wersja 1.8.0-alpha03
2 października 2024 r.
Publikacja androidx.compose.animation:animation-*:1.8.0-alpha03 Wersja 1.8.0-alpha03 zawiera te zmiany.
Zmiany w interfejsie API
- Aktualizacja wersji języka Kotlin do 1.9 (I1a14c)
Poprawki błędów
- Rozwiązaliśmy problem z animacją rozmiaru
AnimatedContent, zawsze śledząc i rozpoczynając animację od bieżącego rozmiaru, aby zapewnić ciągłość.
Wersja 1.8.0-alpha02
18 września 2024 r.
Publikacja androidx.compose.animation:animation-*:1.8.0-alpha02 Wersja 1.8.0-alpha02 zawiera te zmiany.
Wersja 1.8.0-alpha01
4 września 2024 r.
Publikacja androidx.compose.animation:animation-*:1.8.0-alpha01 Wersja 1.8.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Nowy interfejs API
Modifier.animateBoundsdo animowania zmian rozmiaru i pozycji w zakresie wyprzedzającym. 94b9394
Zmiany w interfejsie API
- Usuwanie eksperymentalnych flag z klatek kluczowych z łukami i krzywymi splajnów (89e1199)
Poprawki błędów
- Pomijanie logiki
placeHolderSize, gdy nie znaleziono dopasowania (77c0160) - Ograniczanie czasu odtwarzania w
AndroidFlingSpline, aby zapobiegać awariom spowodowanym przez niemonotonicznie rosnący czas odtwarzania(9d47587) - Naprawiono problem z
SharedTransitionScope, który w określonych warunkach nie rysował elementów (b41077b6)
Wkład zewnętrzny
- Zapobieganie ustawianiu przejścia z możliwością przewijania
playTime, gdy nie ma aktywnego przejścia, autor: Steven Schoen. (c2e6e7e6)
Wersja 1.7
Wersja 1.7.8
12 lutego 2025 r.
Publikacja androidx.compose.animation:animation-*:1.7.8 Wersja 1.7.8 zawiera te zmiany.
Wersja 1.7.7
29 stycznia 2025 r.
Publikacja androidx.compose.animation:animation-*:1.7.7 Brak zmian w porównaniu z wersją 1.7.6.
11 grudnia 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.6 Wersja 1.7.6 zawiera te zmiany.
Wersja 1.7.5
30 października 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.5 Wersja 1.7.5 zawiera te zmiany.
Poprawki błędów
- Naprawiliśmy błąd powodujący nieprawidłowe wyrównanie elementu
Modifier.animateContentSizew przypadku języków zapisywanych od prawej do lewej. (Idae6b, b/372055503)
Wersja 1.7.4
16 października 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.4 Wersja 1.7.4 zawiera te zmiany.
Wersja 1.7.3
2 października 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.3 Wersja 1.7.3 zawiera te zmiany.
Wersja 1.7.2
18 września 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.2 Wersja 1.7.2 zawiera te zmiany.
Wkład zewnętrzny
- Zapobiegaj ustawianiu przejścia z możliwością przewijania
playTime, gdy nie jest uruchomione żadne przejście. Thanks Steven Schoen! (c2e6e7e6)
Wersja 1.7.1
10 września 2024 r.
- Brak zmian w artefaktach Androida. Usunięto
-desktopartefaktów, a dodano-jvmStubsi-linuxx64Stubs. Żaden z tych celów nie jest przeznaczony do użycia. Są to tylko symbole zastępcze, które mają pomóc w pracach nad Jetbrains Compose.
Wersja 1.7.0
4 września 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.0
Ważne zmiany od wersji 1.6.0
Ważne zmiany w wersji 1.7.0 zostały opisane w tym poście na blogu.
Nowe interfejsy API przejścia wspólnego elementu
- Nowe interfejsy API przejścia między elementami współdzielonymi czekają na Twoje opinie. Te nowe eksperymentalne interfejsy API umożliwiają oznaczanie układów jako udostępnionych w drzewie układu za pomocą podanych modyfikatorów, co pozwala uzyskać płynne zmiany granic, gdy jeden zestaw udostępnionych treści znika, a drugi się pojawia. (Icb0b9)
- Nowe
scaleInSharedContentToBoundsiscaleOutSharedContentToBoundsdo skalowania treści wsharedBounds(I731c1) - Eksperymentalny
SharedTransitionScopejest teraz interfejsem, a nie klasą. (Iaf856) - Nowa opcja
resizeModes(ScaleToBoundsiRemeasureToBounds) dlasharedBounds, która umożliwia wybór między skalowaniem a ponownym pomiarem. Poprzednie interfejsy APIscaleIn/OutSharedContentToBoundszostały wycofane. (I0d41a)
Ulepszenia istniejących interfejsów API:
- Nowy tag
Modifier.animateContentSize, który przyjmuje dodatkowy parametr do niestandardowego wyrównania treści. (I5623a, b/269803907) - Nowa eksperymentalna funkcja
DeferredTargetAnimationdo animowania rozmiaru, pozycji lub dowolnego innego elementu docelowego, który jest nieznany podczas tworzenia instancji. (I60745) SeekableTransitionStatezastępujesnapTo()elementemseekTo()i dodajesnapTo(), który natychmiast zmienia stan na stan docelowy bez żadnej animacji.- Możesz teraz przekazywać wartość
periodicBias(liczba zmiennoprzecinkowa) do parametrukeyframesWithSpline. Dzięki temu początkowa i końcowa prędkość krzywej splajnów będą równe. Przydatne w przypadku powtarzalnych animacji wykorzystujących splajny. Odchylenie wskazuje, o ile każda prędkość (początkowa i końcowa) jest modyfikowana w celu uzyskania okresowości. (Ic1e6c, b/292114811)
Te interfejsy API zostały ustabilizowane lub usunięte:
AnimatedVisibilityScope.transitionto teraz stabilny interfejs API.Modifier.animateEnterExit(..)jest też stabilny. (I6c1d1)- Wersje
ApproachLayoutModifierNodeiModifier.approachLayoutsą już stabilne. Nowe wersjeisMeasurementApproachInProgress()iisPlacementApproachInProgress()zastąpią odpowiednio starsze wersjeisMeasurementApproachComplete()iisPlacementApproachComplete(). - Usunięto wycofany modyfikator
intermediateLayout. (I3e91c) LookaheadScopeinterfejsy API zostały ustabilizowane. (I21507)
Wersja 1.7.0-rc01
21 sierpnia 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.0-rc01 Wersja 1.7.0-rc01 zawiera te zmiany.
Wersja 1.7.0-beta07
7 sierpnia 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.0-beta07 Wersja 1.7.0-beta07 zawiera te zmiany.
Poprawki błędów
- Naprawiono problem polegający na tym, że w określonych warunkach, zwykle podczas korzystania z nawigacji, element
SharedTransitionScopenie rysował elementów nakładki podczas przejścia. (Id65ab, b/347520198)
Wersja 1.7.0-beta06
24 lipca 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.0-beta06 Wersja 1.7.0-beta06 zawiera te zmiany.
Poprawki błędów
- Naprawiono wyciek stanów przejścia
SeekableTransitionprzez prawidłowe czyszczenie obserwacji zSnapshotStateObserverpo usunięciu przejścia. (b9c7182) - Rozwiązaliśmy problemy w przypadkach skrajnych, w których przejścia podrzędne nie były prawidłowo oznaczane jako ukończone, gdy przejście nadrzędne zostało ukończone. (dc42216)
Wersja 1.7.0-beta05
10 lipca 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.0-beta05 Wersja 1.7.0-beta05 zawiera te zmiany.
Poprawki błędów
- Właściwość przejścia
totalDurationNanosmożna teraz prawidłowo odczytać w ramachsnapshotFlow.
Wersja 1.7.0-beta04
26 czerwca 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.0-beta04 Wersja 1.7.0-beta04 zawiera te zmiany.
Wersja 1.7.0-beta03
12 czerwca 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.0-beta03 Wersja 1.7.0-beta03 zawiera te zmiany.
Wersja 1.7.0-beta02
29 maja 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.0-beta02 Wersja 1.7.0-beta02 zawiera te zmiany.
Wersja 1.7.0-beta01
14 maja 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.0-beta01 Wersja 1.7.0-beta01 zawiera te zmiany.
Zmiany w interfejsie API
- Nowa opcja
resizeModes(ScaleToBoundsiRemeasureToBounds) dlasharedBounds, która umożliwia wybór między skalowaniem a ponownym pomiarem. Poprzednie interfejsy APIscaleIn/OutSharedContentToBoundszostały wycofane. (I0d41a)
Wkład zewnętrzny
- Eksperymentalny
SharedTransitionScopejest teraz interfejsem, a nie klasą, autorstwa Stevena Schoena. (Iaf856, b/338415048, b/338414702)
Wersja 1.7.0-alpha08
1 maja 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.0-alpha08 Wersja 1.7.0-alpha08 zawiera te zmiany.
Zmiany w interfejsie API
LookaheadScopeinterfejsy API zostały ustabilizowane. (I21507)
Wkład zewnętrzny
- Wyzerowanie czasu animacji początkowej po animacji/zatrzaśnięciu
SeekableTransitionStateprzez Stevena Schoena (1ca89529)
Wersja 1.7.0-alpha07
17 kwietnia 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.0-alpha07 Wersja 1.7.0-alpha07 zawiera te zmiany.
Nowe funkcje
- Nowe interfejsy API przejścia między elementami współdzielonymi czekają na Twoje opinie. Te nowe eksperymentalne interfejsy API umożliwiają oznaczanie układów jako udostępnionych w drzewie układu za pomocą podanych modyfikatorów, co pozwala uzyskać płynne zmiany granic, gdy jeden zestaw udostępnionych treści znika, a drugi się pojawia. (Icb0b9)
- Nowe
scaleInSharedContentToBoundsiscaleOutSharedContentToBoundsdo skalowania treści wsharedBounds(I731c1)
Zmiany w interfejsie API
AnimatedVisibilityScope.transitionto teraz stabilny interfejs API.Modifier.animateEnterExit(..)jest też stabilny. (I6c1d1)- Wersje
ApproachLayoutModifierNodeiModifier.approachLayoutsą już stabilne. Nowe wersjeisMeasurementApproachInProgress()iisPlacementApproachInProgress()zastąpią odpowiednio starsze wersjeisMeasurementApproachComplete()iisPlacementApproachComplete(). - Usunięto wycofany modyfikator
intermediateLayout. (I3e91c) - Możesz teraz przekazywać wartość
periodicBias(liczba zmiennoprzecinkowa) do parametrukeyframesWithSpline. Dzięki temu początkowa i końcowa prędkość krzywej splajnów będą równe. Przydatne w przypadku powtarzalnych animacji wykorzystujących splajny. Odchylenie wskazuje, o ile każda prędkość (początkowa i końcowa) jest modyfikowana w celu uzyskania okresowości. (Ic1e6c, b/292114811)
Poprawki błędów
- Poprawiono przekraczanie i niedokraczanie krzywych łagodzenia, które wcześniej były ograniczane do zakresu 0–1 (I38747).
Wersja 1.7.0-alpha06
3 kwietnia 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.0-alpha06 Wersja 1.7.0-alpha06 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy obsługę animacji pojawiania się i znikania elementów w
LazyColumniLazyRow. Wcześniej można było dodać modyfikatorModifier.animateItemPlacement(), aby obsługiwać animacje umieszczania (zmiany kolejności). Wycofaliśmy ten modyfikator i wprowadziliśmy nowy, nieeksperymentalny modyfikatorModifier.animateItem(), który umożliwia obsługę wszystkich 3 typów animacji: pojawiania się (zanikanie), znikania (zanikanie) i zmiany kolejności. (I2d7f7, b/330152398, b/150812265)
Poprawki błędów
- Wyższa skuteczność
updateTransitioninterfejsu API.
Wersja 1.7.0-alpha05
20 marca 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.0-alpha05 Wersja 1.7.0-alpha05 zawiera te zmiany.
Zmiany w interfejsie API
SeekableTransitionStatezastępujesnapTo()elementemseekTo()i dodajesnapTo(), który natychmiast zmienia stan na stan docelowy bez żadnej animacji.
Wersja 1.7.0-alpha04
6 marca 2024 roku
Publikacja androidx.compose.animation:animation-*:1.7.0-alpha04 Wersja 1.7.0-alpha04 zawiera te zmiany.
Zmiany w interfejsie API
- Nowy interfejs API
Path.reverse()do odwracania kierunku ścieżki (I36348)
Wersja 1.7.0-alpha03
21 lutego 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.0-alpha03 Wersja 1.7.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
- Nowy tag
Modifier.animateContentSize, który przyjmuje dodatkowy parametr do niestandardowego wyrównania treści. (I5623a, b/269803907) - Nowa eksperymentalna funkcja
DeferredTargetAnimationdo animowania rozmiaru, pozycji lub dowolnego innego elementu docelowego, który jest nieznany podczas tworzenia instancji. (I60745)
Wersja 1.7.0-alpha02
7 lutego 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.0-alpha02 Wersja 1.7.0-alpha02 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawka zgodności dla
KeyframesSpec. (I2bdf3, b/322214617) - Wartość stałej
Modifier.animateContentSizenie jest prawidłowo resetowana, gdy jest używana w funkcjiLazyList. (I070512, b/322525716) - Naprawiono
IllegalStateExceptionw przypadkuKeyframesSpecpodczas używania sygnatur czasowych wykraczających poza zakres. (I341b8, b/322839811)
Wersja 1.7.0-alpha01
24 stycznia 2024 r.
Publikacja androidx.compose.animation:animation-*:1.7.0-alpha01 Wersja 1.7.0-alpha01 zawiera te zatwierdzenia.
Wersja 1.6
Wersja 1.6.8
12 czerwca 2024 r.
Publikacja androidx.compose.animation:animation-*:1.6.8 Wersja 1.6.8 zawiera te zmiany.
Wersja 1.6.7
1 maja 2024 r.
Publikacja androidx.compose.animation:animation-*:1.6.7 Wersja 1.6.7 zawiera te zmiany.
Wersja 1.6.6
17 kwietnia 2024 r.
Publikacja androidx.compose.animation:animation-*:1.6.6 Brak zmian w porównaniu z poprzednią wersją
Wersja 1.6.5
3 kwietnia 2024 r.
Publikacja androidx.compose.animation:animation-*:1.6.5 Wersja 1.6.5 zawiera te zmiany.
Wersja 1.6.4
20 marca 2024 r.
Publikacja androidx.compose.animation:animation-*:1.6.4 Wersja 1.6.4 zawiera te zmiany.
Wersja 1.6.3
6 marca 2024 roku
Publikacja androidx.compose.animation:animation-*:1.6.3 Wersja 1.6.3 zawiera te zmiany.
Wersja 1.6.2
21 lutego 2024 r.
Publikacja androidx.compose.animation:animation-*:1.6.2 Wersja 1.6.2 zawiera te zatwierdzenia.
Wersja 1.6.1
7 lutego 2024 r.
Publikacja androidx.compose.animation:animation-*:1.6.1 Wersja 1.6.1 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawka zgodności dla
KeyframesSpec. (I2bdf3, b/322214617)
Wersja 1.6.0
24 stycznia 2024 r.
Publikacja androidx.compose.animation:animation-*:1.6.0 Wersja 1.6.0 zawiera te zatwierdzenia.
Wersja 1.6.0-rc01
10 stycznia 2024 r.
Publikacja androidx.compose.animation:animation-*:1.6.0-rc01 Wersja 1.6.0-rc01 zawiera te zatwierdzenia.
Wersja 1.6.0-beta03
13 grudnia 2023 r.
Publikacja androidx.compose.animation:animation-*:1.6.0-beta03 Wersja 1.6.0-beta03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Tymczasowo usunięto
scaleInToFitContaineriscaleOutToFitContainerzAnimatedContentTransitionScope, ponieważ wymagają one wyprzedzającego sprawdzania. Będą one dostępne, gdy w przyszłych wersjach funkcja wyprzedzającego wpisywania będzie domyślnie włączona lub gdy użytkownik ją włączy.
Wersja 1.6.0-beta02
29 listopada 2023 r.
Publikacja androidx.compose.animation:animation-*:1.6.0-beta02 Wersja 1.6.0-beta02 zawiera te zatwierdzenia.
Wersja 1.6.0-beta01
15 listopada 2023 r.
Publikacja androidx.compose.animation:animation-*:1.6.0-beta01 Wersja 1.6.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nazwa
ExitTransition.Holdzostała zmieniona naExitTransition.KeepUntilTransitionsFinished, aby była bardziej jednoznaczna. (I1c490) - Możesz teraz używać funkcji
keyframesWithSplinedo interpolacji dowolnej wartości N-wymiarowej za pomocą splajnów monotonicznych. Jest to szczególnie przydatne w przypadku interpolacji wartości pozycyjnych, takich jakOffset,IntOffset,DpOffset. Dodano jako eksperymentalny interfejs API.
Poprawki błędów
- Dodaliśmy obsługę renderowania gradientu kołowego w
ArcLine. (I4d5bb) - Zaimplementuj metody equals i hashcode dla klasy
PageSize.Fixed. (Ie3ede, b/300134276) - Rozwiązano problem ze zgodnością binarną związany ze zmianą wstawki okna. (Iee695)
- Usuń warstwę podstawową materiału w przypadku komponentu lub przycisku Material3, ponieważ testy porównawcze pokazują, że bez niej wydajność jest lepsza. (I55555)
Wersja 1.6.0-alpha08
18 października 2023 r.
Publikacja androidx.compose.animation:animation-*:1.6.0-alpha08 Wersja 1.6.0-alpha08 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Wycofano
KeyframesSpecConfig#withna rzeczKeyframesSpecConfig#using, które zachowuje wzorzec konstruktora. (I1d769)
Wersja 1.6.0-alpha07
4 października 2023 roku
Publikacja androidx.compose.animation:animation-*:1.6.0-alpha07 Wersja 1.6.0-alpha07 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- W przypadku wierszy kart stałych i przewijanych dostępne są teraz warianty podstawowe i dodatkowe. Są one prawidłowo mapowane na kolor i zachowanie wskaźnika zgodnie z definicją w Material 3.
PrimaryScrollableTabRowiSecondaryScrollableTabRowudostępniają teraz stan przewijania. (Iec8f5, b/260572337)
Wersja 1.6.0-alpha06
20 września 2023 r.
Publikacja androidx.compose.animation:animation-*:1.6.0-alpha06 Wersja 1.6.0-alpha06 zawiera te zatwierdzenia.
Wersja 1.6.0-alpha05
6 września 2023 r.
Publikacja androidx.compose.animation:animation-*:1.6.0-alpha05 Wersja 1.6.0-alpha05 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaliśmy
PathEasing, aby umożliwić podanie dowolnej ścieżki do krzywej wygładzania. (Idb4b9)
Wersja 1.6.0-alpha04
23 sierpnia 2023 r.
Publikacja androidx.compose.animation:animation-*:1.6.0-alpha04 Wersja 1.6.0-alpha04 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaj
SeekableTransitionState, aby umożliwić deweloperom kontrolowanie postępu przejścia. (I8e69d)
Wersja 1.6.0-alpha03
9 sierpnia 2023 r.
Publikacja androidx.compose.animation:animation-*:1.6.0-alpha03 Wersja 1.6.0-alpha03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nowy typ przejścia wejścia/wyjścia, który skaluje treść na podstawie rozmiaru animowanego kontenera podczas animacji wejścia i wyjścia.
LookaheadScopeFunkcje i interfejs kompozycyjny są już stabilne. (Ifb2ce)
Wersja 1.6.0-alpha02
26 lipca 2023 r.
Publikacja androidx.compose.animation:animation-*:1.6.0-alpha02 Wersja 1.6.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nowy
ExitTransition.Holdwyświetla treści wychodzące wAnimatedContent, dopóki nie zakończą się oba przejścia wejścia i wyjścia. (I5984f) - Dodatkowe adnotacje do określania dozwolonych danych wejściowych funkcji kompozycyjnych (I51109)
Wersja 1.6.0-alpha01
21 czerwca 2023 r.
Publikacja androidx.compose.animation:animation-*:1.6.0-alpha01 Wersja 1.6.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Włącz pełną integrację funkcji
Modifier.animateContentSizeiAnimatedVisibilityz systemem przewidywania, raportując rozmiar docelowy w ramach przewidywania.
Zmiany w interfejsie API
- Nowa właściwość w
IntrinsincMeasureScopei jej implementacje (np.MeasureScope) wskazujące, czy bieżące przejście pomiaru jest przejściem wyprzedzającym. (I7a812)
Poprawki błędów
- Usunięto przydziały z animacji sprężynowych. (Ie9431)
- Nazwa parametru value dla Enum.valueOf została zmieniona (Ia9b89)
- więcej wyjątków zgłaszanych przez enum valueOf (I818fe)
Wersja 1.5
Wersja 1.5.4
18 października 2023 r.
Publikacja androidx.compose.animation:animation-*:1.5.4 Wersja 1.5.4 zawiera te zatwierdzenia.
Wersja 1.5.3
4 października 2023 roku
Publikacja androidx.compose.animation:animation-*:1.5.3 Ta wersja nie zawiera żadnych zmian
Wersja 1.5.2
27 września 2023 r.
Publikacja androidx.compose.animation:animation-*:1.5.2 Wersja 1.5.2 zawiera te zatwierdzenia.
Wersja 1.5.1
6 września 2023 r.
Publikacja androidx.compose.foundation:foundation-*:1.5.1 Wersja 1.5.1 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiliśmy problem z wyświetlaniem klawiatury i możliwością edytowania pól tekstowych, gdy wartość
readOnlywynosiła „true”. Rozwiązaliśmy też problem z niewyświetlaniem klawiatury, gdy wartośćreadOnlyzmienia się z prawda na fałsz, gdy jest ona aktywna. (I34a19, b/246909589)
Wersja 1.5.1
6 września 2023 r.
Publikacja androidx.compose.animation:animation-*:1.5.1 Wersja 1.5.1 zawiera te zatwierdzenia.
Wersja 1.5.0
9 sierpnia 2023 r.
Publikacja androidx.compose.animation:animation-*:1.5.0 Wersja 1.5.0 zawiera te zatwierdzenia.
Wersja 1.5.0-rc01
26 lipca 2023 r.
Publikacja androidx.compose.animation:animation-*:1.5.0-rc01 Wersja 1.5.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
Rozwiązaliśmy problem, który powodował, że wywołanie funkcji
.valuew przypadku pierwotnego typu stanu (np.MutableIntState) powodowało zgłaszanie ostrzeżenia narzędzia lint z nieprawidłową poprawką. Narzędzie do sprawdzania będzie teraz zalecać migrację do właściwej usługi. (Iba953, b/287279257)Dostępna jest opcjonalna inspekcja, która zaleca migrację wywołań
mutableStateOf()do odpowiednich typów specjalistycznych dla typów prostych. Identyfikator lintu toAutoboxingStateCreation. Wcześniej ta kontrola była domyślnie włączona we wszystkich projektach. Aby zobaczyć to ostrzeżenie w edytorze Android Studio i w wynikach lintowania projektu, zmień jego ważność z informacyjnej na ostrzeżenie (lub wyższą), deklarującwarning "AutoboxingStateCreation"w konfiguracjibuild.gradlelubbuild.gradle.ktsmodułu, jak pokazano poniżej (I34f7e):android { lint { warning "AutoboxingStateCreation" } ... }
Wersja 1.5.0-beta03
28 czerwca 2023 r.
Publikacja androidx.compose.animation:animation-*:1.5.0-beta03 Wersja 1.5.0-beta03 zawiera te zatwierdzenia.
Wersja 1.5.0-beta02
7 czerwca 2023 r.
Publikacja androidx.compose.animation:animation-*:1.5.0-beta02 Wersja 1.5.0-beta02 zawiera te zatwierdzenia.
Wersja 1.5.0-beta01
24 maja 2023 r.
Publikacja androidx.compose.animation:animation-*:1.5.0-beta01 Wersja 1.5.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Usunięto alokacje w przypadku rekompozycji, animacji kolorów i
AndroidComposeView(Ib2bfa)
Poprawki błędów
- Usunięto alokacje z animacji sprężynowych (Ie9431)
Wersja 1.5.0-alpha04
10 maja 2023 r.
Publikacja androidx.compose.animation:animation-*:1.5.0-alpha04 Wersja 1.5.0-alpha04 zawiera te zatwierdzenia.
Zmiany w interfejsie API
ContentKeyjest teraz obsługiwany wAnimatedContent, co pozwala na większą kontrolę nad momentem przejścia. (Ic069b)
Wersja 1.5.0-alpha03
19 kwietnia 2023 r.
Publikacja androidx.compose.animation:animation-*:1.5.0-alpha03 Wersja 1.5.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
- Nowe domyślne działanie
SubcomposeLayoutwLookaheadScope. Umożliwia to prawidłowe działanie animacji wyprzedzających w przypadkuSubcomposeLayouts, które nie mają boksów warunkowych (np.TabRow,Scaffold,BoxWithConstraintsitp.).
Zmiany w interfejsie API
- Nowa domyślna wartość
intermediateMeasurePolicy, która ponownie wykorzystuje zasadę pomiaru z wstępnego przejścia, umożliwia domyślne działanie z wstępnym przejściem podtypówSubcomposeLayoutbez warunkowych miejsc docelowych, takich jakScaffold,TabRowiBoxWithConstraints. (Id84c8) - Zmień nazwę funkcji wrostkowej fun with na
togetherWith, aby łączyć przejścia przy wejściu i wyjściu. NowyAnimatedContentScopejako odbiorca funkcji lambda treści. (Ic39ae)
Wersja 1.5.0-alpha02
5 kwietnia 2023 r.
Publikacja androidx.compose.animation:animation-*:1.5.0-alpha02 Wersja 1.5.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- Nowy eksperymentalny interfejs API obsługujący wyprzedzanie w
SubcomposeLayout. Umożliwi to prawidłowe działanieSubcomposeLayoutnaLookaheadScope. Wkrótce dodamy więcej gotowych funkcji obsługi konkretnych podtypówSubcomposeLayout.
Zmiany w interfejsie API
- Nowy interfejs
SubcomposeLayoutAPI, który przyjmuje dodatkowe zasady dotyczące pomiarów pośrednich do obsługi logiki pomiarów/układu podczas animacji opartych na wyprzedzeniu. (I017d3)
Wersja 1.5.0-alpha01
22 marca 2023 r.
Publikacja androidx.compose.animation:animation-*:1.5.0-alpha01 Wersja 1.5.0-alpha01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
AnimatedContentInterfejsy API są teraz stabilneAnimatedContentScopezostał zmieniony naAnimatedContentTransitionScope. InterfejsyscaleIniscaleOutsą teraz stabilnymi interfejsami API. (Iaf54e)
Wersja 1.4
Wersja 1.4.3
3 maja 2023 r.
androidx.compose.animation:animation:1.4.3, androidx.compose.animation:animation-core:1.4.3 i androidx.compose.animation:animation-graphics:1.4.3 są publikowane bez zmian (tylko ze zmianą wersji).
Wersja 1.4.2
19 kwietnia 2023 r.
Wersje androidx.compose.animation:animation:1.4.2, androidx.compose.animation:animation-core:1.4.2 i androidx.compose.animation:animation-graphics:1.4.2 zostaną udostępnione bez zmian. Wersja 1.4.2 zawiera te zatwierdzenia.
Wersja 1.4.1
5 kwietnia 2023 r.
Wersje androidx.compose.animation:animation:1.4.1, androidx.compose.animation:animation-core:1.4.1 i androidx.compose.animation:animation-graphics:1.4.1 zostaną udostępnione bez zmian. Wersja 1.4.1 zawiera te zatwierdzenia.
Wersja 1.4.0
22 marca 2023 r.
androidx.compose.animation:animation:1.4.0, androidx.compose.animation:animation-core:1.4.0 i androidx.compose.animation:animation-graphics:1.4.0 są udostępnione. Wersja 1.4.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.3.0
- Etykieta narzędzia jest obsługiwana w r
ememberInfiniteTransitioni we wszystkich funkcjach rozszerzenia wInfiniteTransitioni Transition (np.InfiniteTransition#animateColor) (I56ef7).
Wersja 1.4.0-rc01
8 marca 2023 r.
Wersje androidx.compose.animation:animation:1.4.0-rc01, androidx.compose.animation:animation-core:1.4.0-rc01 i androidx.compose.animation:animation-graphics:1.4.0-rc01 zostaną udostępnione bez zmian. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.
Wersja 1.4.0-beta02
22 lutego 2023 roku
Wersje androidx.compose.animation:animation:1.4.0-beta02, androidx.compose.animation:animation-core:1.4.0-beta02 i androidx.compose.animation:animation-graphics:1.4.0-beta02 zostaną udostępnione bez zmian. Wersja 1.4.0-beta02 zawiera te zatwierdzenia.
Wersja 1.4.0-beta01
8 lutego 2023 r.
Wersje androidx.compose.animation:animation:1.4.0-beta01, androidx.compose.animation:animation-core:1.4.0-beta01 i androidx.compose.animation:animation-graphics:1.4.0-beta01 zostaną udostępnione bez zmian. Wersja 1.4.0-beta01 zawiera te zatwierdzenia.
Wersja 1.4.0-alpha05
25 stycznia 2023 r.
androidx.compose.animation:animation:1.4.0-alpha05, androidx.compose.animation:animation-core:1.4.0-alpha05 i androidx.compose.animation:animation-graphics:1.4.0-alpha05 są udostępnione. Wersja 1.4.0-alpha05 zawiera te zatwierdzenia.
Zmiany
- Brak zmian w bibliotekach animacji od ostatniej wersji alfa, tylko zmiana numeru wersji
Wersja 1.4.0-alpha04
11 stycznia 2023 r.
androidx.compose.animation:animation:1.4.0-alpha04, androidx.compose.animation:animation-core:1.4.0-alpha04 i androidx.compose.animation:animation-graphics:1.4.0-alpha04 są udostępnione. Wersja 1.4.0-alpha04 zawiera te zatwierdzenia.
Nowe funkcje
- Etykieta narzędzia jest obsługiwana w
rememberInfiniteTransitionoraz we wszystkich funkcjach rozszerzenia wInfiniteTransitioniTransition(np.InfiniteTransition#animateColor) (I56ef7).
Zmiany w interfejsie API
- Interfejsy API
InfiniteTransition#TransitionAnimationStateiInfiniteTransition#animationssą teraz publiczne. (I36682)
Wersja 1.4.0-alpha03
7 grudnia 2022 roku
androidx.compose.animation:animation:1.4.0-alpha03, androidx.compose.animation:animation-core:1.4.0-alpha03 i androidx.compose.animation:animation-graphics:1.4.0-alpha03 są udostępnione. Wersja 1.4.0-alpha03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- W testach interfejsu przeprowadzanych za pomocą reguły Compose wznowienia w wywołaniach zwrotnych
withFrameNanosnie będą wysyłane, dopóki nie zostaną wykonane wszystkie wywołania zwrotne klatek. Odpowiada to zachowaniu funkcji tworzenia wiadomości podczas normalnego działania. Testy, które opierają się na starym działaniu, mogą jednak zakończyć się niepowodzeniem. Powinno to mieć wpływ tylko na kod, który bezpośrednio wywołuje funkcjewithFrameNanoslubwithFrameMillis, i zawiera logikę poza wywołaniem zwrotnym przekazywanym do tych funkcji, która może wymagać przeniesienia do wywołań zwrotnych. Przykłady zmian w teście animacji znajdziesz w tym CL. - Dodano opcjonalny parametr
onPerformTraversals: (Long) -> Unitdo konstruktoraTestMonotonicFrameClocki funkcji fabrycznej, aby uruchamiać kod po wywołaniach zwrotnychwithFrameNanos, ale przed wznowieniem korutyn rozmówców. (Idb413, b/254115946, b/222093277, b/255802670) - Nowy parametr w grupie
AnimatedContentdla etykiety narzędzia (Iebe2d)
Wersja 1.4.0-alpha02
9 listopada 2022 r.
androidx.compose.animation:animation:1.4.0-alpha02, androidx.compose.animation:animation-core:1.4.0-alpha02 i androidx.compose.animation:animation-graphics:1.4.0-alpha02 są udostępnione. Wersja 1.4.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodanie
ToolingState, aby umożliwić narzędziom zmianę wewnętrznych stanów funkcji Composable (Ie6614)
Wersja 1.4.0-alpha01
24 października 2022 r.
androidx.compose.animation:animation:1.4.0-alpha01, androidx.compose.animation:animation-core:1.4.0-alpha01 i androidx.compose.animation:animation-graphics:1.4.0-alpha01 są udostępnione. Wersja 1.4.0-alpha01 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono nieprawidłową animację przerwania w komponencie AnimatedContent (b/238662479)
Wersja 1.3
Wersja 1.3.3
11 stycznia 2023 r.
androidx.compose.animation:animation:1.3.3, androidx.compose.animation:animation-core:1.3.3 i androidx.compose.animation:animation-graphics:1.3.3 są udostępnione. Wersja 1.3.3 zawiera te zatwierdzenia.
- Brak zmian od wersji 1.3.2.
Wersja 1.3.2
7 grudnia 2022 roku
androidx.compose.animation:animation:1.3.2, androidx.compose.animation:animation-core:1.3.2 i androidx.compose.animation:animation-graphics:1.3.2 są udostępnione. Wersja 1.3.2 zawiera te zatwierdzenia.
Poprawki błędów
- Zaktualizowano obsługę androidx.compose.ui w wersji 1.3.2
Wersja 1.3.1
9 listopada 2022 r.
androidx.compose.animation:animation:1.3.1, androidx.compose.animation:animation-core:1.3.1 i androidx.compose.animation:animation-graphics:1.3.1 są udostępnione. Wersja 1.3.1 zawiera te zatwierdzenia.
Wersja 1.3.0
24 października 2022 r.
androidx.compose.animation:animation:1.3.0, androidx.compose.animation:animation-core:1.3.0 i androidx.compose.animation:animation-graphics:1.3.0 są udostępnione. Wersja 1.3.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.2.0
- Nowy zestaw funkcji łagodzenia został ustabilizowany
Wersja 1.3.0-rc01
5 października 2022 r.
androidx.compose.animation:animation:1.3.0-rc01, androidx.compose.animation:animation-core:1.3.0-rc01 i androidx.compose.animation:animation-graphics:1.3.0-rc01 są udostępnione. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.
Wersja 1.3.0-beta03
21 września 2022 r.
androidx.compose.animation:animation:1.3.0-beta03, androidx.compose.animation:animation-core:1.3.0-beta03 i androidx.compose.animation:animation-graphics:1.3.0-beta03 są udostępnione. Wersja 1.3.0-beta03 zawiera te zatwierdzenia.
- Brak zmian od wersji 1.3.0-beta02.
Wersja 1.3.0-beta02
7 września 2022 roku
androidx.compose.animation:animation:1.3.0-beta02, androidx.compose.animation:animation-core:1.3.0-beta02 i androidx.compose.animation:animation-graphics:1.3.0-beta02 są udostępnione. Wersja 1.3.0-beta02 zawiera te zatwierdzenia.
- Usunięto Kotlin.experimental z opcji kompilatora, ponieważ jest on przestarzały.
Wersja 1.3.0-beta01
24 sierpnia 2022 r.
androidx.compose.animation:animation:1.3.0-beta01, androidx.compose.animation:animation-core:1.3.0-beta01 i androidx.compose.animation:animation-graphics:1.3.0-beta01 są udostępnione. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Wersja 1.3.0-alpha03
10 sierpnia 2022 r.
androidx.compose.animation:animation:1.3.0-alpha03, androidx.compose.animation:animation-core:1.3.0-alpha03 i androidx.compose.animation:animation-graphics:1.3.0-alpha03 są udostępnione. Wersja 1.3.0-alpha03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nowy parametr w
Crossfade,animateAsStateiAnimatabledla etykiety narzędzia (Iac08a) - Dodano funkcję
atFraction, która umożliwia definiowanie klatek kluczowych jako ułamka zamiast określonego czasu trwania. (I20c76, b/232059455)
Wersja 1.3.0-alpha02
27 lipca 2022 roku
androidx.compose.animation:animation:1.3.0-alpha02, androidx.compose.animation:animation-core:1.3.0-alpha02 i androidx.compose.animation:animation-graphics:1.3.0-alpha02 są udostępnione. Wersja 1.3.0-alpha02 zawiera te zatwierdzenia.
Wersja 1.3.0-alpha01
29 czerwca 2022 r.
androidx.compose.animation:animation:1.3.0-alpha01, androidx.compose.animation:animation-core:1.3.0-alpha01 i androidx.compose.animation:animation-graphics:1.3.0-alpha01 są udostępnione. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nowy
LookaheadLayout, który obsługuje przekazywanie z wyprzedzeniem przed rzeczywistym pomiarem lub układem. Umożliwia to wstępne obliczenie układu, gdy się on zmienia, a jednocześnie pozwala na użycie obliczonych z wyprzedzeniem rozmiaru i położenia do animowania rozmiaru i położenia w kierunku wartości docelowej.SubcomposeLayoutsnie są jeszcze obsługiwane, ale planujemy je dodać w przyszłej wersji. (I477f5)
Wersja 1.2
Wersja 1.2.1
10 sierpnia 2022 r.
androidx.compose.animation:animation:1.2.1, androidx.compose.animation:animation-core:1.2.1 i androidx.compose.animation:animation-graphics:1.2.1 są udostępnione. Wersja 1.2.1 zawiera te zatwierdzenia.
Wersja 1.2.0
27 lipca 2022 roku
androidx.compose.animation:animation:1.2.0, androidx.compose.animation:animation-core:1.2.0 i androidx.compose.animation:animation-graphics:1.2.0 są udostępnione. Wersja 1.2.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.1.0
- Animacja Compose obsługuje teraz ustawienie „Skala czasu trwania animatora” w Opcjach programisty.
- Duży wybór nowych eksperymentalnych krzywych łagodzenia.
AnimatedImageVectorobsługuje terazrepeatCountirepeatMode
Wersja 1.2.0-rc03
29 czerwca 2022 r.
androidx.compose.animation:animation:1.2.0-rc03, androidx.compose.animation:animation-core:1.2.0-rc03 i androidx.compose.animation:animation-graphics:1.2.0-rc03 są udostępnione. Wersja 1.2.0-rc03 zawiera te zatwierdzenia.
- Brak zmian od wersji 1.2.0-rc02.
Wersja 1.2.0-rc02
22 czerwca 2022 r.
androidx.compose.animation:animation:1.2.0-rc02, androidx.compose.animation:animation-core:1.2.0-rc02 i androidx.compose.animation:animation-graphics:1.2.0-rc02 są udostępnione. Wersja 1.2.0-rc02 zawiera te zatwierdzenia.
Poprawki błędów
- Usunięto adnotację
ExperimentalEasingApiz funkcji Easing (Ied441)
Wersja 1.2.0-rc01
15 czerwca 2022 r.
androidx.compose.animation:animation:1.2.0-rc01, androidx.compose.animation:animation-core:1.2.0-rc01 i androidx.compose.animation:animation-graphics:1.2.0-rc01 są udostępnione. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Interfejsy w bibliotekach Compose są teraz tworzone przy użyciu domyślnych metod interfejsu jdk8 (I5bcf1).
Wersja 1.2.0-beta03
1 czerwca 2022 r.
androidx.compose.animation:animation:1.2.0-beta03, androidx.compose.animation:animation-core:1.2.0-beta03 i androidx.compose.animation:animation-graphics:1.2.0-beta03 są udostępnione. Wersja 1.2.0-beta03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodano eksperymentalne krzywe łagodzenia animacji (I64a38)
Wersja 1.2.0-beta02
18 maja 2022 r.
androidx.compose.animation:animation:1.2.0-beta02, androidx.compose.animation:animation-core:1.2.0-beta02 i androidx.compose.animation:animation-graphics:1.2.0-beta02 są udostępnione. Wersja 1.2.0-beta02 zawiera te zmiany.
Wersja 1.2.0-beta01
11 maja 2022 roku
androidx.compose.animation:animation:1.2.0-beta01, androidx.compose.animation:animation-core:1.2.0-beta01 i androidx.compose.animation:animation-graphics:1.2.0-beta01 są udostępnione. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.
- To pierwsza wersja beta 1.2. Od ostatniej wersji alfa nie wprowadziliśmy żadnych zmian.
Wersja 1.2.0-alpha08
20 kwietnia 2022 r.
androidx.compose.animation:animation:1.2.0-alpha08, androidx.compose.animation:animation-core:1.2.0-alpha08 i androidx.compose.animation:animation-graphics:1.2.0-alpha08 są udostępnione. Wersja 1.2.0-alpha08 zawiera te zmiany.
Wersja 1.2.0-alpha07
6 kwietnia 2022 roku
androidx.compose.animation:animation:1.2.0-alpha07, androidx.compose.animation:animation-core:1.2.0-alpha07 i androidx.compose.animation:animation-graphics:1.2.0-alpha07 są udostępnione. Wersja 1.2.0-alpha07 zawiera te zmiany.
Zmiany w interfejsie API
AnimatedImageVectorobsługuje terazrepeatCountirepeatMode(Ia3e75, b/199304067)
Wersja 1.2.0-alpha06
23 marca 2022 r.
androidx.compose.animation:animation:1.2.0-alpha06, androidx.compose.animation:animation-core:1.2.0-alpha06 i androidx.compose.animation:animation-graphics:1.2.0-alpha06 są udostępnione. Wersja 1.2.0-alpha06 zawiera te zmiany.
Zmiany w interfejsie API
- Zaktualizowano analizowanie rysunków wektorowych, aby obsługiwać automatyczne dublowanie, które odwraca zawartość elementu
VectorPainter, jeśli bieżący kierunek układu to RTL. (I79cd9, b/185760237)
Poprawki błędów
- Zaktualizowano interfejsy API grafiki wektorowej, aby używać odpowiedniej adnotacji kompozycyjnej
@VectorComposablezamiast@UiComposable(I942bc).
Wersja 1.2.0-alpha05
9 marca 2022 r.
androidx.compose.animation:animation:1.2.0-alpha05, androidx.compose.animation:animation-core:1.2.0-alpha05 i androidx.compose.animation:animation-graphics:1.2.0-alpha05 są udostępnione. Wersja 1.2.0-alpha05 zawiera te zmiany.
Zmiany w interfejsie API
- Hurra! Animacja kompozycji obsługuje teraz ustawienie „Skala czasu trwania animatora” z opcji programisty. (I5a4fc, b/161675988)
Wersja 1.2.0-alpha04
23 lutego 2022 r.
androidx.compose.animation:animation:1.2.0-alpha04, androidx.compose.animation:animation-core:1.2.0-alpha04 i androidx.compose.animation:animation-graphics:1.2.0-alpha04 są udostępnione. Wersja 1.2.0-alpha04 zawiera te zmiany.
Wersja 1.2.0-alpha03
9 lutego 2022 r.
androidx.compose.animation:animation:1.2.0-alpha03, androidx.compose.animation:animation-core:1.2.0-alpha03 i androidx.compose.animation:animation-graphics:1.2.0-alpha03 są udostępnione. Wersja 1.2.0-alpha03 zawiera te zmiany.
Wersja 1.2.0-alpha02
26 stycznia 2022 r.
androidx.compose.animation:animation:1.2.0-alpha02, androidx.compose.animation:animation-core:1.2.0-alpha02 i androidx.compose.animation:animation-graphics:1.2.0-alpha02 są udostępnione. Wersja 1.2.0-alpha02 zawiera te zmiany.
Wersja 1.2.0-alpha01
12 stycznia 2022 r.
androidx.compose.animation:animation:1.2.0-alpha01, androidx.compose.animation:animation-core:1.2.0-alpha01 i androidx.compose.animation:animation-graphics:1.2.0-alpha01 są udostępnione. Wersja 1.2.0-alpha01 zawiera te zmiany.
Zmiany w interfejsie API
- Aby wczytać plik zasobu
<animated-vector>, użyjAnimatedImageVector.animatedVectorResourcezamiastanimatedVectorResource.- Aby wyrenderować znak
AnimatedImageVector, użyj znakurememberAnimatedVectorResourcezamiastAnimatedImageVector#painterFor. (I9c300)
- Aby wyrenderować znak
Poprawki błędów
- Dodaj metody toString do klas Animatable i AnimationResult. (Icd3a6)
Aktualizacje zależności
- Teraz zależy od Kotlin
1.6.10.
Wersja 1.1
Wersja 1.1.1
23 lutego 2022 r.
androidx.compose.animation:animation:1.1.1, androidx.compose.animation:animation-core:1.1.1 i androidx.compose.animation:animation-graphics:1.1.1 są udostępnione. Wersja 1.1.1 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawka
NullPointerExceptionwandroidx.compose.ui.platform.RenderNodeLayer.updateDisplayList(aosp/1947059, b/206677462) - Rozwiązaliśmy problem z awarią spowodowaną przez zawartość schowka podczas odczytu ze schowka na urządzeniu z Androidem. (I06020, b/197769306)
- Poprawiono RTL w
LazyVerticalGrid(aosp/1931080, b/207510535)
Wersja 1.1.0
9 lutego 2022 r.
androidx.compose.animation:animation:1.1.0, androidx.compose.animation:animation-core:1.1.0 i androidx.compose.animation:animation-graphics:1.1.0 są udostępnione. Wersja 1.1.0 zawiera te zmiany.
Ważne zmiany od wersji 1.0.0
- Stabilna obsługa efektu przewijania w Androidzie 12
- Ulepszenia rozmiaru docelowego elementu dotykowego
- Pamiętaj, że w przypadku Compose 1.0 komponenty Material rozszerzą swój obszar układu, aby spełnić wytyczne dotyczące ułatwień dostępu w interfejsie Material w zakresie rozmiaru obszaru klikalnego. Na przykład docelowy element dotykowy przycisku zostanie powiększony do minimalnego rozmiaru 48 x 48 dp, nawet jeśli ustawisz mniejszy rozmiar przycisku. Dzięki temu biblioteka Compose Material zachowuje się tak samo jak komponenty Material Design, co zapewnia spójne działanie w przypadku łączenia widoków i elementów Compose. Ta zmiana zapewnia też, że podczas tworzenia interfejsu za pomocą komponentów Compose Material spełnione zostaną minimalne wymagania dotyczące dostępności docelowych elementów dotykowych.
- Stabilna obsługa kolumny nawigacji
- Przekształcenie kilku eksperymentalnych interfejsów API w stabilne
- Obsługa nowszych wersji języka Kotlin
Wersja 1.1.0-rc03
26 stycznia 2022 r.
androidx.compose.animation:animation:1.1.0-rc03, androidx.compose.animation:animation-core:1.1.0-rc03 i androidx.compose.animation:animation-graphics:1.1.0-rc03 są udostępnione. Wersja 1.1.0-rc03 zawiera te zatwierdzenia.
Poprawki błędów
- Zaktualizowano obsługę Compose Material w wersji 1.1.0-rc03
Wersja 1.1.0-rc01
15 grudnia 2021 roku
androidx.compose.animation:animation:1.1.0-rc01 i androidx.compose.animation:animation-core:1.1.0-rc01 zostały opublikowane. Wersja 1.1.0-rc01 zawiera te zmiany.
Zmiany w interfejsie API
- Aby wczytać plik zasobu
<animated-vector>, użyjAnimatedImageVector.animatedVectorResourcezamiastanimatedVectorResource.- Aby wyrenderować znak
AnimatedImageVector, użyj znakurememberAnimatedVectorResourcezamiastAnimatedImageVector#painterFor. (I9c300)
- Aby wyrenderować znak
Wersja 1.1.0-beta04
1 grudnia 2021 r.
androidx.compose.animation:animation:1.1.0-beta04, androidx.compose.animation:animation-core:1.1.0-beta04 i androidx.compose.animation:animation-graphics:1.1.0-beta04 są udostępnione. Wersja 1.1.0-beta04 zawiera te zmiany.
Nowe funkcje
- Zaktualizowano, aby była zgodna z Kotlinem w wersji
1.6.0
Wersja 1.1.0-beta03
17 listopada 2021 r.
androidx.compose.animation:animation:1.1.0-beta03, androidx.compose.animation:animation-core:1.1.0-beta03 i androidx.compose.animation:animation-graphics:1.1.0-beta03 są udostępnione. Wersja 1.1.0-beta03 zawiera te zmiany.
Zmiany w interfejsie API
- Dodano nowy modyfikator Modifier.onPlaced, który umożliwia obserwowanie zmiany miejsca docelowego. Na podstawie zaobserwowanej zmiany położenia można wprowadzić dodatkowe zmiany przesunięcia modyfikatora podrzędnego. (I558fd)
Nowa obsługa parametru contentKey w funkcji Crossfade. ContentKey będzie używany przez system animacji do sprawdzania równości. Dlatego niestandardowe porównywanie stanów można uzyskać, określając odpowiedni klucz contentKey dla różnych stanów.
ContentKey będzie też używany jako klucz do zapisywania i przywracania treści. (I2e055, b/197907070)
Wersja 1.1.0-beta02
3 listopada 2021 r.
androidx.compose.animation:animation:1.1.0-beta02, androidx.compose.animation:animation-core:1.1.0-beta02 i androidx.compose.animation:animation-graphics:1.1.0-beta02 są udostępnione. Wersja 1.1.0-beta02 zawiera te zmiany.
Poprawki błędów
- Nowe interfejsy API animacji do obsługi narzędzi. Umożliwiają one narzędziom sprawdzanie animacji i ich konfiguracji w przejściach. (I4116e)
Wersja 1.1.0-beta01
27 października 2021 r.
androidx.compose.animation:animation:1.1.0-beta01, androidx.compose.animation:animation-core:1.1.0-beta01 i androidx.compose.animation:animation-graphics:1.1.0-beta01 są udostępnione. Wersja 1.1.0-beta01 zawiera te zmiany.
Zmiany w interfejsie API
- Nowe interfejsy API animacji do obsługi narzędzi. Umożliwiają one narzędziom sprawdzanie animacji i ich konfiguracji w przejściach. (I4116e)
Wersja 1.1.0-alpha06
13 października 2021 r.
androidx.compose.animation:animation:1.1.0-alpha06, androidx.compose.animation:animation-core:1.1.0-alpha06 i androidx.compose.animation:animation-graphics:1.1.0-alpha06 są udostępnione. Wersja 1.1.0-alpha06 zawiera te zmiany.
Wersja 1.1.0-alpha05
29 września 2021 r.
androidx.compose.animation:animation:1.1.0-alpha05, androidx.compose.animation:animation-core:1.1.0-alpha05 i androidx.compose.animation:animation-graphics:1.1.0-alpha05 są udostępnione. Wersja 1.1.0-alpha05 zawiera te zmiany.
Zmiany w interfejsie API
EnterTransition,ExitTransitioni niektóre interfejsy APIAnimatedVisibilityzostały udostępnione w wersji stabilnej.MutableTransitionState.isIdlenie jest już też funkcją eksperymentalną. (I5072d)Zmiana powodująca niezgodność: lambdy w fabrykach Enter/ExitTransition zostały przeniesione na ostatnią pozycję na liście parametrów. (I5072d)
Wersja 1.1.0-alpha04
15 września 2021 r.
androidx.compose.animation:animation:1.1.0-alpha04, androidx.compose.animation:animation-core:1.1.0-alpha04 i androidx.compose.animation:animation-graphics:1.1.0-alpha04 są udostępnione. Wersja 1.1.0-alpha04 zawiera te zmiany.
Wersja 1.1.0-alpha03
1 września 2021 roku
androidx.compose.animation:animation:1.1.0-alpha03, androidx.compose.animation:animation-core:1.1.0-alpha03 i androidx.compose.animation:animation-graphics:1.1.0-alpha03 są udostępnione. Wersja 1.1.0-alpha03 zawiera te zmiany.
Nowe funkcje
- Zaktualizowano bibliotekę Compose
1.1.0-alpha03, aby była zależna od języka Kotlin1.5.30. (I74545)
Wersja 1.1.0-alpha02
18 sierpnia 2021 r.
androidx.compose.animation:animation:1.1.0-alpha02, androidx.compose.animation:animation-core:1.1.0-alpha02 i androidx.compose.animation:animation-graphics:1.1.0-alpha02 są udostępnione. Wersja 1.1.0-alpha02 zawiera te zmiany.
Zmiany w interfejsie API
- W przypadku animacji powtarzalnych i nieskończenie powtarzalnych obsługiwany jest teraz parametr StartOffset, który umożliwia opóźnienie czasu rozpoczęcia lub przyspieszenie animacji przed jej rozpoczęciem. Ten przesunięty początek nie będzie powtarzany (Ic679f, b/195079908)
- Nowe przejście wejścia/wyjścia dla skali. Można go używać w połączeniu z innymi typami przejść wejścia/wyjścia. (I372da, b/191325593)
Wersja 1.1.0-alpha01
4 sierpnia 2021 r.
androidx.compose.animation:animation:1.1.0-alpha01, androidx.compose.animation:animation-core:1.1.0-alpha01 i androidx.compose.animation:animation-graphics:1.1.0-alpha01 są udostępnione. Wersja 1.1.0-alpha01 zawiera te zmiany.
Zmiany w interfejsie API
AnimatedImageVectori powiązane interfejsy API znajdują się teraz w nowym moduleandroidx.compose.animation:animation-graphics. (I60873)
Poprawki błędów
- Przeniesiono
InfiniteAnimationPolicydo :compose:ui (I5eb09, b/160602714)
Wersja 1.0
Wersja 1.0.5
3 listopada 2021 r.
androidx.compose.animation:animation:1.0.5 i androidx.compose.animation:animation-core:1.0.5 zostały opublikowane. Wersja 1.0.5 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem z awarią śledzenia instancji derivedStateOf. (aosp/1792247)
Wersja 1.0.4
13 października 2021 r.
androidx.compose.animation:animation:1.0.4 i androidx.compose.animation:animation-core:1.0.4 zostały opublikowane. Wersja 1.0.4 zawiera te zatwierdzenia.
Aktualizacje zależności
- Zaktualizowano, aby zależał od wersji
1.5.31języka Kotlin
Wersja 1.0.3
29 września 2021 r.
androidx.compose.animation:animation:1.0.3 i androidx.compose.animation:animation-core:1.0.3 zostały opublikowane. Wersja 1.0.3 zawiera te zatwierdzenia.
Aktualizacje zależności
- Zaktualizowano, aby zależał od wersji
1.5.30języka Kotlin
Wersja 1.0.2
1 września 2021 roku
androidx.compose.animation:animation:1.0.2 i androidx.compose.animation:animation-core:1.0.2 zostały opublikowane. Wersja 1.0.2 zawiera te zatwierdzenia.
Zaktualizowano, aby obsługiwać wersję 1.0.2 Compose. Compose 1.0.2 jest nadal zgodny z Kotlinem 1.5.21.
Wersja 1.0.1
4 sierpnia 2021 r.
androidx.compose.animation:animation:1.0.1 i androidx.compose.animation:animation-core:1.0.1 zostały opublikowane. Wersja 1.0.1 zawiera te zatwierdzenia.
Aktualizacje zależności
- Zaktualizowano zależność od Kotlina
1.5.21.
Wersja 1.0.0
28 lipca 2021 roku
androidx.compose.animation:animation:1.0.0 i androidx.compose.animation:animation-core:1.0.0 zostały opublikowane. Wersja 1.0.0 zawiera te zatwierdzenia.
Główne funkcje wersji 1.0.0
To pierwsza stabilna wersja Compose. Więcej informacji znajdziesz na oficjalnym blogu Compose Release.
Znane problemy
Jeśli używasz Android Studio Bumblebee Canary 4 lub AGP
7.1.0-alpha04/7.1.0-alpha05, może wystąpić ten błąd:java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"Aby rozwiązać ten problem, tymczasowo zwiększ wartość parametru minSdkVersion do 24 lub wyższej w pliku
build.gradle. Ten problem zostanie rozwiązany w kolejnej wersji Androida Studio Bumblebee i wtyczki Androida do obsługi Gradle7.1. (b/194289155)
Wersja 1.0.0-rc02
14 lipca 2021 roku
androidx.compose.animation:animation:1.0.0-rc02 i androidx.compose.animation:animation-core:1.0.0-rc02 zostały opublikowane. Wersja 1.0.0-rc02 zawiera te zatwierdzenia.
Wersja 1.0.0-rc01
1 lipca 2021 r.
androidx.compose.animation:animation:1.0.0-rc01 i androidx.compose.animation:animation-core:1.0.0-rc01 zostały opublikowane. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Przeniesiono
InfiniteAnimationPolicydoandroidx.compose.ui:ui(I5eb09, b/160602714)
Wersja 1.0.0-beta09
16 czerwca 2021 r.
androidx.compose.animation:animation:1.0.0-beta09 i androidx.compose.animation:animation-core:1.0.0-beta09 zostały opublikowane. Wersja 1.0.0-beta09 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nowy komponent
AnimatedContent. Zarządza zmianami treści za pomocą konfigurowalnychContentTransform, gdy pojawiają się nowe treści docelowe, a początkowe treści są usuwane. Różne kombinacje przejść wejścia i wyjścia mogą być używane do tworzenia dostosowanego wyglądu i stylu. W ramach przekształcenia treściAnimatedContentautomatycznie animuje swój rozmiar, aby dopasować go do przychodzących treści. (I2c3df) - Kontakt
ManualFrameClockzostał usunięty. Jeśli chcesz kontrolować animacje, użyjcomposeTestRule.mainClock. (I3c3e8, b/189951065)
Dodane reguły profilu
Ta wersja dodaje reguły profilu do tych modułów kompozycji (I14ed6):
- androidx.compose.animation
- androidx.compose.animation-core
- androidx.compose.foundation
- androidx.compose.foundation-layout
- androidx.compose.material
- androidx.compose.material-ripple
- androidx.compose.runtime
- androidx.compose.ui
- androidx.compose.ui.geometry
- androidx.compose.ui.graphics
- androidx.compose.ui.text
- androidx.compose.ui.text
- androidx.compose.ui.unit
- androidx.compose.ui.util
Czym są reguły profilu?
Reguły profilu dla biblioteki są określone w pliku tekstowym
baseline-prof.txtznajdującym się w katalogusrc/mainlub w odpowiednim katalogu. Plik zawiera regułę w każdym wierszu. W tym przypadku reguła jest wzorcem dopasowywanym do metod lub klas w bibliotece. Składnia tych reguł jest nadzbiorem formatu profilu ART czytelnego dla człowieka, który jest używany podczas korzystania zadb shell profman --dump-classes-and-methods .... Te reguły przyjmują jedną z 2 form, aby kierować reklamy na metody lub klasy.Reguła metody będzie mieć ten wzorzec:
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>Reguła klasy będzie miała następujący wzorzec:
<CLASS_DESCRIPTOR>W tym przypadku
<FLAGS>to co najmniej jeden z tych znaków:H,SiP. Wskazuje on, czy ta metoda powinna być oznaczona jako „Hot”, „Startup” lub „Post Startup”.Symbol
<CLASS_DESCRIPTOR>to deskryptor klasy, do której należy docelowa metoda. Na przykład klasaandroidx.compose.runtime.SlotTablebędzie miała deskryptorLandroidx/compose/runtime/SlotTable;.<METHOD_SIGNATURE>to sygnatura metody, która zawiera jej nazwę, typy parametrów i typy zwracanych wartości. Na przykład metodafun isPlaced(): BooleanwLayoutNodema sygnaturęisPlaced()Z.Wzorce mogą zawierać symbole wieloznaczne (
**,*i?), dzięki czemu jedna reguła może obejmować wiele metod lub klas.
Do czego służą reguły?
Metoda z flagą
Hoznacza, że jest to „gorąca” metoda, która powinna zostać skompilowana z wyprzedzeniem.Metoda oznaczona flagą
Sjest wywoływana podczas uruchamiania i powinna być skompilowana z wyprzedzeniem, aby uniknąć kosztów kompilacji i interpretacji w momencie uruchamiania.Metoda oznaczona flagą
Pjest wywoływana po uruchomieniu.Klasa obecna w tym pliku wskazuje, że jest używana podczas uruchamiania i powinna być wstępnie przydzielona w stercie, aby uniknąć kosztów ładowania klasy.
Jak to działa?
- Biblioteki mogą definiować te reguły, które będą pakowane w artefakty AAR. Gdy aplikacja zawierająca te artefakty zostanie skompilowana, reguły zostaną połączone, a połączone reguły zostaną użyte do utworzenia kompaktowego binarnego profilu ART, który jest specyficzny dla aplikacji. ART może następnie użyć tego profilu, gdy aplikacja jest instalowana na urządzeniach, aby skompilować z wyprzedzeniem określony podzbiór aplikacji i poprawić jej wydajność, zwłaszcza podczas pierwszego uruchomienia. Pamiętaj, że nie będzie to miało wpływu na aplikacje, które można debugować.
Wersja 1.0.0-beta08
2 czerwca 2021 r.
androidx.compose.animation:animation:1.0.0-beta08 i androidx.compose.animation:animation-core:1.0.0-beta08 zostały opublikowane. Wersja 1.0.0-beta08 zawiera te zatwierdzenia.
Poprawki błędów
- Teraz
detectDragGesures,detectVerticalGesturesidetectHorizontalGesturesbędą automatycznie wykorzystywać zmianę pozycji, więc nie musisz wywoływać funkcji change.consumePositionChange w wywołaniach zwrotnych onDrag (I42fc4, b/185096350, b/187320697). Modifier.onGloballyPositioned()zmieniono tak, aby raportował współrzędne tego modyfikatora w łańcuchu modyfikatorów, a nie współrzędne układu po zastosowaniu wszystkich modyfikatorów. Oznacza to, że kolejność modyfikatorów wpływa teraz na raportowane współrzędne. (Ieb67d, b/177926591)
Wersja 1.0.0-beta07
18 maja 2021 r.
androidx.compose.animation:animation:1.0.0-beta07 i androidx.compose.animation:animation-core:1.0.0-beta07 zostały opublikowane. Wersja 1.0.0-beta07 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nowy interfejs API
AnimatedVisibility, który umożliwia określanie widoczności wMutableTransitionState. Umożliwia to również obserwowanie stanów animacji pozaAnimatedVisibilityza pomocącurrentStateiisIdle.- Nowa obsługa przejść elementów podrzędnych w Transition
- Obsługa niestandardowej animacji przejścia wyjścia/wejścia w komponencie AnimatedVisibility za pomocą AnimationScope.transition
- Nowy modyfikator animateEnterExit dostępny dla wszystkich elementów podrzędnych AnimatedVisibility
- Wycofano interfejsy AnimatedVisibility API, które przyjmują parametr
initiallyVisible(I702f3)
Wersja 1.0.0-beta06
5 maja 2021 roku
androidx.compose.animation:animation:1.0.0-beta06 i androidx.compose.animation:animation-core:1.0.0-beta06 zostały opublikowane. Wersja 1.0.0-beta06 zawiera te zatwierdzenia.
Wersja 1.0.0-beta05
21 kwietnia 2021 r.
androidx.compose.animation:animation:1.0.0-beta05 i androidx.compose.animation:animation-core:1.0.0-beta05 zostały opublikowane. Wersja 1.0.0-beta05 zawiera te zatwierdzenia.
Poprawki błędów
- Pliki AndroidManifest z ui-test-manifest i ui-tooling-data są teraz zgodne z Androidem 12 (I6f9de, b/184718994).
Wersja 1.0.0-beta04
7 kwietnia 2021 r.
androidx.compose.animation:animation:1.0.0-beta04 i androidx.compose.animation:animation-core:1.0.0-beta04 zostały opublikowane. Wersja 1.0.0-beta04 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Usunęliśmy publiczne instancje
RowScope,ColumnScope,BoxScopeiBoxWithConstraintsScope. (I4e83e, b/181869067)
Wersja 1.0.0-beta03
24 marca 2021 r.
androidx.compose.animation:animation:1.0.0-beta03 i androidx.compose.animation:animation-core:1.0.0-beta03 zostały opublikowane. Wersja 1.0.0-beta03 zawiera te zatwierdzenia.
Wersja 1.0.0-beta02
10 marca 2021 r.
androidx.compose.animation:animation:1.0.0-beta02 i androidx.compose.animation:animation-core:1.0.0-beta02 zostały opublikowane. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.
Poprawki błędów
- Wymuszanie ograniczeń dotyczących publicznego korzystania z eksperymentalnych interfejsów API (I6aa29, b/174531520)
Wersja 1.0.0-beta01
24 lutego 2021 r.
androidx.compose.animation:animation:1.0.0-beta01 i androidx.compose.animation:animation-core:1.0.0-beta01 zostały opublikowane. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
To pierwsza wersja Compose 1.0.0 Beta.
Zmiany w interfejsie API
InteractionStatezostało zastąpione przez[Mutable]InteractionSource- Interfejsy odpowiadają za wysyłanie i zbieranie zdarzeń interakcji.
- Zamiast przekazywać
interactionState = remember { InteractionState() }do komponentów takich jakButtoniModifier.clickable(), używajinteractionSource = remember { MutableInteractionSource() }. - Zamiast:
Interaction.Pressed in interactionStateużywaj funkcji rozszerzających w przypadku InteractionSource, np. InteractionSource.collectIsPressedAsState(). - W przypadku złożonych przypadków użycia możesz użyć InteractionSource.interactions, aby obserwować strumień interakcji. Więcej informacji znajdziesz w dokumentacji i przykładach dotyczących InteractionSource.
- (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
- Pakiety metod smoothScrollBy i scrollBy zostały zmienione na
androidx.compose.foundation.gestures.*(I3f7c1, b/175294473) - Zmieniono nazwy modyfikatorów rozmiaru. Modyfikatory Modifier.width/height/size zostały zmienione na requiredWidth/requiredHeight/requiredSize. Zmienne Modifier.preferredWidth/preferredHeight/preferredSize zostały zmienione na width/height/size. (I5b414)
- Orientacja została przeniesiona do pakietu podstawowego. Interfejs VelocirtTracker został przeniesiony z ui.gesture do ui.input.pointer. (Iff4a8, b/175294473)
- Klasy AnimationClockObservable i ich podklasy zostały usunięte. Usunięto AnimatedFloat. (Icde52, b/177457083)
- Modyfikator draggable akceptuje teraz DraggableState zamiast prostej lambdy.Stan możesz utworzyć za pomocą
rememberDraggableState { delta -> }, aby uzyskać takie samo działanie jak wcześniej (Ica70f, b/175294473). - Usunięto interfejsy API animate, animatedValue i AnimatedValue (If27bc, b/177457083).
- Usunięto AnimationEndReason.Interrupted. Jeśli animacja zostanie przerwana, zostanie zgłoszony wyjątek CancellationException. (I2cbbc, b/179695417)
- Usunięto interfejs TargetAnimation API. (If47d1, b/177457083)
Wersja 1.0.0-alpha12
10 lutego 2021 r.
androidx.compose.animation:animation:1.0.0-alpha12 i androidx.compose.animation:animation-core:1.0.0-alpha12 zostały opublikowane. Wersja 1.0.0-alpha12 zawiera te zatwierdzenia.
Zmiany w interfejsie API
Modifier.pointerInputwymaga teraz kluczy pamięci, aby wskazywać, kiedy współprogram wykrywania danych wejściowych wskaźnika powinien zostać ponownie uruchomiony w przypadku nowych zależności. (I849cd)- Nazwa Bounds została zmieniona na DpRect (I4b32a).
- Ujednolicono nazwę parametru AnimationSpec na animationSpec w całym systemie animacji. Ogranicz też Enter/ExitTransition, aby akceptował FiniteAnimationSpec. (Ie47c5, b/177457083)
- Funkcje Animatable.snapTo i Animatable.stop są teraz funkcjami zawieszania (If4288).
- Podobnie jak wcześniej usunęliśmy funkcję
state { 0 }i teraz promujemy używanie funkcjiremember { mutableStateOf(0) }, usuniemy funkcjęsavedInstanceState { 0 }. Zamiast tego używajrememberSaveable { mutableStateOf(0) }, które automatycznie zapisuje i przywraca stan, jeśli typ użyty w MutableState można przechowywać w obiekcie Bundle. Jeśli wcześniej przekazywano niestandardowy obiekt zapisujący, teraz należy użyć nowego przeciążenia funkcji rememberSaveable, które ma parametrstateSaver. Użycie będzie wyglądać tak:val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }(Ib4c26, b/177338004) - Zaktualizowano sygnaturę metody Crossfade, aby była bardziej spójna z pozostałą częścią systemu animacji. (Ib05ed, b/177457083)
- Funkcja rememberSavedInstanceState() została zmieniona na rememberSaveable() i przeniesiona do pakietu androidx.compose.runtime.saveable. (I1366e, b/177338004)
- Klasa RestorableStateHolder została zmieniona na SaveableStateHolder i przeniesiona do pakietu androidx.compose.runtime.saveable. Metoda wewnętrzna RestorableStateProvider została zmieniona na SaveableStateProvider. Typ ogólny został usunięty, więc jako klucz możesz po prostu przekazać dowolny typ. Adnotacja eksperymentalna nie jest już potrzebna. (I0902e, b/174598702)
- Zaktualizowano interfejs Modifier.animateContentSize API, aby był zgodny z pozostałą częścią systemu animacji. (I0bf75, b/177457083)
- Klasa AnimatedValue/Float została wycofana. Zamiast niej użyj interfejsu Animatable. (I71345, b/177457083)
- Filtry tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter i pressIndicaitonGestureFilter zostały wycofane. Zamiast tego użyj funkcji Modifier.clickable lub Modifier.pointerInput z funkcją detectTapGestures. (I6baf9, b/175294473)
- Wprowadzono element
InfiniteAnimationPolicykontekstu współprogramu, który będzie stosowany w animacjach nieskończonych. Domyślnie nie jest instalowana żadna zasada, z wyjątkiem testów przeprowadzanych w ramachComposeTestRule. (I50ec4, b/151940543) - Metody destrukcji i copy() zostały usunięte z kilku klas, w których były rzadko używane. (I26702, b/178659281)
- Czas odtwarzania animacji jest teraz ujednolicony do nanosekund (If776a)
- Artefakt compose:runtime-dispatch został wycofany. Klasa MonotonicFrameClock znajduje się teraz w pakiecie compose:runtime, a klasa AndroidUiDispatcher – w pakiecie compose:ui. (Ib5c36)
- Dodano elementy
Animation.isInfiniteiVectorizedAnimationSpec.isInfinite, które sygnalizują, czy animacja jest nieskończona. Można go używać w implementacjach animacji, aby specjalnie je obsługiwać. Możesz na przykład wyświetlić specjalny komunikat „time remaining” lub anulować animację podczas testów, aby uniknąć nieokreślonego czasu oczekiwania na bezczynność. (Iebb05, b/151940543) - Używanie wartości Long zamiast Uptime jako typu czasu animacji (Ie3aa7, b/177420019)
Wersja 1.0.0-alpha11
28 stycznia 2021 roku
androidx.compose.animation:animation:1.0.0-alpha11 i androidx.compose.animation:animation-core:1.0.0-alpha11 zostały opublikowane. Wersja 1.0.0-alpha11 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Przejście oparte na TransitionDefinition zostało wycofane (I0ac57)
- Dodano pole etykiety dla przejść i animacji podrzędnych, które będą wyświetlane w narzędziach (I619fb).
- Funkcja animateAsState została zmieniona na animateFooAsState, gdzie Foo to typ animowanej zmiennej, np. Float, Dp, Offset itp. (Ie7e25)
- Nowa funkcja InfiniteTransition, która uruchamia dowolną liczbę animacji podrzędnych. (I1da81)
- Zmienia interfejsy parametrów stanowych Material na funkcje @Composable, które zwracają
State<T>. Dodaje Animatable.asState(), aby ułatwić przekształcanie obiektu Animatable w obiekt State. Zmienia też animateElevation na rozszerzenie zawieszające w przypadku Animatable. (If613c)
Poprawki błędów
- Funkcje onCommit, onDispose i onActive zostały wycofane na rzecz interfejsów SideEffect i DisposableEffect API (If760e).
- Stan początkowy w funkcji updateTransition jest teraz obsługiwany (Ifd51d)
- Do obrazu i ikony dodano parametr opisu treści. Służy do przekazywania opisu usługom ułatwień dostępu (I2ac4c).
- Funkcje invalidate i compositionReference() zostały wycofane na rzecz funkcji currentRecomposeScope i rememberCompositionReference. (I583a8)
- Wartości Duration i Uptime zostaną zastąpione wartościami Long w milisekundach, a ten krok usuwa zależność danych wejściowych wskaźnika od tych klas. (Ia33b2, b/175142755, b/177420019)
- klikane, przełączane i wybieralne elementy można teraz tworzyć poza kompozycją (I0a130, b/172938345, b/175294473).
- Wygładzanie zostało zmienione na interfejs funkcyjny (Ib14e5).
- Nowa metoda fabryczna
items(count: Int)dla zakresu LazyColumn/LazyRow/LazyVerticalGrid. Funkcjeitems(items: List)iitemsIndexed(items: List)są teraz funkcjami rozszerzającymi, więc musisz je ręcznie importować, gdy ich używasz. Nowe przeciążenia rozszerzeń dla tablic: items(items: Array) i itemsIndexed(Array) (I803fc, b/175562574) - Używanie TestCoroutineDispatcher w testach (I532b6)
- Usunięto PointerInputData i zmodyfikowano PointerInputChange, aby zawierał wszystkie pola PointerInputData. Uczyniono klasy PointerInputEvent i PointerInputEventData wewnętrznymi, ponieważ nie są używane w żadnym publicznym interfejsie API. (Ifff97, b/175142755)
Wersja 1.0.0-alpha10
13 stycznia 2021 r.
androidx.compose.animation:animation:1.0.0-alpha10 i androidx.compose.animation:animation-core:1.0.0-alpha10 zostały opublikowane. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zmodyfikowano Velocity, aby zawierał składowe i operacje matematyczne. (Ib0447)
- Zmieniono nazwę
@ExperimentalTestingna@ExperimentalTestApi, aby zachować spójność z podobnymi adnotacjami interfejsu API w wersji eksperymentalnej (Ia4502, b/171464963) - Zmiana nazwy pozycji na DpOffset i usunięcie funkcji getDistance() (Ib2dfd)
- Usunięto publiczny interfejs API Any.identityHashCode() (I025d7)
Poprawki błędów
- Nowy interfejs API oparty na korutynach
Animatable, który zapewnia wzajemną wyłączność animacji. Nowy obiekt DecayAnimationSpec do obsługi wielowymiarowej animacji zanikania (I820f2, b/168014930) animate()zastąpiono funkcjąanimateAsState(), która zwraca wartośćState<T>zamiastT. Umożliwia to lepszą wydajność, ponieważ zakres unieważnienia można zawęzić do miejsca, w którym odczytywana jest wartość State. (Ib179e)
Wersja 1.0.0-alpha09
16 grudnia 2020 roku
androidx.compose.animation:animation:1.0.0-alpha09 i androidx.compose.animation:animation-core:1.0.0-alpha09 zostały opublikowane. Wersja 1.0.0-alpha09 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Przeniesiono klasy Dp.VectorConverter, Position.VectorConverter itp. do pakietu animation-core i wycofano stare klasy VectorConveters (If0c4b).
- Wprowadziliśmy zupełnie nowy zestaw interfejsów API przejść, które są łatwiejsze w użyciu i obsługują animacje dodawane dynamicznie oraz dynamicznie obliczane cele animacji. Te interfejsy API są oznaczone jako eksperymentalne, aby łatwo odróżnić je od interfejsu API opartego na TransitionDefinition. (Ia7fe3)
Poprawki błędów
- Funkcje lambda w modyfikatorach przesunięcia zwracają teraz wartość IntOffset zamiast Float. (Ic9ee5, b/174137212, b/174146755)
- Wycofanie funkcji LazyColumnFor, LazyRowFor, LazyColumnForIndexed i LazyRowForIndexed. Zamiast tego używaj elementów LazyColumn i LazyRow (I5b48c)
- W przypadku interfejsów API zawieszających dane wejściowe wskaźnika zmieniono nazwę funkcji HandlePointerInputScope na AwaitPointerEventScope, a funkcji handlePointerInput() na awaitPointerEventScope(). (Idf0a1, b/175142755)
- Nowa funkcja infiniteRepeatable do tworzenia elementu InfiniteRepeatableSpec (I668e5)
- Usunięto adnotację ExperimentalPointerInput (Ia7a24)
Wersja 1.0.0-alpha08
2 grudnia 2020 r.
androidx.compose.animation:animation:1.0.0-alpha08 i androidx.compose.animation:animation-core:1.0.0-alpha08 zostały opublikowane. Wersja 1.0.0-alpha08 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodano sprawdzanie lint dla nazw i pozycji parametrów funkcji kompozycyjnej lambda, aby zapewnić spójność ze wskazówkami dotyczącymi Compose.
Zgodnie z kontrolą i wskazówkami dotyczącymi lintowania niektóre interfejsy API zostały przeniesione z użyciem
childrenjako nazwy funkcji lambda na końcu nacontent. (Iec48e) - Usunięto wycofane wcześniej interfejsy API:
- Usunięto
Modifier.onPositioned. UżyjModifier.onGloballyPositioned. - Usunięto
Modifier.onDraw. UżyjModifier.onDrawBehind. - Usunięto
Modifier.plus. UżyjModifier.then. - Usunięto
Color.Unset. UżyjColor.Unspecified. - Klasa
PxBoundszostała usunięta. Zamiast niej używaj klasyRect. - (Ie9d02, b/172562222)
- Usunięto
- Tymczasowo dodano opcję umożliwiającą sterowanie zegarem TestAnimationClock za pomocą zegara MonotonicFrameClock (I1403b, b/173402197)
Poprawki błędów
- Zmieniono nazwę Modifier.drawLayer na Modifier.graphicsLayer. Zaktualizowano też powiązane klasy do GraphicsLayer zgodnie z opinią rady API. (I0bd29, b/173834241)
- Dodano interfejsy API Modifier.scale/rotate
jako ułatwienia dla drawLayer.
- Zmiana nazwy Modifier.drawOpacity na Modifier.alpha
- Zmieniono nazwę funkcji Modifier.drawShadow na Modifier.shadow (I264ca, b/173208140)
- Pola uptime i position w klasie PointerInputData zostały ustawione jako niepuste. (Id468a)
- Modyfikatory offsetPx zostały zmienione na offset. Zamiast parametru State przyjmują teraz parametry lambda. (Ic3021, b/173594846)
- Nowe interfejsy API do uruchamiania animacji w korutynach (Ied662)
- Wycofaliśmy Ambients z sufiksem
Ambienti zastąpiliśmy je nowymi właściwościami z prefiksem Ambient, zgodnie z innymi Ambientami i wytycznymi interfejsu Compose API. (I33440) - Kontrola czasu w testach (TestAnimationClock i jego zastosowania) jest teraz eksperymentalna (I6ef86, b/171378521).
- Usuwanie starego modułu ui-test i jego stubów (I3a7cb)
- Funkcja
RestorableStateHolder.withRestorableStatezostała zmieniona naRestorableStateProvider(I66640) - Interfejs wyrównania został zaktualizowany i jest już funkcjonalny. (I46a07, b/172311734)
Wersja 1.0.0-alpha07
11 listopada 2020 roku
androidx.compose.animation:animation:1.0.0-alpha07 i androidx.compose.animation:animation-core:1.0.0-alpha07 zostały opublikowane. Wersja 1.0.0-alpha07 zawiera te zatwierdzenia.
Poprawki błędów
- Podstawowe funkcje AmbientTextStyle, ProvideTextStyle i AmbientContentColor zostały wycofane. Zamiast tego używaj nowych wersji dostępnych w bibliotece Material. W przypadku aplikacji innych niż Material należy utworzyć własny system projektowania z motywami, które można wykorzystać w komponentach. (I74acc, b/172067770)
- foundation.Text został wycofany i zastąpiony przez material.Text. Podstawowy interfejs API tekstu bez opinii, który nie wykorzystuje wartości z motywu, znajdziesz w artykule androidx.compose.foundation.BasicText. (If64cb)
- Element MeasureResult został przeniesiony poza element MeasureScope. (Ibf96d, b/171184002)
- Kilka symboli związanych z układem zostało przeniesionych z pakietu androidx.compose.ui do androidx.compose.layout.ui. (I0fa98, b/170475424)
Wersja 1.0.0-alpha06
28 października 2020 r.
androidx.compose.animation:animation:1.0.0-alpha06 i androidx.compose.animation:animation-core:1.0.0-alpha06 zostały opublikowane. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Włączanie przejść w ComposeTestRule; usuwanie opcji włączania migającego kursora z ComposeTestRule. (If0de3)
Wersja 1.0.0-alpha05
14 października 2020 r.
androidx.compose.animation:animation:1.0.0-alpha05 i androidx.compose.animation:animation-core:1.0.0-alpha05 zostały opublikowane. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nowy interfejs animacji i podklasy: te klasy przechowują warunki początkowe i końcowe animacji, dzięki czemu można odpytywać wartość i szybkość tylko za pomocą czasu odtwarzania (Ie95bd, b/163329867).
Poprawki błędów
- Zmiana nazwy OnPositionedModifier na OnGloballyPositionedModifier, a onPositioned() na onGloballyPositioned(). (I587e8, b/169083903)
Wycofuje interfejsy contentColor() i currentTextStyle() i zastępuje je odpowiednio AmbientContentColor i AmbientTextStyle. Aktualną wartość możesz uzyskać, używając funkcji
.currentw przypadku właściwości otoczenia, tak jak w przypadku każdego innego otoczenia. Ta zmiana została wprowadzona w celu zachowania spójności i uniknięcia sytuacji, w której to samo zadanie można wykonać na kilka sposobów. Dodatkowo zmieniliśmy nazwy niektórych właściwości otoczenia, aby lepiej opisywały ich przeznaczenie:- ContentColorAmbient -> AmbientContentColor
- TextStyleAmbient -> AmbientTextStyle
- IndicationAmbient -> AmbientIndication
- EmphasisAmbient -> AmbientEmphasisLevels
- RippleThemeAmbient -> AmbientRippleTheme (I37b6d)
Wersja 1.0.0-alpha04
1 października 2020 roku
androidx.compose.animation:animation:1.0.0-alpha04 i androidx.compose.animation:animation-core:1.0.0-alpha04 zostały opublikowane. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Oznaczanie adnotacjami rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled i textInputServiceFactory za pomocą @VisibleForTesting, przekształcanie ich w wewnętrzne interfejsy API i ukrywanie ich dokumentacji KDoc (I554eb, b/168308412)
Poprawki błędów
- Zaktualizowano wiele interfejsów API grafiki.
- Zaktualizowano interfejsy API przekształceń skalowania i obracania, aby używały jednego parametru Offset do reprezentowania współrzędnych punktu obrotu zamiast oddzielnych parametrów zmiennoprzecinkowych dla współrzędnych x/y w DrawScope i DrawTransform.
- Usunięto metody Rect.expandToInclude i Rect.join
- Zaktualizowana dokumentacja dotycząca promienia, w której oprócz kształtu eliptycznego podano też owalny.
- Dodano dokumentację, aby wskazać, że publiczny konstruktor klasy wbudowanej Radius nie powinien być wywoływany bezpośrednio, ale zamiast tego obiekty Radius powinny być tworzone za pomocą konstruktorów funkcji.
- Usunięto interfejsy API RoundRect do wysyłania zapytań o wartości topRight, bottomRight, bottomCenter itp.
- Wycofanie Rect.shift na rzecz Rect.translate
- Usunięto interfejsy API RoundRect.grow i Rect.shrink
- Zmiana nazwy RoundRect.outerRect na Rect.boundingRect
- Usunięto metody RoundRect.middleRect/tallMiddleRect/wideMiddleRect i Rect.isStadium
- Zmiana nazwy RoundRect.longestSide na RoundRect.maxDimension
- Zmiana nazwy RoundRect.shortestSide na RoundRect.minDimension
- Zmiana RoundRect.center na właściwość zamiast funkcji
- Zaktualizowano konstruktor RoundRect, aby korzystał z właściwości Radius zamiast z poszczególnych parametrów wartości promienia x/y
- Usunięto interfejsy API rozmiaru, które zakładały, że jest to prostokąt o początku w punkcie 0,0
- Dodano interfejs API niszczenia do Radius
- Przeniesiono różne funkcje rozszerzeń RoundRect, aby były właściwościami.
- (I8f5c7, b/168762961)
- Klasa foundation.Box została wycofana. Zamiast niego użyj foundation.layout.Box. (Ie5950, b/167680279)
- Grupa została zmieniona na Box. Wcześniej istniejący komponent Box zostanie wycofany na rzecz nowego komponentu Box w pakiecie compose.foundation.layout. Nowy element Box układa elementy podrzędne jeden na drugim, gdy ma ich kilka. Różni się to od poprzedniego elementu Box, który działał podobnie do elementu Column. (I94893, b/167680279)
- Parametry dekoracji pola zostały wycofane. Jeśli chcesz dodać dekoracje lub wypełnienie do elementu Box, użyj zamiast tego modyfikatorów (Modifier.background, Modifier.border, Modifier.padding) (Ibae92, b/167680279).
- Zapobiegliśmy statycznemu importowaniu treści z zakresów układu (np. alignWithSiblings w RowScope). Zamiast tego użyj zakresu jawnego:
with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)
Wersja 1.0.0-alpha03
16 września 2020 roku
androidx.compose.animation:animation:1.0.0-alpha03 i androidx.compose.animation:animation-core:1.0.0-alpha03 zostały opublikowane. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.
Poprawki błędów
- W interfejsach API układu wszystkie wystąpienia słowa „gravity” zostały zmienione na „align” lub „alignment”. (I2421a, b/164077038)
Wersja 1.0.0-alpha02
2 września 2020 r.
androidx.compose.animation:animation:1.0.0-alpha02 i androidx.compose.animation:animation-core:1.0.0-alpha02 zostały opublikowane. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
Dodano
ManualFrameClock.hasAwaiters, aby sprawdzić, czy zegar oczekuje na klatkę;runWithManualClockjako zamiennikrunBlockingpodczas przeprowadzania testów, które wymagają zegara ManualFrameClock;TestUiDispatcher.Main, który zapewnia łatwy dostęp do głównego dyspozytora interfejsu w testach.Przykład:
@Test fun myTest() = runWithManualClock { clock -> // set some compose content withContext(TestUiDispatcher.Main) { clock.advanceClock(1000L) } if (clock.hasAwaiters) { println("The clock has awaiters") } else { println("The clock has no more awaiters") } }
Poprawki błędów
Funkcja onPreCommit została wycofana. Funkcja onCommit ma teraz działanie funkcji onPreCommit.
Funkcje onCommit i onActive są teraz wykonywane w tej samej ramce choreografa, w której wprowadzane są zmiany w kompozycji, a nie na początku następnej ramki choreografa. (I70403)
Wersja 1.0.0-alpha01
26 sierpnia 2020 r.
androidx.compose.animation:animation:1.0.0-alpha01 i androidx.compose.animation:animation-core:1.0.0-alpha01 zostały opublikowane. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.
Wersja 0.1.0-dev
Wersja 0.1.0-dev17
19 sierpnia 2020 r.
androidx.compose.animation:animation:0.1.0-dev17 i androidx.compose.animation:animation-core:0.1.0-dev17 zostały opublikowane. Wersja 0.1.0-dev17 zawiera te zatwierdzenia.
Nowe funkcje
Zmiany w interfejsie API
- Przesunięcie stało się klasą wbudowaną (Iaec70)
- IntOffset jest teraz klasą wbudowaną (Iac0bf)
- IntSize jest teraz klasą wbudowaną (I2bf42).
Kompozycja AnimatedVisibility animuje pojawianie się i znikanie treści podrzędnych.
Wprowadzono EnterTransition i ExitTransition, które współpracują z komponentem AnimatedVisibility, aby zapewnić 3 różne typy animacji pojawiania się i znikania: zanikanie, przesuwanie oraz rozwijanie i zwijanie treści. Różne typy animacji można łączyć, aby uzyskać bardziej spersonalizowany wygląd. (Idda11)
Wycofano PxBounds na rzecz Rect. Zaktualizowano wszystkie użycia PxBounds za pomocą funkcji rect i dodano odpowiednie adnotacje dotyczące wycofania/zastąpienia w celu ułatwienia migracji. (I37038, b/162627058)
Poprawki błędów
PlacementScope.placeAbsolute()została zmieniona naPlacementScope.place(), a poprzedniaPlacementScope.place()została zmieniona naPlacementScope.placeRelative(). W rezultacie metodaPlacementScope.place()nie będzie już automatycznie odzwierciedlać pozycji w kontekstach pisanych od prawej do lewej. Jeśli chcesz to zrobić, użyj zasadyPlacementScope.placeRelative(). (I873ac, b/162916675)- Funkcja
state { ... }została wycofana na rzecz jawnych wywołań funkcjiremember { mutableStateOf(...) }, w celu uniknięcia wątpliwości. Zmniejsza to ogólną powierzchnię interfejsu API i liczbę koncepcji zarządzania stanem oraz pasuje do wzorcaby mutableStateOf()delegowania właściwości klasy. (Ia5727)
Wersja 0.1.0-dev16
5 sierpnia 2020 r.
androidx.compose.animation:animation:0.1.0-dev16 i androidx.compose.animation:animation-core:0.1.0-dev16 zostały opublikowane. Wersja 0.1.0-dev16 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Wbudowane konwertery wektorowe do konwertowania wbudowanych jednostek są teraz dostępne za pomocą funkcji
Foo.VectorConverter. np.Dp.VectorConverter,Color.VectorConverter,Float.VectorConverteritp. (I3e273) - Dodanie do
Modifier.animateContentSize()funkcji obsługi zdarzenia zakończenia, aby po zakończeniu animacji zmiany rozmiaru powiadamiała ona o tym odbiorcę, a także o początkowym i końcowym rozmiarze animacji. (I277b2) - Nowy modyfikator animateContentSize, który animuje zmianę rozmiaru układu modyfikatora podrzędnego (Ieffdc).
Dodano
MonotonicFrameAnimationClock, który umożliwia używanie elementu MonotonicFrameClock jakoAnimationClockObservable, aby wypełnić lukę między nowymi zegarami opartymi na korutynach a interfejsami API, które nadal używają starych zegarów opartych na wywołaniach zwrotnych.Równowartość
MonotonicFrameClockwManualAnimationClockto terazManualFrameClock. (I111c7, b/161247083)
Poprawki błędów
- Interfejsy API obsługujące pisanie od prawej do lewej zostały zaktualizowane. Dodano LayoutDirectionAmbient, którego można używać do odczytywania i zmieniania kierunku układu. Usunięto Modifier.rtl i Modifier.ltr. (I080b3)
- Wymagaj jawnego określenia typu T w przypadku transitionDefinition. (I1aded)
- Pakiet foundation.shape.corner został spłaszczony do foundation.share (I46491, b/161887429).
- Metoda Modifier.plus została wycofana. Zamiast niej używaj metody Modifier.then. Słowo „then” (wtedy) silniej sygnalizuje kolejność, a także uniemożliwia wpisanie znaku
Modifier.padding().background() + anotherModifier, który przerywa łańcuch i utrudnia czytanie (Iedd58, b/161529964). - Funkcja Modifier.drawBackground została zmieniona na Modifier.background (I13677)
Wersja 0.1.0-dev15
22 lipca 2020 r.
androidx.compose.animation:animation:0.1.0-dev15 i androidx.compose.animation:animation-core:0.1.0-dev15 zostały opublikowane. Wersja 0.1.0-dev15 zawiera te zatwierdzenia.
Aktualizacja zależności
- Aby używać wersji
0.1.0-dev15biblioteki Compose, musisz zaktualizować zależności zgodnie z nowymi fragmentami kodu podanymi powyżej w sekcji Deklarowanie zależności.
Zmiany w interfejsie API
- Interfejs Transition API został zmieniony tak, aby zwracał wartość TransitionState zamiast przekazywać ją do elementów podrzędnych. Dzięki temu interfejs API jest bardziej spójny z interfejsami animate(). (I24e38)
- Dodano parametr modyfikatora dla przenikania (I87cfe, b/159706180)
- W interfejsach API najwyższego poziomu używaj AnimationSpec zamiast AnimationBuilder, aby wyjaśnić koncepcję statycznej specyfikacji animacji.
- Ulepszanie DSL przejścia przez usunięcie wymagania dotyczącego funkcji lambda w przypadku tworzenia obiektów AnimationSpec, takich jak tween czy spring. Zamiast tego przyjmują one bezpośrednio parametry konstruktora.
- Zwiększenie ogólnej łatwości użycia AnimationSpec poprzez udostępnienie konstruktorów zamiast polegania na konstruktorach.
- Zmienia czas trwania i opóźnienie w przypadku klatek kluczowych i animacji Tween na liczbę całkowitą. Eliminuje to niepotrzebne rzutowania typów i przeciążanie metod (w celu obsługi zarówno liczb typu Long, jak i Int). (Ica0b4)
- Zastąpiono użycie IntPx wartością Int. Zastąpiono IntPxPosition wartością IntOffset. Zastąpiono IntPxSize wartością IntSize. (Ib7b44)
- Aby zmniejszyć liczbę klas używanych do reprezentowania informacji o rozmiarach, ujednolić użycie klasy Size zamiast PxSize. Dzięki temu możesz korzystać z zalet klasy wbudowanej, aby używać typu long do pakowania 2 wartości zmiennoprzecinkowych reprezentujących szerokość i wysokość. (Ic0191)
- Aby zmniejszyć liczbę klas używanych do reprezentowania informacji o pozycjonowaniu, zamiast klasy PxPosition używaj klasy Offset. Dzięki temu można korzystać z zalet klasy wbudowanej, aby używać typu long do pakowania 2 wartości zmiennoprzecinkowych reprezentujących przesunięcia x i y. (I3ad98)
- W ramach dużych zmian w kodzie zastąpiono użycie klasy Px w różnych klasach Compose, aby w przypadku parametrów pikseli używać tylko typów Dp i pierwotnych (I086f4).
- Dodano obsługę funkcji animate() dla typów Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds i AnimationVector (Ib7518).
- Funkcja Crossfade akceptuje teraz opcjonalny parametr AnimationBuilder, który umożliwia konfigurowanie animacji (I6d6e0).
- Zastąpiono wszystkie użycia koloru dopuszczającego wartość null w interfejsie API kolorem niedopuszczającym wartości null i zamiast wartości null użyto Color.Unset (Iabaa7).
- Usunięto klasę ValueHolder. Zmiana struktury klas AnimatedValue i AnimatedFloat, aby pole wartości animacji było abstrakcyjne i umożliwiało podklasom obserwowanie aktualizacji wartości.
- Dodano klasy modeli dla AnimatedValue, AnimatedFloat itp.
- Dodaliśmy nowy zestaw lekkich interfejsów API @Composable do animowania przejść między wartościami. (I79530)
- Zmiany powodujące niezgodność w interfejsie ambients API. Szczegółowe informacje znajdziesz w logu i
Ambient<T>dokumentacji (I4c7ee, b/143769776). - Nowy tryb powtarzania: odtwarzanie od tyłu. W tym trybie poprzednia iteracja jest odwracana, gdy animacja powtarza się w przypadku RepeatableSpec lub VectorizedRepeatableSpec. (Ibe0f5)
- Dodatki do interfejsu ManualAnimationClock API:
hasObservers: Booleani parametr konstruktoradispatchOnSubscribe: Boolean(Iaa134) - Dodano interfejsy API do pobierania minimalnych i maksymalnych wartości w AnimatedFloat (Icd9cc)
Poprawki błędów
runOnIdleComposezmienił(a) nazwę narunOnIdle(I83607)- Zmieniliśmy nazwy kilku interfejsów API do testowania, aby były bardziej intuicyjne. Wszystkie interfejsy API findXYZ zostały zmienione na onNodeXYZ. Wszystkie interfejsy API doXYZ zostały zmienione na performXYZ. (I7f164)
- Wprowadzono interfejsy API animacji bezstanowych niskiego poziomu. Te interfejsy API (I63bf7)
- Funkcja kompozycyjna Recompose nie jest już przydatną abstrakcją. Większość rekompozycji powinna następować w wyniku przypisań MutableState. W innych przypadkach zalecamy użycie funkcji
invalidate, aby wywołać ponowne utworzenie bieżącego zakresu. (Ifc992) - Zastąpiono użycie klasy Px w różnych klasach kompozycji w ramach dużego refaktoryzacji, aby w przypadku parametrów pikseli używać tylko typów Dp i podstawowych. Usunięto całą klasę Px (I3ff33)
- W ramach dużego refaktoryzacji zastąpiono użycie klasy Px w różnych klasach kompozycji, aby w przypadku parametrów pikseli używać tylko typów Dp i pierwotnych (Id3434).
- Przenikanie może teraz działać z wartością null jako wartością początkową (Iad6a4, b/155947711)
- Zastąpiono użycie klasy Px w różnych klasach Compose w ramach dużego refaktoryzacji, aby w przypadku parametrów pikseli używać tylko typów Dp i podstawowych (I19d02).
- Ujednoliciliśmy implementacje CanvasScope, więc teraz są tylko DrawScope i ContentDrawScope. Zmieniliśmy nazwę CanvasScope na DrawScope. Zaktualizowano DrawScope, aby implementować interfejs Density i udostępniać LayoutDirection. Usunięto podklasę DrawScope w ContentDrawScope. Zaktualizowano Painter i PainterModifier, aby nie utrzymywały już same właściwości RTL, ponieważ DrawScope już je udostępnia bez ręcznego podawania (I1798e).
- Zaktualizowane interfejsy API Compose wyższego poziomu, które udostępniają Canvas, aby zamiast tego udostępniać CanvasScope. Dzięki temu konsumenci nie muszą utrzymywać własnych obiektów Paint. Użytkownicy, którzy nadal potrzebują dostępu do elementu Canvas, mogą użyć metody drawCanvas rozszerzenia, która zapewnia wywołanie zwrotne do wydawania poleceń rysowania za pomocą bazowego elementu Canvas. (I80afd)
- Dodaliśmy parametry verticalGravity i horizontalGravity odpowiednio do wiersza i kolumny. (I7dc5a)
- Moduł ui-text został zmieniony na ui-text-core (I57dec)
- Ulepszenie interfejsu DrawModifier API:
- Zmieniono zakres odbiornika funkcji draw() na ContentDrawScope
- Usunięto wszystkie parametry funkcji draw()
- DrawScope ma taki sam interfejs jak poprzedni CanvasScope
- ContentDrawScope ma metodę drawContent() (Ibaced, b/152919067)
runOnIdleComposeirunOnUiThreadsą teraz funkcjami globalnymi, a nie metodami w ComposeTestRule. (Icbe8f)- [Mutable]State property delegate operators moved to extensions
to support Kotlin 1.4 property delegate optimizations. Aby nadal używać funkcji
by state { ... }lubby mutableStateOf(...), wywołujący muszą dodać importy. (I5312c) - Komponent ColoredRect został wycofany. Użyj w zamian zasady
Box(Modifier.preferredSize(width, height).drawBackground(color)). (I499fa, b/152753731) - Zastąpienie operatora Modifier plus funkcjami rozszerzenia fabrycznego (I225e4)
- Wycofany komponent kompozycyjny Center. Należy go zastąpić modyfikatorem LayoutSize.Fill + LayoutAlign.Center lub jednym z kompozycji Box lub Stack z odpowiednimi modyfikatorami (Idf5e0).
- Zmieniono nazwę LayoutFlexible na LayoutWeight. Zmieniliśmy nazwę parametru „tight” na „fill”. (If4738)
- Funkcja typu „composable” Opacity została zastąpiona modyfikatorem drawOpacity. (I5fb62)
- Testy korzystające z AndroidComposeTestRule udostępniają teraz zegar animacji u podstaw kompozycji, który można wstrzymywać, wznawiać i ręcznie przesuwać do przodu. (Id54c5)
- Obsługa kierunku od prawej do lewej w modyfikatorze LayoutPadding (I9e8da)
- Parametry Density i DensityScope zostały połączone w jeden interfejs. Zamiast ambientDensity() możesz teraz używać DensityAmbient.current. Zamiast withDensity(density) używaj with(density) (I11cb1)
- Dodano metody kopiowania do różnych typów klas wbudowanych, w tym:
- Przesunięcie
- Rozmiar
- Promień
- Ruch
- TransformOrigin
- Metoda obiektu towarzyszącego Size.copy została wycofana na rzecz metody kopiowania instancji (Ife290, b/159905651)
- Klasa androidx.compose.ViewComposer została przeniesiona do androidx.ui.node.UiComposer.
Klasa androidx.compose.Emittable została usunięta. Było to zbędne w przypadku ComponentNode.
androidx.compose.ViewAdapters zostało usunięte. Nie są już obsługiwane.
Funkcja Compose.composeInto została wycofana. Użyj w zamian zasady
setContentlubsetViewContent. Metoda Compose.disposeComposition została wycofana. Zamiast tego użyj metodydisposena obiekcieCompositionzwróconym przezsetContent. Funkcja androidx.compose.Compose.subcomposeInto została przeniesiona do androidx.ui.core.subcomposeInto. Funkcja ComponentNode#emitInsertAt została zmieniona na ComponentNode#insertAt. Funkcja ComponentNode#emitRemoveAt została zmieniona na ComponentNode#removeAt. Funkcja ComponentNode#emitMode została zmieniona na ComponentNode#move (Idef00).