Utwórz animację
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
Zapoznaj się z dokumentacją interfejsu API dotyczącą wszystkich pakietów tworzenia
Najnowsza aktualizacja | Wersja stabilna | Kandydat do wydania | Wersja Beta | Wydanie alfa |
---|---|---|---|---|
7 sierpnia 2024 r. | 1.6.8 | - | 1.7.0-beta07 | - |
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 wersji;
notatek.
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 usłudze 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ć repozytorium Google Maven do w projektach AI. Zapoznaj się z repozytorium Google Maven. .
Dodaj zależności artefaktów, których potrzebujesz w pliku build.gradle
aplikacji lub modułu:
Odlotowy
dependencies { implementation "androidx.compose.animation:animation:1.6.8" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.6.8") } 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.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli odkryjesz nowe problemy jak ulepszyć tę bibliotekę. Przyjrzyj się istniejące problemy w tej bibliotece, zanim utworzysz nową. Możesz zagłosować nad istniejącym problemem przez klikając przycisk gwiazdki.
Zobacz dokumentację narzędzia Issue Tracker. .
Wersja 1.7
Wersja 1.7.0-beta07
7 sierpnia 2024 r.
Usługa androidx.compose.animation:animation-*:1.7.0-beta07
została zwolniona. Wersja 1.7.0-beta07 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązany problem:
SharedTransitionScope
nie rysuje elementów nakładanych podczas przejść w określonych warunkach, które zwykle obejmują użycie z Nawigacją. (Id65ab, b/347520198)
Wersja 1.7.0-beta06
24 lipca 2024 r.
Usługa androidx.compose.animation:animation-*:1.7.0-beta06
została zwolniona. Wersja 1.7.0-beta06 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono wycieki stanów przejścia
SeekableTransition
przez prawidłowe usunięcie obserwacji zSnapshotStateObserver
podczas usuwania przejścia. (B9C7182) - Rozwiązano skrajne przypadki, w których przejścia podrzędne nie były prawidłowo oznaczane jako ukończone po zakończeniu procesu nadrzędnego. (dc42216),
Wersja 1.7.0-beta05
10 lipca 2024 r.
Usługa androidx.compose.animation:animation-*:1.7.0-beta05
została zwolniona. Wersja 1.7.0-beta05 zawiera te zatwierdzenia.
Poprawki błędów
- Właściwość przejścia
totalDurationNanos
można teraz poprawnie odczytać w elemenciesnapshotFlow
.
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 temu granice są płynnie zmieniane, gdy jeden zbiór udostępnionych treści znika, a drugi – pojawia się. (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 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 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 wariant główny i dodatkowy. 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 zawartość w zależności od rozmiaru kontenera animacji w trakcie wprowadzania/wyjścia wyjdź z animacji.
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 czasu, aż zostaną wyświetlone zarówno Enter zakończenie przejścia. (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
) do wskazywania, czy bieżący pomiar jest przebiegiem pozytywnie. (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 LN 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 wyższe), 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
- Funkcja
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 zasada
intermediateMeasurePolicy
, która wykorzystuje ponownie zasadę pomiaru z przebiegu z wyprzedzeniem, zezwala podtypomSubcomposeLayout
bez przedziałów warunkowych, takim jakScaffold
,TabRow
iBoxWithConstraints
, domyślnie na działanie 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 obsłudze logiki pomiaru/układu podczas czyli rysowanie z wyprzedzeniem. (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 zmian znajdziesz w tej liście zmian. - Do konstruktora i funkcji fabrycznej
TestMonotonicFrameClock
dodano opcjonalny parametronPerformTraversals: (Long) -> Unit
w celu uruchamiania kodu po wywołaniach zwrotnychwithFrameNanos
, ale przed wznowieniem działania wywołującego współrzędne. (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 jest 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 pomiar lub układ po wyliczeniu.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 „Skalę czasu trwania animacji” w Opcji 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 obecny układ to RTL. (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! Obsługa animacji tworzenia wiadomości „Skala czasu trwania animatora” w Opcji 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
w:androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
(aosp/1947059, b/206677462) - Naprawianie awarii spowodowanej przez zawartość schowka przy odczytywaniu z do 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, by 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
- Dodano nowy modyfikator Modifier.onPlaced, który zezwala zmiany miejsca docelowego. Dodatkowe zmiany w: przesunięcia modyfikatora podrzędnego można więc określić w oparciu o zaobserwowaną zmianę miejsca docelowego. (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ąć za pomocą odpowiednie dla różnych stanów.
ContentKey będzie również używany jako klucz do zapisywania & przywrócić zawartość. (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. Mówiąc konkretnie, ani przy użyciu narzędzi do sprawdzania animacji. ich konfiguracje w Przejścia. (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. Mówiąc konkretnie, ani przy użyciu narzędzi do sprawdzania animacji. ich konfiguracje w Przejścia. (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 z Interfejsy API typuAnimatedVisibility
zostały wprowadzone stabilnie. AplikacjaMutableTransitionState.isIdle
też nie jest już eksperymentalna. (I5072D)Zmiana niezbędna: wartości lambda w fabrykach Enter/Exittransit. 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
- Parametr StartOffset jest teraz obsługiwany w powtarzalnych i nieskończoność powtarzania, aby opóźnić czas rozpoczęcia lub – przewiń animację do przodu, zanim się rozpocznie. To przesunięcie czasu rozpoczęcia się nie powtarza (Ic679f, b/195079908)
- Nowe przejście Enter/Exit dla skali. Może być używana w połączeniu z innymi opcjami. 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 są teraz w nowej wersjiandroidx.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 środowiska 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
. Zarządza swoją treścią zmień ustawienia, używając dostosowywanych elementówContentTransform
jako nowej treści docelowej i opuszcza stronę. Inna kombinacja klawisza Enter i przejść wyjścia, aby uzyskać niestandardowy wygląd, do własnych potrzeb. W ramach przekształcania treściAnimatedContent
automatycznie dostosowuje swój rozmiar do treści przychodzących. (I2c3df). - Użytkownik
ManualFrameClock
został usunięty. Jeśli chcesz sterować animacjami, użyj interfejsucomposeTestRule.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 ona popularna. i należy ją skompilować z wyprzedzeniem.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 charakterystycznego dla danej aplikacji. ART może następnie wykorzystać ten profil, gdy aplikacja jest zainstalowana na urządzeniach, w celu z wyprzedzeniem skompilowania określonego podzbioru aplikacji w celu poprawy 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 określenie widocznościMutableTransitionState
. Umożliwia to również ustawienie stanów animacji zaobserwowano poza obszaremAnimatedVisibility
za pomocącurrentState
iisIdle
.- Pomoc dotycząca przenoszenia kont podrzędnych
- Obsługuj niestandardową animację wyjścia/wejścia w animacji. za pomocą AnimationScope.transition
- Nowy modyfikator AnimateEnterExit jest dostępny dla wszystkich elementów podrzędnych grupy Animacja
- Wycofaliśmy interfejsy AnimatedVisibility API, które wymagają
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 komponentów ui-test-manifest oraz Narzędzie ui-tooling-data jest 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 tekstem[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)
- smooth ScrollBy i ScrollBy pakiety 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)
- AnimationClockObservable i podklasy zostały zmienione usunięto. Element AnimatedFloat został usunięty. (Icde52, b/177457083)
- Modifier.draggable akceptuje teraz obiekt DraggableState zamiast prostej lambda. możesz utworzyć stan w
rememberDraggableState { delta -> }
, aby uzyskać takie samo zachowanie jak wcześniej (Ica70f, b/175294473) - Interfejsy API animate, animacjaValue, AnimatedValue zostały usunięte (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, aby wskazać, kiedy współrzędna wykrywania danych wejściowych wskaźnika powinna zostać uruchomiona ponownie zależności. (I849cd)- Nazwa granic została zmieniona na DpRect (I4b32a).
- Ujednolicono nazwę parametru AnimationSpec z animowaną specyfikacją w całym systemie animacji. Ogranicz też ruch przez wejście/wyjście , aby zaakceptować 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 Crossfade, 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. Użyj Animowana. (I71345, b/177457083)
- Parametry tapTrackingFilter, DoubleTapStepFilter, longPressConsentFilter i PressIndicaitonTrackingFilter zostały wycofane. Użyj w zamian funkcji Modifier.clickable lub Modifier.pointerInput z funkcją wykrywania gestów. (I6baf9, b/175294473)
- Wprowadzono kontekst współprogramu
InfiniteAnimationPolicy
który będzie stosowany w nieskończonych animacjach. Domyślnie nie zasada jest zainstalowana, chyba że przeprowadzasz testy z zastosowaniemComposeTestRule
. (I50ec4, b/151940543) - Metody zniszczenia i copy() zostały usunięte z i 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 można teraz znaleźć w poleceniach compose:runtime Aplikację AndroidUiDispatcher znajdziesz w polecenia compose:ui. (IB5c36)
- Dodano
Animation.isInfinite
iVectorizedAnimationSpec.isInfinite
wskazujący, czy animacja jest bez końca. Można go użyć w implementacjach animacji do: obsługiwać takie animacje w specjalny sposób. Na przykład specjalny „czas” pozostało” może pojawić się komunikat. Podczas testów można też anulowano, aby zapobiec oczekiwaniu na bezczynność w nieskończoność. (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)
- W przypadku przejścia dodano pole etykiety. i animacje podrzędne do wyświetlania w narzędziach (I619fb)
- animateAsState to teraz animateFooAsState, typu animowanej zmiennej. np. Float, Dp, Offset itp. (Ie7e25)
- Nowa funkcja InfiniteMigrate, która działa w dowolnej liczbie ani animacji potomnych. (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 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 przez długie milisekundy, i eliminuje zależność od danych wejściowych wskaźnika. zajęcia. (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 dane PointerInputData i zmodyfikowano PointerInputChange wszystkie pola PointerInputData. Utworzono zdarzenie PointerInputEvent i PointerInputEventData, bo nie są używane dowolny publiczny interfejs 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 obejmowała składowe i matematyczne operacji. (IB0447)
- Zmieniono nazwę
@ExperimentalTesting
na@ExperimentalTestApi
na spójne z podobnymi eksperymentalnymi adnotacjami interfejsu API (Ia4502, b/171464963) - Zmieniono nazwę pozycji na DpOffset i usunięto 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ść między animacjami. Nowa specyfikacja DecayAnimationSpec, która obsługuje wielowymiarową animację rozpadu (I820f2, b/168014930) - Ciąg
animate()
został zastąpiony tekstemanimateAsState()
, , który zwracaState<T>
zamiastT
. Dzięki temu skuteczności, ponieważ można zawęzić zakres unieważniania 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 udostępnione. Wersja 1.0.0-alfa09 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Przeniesiono Konwersja Dp.VectorConverter, Position.VectorConverter itd. animacje-core i wycofała stare rozwiązanie VectorConveters (If0c4b).
- Wprowadziliśmy zupełnie nowy zestaw interfejsów API do przenoszenia z ulepszonymi funkcjami są łatwe w obsłudze i obsługują dynamicznie dodawane animacje celów animacji. Ten interfejs API jest oznaczony jako eksperymentalny dla można łatwo 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)
- Zmieniono nazwę na potrzeby zawieszania interfejsów API wejściowych wskaźnika HandlePointerInputScope do 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, używając 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ą na na podstawie zegara MonotonicFrameClock (I1403b, b/173402197)
Poprawki błędów
- Nazwa Modifier.drawLayer została zmieniona na Modifier.graphicsLayer Zaktualizowaliśmy też powiązane klasy w GraphicsLayer zgodnie z opinii Rady ds. interfejsów API. (I0bd29, b/173834241)
- Dodano Modifier.scale/rotate
interfejsów API jako udogodnień w DrewLayer.
- Zmieniono nazwę Modifier.drawOpacity na Modifier.alpha
- Zmieniono nazwę Modifier.drawShadow na Modifier.shadow (I264ca, b/173208140)
- Zwiększenie czasu działania PointerInputData pola pozycji nie mogą mieć 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) to teraz 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 zasadzie ComposeTestRule; usuń opcję włącz migający kursor w 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 animacji i podklasy: te klasy zapisują warunki rozpoczęcia i zakończenia animacji, zezwalaj na wykonywanie zapytań dotyczących wartości i tempa tylko za pomocą 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 -> Kolor treści Ambient
- TextStyleAmbient -> Styl tekstu otoczenia
- IndicationAmbient -> Wskazanie otoczenia
- 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
- Adnotacja rootAnimationClockFactory, wyraźnesEnabled, blinkingCursorEnabled i textInputServiceFactory z @WidoczneForTesting ustaw wewnętrzny interfejs API i ukryj jego dokument kdoc (I554eb, b/168308412)
Poprawki błędów
- Zaktualizowano wiele interfejsów API związanych z grafiką
- Zaktualizowano skalę i obrót interfejsów API transformacji, aby wykorzystać Parametr przesunięcia reprezentujący tabelę przestawną współrzędna zamiast osobnej liczby zmiennoprzecinkowej dla współrzędnych x/y w DrawScope i DrawTransform
- Usunięto elementy Rect.expandToInclude i Rect.join metod
- Zaktualizowaliśmy dokumentację dotyczącą promienia o owalu. oprócz orbitreka
- Dodaliśmy dokumentację, by wskazać publiczny konstruktor dla wbudowanego promienia klasa nie powinna być wywoływana bezpośrednio, Wystąpienia obiektów o określonym promieniu powinny być tworzone przez ich konstruktory funkcji
- Usunęliśmy interfejsy RoundRect API do wysyłania zapytań dotyczących górnego prawa, dolny róg, dolny środek itp.
- Wycofano Rect.shift na rzecz Rect.translate
- Usunięto interfejsy API RoundRect.grow i Rect.shrink
- Zmieniono nazwę RoundRect.outerRect na Rect.boundingRect
- Usunięto element 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ę
- Zaktualizowano konstruktor RoundRect, który wykorzystuje właściwości Radius zamiast poszczególnych parametrów dla wartości promieni x/y.
- Usunięto interfejsy Size API, które zakładały, że jest to prostokąt z nazwą origin 0,0
- Do interfejsu Radius dodano interfejs API destrukcyjny.
- Przeniesiono różne funkcje rozszerzenia RoundRect 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 dekoracje 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 użytkownika
ManualFrameClock.hasAwaiters
, aby sprawdzić, czy coś jest oczekiwanie na klatkę z zegara;runWithManualClock
jako zamiennik dlarunBlocking
w przypadku testów, które wymagają ManualFrameClock;TestUiDispatcher.Main
, który zapewnia łatwy dostęp do głównego dyspozytora UI podczas testów.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
Funkcja onPreCommit została wycofana; onCommit ma teraz zasób onPreCommit zachowanie użytkownika.
onCommit i onActive są teraz uruchamiane w tej samej ramce Choreografa, zmiany kompozycji, które nastąpiły na początku, 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)
Funkcja kompozycyjna w sekcji Animowana widoczność animuje wygląd i zniknięciem treści dzieci.
Parametry EnterMigrate i ExitMigrate zostały wprowadzone do pracy Animowana kompozycja widoczności dla 3 różnych typów animacja wyglądu i znikania: zanikanie, przesuw, rozwinąć/zwinąć treść. Różne rodzaje animacji można ze sobą łączyć, aby uzyskać spersonalizowany wygląd i styl. (Idda11).
Wycofane pułapki PxBound w na korzyść Rect. Zaktualizowano wszystkie przypadki użycia z PxBounds z prostokątem i dodanym właściwe wycofanie/zastąpienie adnotacji, które pomagają migracji danych. (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ąpiona wyraźne wezwania do działania (remember { mutableStateOf(...) }
) w celu uniknięcia wątpliwości. Zmniejsza to ogólną powierzchnię interfejsu API i liczbę koncepcji stanu management i pasuje do wzorcaby mutableStateOf()
klasy przekazania usługi. (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 umożliwiające konwersję
Jednostki 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 temu po zakończeniu animacji zmiany rozmiaru zostanie wysłane powiadomienie z rozmiarem rozpoczęcia i zakończenia animacji. (I277b2) - Nowy modyfikator animateContentSize, który animuje parametr zmiana rozmiaru układu jego modyfikatora podrzędnego (Ieffdc)
Dodano
MonotonicFrameAnimationClock
, który umożliwia korzystanie z MonotonicFrameClock jako elementAnimationClockObservable
, który wypełnia lukę między nowymi zegarami opartymi na współprogramach a interfejsami API, które nadal używają zegary z wywołaniem zwrotnym.Odpowiednik
MonotonicFrameClock
parametruManualAnimationClock
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 jawnego określenia typu T Definicja przejścia. (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. „To” ma silniejszy sygnał dotyczący kolejności, ale nie pozwala też na 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ć narzędzia Compose w wersji
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 Migrate API został zmieniony tak, aby zwracał transitState, zamiast przekazywać parametr transitState, dzieciom. Dzięki temu interfejs API jest bardziej spójny z animate(). (I24e38)
- Dodano parametr modyfikatora dla przejścia (I87cfe, b/159706180)
- W interfejsach API najwyższego poziomu użyj AnimationSpec zamiast AnimationBuilder
Aby wyjaśnić koncepcję specyfikacji animacji statycznej
- Ulepsz przejście z DSL, usuwając wymaganie lambda dla: podczas tworzenia specyfikacji animacji, takich jak starsze, wiosna. Zamiast tego biorą z parametrami konstruktora.
- Popraw ogólną łatwość otwierania otwierania AnimationSpec konstruktory, zamiast polegać na konstruktorach.
- Zmień czas trwania i opóźnienie klatek kluczowych i elementów pośrednich na format Int. Ten eliminuje niepotrzebne rzuty typów i przeciążanie metod (na wspiera format Long i Int). (ICA0b4).
- Zastąpiliśmy format IntPx wartością Int. Zastąpiono pozycję IntPxPosition z IntOffset. IntPxSize zastąpiono wartością IntSize. (IB7b44)
- Aby skonsolidować liczba klas używanych do reprezentowania informacje o rozmiarach, standaryzowanie na podstawie użycia klasy Size rozmiaru PxSize. Zapewnia to korzyści klasy wbudowanej, aby wykorzystać długi do pakowania 2 wartości zmiennoprzecinkowych do reprezentowania szerokość i wysokość w postaci liczby zmiennoprzecinkowej. (IC0191).
- Aby skonsolidować liczba klas używanych do reprezentowania pozycjonowanie, standaryzowanie na użycie klasy Offset pozycji PxPosition. Zapewnia to korzyści klasy wbudowanej, aby wykorzystać długi do pakowania 2 wartości zmiennoprzecinkowych reprezentujących x i odsunięcia y są przedstawione w postaci liczby zmiennoprzecinkowej. (I3ad98).
- Zastąpiono użycie klasy Px w różnych tworzą klasy w ramach dużego refaktoryzacja, która polega wyłącznie na Dp i typy podstawowe parametrów pikseli (I086f4).
- Dodano obsługę animate() dla 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)
- Zastąpiono wszystkie przypadki użycia koloru dopuszczalnego w interfejsie API na nie dopuszcza wartości null i użyj wartości Color.Unset zamiast null (Iabaa7).
- Usunięto klasę ValueHolder. Zmieniono strukturę klasy AnimatedValue, klas AnimatedFloat na
ustaw pole wartości animacji jako abstrakcyjne, aby podklasy 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 iteracja podczas powtarzania animacji w elemencie RepeatableSpec czy VectorizedRepeatableSpec. (Ibe0f5).
- Dodatki API do ManualAnimationClock:
hasObservers: Boolean
i parametr konstruktoradispatchOnSubscribe: Boolean
(Iaa134) - Dodane interfejsy API do pobierania 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. Wszystkie Nazwy interfejsów API findXYZ zostały zmienione na onNodeXYZ. Nazwy wszystkich interfejsów API doXYZ zostały zmienione na XYZ. (I7f164)
- Wprowadzono niskopoziomowe interfejsy API do animacji bezstanowych. Te interfejsy API (I63bf7)
- Funkcja kompozycyjna Rekomponuj 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ąpiono użycie klasy Px w różnych tworzą klasy w ramach dużego refaktoryzacja, która polega wyłącznie na Dp i podstawowych parametrów pikseli. Cała klasa Px została usunięta (I3ff33).
- Zastąpiono użycie klasy Px w różnych tworzą klasy w ramach dużego refaktoryzacja, która polega wyłącznie na Dp i typy podstawowe parametrów pikseli (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 tworzą klasy w ramach dużego refaktoryzacja, która polega wyłącznie na Dp i typy podstawowe parametrów pikseli (I19d02)
- Skonsolidowane implementacje CanvasScope więc teraz będą tylko DrawScope, ContentDrawScope Nazwa obiektu CanvasScope została zmieniona na DrawScope. Zaktualizowano obiekt DrawScope, aby zaimplementować gęstość i podaj kierunek układu Usunięto podklasę DrawScope w ContentDrawScope Painter i PainterModifier zostały zaktualizowane nie mają już właściwości RTL, ponieważ DrawScope zapewnia już bez ręcznego podawania (I1798e)
- Zaktualizowano wyższy poziom a także tworzyć interfejsy API, które udostępniają obiekt Canvas i udostępnić CanvasScope. Spowoduje to usunięcie że konsumenci muszą utrzymywać własnych obiektów Paint. Dla konsumentów, którzy nadal potrzebują dostępu do Canvas mogą korzystać z rozszerzenia DrawCanvas, , która powoduje wywołanie zwrotne do problemu za pomocą poleceń rysowania Obszar roboczy. (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).
- Ulepszenie interfejsu API DrawModifier:
- 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 zamiast metod na ComposeTestRule. (Icbe8f).- [Mutable]Operatory delegowania właściwości stanu zostały przeniesione do rozszerzeń
na potrzeby optymalizacji przekazywania uprawnień do usługi Kotlin 1.4. Rozmówca musi dodać
importuje dane, aby dalej używać funkcji
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 z modyfikatorem DrOpacity. (I5fb62)
- Testy przy użyciu AndroidComposeTestRule zawierają teraz animację zegar stanowiący podstawę kompozycji, który pozwala na zatrzymywanie. możesz ręcznie wznowić i przejść na wyższy poziom. (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)
- Dodano metody kopiowania do różnych
typy klas, w tym:
- Przesunięcie
- Rozmiar
- Promień
- Ruch
- TransformOrigin
- Wycofana metoda obiektu towarzyszącego Size.copy korzyść metody kopiowania instancji (Ife290, b/159905651)
- Element androidx.compose.ViewComposer został przeniesiony do folderu androidx.ui.node.UiComposer
Aplikacja androidx.compose.Emittable została usunięta. W przypadku KomponentNode wystąpił nadmiarowy błąd.
Strona 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
dla obiektuComposition
zwróconego przezsetContent
. Aplikacja androidx.compose.Compose.subcomposeInto została przeniesiona do androidx.ui.core.subcomposeInto Nazwa węzła KomponentNode#emitInsertAt została zmieniona na węzeł KomponentNode#insertAt Nazwa węzła KomponentNode#emitRemoveAt została zmieniona na KomponentNode#removeAt Nazwa KomponentNode#emitMode została zmieniona na KomponentNode#move (Idef00).