Utwórz animację
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(dokumentacja API dla wszystkich pakietów do tworzenia wiadomości)
Najnowsza aktualizacja | Wersja stabilna | Kandydat do wydania | Wersja Beta | Wydanie alfa |
---|---|---|---|---|
26 czerwca 2024 r. | 1.6.8 | - | 1.7.0-beta04 | - |
Struktura
Narzędzie Compose to połączenie 7 identyfikatorów grupy Maven w obrębie reguły androidx
. Każda grupa zawiera docelowy podzbiór funkcji, z których każda ma własny zestaw informacji o wersji.
W tej tabeli opisano grupy i linki do poszczególnych zestawów informacji o wersji.
Grupa | Opis |
---|---|
compose.animation, | Twórz animacje w aplikacjach Jetpack Compose, aby wzbogacać wrażenia użytkowników. |
compose.buildr | Przekształcaj funkcje @Composable i optymalizuj funkcje za pomocą wtyczki kompilatora Kotlin. |
compose.foundation | Twórz aplikacje w Jetpack Compose, używając gotowych do użycia elementów składowych, i rozbuduj podstawy, aby tworzyć własne elementy systemu. |
compose.material, | Twórz interfejsy Jetpack Compose z gotowymi do użycia komponentami Material Design. Jest to punkt wejścia wyższego poziomu w Composer, który ma dostarczać komponenty pasujące do tych opisanych na www.material.io. |
compose.material3, | Twórz interfejsy Jetpack Compose z komponentami Material Design 3, które stanowią kolejną wersję Material Design. Material 3 ma zaktualizowane motywy i komponenty oraz funkcje personalizacji Material You, takie jak dynamiczne kolory, i został zaprojektowany tak, aby był spójny z nowym stylem wizualnym i interfejsem systemu na Androidzie 12. |
compose.runtime, | Podstawowe elementy składowe modelu programowania i zarządzania stanem w Compose oraz podstawowe środowisko wykonawcze, na które ma być kierowana wtyczka kompilatora Compose. |
compose.ui, | Podstawowe elementy interfejsu tworzenia wiadomości niezbędne do interakcji z urządzeniem, w tym układ, rysowanie i wprowadzanie tekstu. |
Deklarowanie zależności
Aby dodać zależność w Compose, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.
W pliku build.gradle
aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:
Odlotowy
dependencies { implementation "androidx.compose.animation:animation:1.6.8" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.14" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.6.8") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.14" } kotlinOptions { jvmTarget = "1.8" } }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli odkryjesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj istniejące problemy w tej bibliotece. Możesz oddać swój głos do istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia do śledzenia problemów.
Wersja 1.7
Wersja 1.7.0-beta04
26 czerwca 2024 r.
Usługa androidx.compose.animation:animation-*:1.7.0-beta04
została zwolniona. Wersja 1.7.0-beta04 zawiera te zatwierdzenia.
Wersja 1.7.0-beta03
12 czerwca 2024 r.
Usługa androidx.compose.animation:animation-*:1.7.0-beta03
została zwolniona. Wersja 1.7.0-beta03 zawiera te zatwierdzenia.
Wersja 1.7.0-beta02
29 maja 2024 r.
Usługa androidx.compose.animation:animation-*:1.7.0-beta02
została zwolniona. Wersja 1.7.0-beta02 zawiera te zatwierdzenia.
Wersja 1.7.0-beta01
14 maja 2024 r.
Usługa androidx.compose.animation:animation-*:1.7.0-beta01
została zwolniona. Wersja 1.7.0-beta01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Nowe
resizeModes
(ScaleToBounds
iRemeasureToBounds
) dlasharedBounds
umożliwiają wybór skalowania lub ponownego pomiaru. Poprzednie interfejsy APIscaleIn/OutSharedContentToBounds
zostały wycofane. (I0d41a)
Treści tłumaczone przez użytkowników zewnętrznych
- Eksperymentalna funkcja
SharedTransitionScope
to teraz interfejs, a nie klasa. (Iaf856, b/338415048, b/338414702)
Wersja 1.7.0-alpha08
1 maja 2024 r.
Usługa androidx.compose.animation:animation-*:1.7.0-alpha08
została zwolniona. Wersja 1.7.0-alfa08 zawiera te zatwierdzenia.
Zmiany interfejsu API
LookaheadScope
interfejs API został stabilny. (I21507)
Treści tłumaczone przez użytkowników zewnętrznych
- Wyczyść czas rozpoczęcia animacji po animacji/zaciągnięciu użytkownika
SeekableTransitionState
przez Stevena Schoena (1ca89529)
Wersja 1.7.0-alpha07
17 kwietnia 2024 r.
Usługa androidx.compose.animation:animation-*:1.7.0-alpha07
została zwolniona. Wersja 1.7.0-alfa07 zawiera te zatwierdzenia.
Nowe funkcje
- Nowe interfejsy API do przenoszenia elementów udostępnionych czekają na Ciebie i Twoją opinię. Te nowe, eksperymentalne interfejsy API umożliwiają dodawanie tagów do układów udostępnianych w drzewie układu za pomocą dostępnych modyfikatorów, dzięki czemu granice płynnie zmieniają granice, gdy jeden zbiór udostępnionych treści opuszcza witrynę, a pojawia się drugi. (Icb0b9)
- Nowe
scaleInSharedContentToBounds
iscaleOutSharedContentToBounds
do skalowania treści wsharedBounds
(I731c1)
Zmiany interfejsu API
AnimatedVisibilityScope.transition
to teraz stabilny interfejs API. UrządzenieModifier.animateEnterExit(..)
również jest stabilne. (I6c1d1).ApproachLayoutModifierNode
iModifier.approachLayout
są teraz stabilne. Zastąpiły je odpowiednio nowe wersjeisMeasurementApproachInProgress()
iisPlacementApproachInProgress()
, które zastąpią odpowiednio stareisMeasurementApproachComplete()
iisPlacementApproachComplete()
.- Usunięto wycofany modyfikator
intermediateLayout
. (I3E91C). - Możesz teraz przekazać wartość
periodicBias
(zmiennoprzecinkową) do funkcjikeyframesWithSpline
. Dzięki temu prędkość początkowa i końcowa krzywej będą takie same. Ta opcja jest przydatna w przypadku powtarzalnych animacji utworzonych z wykorzystaniem splinii. Odchylenie wskazuje, jak bardzo każda prędkość (początkowa i końcowa) jest modyfikowana w celu uzyskania okresowości. (Ic1e6c, b/292114811)
Poprawki błędów
- Poprawiono zbyt długie i niedostateczne krzywe wygładzania, które wcześniej były ograniczane do wartości 0..1 (I38747).
Wersja 1.7.0-alpha06
3 kwietnia 2024 r.
Usługa androidx.compose.animation:animation-*:1.7.0-alpha06
została zwolniona. Wersja 1.7.0-alfa06 zawiera te zatwierdzenia.
Nowe funkcje
- Obsługa animacji wyglądu i znikania elementów została dodana do
LazyColumn
iLazyRow
. Wcześniej można było dodać modyfikatorModifier.animateItemPlacement()
w celu obsługi animacji miejsca docelowego (zmiany kolejności). Wycofaliśmy ten modyfikator i wprowadziliśmy nowy, nieeksperymentalny modyfikator o nazwieModifier.animateItem()
, który umożliwia obsługę wszystkich 3 typów animacji: wyglądu (rozjaśniania), znikania (zanikania) i zmiany kolejności. (I2d7f7, b/330152398, b/150812265)
Poprawki błędów
- Zwiększona wydajność interfejsu API
updateTransition
.
Wersja 1.7.0-alpha05
20 marca 2024 r.
Usługa androidx.compose.animation:animation-*:1.7.0-alpha05
została zwolniona. Wersja 1.7.0-alfa05 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Funkcja
SeekableTransitionState
zastępuje elementsnapTo()
elementemseekTo()
i dodaje elementsnapTo()
, który natychmiast zmienia stan na stan docelowy bez żadnej animacji.
Wersja 1.7.0-alpha04
6 marca 2024 roku
Usługa androidx.compose.animation:animation-*:1.7.0-alpha04
została zwolniona. Wersja 1.7.0-alfa04 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Nowy interfejs API
Path.reverse()
do odwrócenia kierunku ścieżki (I36348)
Wersja 1.7.0-alpha03
21 lutego 2024 r.
Usługa androidx.compose.animation:animation-*:1.7.0-alpha03
została zwolniona. Wersja 1.7.0-alfa03 zawiera te zatwierdzenia.
Nowe funkcje
- Nowy element
Modifier.animateContentSize
, który wymaga dodatkowego parametru niestandardowego wyrównywania treści. (I5623a, b/269803907) - Nowa eksperymentalna wartość
DeferredTargetAnimation
do animowania rozmiaru, pozycji lub innego celu, który jest nieznany podczas tworzenia instancji. (I60745)
Wersja 1.7.0-alpha02
7 lutego 2024 r.
Usługa androidx.compose.animation:animation-*:1.7.0-alpha02
została zwolniona. Wersja 1.7.0-alfa02 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawka zgodności dla aplikacji
KeyframesSpec
. (I2bdf3, b/322214617) - Rozwiązaliśmy problem z resetowaniem urządzenia
Modifier.animateContentSize
w przypadku aplikacjiLazyList
. (I070512, b/322525716) - Naprawiono
IllegalStateException
w przypadkuKeyframesSpec
korzystania z sygnatury czasowej spoza zakresu. (I341b8, b/322839811)
Wersja 1.7.0-alpha01
24 stycznia 2024 r.
Usługa androidx.compose.animation:animation-*:1.7.0-alpha01
została zwolniona. Wersja 1.7.0-alfa01 zawiera te zatwierdzenia.
Wersja 1.6
Wersja 1.6.8
12 czerwca 2024 r.
Usługa androidx.compose.animation:animation-*:1.6.8
została zwolniona. Wersja 1.6.8 zawiera te zatwierdzenia.
Wersja 1.6.7
1 maja 2024 r.
Usługa androidx.compose.animation:animation-*:1.6.7
została zwolniona. Wersja 1.6.7 zawiera te zatwierdzenia.
Wersja 1.6.6
17 kwietnia 2024 r.
Usługa androidx.compose.animation:animation-*:1.6.6
została zwolniona. Brak zmian od poprzedniej wersji
Wersja 1.6.5
3 kwietnia 2024 r.
Usługa androidx.compose.animation:animation-*:1.6.5
została zwolniona. Wersja 1.6.5 zawiera te zatwierdzenia.
Wersja 1.6.4
20 marca 2024 r.
Usługa androidx.compose.animation:animation-*:1.6.4
została zwolniona. Wersja 1.6.4 zawiera te zatwierdzenia.
Wersja 1.6.3
6 marca 2024 roku
Usługa androidx.compose.animation:animation-*:1.6.3
została zwolniona. Wersja 1.6.3 zawiera te zatwierdzenia.
Wersja 1.6.2
21 lutego 2024 r.
Usługa androidx.compose.animation:animation-*:1.6.2
została zwolniona. Wersja 1.6.2 zawiera te zatwierdzenia.
Wersja 1.6.1
7 lutego 2024 r.
Usługa androidx.compose.animation:animation-*:1.6.1
została zwolniona. Wersja 1.6.1 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawka zgodności dla aplikacji
KeyframesSpec
. (I2bdf3, b/322214617)
Wersja 1.6.0
24 stycznia 2024 r.
Usługa androidx.compose.animation:animation-*:1.6.0
została zwolniona. Wersja 1.6.0 zawiera te zatwierdzenia.
Wersja 1.6.0-rc01
10 stycznia 2024 r.
Usługa androidx.compose.animation:animation-*:1.6.0-rc01
została zwolniona. Wersja 1.6.0-rc01 zawiera te zatwierdzenia.
Wersja 1.6.0-beta03
13 grudnia 2023 r.
Usługa androidx.compose.animation:animation-*:1.6.0-beta03
została zwolniona. Wersja 1.6.0-beta03 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Tymczasowo usunięto dane
scaleInToFitContainer
iscaleOutToFitContainer
z pakietuAnimatedContentTransitionScope
, ponieważ wymagają one obserwacji z wyprzedzeniem. Będą one dostępne, jeśli funkcja wyszukiwania z wyprzedzeniem jest domyślnie włączona lub będzie włączona w przyszłych wersjach.
Wersja 1.6.0-beta02
29 listopada 2023 r.
Usługa androidx.compose.animation:animation-*:1.6.0-beta02
została zwolniona. Wersja 1.6.0-beta02 zawiera te zatwierdzenia.
Wersja 1.6.0-beta01
15 listopada 2023 r.
Usługa androidx.compose.animation:animation-*:1.6.0-beta01
została zwolniona. Wersja 1.6.0-beta01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Nazwa
ExitTransition.Hold
została zmieniona naExitTransition.KeepUntilTransitionsFinished
, aby była bardziej zrozumiała. (I1C490) - Możesz teraz używać funkcji
keyframesWithSpline
do interpolowania dowolnej wartości wymiaru N za pomocą linii monotonnych. Jest to szczególnie przydatne w przypadku interpolowania wartości pozycji, takich jakOffset
,IntOffset
czyDpOffset
. Dodano jako eksperymentalny interfejs API.
Poprawki błędów
- Dodano obsługę mechanizmu renderowania dla gradientu automatycznego w
ArcLine
. (I4d5bb) - Zaimplementuj kod równa się i kod skrótu dla funkcji
PageSize.Fixed
. (Ie3ede, b/300134276) - Napraw problem ze zgodnością plików binarnych ze zmianą wstawienia okna. (IEE695).
- Usuń podstawową warstwę materiałową z elementu Material3/przycisku, ponieważ bez niego mikrotesty porównawcze wykazują lepszą skuteczność. (I55555)
Wersja 1.6.0-alpha08
18 października 2023 r.
Usługa androidx.compose.animation:animation-*:1.6.0-alpha08
została zwolniona. Wersja 1.6.0-alfa08 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Wycofano pole
KeyframesSpecConfig#with
na rzecz zasadyKeyframesSpecConfig#using
, która zachowuje wzorzec konstruktora. (I1d769).
Wersja 1.6.0-alpha07
4 października 2023 roku
Usługa androidx.compose.animation:animation-*:1.6.0-alpha07
została zwolniona. Wersja 1.6.0-alfa07 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Stałe i przewijane karty mają teraz warianty główne i dodatkowe. Są one prawidłowo zmapowane na kolor i działanie wskaźników zgodnie z definicją w Material3.
PrimaryScrollableTabRow
iSecondaryScrollableTabRow
udostępniają teraz stan przewijania. (Iec8f5, b/260572337)
Wersja 1.6.0-alpha06
20 września 2023 r.
Usługa androidx.compose.animation:animation-*:1.6.0-alpha06
została zwolniona. Wersja 1.6.0-alfa06 zawiera te zatwierdzenia.
Wersja 1.6.0-alpha05
6 września 2023 r.
Usługa androidx.compose.animation:animation-*:1.6.0-alpha05
została zwolniona. Wersja 1.6.0-alfa05 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodaliśmy funkcję
PathEasing
, by umożliwić podawanie dowolnej ścieżki do krzywej wygładzania. (Idb4b9)
Wersja 1.6.0-alpha04
23 sierpnia 2023 r.
Usługa androidx.compose.animation:animation-*:1.6.0-alpha04
została zwolniona. Wersja 1.6.0-alfa04 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Aby umożliwić deweloperom kontrolowanie postępu przenoszenia, dodaj
SeekableTransitionState
. (I8E69D)
Wersja 1.6.0-alpha03
9 sierpnia 2023 r.
Usługa androidx.compose.animation:animation-*:1.6.0-alpha03
została zwolniona. Wersja 1.6.0-alfa03 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Nowy typ przejścia wejścia/wyjścia, który skaluje treść na podstawie rozmiaru kontenera animowanego w animacji wejścia i wyjścia.
LookaheadScope
Funkcje kompozycyjne i interfejs są teraz stabilne. (Ifb2ce)
Wersja 1.6.0-alpha02
26 lipca 2023 r.
Usługa androidx.compose.animation:animation-*:1.6.0-alpha02
została zwolniona. Wersja 1.6.0-alfa02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Nowy
ExitTransition.Hold
do wyświetlania treści wychodzących wAnimatedContent
do momentu zakończenia przejść zarówno przez wejście, jak i wyjście. (I5984f) - Dodatkowe adnotacje do określania dozwolonych danych wejściowych do elementów kompozycyjnych (I51109)
Wersja 1.6.0-alpha01
21 czerwca 2023 r.
Usługa androidx.compose.animation:animation-*:1.6.0-alpha01
została zwolniona. Wersja 1.6.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
- Włącz pełną integrację
Modifier.animateContentSize
iAnimatedVisibility
z systemem podglądu, zgłaszając rozmiar docelowy w przebiegu podglądu.
Zmiany interfejsu API
- Nowa usługa w usłudze
IntrinsincMeasureScope
i jej implementacje (np.MeasureScope
), która wskazuje, czy bieżący pomiar jest przekazany dalej. (I7a812)
Poprawki błędów
- Usunięto przydziały ze wiosennych animacji. (IE9431)
- nazwa parametru wartości elementu Enum.valueOf zmieniona (Ia9b89)
- więcej zgłoszonych wyjątków od wartości enum (I818fe)
Wersja 1.5
Wersja 1.5.4
18 października 2023 r.
Usługa androidx.compose.animation:animation-*:1.5.4
została zwolniona. Wersja 1.5.4 zawiera te zatwierdzenia.
Wersja 1.5.3
4 października 2023 roku
Usługa androidx.compose.animation:animation-*:1.5.3
została zwolniona. Ta wersja nie zawiera zmian
Wersja 1.5.2
27 września 2023 r.
Usługa androidx.compose.animation:animation-*:1.5.2
została zwolniona. Wersja 1.5.2 zawiera te zatwierdzenia.
Wersja 1.5.1
6 września 2023 r.
Usługa androidx.compose.foundation:foundation-*:1.5.1
została zwolniona. Wersja 1.5.1 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawiono pola tekstowe przedstawiające klawiaturę i można je było edytować, gdy
readOnly
ma wartość prawda. Rozwiązaliśmy też problem z klawiaturą, która nie wyświetlała się, gdy zasadareadOnly
po zaznaczeniu została zmieniona z „prawda” na „fałsz”. (I34a19, b/246909589)
Wersja 1.5.1
6 września 2023 r.
Usługa androidx.compose.animation:animation-*:1.5.1
została zwolniona. Wersja 1.5.1 zawiera te zatwierdzenia.
Wersja 1.5.0
9 sierpnia 2023 r.
Usługa androidx.compose.animation:animation-*:1.5.0
została zwolniona. Wersja 1.5.0 zawiera te zatwierdzenia.
Wersja 1.5.0-rc01
26 lipca 2023 r.
Usługa androidx.compose.animation:animation-*:1.5.0-rc01
została zwolniona. Wersja 1.5.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
Rozwiązaliśmy problem, który powodował, że wywołanie funkcji
.value
w stanie podstawowym (takim jakMutableIntState
) powodowało wyświetlenie ostrzeżenia o Lingu z nieprawidłową poprawką. Inspekcja będzie teraz zalecać migrację do właściwej usługi. (IBa953, b/287279257)Dostępna jest opcjonalna kontrola, która zaleca migrację wywołań
mutableStateOf()
do odpowiednich typów specjalistycznych obiektów podstawowych. Identyfikator linta toAutoboxingStateCreation
. Wcześniej ta kontrola była domyślnie włączona we wszystkich projektach. Aby zobaczyć to ostrzeżenie w edytorze Androida Studio oraz w danych wyjściowych projektu lint, zmień jego wagę z informacyjnej na ostrzeżenie (lub większą), zadeklarującwarning "AutoboxingStateCreation"
w konfiguracjibuild.gradle
lubbuild.gradle.kts
modułu, jak pokazano na przykładzie (I34f7e):android { lint { warning "AutoboxingStateCreation" } ... }
Wersja 1.5.0-beta03
28 czerwca 2023 r.
Usługa androidx.compose.animation:animation-*:1.5.0-beta03
została zwolniona. Wersja 1.5.0-beta03 zawiera te zatwierdzenia.
Wersja 1.5.0-beta02
7 czerwca 2023 r.
Usługa androidx.compose.animation:animation-*:1.5.0-beta02
została zwolniona. Wersja 1.5.0-beta02 zawiera te zatwierdzenia.
Wersja 1.5.0-beta01
24 maja 2023 r.
Usługa androidx.compose.animation:animation-*:1.5.0-beta01
została zwolniona. Wersja 1.5.0-beta01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Usunięto alokacje w zmianie kompozycji, animacji kolorów i funkcji
AndroidComposeView
(Ib2bfa).
Poprawki błędów
- Usunięto przydziały ze wiosennych animacji (Ie9431)
Wersja 1.5.0-alpha04
10 maja 2023 r.
Usługa androidx.compose.animation:animation-*:1.5.0-alpha04
została zwolniona. Wersja 1.5.0-alfa04 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Usługa
ContentKey
jest teraz obsługiwana w przeglądarceAnimatedContent
, aby zapewnić większą kontrolę nad momentem przejścia. (IC069b)
Wersja 1.5.0-alpha03
19 kwietnia 2023 r.
Usługa androidx.compose.animation:animation-*:1.5.0-alpha03
została zwolniona. Wersja 1.5.0-alfa03 zawiera te zatwierdzenia.
Nowe funkcje
- Nowe domyślne zachowanie dla funkcji
SubcomposeLayout
w aplikacjiLookaheadScope
. Dzięki niej paneleSubcomposeLayouts
, które nie mają przedziałów warunkowych (np.TabRow
,Scaffold
,BoxWithConstraints
itp.), będą dobrze działać z animacjami typu „widok z wyprzedzeniem”.
Zmiany interfejsu API
- Nowa domyślna wartość
intermediateMeasurePolicy
, która wykorzystuje ponownie zasadę pomiaru z przebiegu z wyprzedzeniem, zezwala podtypomSubcomposeLayout
bez przedziałów warunkowych, takim jakScaffold
,TabRow
iBoxWithConstraints
, domyślnie na współpracę z podglądem z wyprzedzeniem. (Id84c8). - Zmień nazwę zabawy w przyrostku na
togetherWith
, aby łączyć przejścia między wejściami i wyjściami. Nowy użytkownikAnimatedContentScope
jako odbiornik treści lambda. (IC39ae).
Wersja 1.5.0-alpha02
5 kwietnia 2023 r.
Usługa androidx.compose.animation:animation-*:1.5.0-alpha02
została zwolniona. Wersja 1.5.0-alfa02 zawiera te zatwierdzenia.
Nowe funkcje
- Nowy eksperymentalny interfejs API do obsługi wyszukiwania z wyprzedzeniem w
SubcomposeLayout
. Dzięki temuSubcomposeLayout
będzie działać prawidłowo wLookaheadScope
. Wkrótce udostępnimy więcej gotowej obsługi do określonych podtypów obiektuSubcomposeLayout
.
Zmiany interfejsu API
- Nowy interfejs API
SubcomposeLayout
, który wymaga dodatkowej zasady dotyczącej pomiarów pośrednich w zakresie obsługi logiki pomiaru/układu podczas animacji opartych na perspektywie. (I017d3)
Wersja 1.5.0-alpha01
22 marca 2023 r.
Usługa androidx.compose.animation:animation-*:1.5.0-alpha01
została zwolniona. Wersja 1.5.0-alfa01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Interfejsy API
AnimatedContent
są teraz stabilne, a nazwaAnimatedContentScope
została zmieniona naAnimatedContentTransitionScope
.scaleIn
iscaleOut
to teraz stabilne interfejsy 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
zostały opublikowane bez zmian (tylko skompletowanie wersji).
Wersja 1.4.2
19 kwietnia 2023 r.
androidx.compose.animation:animation:1.4.2
, androidx.compose.animation:animation-core:1.4.2
i androidx.compose.animation:animation-graphics:1.4.2
zostały udostępnione bez zmian. Wersja 1.4.2 zawiera te zatwierdzenia.
Wersja 1.4.1
5 kwietnia 2023 r.
androidx.compose.animation:animation:1.4.1
, androidx.compose.animation:animation-core:1.4.1
i androidx.compose.animation:animation-graphics:1.4.1
zostały 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
zostały udostępnione. Wersja 1.4.0 zawiera te zatwierdzenia.
Ważne zmiany wprowadzone od wersji 1.3.0
- Etykieta narzędzi jest obsługiwana w r
ememberInfiniteTransition
i wszystkich funkcjach rozszerzeń wInfiniteTransition
i przejściu (np.InfiniteTransition#animateColor
) (I56ef7)
Wersja 1.4.0-rc01
8 marca 2023 r.
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
zostały udostępnione bez zmian. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.
Wersja 1.4.0-beta02
22 lutego 2023 roku
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
zostały udostępnione bez zmian. Wersja 1.4.0-beta02 zawiera te zatwierdzenia.
Wersja 1.4.0-beta01
8 lutego 2023 r.
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
zostały 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
zostały udostępnione. Wersja 1.4.0-alfa05 zawiera te zatwierdzenia.
Zmiany
- Brak zmian w bibliotekach animacji od ostatniej wersji alfa – tylko zwiększenie liczby 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
zostały udostępnione. Wersja 1.4.0-alfa04 zawiera te zatwierdzenia.
Nowe funkcje
- Etykieta narzędzi jest obsługiwana w
rememberInfiniteTransition
i wszystkich funkcjach rozszerzeń wInfiniteTransition
iTransition
(np.InfiniteTransition#animateColor
) (I56ef7)
Zmiany interfejsu API
- Interfejsy API
InfiniteTransition#TransitionAnimationState
iInfiniteTransition#animations
są teraz publiczne. (I36682).
Wersja 1.4.0-alpha03
7 grudnia 2022 r.
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
zostały udostępnione. Wersja 1.4.0-alfa03 zawiera te zatwierdzenia.
Zmiany interfejsu API
- W testach interfejsu użytkownika z użyciem reguły tworzenia kontynuacje wznawiane w ramach wywołań zwrotnych
withFrameNanos
będą wysyłane dopiero po zakończeniu wykonywania wszystkich wywołań zwrotnych klatek. Odpowiada to działaniu funkcji tworzenia wiadomości przy normalnym działaniu. Testy, które bazują na starym sposobie działania, mogą się jednak nie udać. Powinno to mieć wpływ tylko na kod, który bezpośrednio wywołujewithFrameNanos
lubwithFrameMillis
, i ma logikę poza wywołaniem zwrotnym przekazywaną do tych funkcji, które być może trzeba przenieść w obrębie wywołań zwrotnych. Przykłady znajdziesz w opisie zmian w testach animacji w tej liście zmian. - Dodano opcjonalny parametr
onPerformTraversals: (Long) -> Unit
do konstruktora i funkcji fabrycznejTestMonotonicFrameClock
w celu uruchamiania kodu po wywołaniach zwrotnychwithFrameNanos
, ale przed wznowieniem współrzędnych elementów wywołujących. (Idb413, b/254115946, b/222093277, b/255802670) - Nowy parametr w usłudze
AnimatedContent
etykiety narzędzi (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
zostały udostępnione. Wersja 1.4.0-alfa02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodaj
ToolingState
, aby umożliwić narzędziom do zmiany wewnętrznych stanów funkcji kompozycyjnej (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
zostały udostępnione. Wersja 1.4.0-alfa01 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawianie nieprawidłowej animacji przerwy w projekcie 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
zostały udostępnione. Wersja 1.3.3 zawiera te zatwierdzenia.
- Brak zmian od wersji 1.3.2.
Wersja 1.3.2
7 grudnia 2022 r.
androidx.compose.animation:animation:1.3.2
, androidx.compose.animation:animation-core:1.3.2
i androidx.compose.animation:animation-graphics:1.3.2
zostały udostępnione. Wersja 1.3.2 zawiera te zatwierdzenia.
Poprawki błędów
- Zaktualizowano, aby zapewnić obsługę androidx.compose.ui 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
zostały 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
zostały udostępnione. Wersja 1.3.0 zawiera te zatwierdzenia.
Ważne zmiany wprowadzone od wersji 1.2.0
- Nowy zestaw funkcji wygładzania został stabilny
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
zostały 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
zostały 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
zostały udostępnione. Wersja 1.3.0-beta02 zawiera te zatwierdzenia.
- Z opcji kompilatora usunięto plik Kotlin.experimental, ponieważ został on usunięty
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
zostały udostępnione. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Wersja 1.3.0-alfa03
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
zostały udostępnione. Wersja 1.3.0-alfa03 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Nowy parametr w usługach
Crossfade
,animateAsState
iAnimatable
dla etykiety narzędzi (Iac08a) - Dodaliśmy funkcję
atFraction
do definiowania klatek kluczowych w ułamku, a nie w określonym czasie. (I20c76, b/232059455)
Wersja 1.3.0-alfa02
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
zostały udostępnione. Wersja 1.3.0-alfa02 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
zostały udostępnione. Wersja 1.3.0-alfa01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Nowy obiekt
LookaheadLayout
, który obsługuje przejście z wyprzedzeniem przed rzeczywistym wskaźnikiem lub układem. Pozwala to na wstępne obliczenie układu po jego zmianie, a jednocześnie umożliwia użycie obliczonego wcześniej rozmiaru lub pozycji do animowania rozmiaru i pozycji w kierunku celu, a wymiary lub układy z wyprzedzeniem mogą używać tych obliczonych wartości.SubcomposeLayouts
nie są jeszcze obsługiwane, ale zostaną udostępnione w nadchodzącej 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
zostały 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
zostały udostępnione. Wersja 1.2.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.1.0
- Animacja tworzenia wiadomości obsługuje teraz ustawienie „Skala czasu trwania animacji” w Opcjach programisty.
- Duży wybór nowych eksperymentalnych krzywych wygładzania.
AnimatedImageVector
obsługuje terazrepeatCount
irepeatMode
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
zostały 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
zostały udostępnione. Wersja 1.2.0-rc02 zawiera te zatwierdzenia.
Poprawki błędów
- Usunięto adnotację
ExperimentalEasingApi
z funkcji wygładzania (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
zostały udostępnione. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Interfejsy w bibliotekach tworzenia wiadomości 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
zostały udostępnione. Wersja 1.2.0-beta03 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodano eksperymentalne krzywe wygładzania do 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
zostały udostępnione. Wersja 1.2.0-beta02 zawiera te zatwierdzenia.
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
zostały udostępnione. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.
- Pierwsza wersja beta 1.2. Od ostatniej wersji alfa nie ma ż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
zostały udostępnione. Wersja 1.2.0-alfa08 zawiera te zatwierdzenia.
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
zostały udostępnione. Wersja 1.2.0-alfa07 zawiera te zatwierdzenia.
Zmiany interfejsu API
AnimatedImageVector
obsługuje terazrepeatCount
irepeatMode
(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
zostały udostępnione. Wersja 1.2.0-alfa06 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Zaktualizowaliśmy analizę analizy obiektów rysowanych wektorowych, aby zapewnić obsługę automatycznego odbicia lustrzanego w celu odwrócenia zawartości w elemencie
VectorPainter
, jeśli aktualnym układem jest układ od prawej do lewej. (I79cd9, b/185760237)
Poprawki błędów
- Zaktualizowano interfejsy API grafiki wektorowej, tak aby używały prawidłowej adnotacji kompozycyjnej
@VectorComposable
zamiast@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
zostały udostępnione. Wersja 1.2.0-alfa05 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Hurra! Animacja tworzenia wiadomości obsługuje teraz ustawienie „Skala czasu trwania animacji” w Opcjach programisty. (I5a4fc, b/161675988)
Wersja 1.2.0-alfa04
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
zostały udostępnione. Wersja 1.2.0-alfa04 zawiera te zatwierdzenia.
Wersja 1.2.0-alfa03
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
zostały udostępnione. Wersja 1.2.0-alfa03 zawiera te zatwierdzenia.
Wersja 1.2.0-alfa02
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
zostały udostępnione. Wersja 1.2.0-alfa02 zawiera te zatwierdzenia.
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
zostały udostępnione. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Aby wczytać plik zasobów
<animated-vector>
, użyjAnimatedImageVector.animatedVectorResource
zamiastanimatedVectorResource
.- Aby wygenerować tag
AnimatedImageVector
, użyjrememberAnimatedVectorResource
zamiastAnimatedImageVector#painterFor
. (I9c300)
- Aby wygenerować tag
Poprawki błędów
- Dodano metody toString do obiektów 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
zostały udostępnione. Wersja 1.1.1 zawiera te zatwierdzenia.
Poprawki błędów
- Napraw
NullPointerException
pod adresemandroidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
(aosp/1947059, b/206677462) - Naprawiono błąd spowodowany przez zawartość schowka przy odczytywaniu ze schowka na Androidzie. (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
zostały udostępnione. Wersja 1.1.0 zawiera te zatwierdzenia.
Ważne zmiany wprowadzone 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 mają rozszerzać obszar układu, aby zapewnić zgodność z wytycznymi dotyczącymi ułatwień dostępu Material Design rozmiar docelowego elementu dotykowego. 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 interfejs Compose Material ma takie samo zachowanie jak komponenty stylu Material Design, co zapewnia spójne zachowanie w przypadku połączenia widoków i tworzenia wiadomości. Ta zmiana zagwarantuje też, że w przypadku tworzenia UI z użyciem komponentów Compose Material, minimalne wymagania dotyczące ułatwień dostępu docelowych elementów dotykowych będą spełnione.
- Stabilna obsługa kolejki nawigacyjnej
- Przeniesienie niektórych wcześniej eksperymentalnych interfejsów API do wersji stabilnej
- pomoc dotycząca nowszych wersji 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
zostały udostępnione. Wersja 1.1.0-rc03 zawiera te zatwierdzenia.
Poprawki błędów
- Zaktualizowano, aby obsługiwała Material 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 udostępnione. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Aby wczytać plik zasobów
<animated-vector>
, użyjAnimatedImageVector.animatedVectorResource
zamiastanimatedVectorResource
.- Aby wygenerować tag
AnimatedImageVector
, użyjrememberAnimatedVectorResource
zamiastAnimatedImageVector#painterFor
. (I9c300)
- Aby wygenerować tag
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
zostały udostępnione. Wersja 1.1.0-beta04 zawiera te zatwierdzenia.
Nowe funkcje
- Zaktualizowano, aby była zgodna z platformą Kotlin
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
zostały udostępnione. Wersja 1.1.0-beta03 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodaliśmy nowy modyfikator Modifier.onPlaced, który umożliwia obserwowanie zmian miejsca docelowego. W związku z tym na podstawie zaobserwowanej zmiany miejsca docelowego można wprowadzić dodatkowe zmiany w przesunięciu modyfikatora podrzędnego. (I558fd).
Nowa obsługa ContentKey w przenikaniu. ContentKey będzie używany do sprawdzania równości w systemie animacji. Dlatego niestandardowe różnice stanów można osiągnąć przez określenie odpowiednich wartości 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
zostały udostępnione. Wersja 1.1.0-beta02 zawiera te zatwierdzenia.
Poprawki błędów
- Nowe interfejsy API animacji do obsługi narzędzi. Umożliwiają one narzędziu sprawdzanie animacji i ich konfiguracji w przejściach. (I4116e)
Wersja 1.1.0-beta01
27 października 2021 roku
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
zostały udostępnione. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Nowe interfejsy API animacji do obsługi narzędzi. Umożliwiają one narzędziu 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
zostały udostępnione. Wersja 1.1.0-alfa06 zawiera te zatwierdzenia.
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
zostały udostępnione. Wersja 1.1.0-alfa05 zawiera te zatwierdzenia.
Zmiany interfejsu API
EnterTransition
,ExitTransition
i niektóre interfejsy APIAnimatedVisibility
są stabilne. FunkcjaMutableTransitionState.isIdle
też nie jest już eksperymentalna. (I5072D)Zmiana niezbędna: wartości lambda w fabrykach Enter/ExitTransfer zostały przeniesione na ostatnią pozycję na liście parametrów. (I5072D)
Wersja 1.1.0-alfa04
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
zostały udostępnione. Wersja 1.1.0-alfa04 zawiera te zatwierdzenia.
Wersja 1.1.0-alfa03
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
zostały udostępnione. Wersja 1.1.0-alfa03 zawiera te zatwierdzenia.
Nowe funkcje
- Zaktualizowano funkcję Utwórz
1.1.0-alpha03
, aby bazowała na Kotlinie1.5.30
. (I74545)
Wersja 1.1.0-alfa02
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
zostały udostępnione. Wersja 1.1.0-alfa02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Element StartOffset jest teraz obsługiwany w trybie powtarzalnym i nieskończonym powtarzalnym, co umożliwia opóźnienie rozpoczęcia lub przyspieszenie animacji przed jej rozpoczęciem. To przesunięcie czasu rozpoczęcia się nie powtarza (Ic679f, b/195079908)
- Nowe przejście Enter/Exit dla skali. Można go używać w połączeniu z innymi typami przejść. (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
zostały udostępnione. Wersja 1.1.0-alfa01 zawiera te zatwierdzenia.
Zmiany interfejsu API
AnimatedImageVector
i powiązane z nim interfejsy API znajdują się teraz w nowym moduleandroidx.compose.animation:animation-graphics
. (I60873)
Poprawki błędów
- Przeniesiono
InfiniteAnimationPolicy
do :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 udostępnione. Wersja 1.0.5 zawiera te zatwierdzenia.
Poprawki błędów
- Usunięto problem ze śledzeniem awarii w instancjach originStateOf. (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 udostępnione. Wersja 1.0.4 zawiera te zatwierdzenia.
Aktualizacje zależności
- Zaktualizowano na podstawie usługi Kotlin
1.5.31
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 udostępnione. Wersja 1.0.3 zawiera te zatwierdzenia.
Aktualizacje zależności
- Zaktualizowano na podstawie usługi Kotlin
1.5.30
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 udostępnione. Wersja 1.0.2 zawiera te zatwierdzenia.
Zaktualizowano, aby obsługiwała wersję 1.0.2
Utwórz. Funkcja Compose 1.0.2
jest nadal zgodna z Kotlin 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 udostępnione. Wersja 1.0.1 zawiera te zatwierdzenia.
Aktualizacje zależności
- Zaktualizowano w zależności od systemu Kotlin
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 udostępnione. Wersja 1.0.0 zawiera te zatwierdzenia.
Główne funkcje 1.0.0
To jest pierwsza stabilna wersja Compose. Więcej informacji znajdziesz na oficjalnym blogu wersji Compose.
Znane problemy
Jeśli korzystasz z Android Studio Bumblebee Canary 4 lub AGP
7.1.0-alpha04
/7.1.0-alpha05
, może dojść do tej awarii:java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
Aby rozwiązać ten problem, tymczasowo zwiększ wartość parametru minSdkVersion w pliku
build.gradle
do wartości 24 lub nowszej. Ten problem zostanie naprawiony w następnej wersji Androida Studio Bumblebee i AGP7.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 udostępnione. 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 udostępnione. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Przeniesiono
InfiniteAnimationPolicy
do:androidx.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 udostępnione. Wersja 1.0.0-beta09 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Nowy element kompozycyjny
AnimatedContent
. Do zarządzania zmianą treści za pomocą konfigurowalnejContentTransform
w miarę pojawiania się nowych treści docelowych i opuszczania treści początkowych. Różne kombinacje przejść wejścia i wyjścia pozwalają uzyskać niestandardowy wygląd i styl strony. W ramach przekształcania treściAnimatedContent
automatycznie animuje swój rozmiar, aby dopasować go do przychodzących treści. (I2c3df). - Czcionka
ManualFrameClock
została usunięta. Jeśli chcesz sterować animacjami, użyjcomposeTestRule.mainClock
. (I3c3e8, b/189951065)
Dodane reguły profilu
Ta wersja dodaje reguły profilu do następujących modułów tworzenia wiadomości (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.tekst
- androidx.compose.ui.tekst
- androidx.compose.ui.jednostka
- androidx.compose.ui.util,
Co to są reguły profilu?
Reguły profilu dla biblioteki określa się w pliku tekstowym
baseline-prof.txt
znajdującym się w katalogusrc/main
lub podobnym. Plik określa regułę w każdym wierszu, gdzie reguła w tym przypadku jest wzorcem dopasowywania do metod lub klas w bibliotece. Składnia tych reguł jest elementem nadrzędnym w przypadku czytelnego dla człowieka formatu profilu ART, który jest używany, gdy używaszadb shell profman --dump-classes-and-methods ...
. Reguły te mogą kierować reklamy na metody lub klasy w jednej z dwóch form.Reguła metody będzie miała następujący wzorzec:
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
Reguła klasy będzie miała następujący wzorzec:
<CLASS_DESCRIPTOR>
<FLAGS>
to co najmniej jeden ze znakówH
,S
iP
wskazujących, czy ta metoda ma być oznaczona jako „Przebojowa”, „Uruchomienie” lub „Po uruchomieniu”.<CLASS_DESCRIPTOR>
to deskryptor klasy, do której należy wybrana metoda. Na przykład klasaandroidx.compose.runtime.SlotTable
miałaby deskryptorLandroidx/compose/runtime/SlotTable;
.<METHOD_SIGNATURE>
to podpis metody. Zawiera nazwę, typy parametrów i typy zwracanych metod. Na przykład metodafun isPlaced(): Boolean
wLayoutNode
ma podpisisPlaced()Z
.Aby jedna reguła obejmowała wiele metod lub klas, mogą one zawierać symbole wieloznaczne (
**
,*
i?
).
Do czego służą reguły?
Metoda z flagą
H
wskazuje, że jest to metoda „hot” i należy ją skompilować wcześniej.Metoda z flagą
S
wskazuje, że jest ona wywoływana przy uruchamianiu i należy ją skompilować z wyprzedzeniem, by uniknąć kosztów kompilacji i interpretacji podczas uruchamiania.Metoda z flagą
P
wskazuje, że jest to metoda, która jest wywoływana po uruchomieniu.Klasa znajdująca się w tym pliku wskazuje, że jest używana podczas uruchamiania i powinna być wstępnie przydzielona na stercie, aby uniknąć kosztów wczytywania klasy.
Jak to działa?
- Biblioteki mogą definiować reguły, które będą spakowane w artefaktach AAR. Kiedy powstaje aplikacja, która zawiera te artefakty, reguły te są łączone ze sobą, a scalone reguły służą do utworzenia kompaktowego binarnego profilu ART, który jest charakterystyczny dla aplikacji. ART może następnie wykorzystać ten profil, gdy aplikacja jest instalowana na urządzeniach, w celu z wyprzedzeniem skompilowania określonego podzbioru aplikacji w celu zwiększenia jej wydajności, zwłaszcza przy pierwszym uruchomieniu. Pamiętaj, że nie będzie to miało wpływu na aplikacje z możliwością debugowania.
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 udostępnione. Wersja 1.0.0-beta08 zawiera te zatwierdzenia.
Poprawki błędów
- Teraz
detectDragGesures
,detectVerticalGestures
idetectHorizontalGestures
automatycznie uwzględniają zmianę pozycji, więc nie trzeba wywoływać metody change.consumePositionChange w wywołaniach zwrotnych onDrag (I42fc4, b/185096350, b/187320697). - Pole
Modifier.onGloballyPositioned()
zostało zmienione tak, aby po zastosowaniu wszystkich modyfikatorów raportować współrzędne tego modyfikatora w łańcuchu modyfikatorów, a nie współrzędne układu. Oznacza to, że teraz kolejność modyfikatorów wpływa na to, jakie współrzędne będą podawane w raportach. (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 udostępnione. Wersja 1.0.0-beta07 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Nowy interfejs API
AnimatedVisibility
, który obsługuje widoczność do określenia wMutableTransitionState
. Umożliwia to również obserwowanie stanów animacji poza zakresemAnimatedVisibility
przez interfejsycurrentState
iisIdle
.- Pomoc dotycząca przenoszenia kont podrzędnych
- Obsługuj niestandardową animację wyjścia/wejścia w animacji widoczności za pomocą AnimationScope.transition.
- Nowy modyfikator animateEnterExit (dostępny dla wszystkich elementów podrzędnych)
- Wycofaliśmy interfejsy animowanej widoczności interfejsów 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 udostępnione. 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 udostępnione. 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 udostępnione. Wersja 1.0.0-beta04 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Instancje publiczne
RowScope
,ColumnScope
,BoxScope
,BoxWithConstraintsScope
zostały usunięte. (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 udostępnione. 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 udostępnione. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.
Poprawki błędów
- Egzekwuj ograniczenia dotyczące 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 udostępnione. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
To jest pierwsza wersja beta Compose 1.0.0.
Zmiany interfejsu API
- Pole
InteractionState
zostało zastąpione elementem[Mutable]InteractionSource
- Interfejsy odpowiadają za wysyłanie / zbieranie zdarzeń interakcji.
- Zamiast przekazywać
interactionState = remember { InteractionState() }
do komponentów takich jakButton
czyModifier.clickable()
, użyjinteractionSource = remember { MutableInteractionSource() }
. - Zamiast:
Interaction.Pressed in interactionState
użyj funkcji rozszerzeń w InteractionSource, takich jak InteractionSource.collectIsPressedAsState(). - W złożonych przypadkach możesz użyć parametru InteractionSource.interactions do obserwowania strumienia interakcji. Więcej informacji znajdziesz w dokumentacji i przykładach InteractionSource.
- (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
- Pakiety metod smooth ScrollBy i ScrollBy zostały zmienione na
androidx.compose.foundation.gestures.*
(I3f7c1, b/175294473) - Zmieniono nazwy modyfikatorów rozmiaru. Zmieniono nazwę modyfikatora.width/height/size na requiredWidth/requiredHeight/requiredSize. Zmieniono nazwę metody Modifier.preferredWidth/preferredHeight/preferredSize na szerokość/wysokość/rozmiar. (I5b414)
- Orientacja została przeniesiona do pakietu podstawowego. Przeniesiono aplikację VelocirtTracker z obszaru ui.gesture do witryny ui.input.pointer. (Iff4a8, b/175294473)
- Usunięto klasę AnimationClockObservable i jej podklasy. Element AnimatedFloat został usunięty. (Icde52, b/177457083)
- Modifier.draggable akceptuje teraz obiekt DraggableState zamiast prostej funkcji lambda. Możesz utworzyć stan za pomocą funkcji
rememberDraggableState { delta -> }
, aby uzyskać takie samo zachowanie jak wcześniej (Ica70f, b/175294473) - Usunięto interfejsy API animate, animacjaValue i AnimatedValue (If27bc, b/177457083)
- Element AnimationEndReason.Interrupted został usunięty. Anulowanie wyjątku będzie powodować zgłoszenie, jeśli animacja zostanie przerwana. (I2cbbc, b/179695417)
- Interfejs API TargetAnimation został usunięty. (If47d1, b/177457083)
Wersja 1.0.0-alfa12
10 lutego 2021 r.
androidx.compose.animation:animation:1.0.0-alpha12
i androidx.compose.animation:animation-core:1.0.0-alpha12
zostały udostępnione. Wersja 1.0.0-alfa12 zawiera te zatwierdzenia.
Zmiany interfejsu API
Modifier.pointerInput
wymaga teraz zapamiętania klawiszy wskazujących, kiedy współprogram wykrywania danych wejściowych wskaźnika ma zostać uruchomiony ponownie w przypadku nowych zależności. (I849cd)- Nazwa granic została zmieniona na DpRect (I4b32a).
- Ujednolicono nazwę parametru AnimationSpec z animowaną specyfikacją w systemie animacji. Ogranicz też wartość Enter/Exittransit, aby zaakceptować specyfikację FiniteAnimationSpec. (Ie47c5, b/177457083)
- Animatable.snapTo i Animatable.stop to teraz funkcje zawieszania (If4288)
- Podobnie jak poprzednio usunęliśmy funkcję
state { 0 }
kompozycyjną, a teraz promujemy jej użycie, takie jakremember { mutableStateOf(0) }
, usuniemy funkcjęsavedInstanceState { 0 }
kompozycyjną. Zamiast niego użyj parametrurememberSaveable { mutableStateOf(0) }
. Zostanie on automatycznie zapisany i przywrócony, jeśli typ użyty w MutableState może być przechowywany w pakiecie. Jeśli do tej pory przekazywano obiekt wygaszacza niestandardowego, teraz musisz użyć nowego przeciążenia funkcji meetSaveable, które zawiera parametrstateSaver
. Użycie będzie wyglądać tak:val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }
(Ib4c26, b/177338004) - Zaktualizowano podpis metody Przenikanie, aby był bardziej spójny z resztą systemu animacji. (IB05ed, b/177457083)
- Zapamiętano nazwę savedInstanceState(), aby korzystały z ! (I1366e, b/177338004)
- Nazwa RestorableStateHolder została zmieniona na SaveableStateHolder i została przeniesiona do pakietu androidx.compose.runtime.saveable. Nazwa metody wewnętrznej RestorableStateProvider została zmieniona na SaveableStateProvider. Typ ogólny został usunięty, więc można było przekazywać jako klucz „Dowolny”. Nie są już potrzebne adnotacje eksperymentalne. (I0902e, b/174598702)
- Zaktualizowano interfejs Modifier.animateContentSize API, aby był spójny z resztą systemu animacji. (I0bf75, b/177457083)
- Parametr AnimatedValue/Float został wycofany. Zamiast niej użyj Animatable. (I71345, b/177457083)
- Parametry tapTrackingFilter, DoubleTapStepFilter, longPressConsentFilter i PressIndicaitonTrackingFilter zostały wycofane. Użyj w zamian funkcji Modifier.clickable lub Modifier.pointerInput z funkcją wykrywaniaTapSteps. (I6baf9, b/175294473)
- Wprowadziliśmy współrzędny element kontekstu
InfiniteAnimationPolicy
, który będzie stosowany w nieskończoność animacji. Domyślnie żadna zasada nie jest instalowana, chyba że przeprowadzasz testy z użyciemComposeTestRule
. (I50ec4, b/151940543) - Usunęliśmy metody niszczenia i copy() z kilku klas, w których były one rzadko używane. (I26702, b/178659281)
- Czas odtwarzania animacji nie jest już podawany w nanosekundach (If776a)
- Artefakt compose:runtime-dispatch został wycofany. MonotonicFrameClock znajdziesz teraz w polecenia compose:runtime, a AndroidUiDispatcher – w compose:ui. (IB5c36)
- Dodano
Animation.isInfinite
iVectorizedAnimationSpec.isInfinite
, które sygnalizują, czy animacja jest nieskończona. Możesz go wykorzystać w implementacjach animacji, by zapewnić specjalny sposób obsługi takich animacji. Może się na przykład wyświetlić specjalny komunikat o pozostałym czasie lub w trakcie testów można anulować animację, aby zapobiec oczekiwaniu na czas bezczynności. (Iebb05, b/151940543) - Jako typu czasu animacji użyj opcji Długi czas zamiast Czas działania (Ie3aa7, b/177420019)
Wersja 1.0.0-alfa11
28 stycznia 2021 roku
androidx.compose.animation:animation:1.0.0-alpha11
i androidx.compose.animation:animation-core:1.0.0-alpha11
zostały udostępnione. Wersja 1.0.0-alfa11 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Przejście na podstawie definicji przejścia zostało wycofane (I0ac57)
- Dodano pole etykiety umożliwiające przejście i animacje podrzędne wyświetlane w narzędziach (I619fb).
- animateAsState to teraz animateFooAsState, gdzie Foo to typ animowanej zmiennej, np. Float, Dp, Offset itp. (Ie7e25)
- Nowy Infinitecząc, który obsługuje dowolną liczbę animacji podrzędnych. (I1da81).
- Zmienia interfejsy parametrów stanowych Material w funkcje @Composable, które zwracają wartość
State<T>
. Dodaje funkcję Animatable.asState(), która ułatwia konwertowanie obiektu Animatable na stan. Zmienia też działanie animacji Elevation na rozszerzenie w trybie zawieszenia w Animatable. (If613c).
Poprawki błędów
- Interfejsy onCommit, onDispose i onActive zostały wycofane i zastąpione interfejsami SideEffect i DiposableEffect (If760e).
- Obsługiwany jest stan początkowy w trakcie aktualizacji (Ifd51d)
- Do obrazów i ikon został dodany parametr Opis treści. Służy do opisania usług ułatwień dostępu (I2ac4c).
- Nieprawidłowo i kompozytoryzacja() zostały wycofane. Zastąpiono je odpowiednio recomposeScope i ReminderCompositionReference. (I583a8)
- Czas trwania i czas działania zostaną zastąpione długimi milisekundami, a ten krok eliminuje zależność danych wejściowych wskaźnika do tych klas. (Ia33b2, b/175142755, b/177420019)
- klikalne, włączane i klikalne można teraz tworzyć poza kompozycją (I0a130, b/172938345, b/175294473)
- Wygładzanie zostało zmienione na interfejs funkcjonalny (Ib14e5)
- Nowa metoda fabryczna
items(count: Int)
dla zakresu LazyColumn/LazyRow/LazyVerticalGrid.items(items: List)
iitemsIndexed(items: List)
to teraz funkcje rozszerzeń, więc trzeba je importować ręcznie, gdy są używane. Nowe przeciążenia rozszerzeń dla tablic: items(items: tablica) i itemIndexed(tablica) (I803fc, b/175562574) - Wykorzystanie narzędzia TestCoroutineDispatcher w testowaniu (I532b6)
- Usunięto metodę PointerInputData i zmodyfikowaliśmy ją, aby dodać do niej wszystkie pola PointerInputData. Obiekty PointerInputEvent i PointerInputEventData są wewnętrzne, 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 udostępnione. Wersja 1.0.0-alfa10 zawiera te zatwierdzenia.
Zmiany interfejsu API
- zmodyfikowano Prędkość, aby uwzględnić części składowe i operacje matematyczne. (IB0447)
- Zmieniliśmy nazwę
@ExperimentalTesting
na@ExperimentalTestApi
, aby była zgodna z podobnymi eksperymentalnymi adnotacjami interfejsu API (Ia4502, b/171464963) - Zmieniono nazwę pozycji na DpOffset i usunęliśmy getRange() (Ib2dfd).
- Usunięto publiczny interfejs API Any.identityHashCode() (I025d7).
Poprawki błędów
- Nowy interfejs API
Animatable
oparty na współudziale, który zapewnia wzajemną wyłączność wśród animacji. Nowa specyfikacja DecayAnimationSpec, która obsługuje wielowymiarową animację rozpadu (I820f2, b/168014930) - Metoda
animate()
została zastąpiona przezanimateAsState()
, która zwracaState<T>
zamiastT
. Zwiększa to wydajność, ponieważ zakres unieważniania można zawęzić do miejsca, w którym odczytywana jest wartość stanu. (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 udostępnione. Wersja 1.0.0-alfa09 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Przeniesiono Dp.VectorConverter, Position.VectorConverter itp. do animation-core oraz wycofaliśmy stare rozwiązanie VectorConveters (If0c4b).
- Wprowadziliśmy zupełnie nowy zestaw interfejsów API przejść, które są łatwiejsze w użyciu i obsługują dynamicznie dodawane animacje i dynamicznie obliczane cele animacji. Te interfejsy API są oznaczone jako eksperymentalne, co pozwala łatwo je odróżnić od interfejsu API opartego na MigrateDefinition. (IA7fe3).
Poprawki błędów
- Funkcje lambda w modyfikatorach przesunięcia zwracają teraz wartość IntOffset, a nie liczbę zmiennoprzecinkową. (Ic9ee5, b/174137212, b/174146755)
- Wycofano LazyColumnFor, LazyRowFor, LazyColumnForIndexed i LazyRowForIndexed. Użyj LazyColumn i LazyRow (I5b48c)
- W przypadku zawieszania interfejsów API danych wejściowych wskaźnika zmieniliśmy nazwę HandlePointerInputScope na AwaitPointerEventScope i HandlePointerInput() na awaitPointerEventScope(). (Idf0a1, b/175142755).
- Nowa funkcja nieskończoności powtarzania do tworzenia specyfikacji InfiniteRepeatableSpec (I668e5)
- Usunięto adnotację ExperimentalPointerInput (Ia7a24).
Wersja 1.0.0-alpha08
Grudzień 2, 2020
androidx.compose.animation:animation:1.0.0-alpha08
i androidx.compose.animation:animation-core:1.0.0-alpha08
zostały udostępnione. Wersja 1.0.0-alfa08 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodano sprawdzanie nazw i pozycji parametrów kompozycyjnych lambda w celu sprawdzenia spójności z wytycznymi dotyczącymi tworzenia wiadomości.
Zgodnie ze sprawdzaniem lintowania i wskazówkami przenieśliśmy też niektóre interfejsy API z użyciem nazwy
children
jako nazwy końcowej lambdy docontent
. (Iec48e). - Usunięto wcześniej wycofane interfejsy API:
- Usunięto:
Modifier.onPositioned
. Użyj:Modifier.onGloballyPositioned
. - Usunięto:
Modifier.onDraw
. Użyj:Modifier.onDrawBehind
. - Usunięto:
Modifier.plus
. Użyj:Modifier.then
. - Usunięto:
Color.Unset
. Użyj:Color.Unspecified
. - Zajęcia
PxBounds
zostały usunięte. Zamiast nich użyj:Rect
. - (IE9d02, b/172562222)
- Usunięto:
- Tymczasowo dodano opcję pozwalającą, by zegar TestAnimationClock był wywoływany przez MonotonicFrameClock (I1403b, b/173402197)
Poprawki błędów
- Zgodnie z opiniami Rady ds. API zmodyfikowaliśmy też nazwę Modifier.drawLayer na Modifier.graphicsLayer. Wraz z opiniami rady ds. API zaktualizowaliśmy też powiązane klasy na GraphicsLayer. (I0bd29, b/173834241)
- W drewnie dodaliśmy
interfejs API Modifier.scale/rotate.
- Zmieniono nazwę Modifier.drawOpacity na Modifier.alpha
- Zmieniono nazwę Modifier.drawShadow na Modifier.shadow (I264ca, b/173208140)
- Sprawia, że pola czasu działania i pozycji PointerInputData nie mają wartości null. (Id468a).
- Zmieniono nazwy modyfikatorów przesunięciaPx na przesunięcie. Wykorzystują teraz parametry lambda zamiast stanu State. (Ic3021, b/173594846)
- Nowe interfejsy API do uruchamiania animacji w współrzędnych (Ied662)
- Wycofany komponent Ambient został wycofany z sufiksem
Ambient
i zastąpił je nowymi właściwościami z prefiksem Ambient zgodnie z innymi wytycznymi dotyczącymi interfejsu Ambients i Compose API. (I33440) - Kontrola czasu w testach (TestAnimationClock i jego zastosowania) jest obecnie w fazie eksperymentalnej (I6ef86, b/171378521)
- Usuń stary moduł testowania interfejsu i jego złącza (I3a7cb)
- Nazwa funkcji
RestorableStateHolder.withRestorableState
została zmieniona naRestorableStateProvider
(I66640) - Interfejs Wyrównania został zaktualizowany i działa. (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 udostępnione. Wersja 1.0.0-alfa07 zawiera te zatwierdzenia.
Poprawki błędów
- Podstawowe funkcje AmbientTextStyle, ProvideTextStyle i AmbientContentColor zostały wycofane. Zamiast nich używaj nowych wersji dostępnych w bibliotece Material Design. W przypadku aplikacji innych niż Material Design należy utworzyć własny system projektowania specyficznych dla nich motywów graficznych, z którego można korzystać w własnych komponentach. (I74acc, b/172067770)
- Foundation.Text została wycofana i zastąpiona materiałem material.Text. Informacje o podstawowym, nieopiniowanym interfejsie API tekstowym, który nie przetwarza wartości z motywu, znajdziesz na stronie androidx.compose.foundation.BasicText. (If64cb).
- Element MeasureResult został przeniesiony z obiektu MeasureScope. (Ibf96d, b/171184002)
- Kilka symboli związanych z układem zostało przeniesionych z 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 udostępnione. Wersja 1.0.0-alfa06 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Włącz przejścia w ComposeTestRule. Usuń tę opcję, by włączyć migający kursor z reguły 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 udostępnione. Wersja 1.0.0-alfa05 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Nowy interfejs i podklasy animacji: te klasy przechowują warunki rozpoczęcia i zakończenia animacji i dlatego umożliwiają wysyłanie zapytań o wartości i prędkości tylko na podstawie czasu odtwarzania (Ie95bd, b/163329867)
Poprawki błędów
- Nazwa OnPositionedModifier została zmieniona na OnGloballyPositionedModifier, a nazwa onPositioned() została zmieniona na onGloballyPositioned(). (I587e8, b/169083903).
Wycofuje interfejsy API contentColor() i currentTextStyle(), a następnie zastępuje je odpowiednio środowiskom AmbientContentColor i AmbientTextStyle. Aby uzyskać dostęp do bieżącej wartości, użyj właściwości
.current
z właściwości trybu nieaktywnego, jak w przypadku każdego innego elementu otoczenia. Zmiana ta została wprowadzona w celu zachowania spójności i uniknięcia korzystania z wielu sposobów na osiągnięcie tego samego celu. Dodatkowo zmienia nazwy niektórych właściwości elementów otoczenia, by lepiej opisać 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 udostępnione. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.
Zmiany interfejsu API
Poprawki błędów
- Zaktualizowano wiele interfejsów Graphics API.
- Zaktualizowaliśmy interfejsy API skalowania i obrotu przekształcania, aby wykorzystywały pojedynczy parametr Offset do reprezentowania współrzędnych przestawnej zamiast osobnych parametrów zmiennoprzecinkowych dla współrzędnych x/y w DrawScope i DrawTransform
- Usunięto metody Rect.expandToInclude i Rect.join
- Zaktualizowaliśmy dokumentację dotyczącą promieni eliptycznych. Oprócz eliptycznego
- Dodaliśmy dokumentację wskazującą, że publiczny konstruktor dla wbudowanej klasy Radius nie powinien być wywoływany bezpośrednio, ale wystąpienie obiektów Radius należy tworzyć za pomocą ich konstruktorów funkcji.
- Usunęliśmy interfejsy RoundRect API do wysyłania zapytań dotyczących górnych praw, dolnych, dolnej, środkowej części itp.
- Wycofano Rect.shift na rzecz Rect.translate
- Usunięto interfejsy API RoundRect.grow i Rect.shrink
- Zmieniono nazwę RoundRect.outerRect na Rect.boundingRect
- Usunęliśmy metody RoundRect.middleRect/tallMiddleRect/wideMiddleRect i Rect.isStadium
- Nazwa RoundRect.longestSide została zmieniona na RoundRect.maxDimensions
- Zmieniono nazwę RoundRect.shortestSide na RoundRect.mindimension
- Zmieniono RoundRect.center na właściwość, a nie funkcję
- Zaktualizowaliśmy konstruktor RoundRect, który wykorzystuje właściwości typu Radius zamiast poszczególnych parametrów dla wartości promieni x/y.
- Usunęliśmy interfejsy Size API, które zakładały, że jest to prostokąt o źródle wartości 0,0
- Do interfejsu Radius dodano interfejs API destrukcyjny.
- Przenieśliśmy różne funkcje rozszerzenia RoundRect na właściwości
- (I8f5c7, b/168762961)
- Fundament.Box został wycofany. Zamiast niej użyj elementu Foundation.layout.Box. (IE5950, b/167680279)
- Nazwa stosu została zmieniona na Box. Dotychczasowa wersja Box zostanie wycofana i zastąpi nową nową wersją na stronie compose.foundation.layout. Działanie nowego pola to układanie elementów podrzędnych jedna nad drugą, jeśli ma ona kilka elementów podrzędnych. Różni się to od poprzedniej skrzynki, która działała podobnie jak kolumna. (I94893, b/167680279)
- Parametry dekoracji pola zostały wycofane. Jeśli chcesz dodać do pola ozdoby lub dopełnienie, użyj modyfikatorów (Modifier.background, Modifier.border, Modifier.splash) (Ibae92, b/167680279)
- Zablokowaliśmy statyczne importowanie treści zakresów układu (np.alignWithSiblings w RowScope). Zamiast niego należy stosować alternatywny zakres wyraźny:
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 udostępnione. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.
Poprawki błędów
- Spójnie przemianowaliśmy zastosowania grawitacji, aby wyrównać lub wyrównać interfejsy API układu. (I2421a, b/164077038)
Wersja 1.0.0-alpha02
Wrzesień 2, 2020
androidx.compose.animation:animation:1.0.0-alpha02
i androidx.compose.animation:animation-core:1.0.0-alpha02
zostały udostępnione. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.
Zmiany interfejsu API
Dodano
ManualFrameClock.hasAwaiters
, by sprawdzić, czy coś czeka na klatkę z tego zegara;runWithManualClock
jako zamiennikrunBlocking
w przypadku przeprowadzania testów, które wymagają ManualFrameClock;TestUiDispatcher.Main
daje łatwy dostęp do głównego dyspozytora UI w testach.Na 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
Interfejs onPreCommit został wycofany. Działanie onCommit działa teraz w ten sposób.
Metody onCommit i onActive działają teraz w tym samym ramce choreografa, w którym kompozycja została zmieniona, a nie na początku kolejnego kadru 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 udostępnione. Wersja 1.0.0-alfa01 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 udostępnione. Wersja 0.1.0-dev17 zawiera te zatwierdzenia.
Nowe funkcje
Zmiany interfejsu API
- Przesunięcie stało się klasą wbudowaną (Iaec70)
- IntOffset jest teraz klasą wbudowaną (Iac0bf).
- IntSize jest teraz klasą wbudowaną (I2bf42)
Element AnimatedVisibilty kompozycyjny animuje wygląd i znikanie treści podrzędnych.
Wprowadziliśmy przenoszenie i przechodzenie z trybu Exittransit we współpracy z funkcją kompozycyjną AnimatedVisibilty, która zapewnia 3 typy animacji wyglądu i znikania: zanikanie, przesuw i rozwijanie/zmniejszanie treści. Różne rodzaje animacji można łączyć, aby uzyskać bardziej spersonalizowany wygląd. (Idda11).
Wycofane PxBounds na rzecz Rect. Zaktualizowano wszystkie przypadki użycia PxBounds w polu „PxBounds” i dodano odpowiednie wycofanie/zastąpienie adnotacjami, aby wspomóc migrację. (I37038, b/162627058)
Poprawki błędów
- Nazwa usługi
PlacementScope.placeAbsolute()
została zmieniona naPlacementScope.place()
, a poprzednia nazwa (PlacementScope.place()
) naPlacementScope.placeRelative()
. W efekcie metodaPlacementScope.place()
nie będzie już automatycznie dublować położenia w kontekstach od prawej do lewej. Jeśli chcesz, użyjPlacementScope.placeRelative()
. (I873ac, b/162916675) - Funkcja kompozycyjna
state { ... }
została wycofana i zastąpiła jawne wywołaniaremember { mutableStateOf(...) }
, aby zapewnić przejrzystość. Zmniejsza to ogólną powierzchnię interfejsu API i liczbę pojęć związanych z zarządzaniem stanem. Dopasowanie do wzorcaby mutableStateOf()
w przypadku przekazywania właściwości klas. (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 udostępnione. Wersja 0.1.0-dev16 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Wbudowane konwertery wektorowe służące do konwersji jednostek wbudowanych są teraz dostępne w usłudze
Foo.VectorConverter
. np.Dp.VectorConverter
,Color.VectorConverter
,Float.VectorConverter
itp. (I3e273) - Obsługuj detektor końcowy w
Modifier.animateContentSize()
, dzięki czemu po zakończeniu animacji zmiany rozmiaru detektor otrzyma powiadomienie wraz z informacją o rozmiarze początku i końca animacji. (I277b2) - Nowy modyfikator animateContentSize, który animuje zmianę rozmiaru układu jego modyfikatora podrzędnego (Ieffdc)
Dodano
MonotonicFrameAnimationClock
, który umożliwia użycie MonotonicFrameClock jako elementuAnimationClockObservable
w celu wypełnienia luki między nowymi zegarami opartymi na współrzędnych a interfejsami API, które nadal używają starych zegarów opartych na wywołaniach zwrotnych.MonotonicFrameClock
Odpowiednik klasyManualAnimationClock
to terazManualFrameClock
. (I111c7, b/161247083)
Poprawki błędów
- Interfejsy API do obsługi tekstu od prawej do lewej zostały zaktualizowane. Dodano parametr LayoutDirectionAmbient, którego można używać do odczytywania i zmieniania kierunku układu. Modifier.rtl oraz Modifier.ltr zostały usunięte. (I080B3)
- Wymagaj wyraźnego określenia typu T w transitDefinition. (Zignorowano)
- pakiet Foundation.shape.corner został spłaszczony do pliku Foundation.share (I46491, b/161887429)
- Interfejs Modifier.plus został wycofany. Użyj interfejsu Modifier.then. Pole „To” daje silniejszy sygnał określający kolejność, ale uniemożliwia też wpisanie słowa
Modifier.padding().background() + anotherModifier
, które przerywa łańcuch i jest trudniejsze do odczytania (Iedd58, b/161529964). - Nazwa 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 udostępnione. Wersja 0.1.0-dev15 zawiera te zatwierdzenia.
Aktualizacja zależności
- Aby używać funkcji Compose
0.1.0-dev15
, musisz zaktualizować zależności zgodnie z nowymi fragmentami kodu pokazanymi powyżej w sekcji Deklarowanie zależności.
Zmiany interfejsu API
- Interfejs Impact API został zmieniony tak, aby zwracał wartość MigrateState zamiast przekazywać wartość przejśćState do elementów podrzędnych. Dzięki temu interfejs API jest bardziej spójny z interfejsami API aniate(). (I24e38)
- Dodano parametr modyfikatora dla przejścia (I87cfe, b/159706180)
- Użyj AnimationSpec zamiast AnimationBuilder w interfejsach API najwyższego poziomu, aby wyjaśnić koncepcję specyfikacji animacji statycznej.
- Ulepsz przejście DSL, usuwając wymaganie lambda przy tworzeniu specyfikacji animacji, takich jak starsze czy sprężyna. Zamiast tego korzystają bezpośrednio z parametrów konstruktora.
- Poprawa ogólna łatwość obsługi otwierania konstruktorów w ramach AnimationSpec zamiast używania konstruktorów
- Zmień czas trwania i opóźnienie ramek KeyFrame i Tween na Int. Eliminuje to niepotrzebne rzutowanie typów i przeciążanie metod (na potrzeby obsługi zarówno długich, jak i Int). (ICA0b4).
- Zastąpiliśmy wartość IntPx wartością IntPxPosition (Parametr IntPxPosition) wartością IntOffset. IntPxSize zastąpiono wartością IntSize. (IB7b44)
- Aby skonsolidować liczbę klas używanych do przedstawiania informacji o rozmiarze, ustandaryzuj użycie klasy Size zamiast PxSize. Dzięki temu w klasie wbudowanej można umieścić 2 wartości zmiennoprzecinkowe w postaci długiej do pakowania 2 wartości liczb zmiennoprzecinkowych, które reprezentują szerokość i wysokość reprezentowane przez liczbę zmiennoprzecinkową. (IC0191).
- Aby skonsolidować liczbę klas używanych do przedstawiania informacji o pozycji, ustandaryzuj użycie klasy Offset zamiast PxPosition. Dzięki temu w klasie wbudowanej można umieścić 2 wartości zmiennoprzecinkowe za pomocą funkcji „long” (długie) do reprezentowania przesunięcia x i y reprezentowanego jako liczby zmiennoprzecinkowe. (I3ad98).
- Zastąpiono użycie klasy Px w różnych klasach tworzenia w ramach dużych nakładów refaktoryzacyjnych, które polegały na używaniu w parametrach pikseli tylko typów Dp i typów podstawowych (I086f4).
- Dodano obsługę animacji Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds i AnimationVector (Ib7518).
- Przenikanie akceptuje teraz opcjonalny parametr AnimationBuilder, aby umożliwić skonfigurowanie animacji (I6d6e0)
- Wszystkie przypadki użycia koloru, które mogą przyjmować wartości null w interfejsie API, zastąpiono wartością niedopuszczającą wartości null i ustawiono wartość Color.Unset zamiast wartości null (Iabaa7).
- Usunięto klasę ValueHolder. Zmieniono strukturę klas AnimatedValue i AnimatedFloat, aby pole wartości animacji było abstrakcyjne, dzięki czemu podklasy będą mogły obserwować aktualizację wartości.
- Dodano klasy modelu dla elementów AnimatedValue, AnimatedFloat itp.
- Dodaliśmy nowy zestaw lekkiego interfejsu API @Composable do animacji między wartościami. (I79530)
- Zmiany w interfejsie API nieaktywnym. Szczegóły znajdziesz w logu i dokumentacji
Ambient<T>
(I4c7ee, b/143769776) - Nowy tryb powtarzania: Odwróć. Ten tryb odwraca poprzednią iterację, ponieważ animacja powtarza się w obiektach RepeatableSpec lub VectorizedRepeatableSpec. (Ibe0f5).
- Zmiany w interfejsie API ManualAnimationClock:
hasObservers: Boolean
i parametr konstruktoradispatchOnSubscribe: Boolean
(Iaa134) - Dodane interfejsy API do określania granic min./maks. w AnimatedFloat (Icd9cc)
Poprawki błędów
- Nazwa
runOnIdleCompose
została zmieniona narunOnIdle
(I83607) - Zmieniono nazwy kilku interfejsów API do testowania, aby były bardziej intuicyjne. Nazwy wszystkich interfejsów API „findXYZ” zostały zmienione na onNodeXYZ. Nazwy wszystkich interfejsów API doXYZ zostały zmienione na „performXYZ”. (I7f164)
- Wprowadzono niskopoziomowe interfejsy API do animacji bezstanowych. Te interfejsy API (I63bf7)
- Funkcja kompozycyjna „Przetwórz ponownie” nie jest już przydatną abstrakcją. Większość zmian kompozycji powinna następować w wyniku przypisań MutableState. W innych przypadkach zalecamy użycie funkcji
invalidate
do aktywowania przekomponowania bieżącego zakresu. (Ifc992). - Zastąpiliśmy użycie klasy Px w różnych klasach tworzenia w ramach dużych nakładów refaktoryzacyjnych, które polegały na używaniu w parametrach pikseli wyłącznie typów Dp i typów podstawowych. Cała klasa Px została usunięta (I3ff33).
- Zastąpiono użycie klasy Px w różnych klasach tworzenia w ramach dużej refaktoryzacji, która polegała wyłącznie na używaniu w parametrach pikseli tylko typów Dp i typów podstawowych (Id3434).
- Przenikanie może teraz działać z wartością początkową null (Iad6a4, b/155947711)
- Zastąpiono użycie klasy Px w różnych klasach tworzenia w ramach dużej refaktoryzacji polegającej na używaniu w parametrach pikseli tylko typów Dp i typów podstawowych (I19d02).
- Skonsolidowano implementacje CanvasScope, dzięki czemu powstaje tylko DrawScope i ContentDrawScope. Nazwa obiektu CanvasScope została zmieniona na DrawScope. Zaktualizowaliśmy DrawScope, aby wdrożyć interfejs Density i udostępnić interfejs LayoutDirection Usunięta podklasa DrawScope w ContentDrawScope Zaktualizowaliśmy aplikację Painter i painterModifier, aby nie utrzymywała już właściwości RTL, ponieważ DrawScope udostępnia ją już bez ręcznego podawania jej właściwości (I1798e)
- Zaktualizowano interfejsy API tworzenia wyższego poziomu, które udostępniają obiekt Canvas do wyświetlania obiektu CanvasScope. Dzięki temu konsumenci nie muszą utrzymywać własnych obiektów Paint. Klienci, którzy nadal potrzebują dostępu do obiektu Canvas, mogą skorzystać z metody rozszerzenia dropCanvas, która powoduje wywołanie zwrotne do poleceń rysowania na podstawie obiektu Canvas. (I80afd).
- Dodano parametry grawitacji pionowego i poziomego do wierszy oraz kolumn. (I7dc5a)
- Nazwa modułu ui-text została zmieniona na ui-text-core (I57dec).
- Ulepsz interfejs DrawModifier API:
- Zmieniono zakres odbiorcy dla metody Draw() ContentDrawScope
- Usunięto wszystkie parametry z dresz()
- Interfejs DrawScope jest taki sam jak poprzednia wersja CanvasScope
- ContentDrawScope ma metodę DrawContent() (Ibaced, b/152919067)
runOnIdleCompose
irunOnUiThread
to teraz funkcje globalne, a nie metody w ComposeTestRule. (Icbe8f).- [Mutable]Operatory delegowania właściwości stanu zostały przeniesione do rozszerzeń, aby obsługiwać optymalizację przekazywania właściwości Kotlin 1.4. Rozmówcy muszą dodać importowanie, aby dalej używać
by state { ... }
lubby mutableStateOf(...)
. (I5312C) - Interfejs ColoredRect został wycofany. Użyj w zamian zasady
Box(Modifier.preferredSize(width, height).drawBackground(color))
. (I499fa, b/152753731) - Zastąpienie operatora modyfikatora plus funkcjami rozszerzeń fabrycznych (I225e4).
- Wycofana funkcja kompozycyjna w centrum. Należy go zastąpić modyfikatorem LayoutSize.Fill + Layoutalizator.Center lub jednym z elementów kompozycyjnych Box albo Stack z odpowiednimi modyfikatorami (Idf5e0).
- Zmieniono nazwę Układ Elastyczny na Układ Weight. Zmieniono nazwę precyzyjnego parametru na wypełnienie. (If4738).
- Funkcja kompozycjonalna przezroczystości została zastąpiona modyfikatorem DrOpacity. (I5fb62)
- Testy wykonywane przy użyciu AndroidComposeTestRule zawierają teraz zegar animowany u góry kompozycji, dzięki czemu można ją wstrzymywać, wznawiać i ulepszać ręcznie. (Id54c5).
- Obsługa kierunku od prawej do lewej w modyfikatorze LayoutPadding (I9e8da).
- Interfejsy Density i DensityScope zostały połączone w jeden interfejs. Zamiast trybu nieaktywnego() możesz teraz używać obiektu DensityAmbient.current. Zamiast opcji Gęstość(gęstość) tylko za pomocą(gęstości) (I11cb1)
- Do różnych typów klas wbudowanych dodaliśmy metody kopiowania, takie jak:
- Przesunięcie
- Rozmiar
- Promień
- Ruch
- TransformOrigin
- Wycofana metoda obiektu towarzyszącego Size.copy preferuje metodę kopiowania instancji (Ife290, b/159905651)
- Aplikacja androidx.compose.ViewComposer została przeniesiona do androidx.ui.node.UiComposer.
androidx.compose.Emittable została usunięta. W przypadku węzła KomponentNode to niepotrzebne narzędzie.
Aplikacja androidx.compose.ViewAdapters została usunięta. Nie są już one obsługiwanym przypadkiem użycia.
Interfejs Compose.composeInto został wycofany. Użyj interfejsu
setContent
lubsetViewContent
. Metoda Compose.disposeComposition została wycofana. Użyj metodydispose
na obiekcieComposition
zwróconym przezsetContent
. Nazwa androidx.compose.Compose.subcomposeInto została przeniesiona do androidx.ui.core.subcomposeInto. Nazwa węzła #emitInsertAt została zmieniona na KomponentNode