Utwórz animację
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(Przejrzyj dokumentację API dotyczącą wszystkich pakietów tworzenia wiadomości)
Najnowsza aktualizacja | Wersja stabilna | Kandydat do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
12 czerwca 2024 r. | 1,6.8 | - | 1.7.0-beta03 | - |
Struktura
Tworzenie stanowi połączenie 7 identyfikatorów grupy Maven w usłudze androidx
. Każda grupa zawiera określony podzbiór funkcji, a każda z nich ma własny zestaw informacji o wersjach.
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 zwiększyć wygodę użytkowników. |
compose.buildr, | Przekształć funkcje @Composable i włącz optymalizacje za pomocą wtyczki kompilatora Kotlin. |
compose.foundation | Pisz aplikacje Jetpack Compose, korzystając z gotowych elementów składowych i rozszerzaj podstawy do tworzenia własnych elementów systemu. |
compose.material, | Twórz interfejsy użytkownika Jetpack Compose z gotowymi do użycia komponentami Material Design. Jest to punkt wejścia wyższego poziomu Compose, zaprojektowany z myślą o dostarczaniu komponentów pasujących do tych opisanych na stronie www.material.io. |
compose.material3, | Twórz interfejsy użytkownika Jetpack Compose za pomocą komponentów Material Design 3, czyli nowej ewolucji Material Design. Material 3 zawiera zaktualizowane motywy i komponenty oraz funkcje personalizacji Material You, takie jak dynamiczny kolor. Został zaprojektowany tak, aby zachować spójność z nowym stylem wizualnym i interfejsem systemu Androida 12. |
compose.runtime, | Podstawowe elementy modelu programowania i zarządzania stanem w usłudze Compose, a także podstawowe środowisko wykonawcze, na które ma być kierowana wtyczka Compose Compiler. |
compose.ui; | Podstawowe komponenty 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ść od 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 znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.7
Wersja 1.7.0-beta03
12 czerwca 2024 r.
Aplikacja 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.
Aplikacja 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.
Aplikacja androidx.compose.animation:animation-*:1.7.0-beta01
została zwolniona. Wersja 1.7.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nowa funkcja
resizeModes
(ScaleToBounds
iRemeasureToBounds
) dla usługisharedBounds
, która umożliwia wybór między skalowaniem a ponownym pomiarem. Poprzednie interfejsy APIscaleIn/OutSharedContentToBounds
zostały wycofane. (I0d41a)
Wkład z zewnątrz
- Eksperymentalny
SharedTransitionScope
jest teraz interfejsem, a nie klasą. (Iaf856, b/338415048, b/338414702)
Wersja 1.7.0-alfa08
1 maja 2024 r.
Aplikacja androidx.compose.animation:animation-*:1.7.0-alpha08
została zwolniona. Wersja 1.7.0-alpha08 zawiera te zatwierdzenia.
Zmiany w interfejsie API
LookaheadScope
interfejsów API zostało stabilnych. (I21507).
Wkład z zewnątrz
- Usuń czas rozpoczęcia animacji po tym, gdy
SeekableTransitionState
animuje/przyciągnie, by Steven Schoen (1ca89529)
Wersja 1.7.0-alfa07
17 kwietnia 2024 r.
Aplikacja androidx.compose.animation:animation-*:1.7.0-alpha07
została zwolniona. Wersja 1.7.0-alpha07 zawiera te zatwierdzenia.
Nowe funkcje
- Nowe interfejsy API przenoszenia elementów współdzielonych czekają na wykorzystanie i opinie. Te nowe, eksperymentalne interfejsy API umożliwiają dodawanie tagów do układów udostępnianych w drzewie układu z wykorzystaniem dostępnych modyfikatorów. Płynnie zmieniają się, gdy jeden zestaw udostępnionych treści zostanie zamknięty, a drugi wejdzie do niego. (Icb0b9)
- Nowe
scaleInSharedContentToBounds
iscaleOutSharedContentToBounds
do skalowania treści wsharedBounds
(I731c1)
Zmiany w interfejsie API
AnimatedVisibilityScope.transition
jest teraz stabilnym interfejsem API.Modifier.animateEnterExit(..)
też jest stabilny. (I6c1d1)- Wersje
ApproachLayoutModifierNode
iModifier.approachLayout
są teraz stabilne. Nowe:isMeasurementApproachInProgress()
iisPlacementApproachInProgress()
, które zastąpią odpowiednio stareisMeasurementApproachComplete()
iisPlacementApproachComplete()
. - Usunięto wycofany modyfikator
intermediateLayout
. (I3e91c) - Możesz teraz przekazać wartość
periodicBias
(liczba zmiennoprzecinkowa) dokeyframesWithSpline
. Dzięki temu początkowa i końcowa prędkość krzywej będzie równa. Ta opcja jest przydatna w przypadku powtarzalnych animacji za pomocą splinii. Odchylenie wskazuje, w jakim stopniu każda prędkość (początkowa i końcowa) jest modyfikowana w celu uzyskania okresowości. (Ic1e6c, b/292114811)
Poprawki błędów
- Naprawiono nadmiernie i niedostateczne krzywe wygładzania, które były wcześniej ograniczane do wartości 0...1 (I38747).
Wersja 1.7.0-alfa06
3 kwietnia 2024 r.
Aplikacja androidx.compose.animation:animation-*:1.7.0-alpha06
została zwolniona. Wersja 1.7.0-alpha06 zawiera te zatwierdzenia.
Nowe funkcje
- W usługach
LazyColumn
iLazyRow
dodaliśmy obsługę animacji z wyglądem i zniknięciem elementu. Wcześniej można było dodać modyfikatorModifier.animateItemPlacement()
na potrzeby wyświetlania animacji w miejscach docelowych (zmianie ich 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ększono wydajność interfejsu
updateTransition
API.
Wersja 1.7.0-alfa05
20 marca 2024 r.
Aplikacja androidx.compose.animation:animation-*:1.7.0-alpha05
została zwolniona. Wersja 1.7.0-alpha05 zawiera te zatwierdzenia.
Zmiany w interfejsie API
SeekableTransitionState
zastępujesnapTo()
elementemseekTo()
i dodaje elementsnapTo()
, który natychmiast zmienia stan na stan miejsca docelowego bez żadnej animacji.
Wersja 1.7.0-alfa04
6 marca 2024 roku
Aplikacja androidx.compose.animation:animation-*:1.7.0-alpha04
została zwolniona. Wersja 1.7.0-alpha04 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nowy interfejs API
Path.reverse()
do odwrócenia kierunku ścieżki (I36348)
Wersja 1.7.0-alfa03
21 lutego 2024 r.
Aplikacja androidx.compose.animation:animation-*:1.7.0-alpha03
została zwolniona. Wersja 1.7.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
- Nowy element
Modifier.animateContentSize
, który wymaga dodatkowego parametru niestandardowego wyrównania treści. (I5623a, b/269803907) - Nowa funkcja
DeferredTargetAnimation
eksperymentalna do animowania rozmiaru, pozycji lub dowolnego innego celu, który jest nieznany podczas tworzenia instancji. (I60745)
Wersja 1.7.0-alfa02
7 lutego 2024 r.
Aplikacja androidx.compose.animation:animation-*:1.7.0-alpha02
została zwolniona. Wersja 1.7.0-alpha02 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawka zgodności dla
KeyframesSpec
. (I2bdf3, b/322214617) - Naprawiono nieprawidłowe resetowanie
Modifier.animateContentSize
w przypadku aplikacjiLazyList
. (I070512, b/322525716) - Naprawiliśmy
IllegalStateException
wKeyframesSpec
w przypadku używania sygnatur czasowych spoza zakresu. (I341b8, b/322839811)
Wersja 1.7.0-alfa01
24 stycznia 2024 r.
Aplikacja androidx.compose.animation:animation-*:1.7.0-alpha01
została zwolniona. Wersja 1.7.0-alpha01 zawiera te zatwierdzenia.
Wersja 1.6
Wersja 1.6.8
12 czerwca 2024 r.
Aplikacja 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.
Aplikacja 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.
Aplikacja androidx.compose.animation:animation-*:1.6.6
została zwolniona. Brak zmian od poprzedniej wersji
Wersja 1.6.5
3 kwietnia 2024 r.
Aplikacja 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.
Aplikacja 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
Aplikacja 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.
Aplikacja 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.
Aplikacja 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
KeyframesSpec
. (I2bdf3, b/322214617)
Wersja 1.6.0
24 stycznia 2024 r.
Aplikacja 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.
Aplikacja 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.
Aplikacja androidx.compose.animation:animation-*:1.6.0-beta03
została zwolniona. Wersja 1.6.0-beta03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Tymczasowo usunięto listę
scaleInToFitContainer
iscaleOutToFitContainer
z aplikacjiAnimatedContentTransitionScope
, ponieważ wymagają one patrzenia z wyprzedzeniem. Będą one dostępne, gdy opcja patrzenia z wyprzedzeniem jest domyślnie włączona lub zostanie włączona w kolejnych wersjach.
Wersja 1.6.0-beta02
29 listopada 2023 r.
Aplikacja 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.
Aplikacja androidx.compose.animation:animation-*:1.6.0-beta01
została zwolniona. Wersja 1.6.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nazwa elementu
ExitTransition.Hold
została zmieniona naExitTransition.KeepUntilTransitionsFinished
, aby była bardziej przejrzysta. (I1c490) - Możesz teraz używać funkcji
keyframesWithSpline
do interpolowania dowolnych wartości n-wymiarowych przy użyciu sskalów monotonicznych. Jest to szczególnie przydatne w przypadku interpolacji wartości pozycjonujących, takich jakOffset
,IntOffset
,DpOffset
. Dodano jako eksperymentalny interfejs API.
Poprawki błędów
- Dodano obsługę gradientu przez renderowanie w
ArcLine
. (I4d5bb) - W przypadku funkcji
PageSize.Fixed
zaimplementuj kod równości i kod skrótu. (Ie3ede, b/300134276) - Naprawianie problemów ze zgodnością plików binarnych ze zmianą wstawienia okna. (Iee695)
- Usuń warstwę materiałową z elementu Material3 Chip/Button, ponieważ mikroporównania pokazują lepszą wydajność bez niego. (I55555)
Wersja 1.6.0-alfa08
18 października 2023 r.
Aplikacja androidx.compose.animation:animation-*:1.6.0-alpha08
została zwolniona. Wersja 1.6.0-alpha08 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Wycofano atrybut
KeyframesSpecConfig#with
na rzeczKeyframesSpecConfig#using
, co zachowuje wzorzec konstruktora. (I1d769)
Wersja 1.6.0-alfa07
4 października 2023 roku
Aplikacja androidx.compose.animation:animation-*:1.6.0-alpha07
została zwolniona. Wersja 1.6.0-alpha07 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Naprawione i przewijane wiersze kart mają teraz wersje główne i dodatkowe. Mają one odpowiednie odzwierciedlenie w zachowaniu kolorów i wskaźników zgodnie z definicją w Material3.
- Aplikacje
PrimaryScrollableTabRow
iSecondaryScrollableTabRow
pokazują teraz stan przewijania. (Iec8f5, b/260572337)
Wersja 1.6.0-alfa06
20 września 2023 r.
Aplikacja androidx.compose.animation:animation-*:1.6.0-alpha06
została zwolniona. Wersja 1.6.0-alpha06 zawiera te zatwierdzenia.
Wersja 1.6.0-alfa05
6 września 2023 r.
Aplikacja androidx.compose.animation:animation-*:1.6.0-alpha05
została zwolniona. Wersja 1.6.0-alpha05 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodano funkcję
PathEasing
, aby umożliwić podanie dowolnej ścieżki do krzywej wygładzania. (Idb4b9).
Wersja 1.6.0-alfa04
23 sierpnia 2023 r.
Aplikacja androidx.compose.animation:animation-*:1.6.0-alpha04
została zwolniona. Wersja 1.6.0-alpha04 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaj
SeekableTransitionState
, aby umożliwić deweloperom kontrolowanie postępu przenoszenia. (I8e69d)
Wersja 1.6.0-alfa03
9 sierpnia 2023 r.
Aplikacja androidx.compose.animation:animation-*:1.6.0-alpha03
została zwolniona. Wersja 1.6.0-alpha03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nowy typ przejścia wejścia/wyjścia, które skaluje zawartość odpowiednio do rozmiaru kontenera animowanego podczas animacji wejścia i wyjścia.
LookaheadScope
Funkcja kompozycji i interfejs są teraz stabilne. (Ifb2ce)
Wersja 1.6.0-alfa02
26 lipca 2023 r.
Aplikacja androidx.compose.animation:animation-*:1.6.0-alpha02
została zwolniona. Wersja 1.6.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nowy
ExitTransition.Hold
do wyświetlania treści wychodzących w językuAnimatedContent
do czasu zakończenia zarówno przejścia, jak i wyjścia. (I5984f) - Dodatkowe adnotacje do określania dozwolonych danych wejściowych w obiektach kompozycyjnych (I51109)
Wersja 1.6.0-alfa01
21 czerwca 2023 r.
Aplikacja androidx.compose.animation:animation-*:1.6.0-alpha01
została zwolniona. Wersja 1.6.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Zezwól na pełną integrację narzędzi
Modifier.animateContentSize
iAnimatedVisibility
z systemem przeglądania, zgłaszając rozmiar docelowy w ramach przeglądania z wyprzedzeniem.
Zmiany w interfejsie API
- Nowa usługa w usłudze
IntrinsincMeasureScope
i jej implementacje (np.MeasureScope
), aby wskazać, czy bieżące przekazywanie środków jest zgodne z zapowiedzią. (I7a812)
Poprawki błędów
- Usunięto przydziały z animacji sprężynowych. (Ie9431)
- nazwa parametru wartości w polu Enum.valueOf zmieniony (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.
Aplikacja 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
Aplikacja androidx.compose.animation:animation-*:1.5.3
została zwolniona. Ta wersja nie zawiera żadnych zmian
Wersja 1.5.2
27 września 2023 r.
Aplikacja 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.
Aplikacja androidx.compose.foundation:foundation-*:1.5.1
została zwolniona. Wersja 1.5.1 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawione pola tekstowe wyświetlające klawiaturę i dostępne do edycji, gdy
readOnly
ma wartość prawda. Rozwiązaliśmy też problem z wyświetlaniem klawiatury w przypadku zmiany ustawieniareadOnly
z prawda na fałsz (gdy jest zaznaczony). (I34a19, b/246909589)
Wersja 1.5.1
6 września 2023 r.
Aplikacja 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.
Aplikacja 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.
Aplikacja 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 metody
.value
w stanie podstawowym (takim jakMutableIntState
) powodowało zgłoszenie ostrzeżenia o lintowaniu z nieprawidłową poprawką. Kontrola zaleci teraz 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 wyspecjalizowanych w przypadku elementów podstawowych. Jego identyfikator lint toAutoboxingStateCreation
. Wcześniej ta kontrola była domyślnie włączona we wszystkich projektach. Aby zobaczyć to ostrzeżenie w edytorze Android Studio oraz dane wyjściowe lint w Twoim projekcie, zmień jego wagę z informacyjnej na ostrzeżenie (lub wyższą), deklarującwarning "AutoboxingStateCreation"
w konfiguracjibuild.gradle
lubbuild.gradle.kts
modułu zgodnie z przykładem (I34f7e):android { lint { warning "AutoboxingStateCreation" } ... }
Wersja 1.5.0-beta03
28 czerwca 2023 r.
Aplikacja 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.
Aplikacja 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.
Aplikacja androidx.compose.animation:animation-*:1.5.0-beta01
została zwolniona. Wersja 1.5.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Usunięto przydziały ze zmiany kompozycji, animacji kolorów i pliku
AndroidComposeView
(Ib2bfa)
Poprawki błędów
- Usunięto przydziały z animacji sprężynowych (Ie9431)
Wersja 1.5.0-alfa04
10 maja 2023 r.
Aplikacja androidx.compose.animation:animation-*:1.5.0-alpha04
została zwolniona. Wersja 1.5.0-alpha04 zawiera te zatwierdzenia.
Zmiany w interfejsie API
AnimatedContent
obsługuje teraz językContentKey
, dzięki czemu masz większą kontrolę nad tym, kiedy powinno nastąpić przeniesienie. (Ic069b)
Wersja 1.5.0-alfa03
19 kwietnia 2023 r.
Aplikacja androidx.compose.animation:animation-*:1.5.0-alpha03
została zwolniona. Wersja 1.5.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
- Nowe działanie domyślne dla funkcji
SubcomposeLayout
w interfejsieLookaheadScope
. Dzięki temuSubcomposeLayouts
, który nie ma przedziałów warunkowych (np.TabRow
,Scaffold
,BoxWithConstraints
itp.), dobrze sprawdza się z animacjami patrzącymi do przodu.
Zmiany w interfejsie API
- Nowa domyślna wartość
intermediateMeasurePolicy
, która wykorzystuje zasadę pomiaru z zapowiedzi, pozwala na działanie podtypówSubcomposeLayout
bez przedziałów warunkowych, takich jakScaffold
,TabRow
iBoxWithConstraints
, domyślnie z wyprzedzeniem. (Id84c8) - Zmień nazwę zabawy z infikacją na
togetherWith
, która łączy przejścia wejścia i wyjścia. Nowy odbiornikAnimatedContentScope
jako odbiornik treści lambda. (Ic39ae)
Wersja 1.5.0-alfa02
5 kwietnia 2023 r.
Aplikacja androidx.compose.animation:animation-*:1.5.0-alpha02
została zwolniona. Wersja 1.5.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- Nowy, eksperymentalny interfejs API do obsługi stylizacji z wyprzedzeniem w
SubcomposeLayout
. Dzięki temuSubcomposeLayout
będzie działać prawidłowo wLookaheadScope
. Wkrótce udostępnimy bardziej przygotowaną obsługę określonych podtypów usługiSubcomposeLayout
.
Zmiany w interfejsie API
- Nowy interfejs API
SubcomposeLayout
, który wymaga dodatkowej pośredniej zasady pomiaru do obsługi logiki pomiaru/układu podczas animacji opartych na spojrzeniu z wyprzedzeniem. (I017d3)
Wersja 1.5.0-alfa01
22 marca 2023 r.
Aplikacja androidx.compose.animation:animation-*:1.5.0-alpha01
została zwolniona. Wersja 1.5.0-alpha01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Interfejsy
AnimatedContent
API są teraz stabilne. 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 wzrost 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 wydane 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 wydane bez zmian. Wersja 1.4.1 zawiera te zatwierdzenia.
Wersja 1.4.0
22 marca 2023 r.
Opublikowano androidx.compose.animation:animation:1.4.0
, androidx.compose.animation:animation-core:1.4.0
i androidx.compose.animation:animation-graphics:1.4.0
. Wersja 1.4.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.3.0
- Etykieta narzędzi jest obsługiwana w r
ememberInfiniteTransition
oraz wszystkich funkcjach rozszerzeń wInfiniteTransition
i Przejście (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 wydane 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 wydane 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 wydane bez zmian. Wersja 1.4.0-beta01 zawiera te zatwierdzenia.
Wersja 1.4.0-alfa05
25 stycznia 2023 r.
Opublikowano 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
. Wersja 1.4.0-alpha05 zawiera te zatwierdzenia.
Zmiany
- Brak zmian w bibliotekach animacji od ostatniej wersji alfa, tylko wzrost wersji
Wersja 1.4.0-alfa04
11 stycznia 2023 r.
Opublikowano 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
. Wersja 1.4.0-alpha04 zawiera te zatwierdzenia.
Nowe funkcje
- Etykieta narzędzi jest obsługiwana w
rememberInfiniteTransition
i wszystkich funkcjach rozszerzeń w usługachInfiniteTransition
iTransition
(np.InfiniteTransition#animateColor
) (I56ef7)
Zmiany w interfejsie API
- Interfejsy API
InfiniteTransition#TransitionAnimationState
iInfiniteTransition#animations
są teraz publiczne. (I36682)
Wersja 1.4.0-alfa03
7 grudnia 2022 r.
Opublikowano 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
. Wersja 1.4.0-alpha03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- W testach interfejsu za pomocą reguły tworzenia kontynuacje wznawiane w trakcie wywołań zwrotnych
withFrameNanos
nie będą wysyłane, dopóki nie zakończą się wykonywanie wszystkich wywołań zwrotnych ramek. Odpowiada to zachowaniu tworzenia wiadomości w normalnym trybie działania. Jednak testy oparte na starym działaniu mogą się nie powieść. Powinno to mieć wpływ tylko na kod, który bezpośrednio wywołujewithFrameNanos
lubwithFrameMillis
i działa logikę poza wywołaniem zwrotnym, przekazywanej do tych funkcji, które być może trzeba będzie przenieść wewnątrz wywołań zwrotnych. Zapoznaj się ze zmianami w testach animacji w tej liście zmian z przykładami. - Do konstruktora i funkcji fabrycznej
TestMonotonicFrameClock
dodano opcjonalny parametronPerformTraversals: (Long) -> Unit
, który umożliwia uruchamianie kodu po wywołaniach zwrotnych (withFrameNanos
), ale przed wznowieniem programów wywołujących. (Idb413, b/254115946, b/222093277, b/255802670) - Nowy parametr etykiety narzędzia w
AnimatedContent
(Iebe2d)
Wersja 1.4.0-alfa02
9 listopada 2022 r.
Opublikowano 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
. Wersja 1.4.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaj
ToolingState
, aby umożliwić narzędziom zmienianie wewnętrznych stanów funkcji kompozycyjnej (Ie6614)
Wersja 1.4.0-alfa01
24 października 2022 r.
Opublikowano 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
. Wersja 1.4.0-alpha01 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawianie nieprawidłowej animacji przerwy w treści animacji (b/238662479)
Wersja 1.3
Wersja 1.3.3
11 stycznia 2023 r.
Opublikowano androidx.compose.animation:animation:1.3.3
, androidx.compose.animation:animation-core:1.3.3
i androidx.compose.animation:animation-graphics:1.3.3
. Wersja 1.3.3 zawiera te zatwierdzenia.
- Brak zmian od wersji 1.3.2.
Wersja 1.3.2
7 grudnia 2022 r.
Opublikowano androidx.compose.animation:animation:1.3.2
, androidx.compose.animation:animation-core:1.3.2
i androidx.compose.animation:animation-graphics:1.3.2
. Wersja 1.3.2 zawiera te zatwierdzenia.
Poprawki błędów
- Zaktualizowano do obsługi androidx.compose.ui 1.3.2
Wersja 1.3.1
9 listopada 2022 r.
Opublikowano androidx.compose.animation:animation:1.3.1
, androidx.compose.animation:animation-core:1.3.1
i androidx.compose.animation:animation-graphics:1.3.1
. Wersja 1.3.1 zawiera te zatwierdzenia.
Wersja 1.3.0
24 października 2022 r.
Opublikowano androidx.compose.animation:animation:1.3.0
, androidx.compose.animation:animation-core:1.3.0
i androidx.compose.animation:animation-graphics:1.3.0
. Wersja 1.3.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.2.0
- Nowy zestaw funkcji wygładzania jest stabilny
Wersja 1.3.0-rc01
5 października 2022 r.
Opublikowano 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
. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.
Wersja 1.3.0-beta03
21 września 2022 r.
Opublikowano 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
. 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
Opublikowano 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
. Wersja 1.3.0-beta02 zawiera te zatwierdzenia.
- Usunięto Kotlin.experimental z opcji kompilatora, ponieważ jest on niepotrzebny
Wersja 1.3.0-beta01
24 sierpnia 2022 r.
Opublikowano 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
. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Wersja 1.3.0-alfa03
10 sierpnia 2022 r.
Opublikowano 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
. Wersja 1.3.0-alpha03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nowy parametr etykiety narzędzia (Iac08a) w sekcjach
Crossfade
,animateAsState
iAnimatable
- Dodano funkcję
atFraction
do definiowania klatek kluczowych jako ułamków, a nie na określonym czasie trwania. (I20c76, b/232059455)
Wersja 1.3.0-alfa02
27 lipca 2022 roku
Opublikowano 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
. Wersja 1.3.0-alpha02 zawiera te zatwierdzenia.
Wersja 1.3.0-alfa01
29 czerwca 2022 r.
Opublikowano 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
. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nowy
LookaheadLayout
, który obsługuje widok z wyprzedzeniem przed rzeczywistym pomiarem lub układem. Umożliwia to wstępne obliczenie układu w przypadku zmiany, a jednocześnie pozwala na wykorzystanie wstępnie obliczonego rozmiaru/pozycji do animowania rozmiaru i pozycji względem wartości docelowej.SubcomposeLayouts
nie jest jeszcze obsługiwany, ale będzie dostępny w kolejnej wersji. (I477f5)
Wersja 1.2
Wersja 1.2.1
10 sierpnia 2022 r.
Opublikowano androidx.compose.animation:animation:1.2.1
, androidx.compose.animation:animation-core:1.2.1
i androidx.compose.animation:animation-graphics:1.2.1
. Wersja 1.2.1 zawiera te zatwierdzenia.
Wersja 1.2.0
27 lipca 2022 roku
Opublikowano androidx.compose.animation:animation:1.2.0
, androidx.compose.animation:animation-core:1.2.0
i androidx.compose.animation:animation-graphics:1.2.0
. Wersja 1.2.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.1.0
- Animacja podczas tworzenia obsługuje teraz w Opcjach programisty ustawienie „Skala czasu trwania animacji”.
- Duży wybór nowych eksperymentalnych krzywych wygładzania.
AnimatedImageVector
obsługuje terazrepeatCount
irepeatMode
Wersja 1.2.0-rc03
29 czerwca 2022 r.
Opublikowano 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
. 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.
Opublikowano 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
. 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.
Opublikowano 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
. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
Zmiany w interfejsie 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.
Opublikowano 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
. Wersja 1.2.0-beta03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodano eksperymentalne krzywe wygładzania na potrzeby animacji (I64a38)
Wersja 1.2.0-beta02
18 maja 2022 r.
Opublikowano 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
. Wersja 1.2.0-beta02 zawiera te zatwierdzenia.
Wersja 1.2.0-beta01
11 maja 2022 roku
Opublikowano 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
. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.
- To jest pierwsza wersja beta 1.2. Brak zmian od ostatniej wersji alfa.
Wersja 1.2.0-alfa08
20 kwietnia 2022 r.
Opublikowano 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
. Wersja 1.2.0-alpha08 zawiera te zatwierdzenia.
Wersja 1.2.0-alfa07
6 kwietnia 2022 roku
Opublikowano 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
. Wersja 1.2.0-alpha07 zawiera te zatwierdzenia.
Zmiany w interfejsie API
AnimatedImageVector
obsługuje terazrepeatCount
irepeatMode
(Ia3e75, b/199304067)
Wersja 1.2.0-alfa06
23 marca 2022 r.
Opublikowano 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
. Wersja 1.2.0-alpha06 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zaktualizowano analizowanie elementów rysowanych wektorowych, aby umożliwić automatyczne odbicie lustrzane w celu odwrócenia zawartości elementu
VectorPainter
, jeśli bieżący kierunek układu to RTL. (I79cd9, b/185760237)
Poprawki błędów
- Zaktualizowaliśmy interfejsy API grafiki wektorowej, aby używały prawidłowej adnotacji kompozycyjnej
@VectorComposable
zamiast@UiComposable
(I942bc)
Wersja 1.2.0-alfa05
9 marca 2022 r.
Opublikowano 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
. Wersja 1.2.0-alpha05 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Hurra! W Opcjach programistycznych jest teraz obsługiwane ustawienie „Skala czasu trwania animacji” w ramach tworzenia animacji. (I5a4fc, b/161675988)
Wersja 1.2.0-alfa04
23 lutego 2022 r.
Opublikowano 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
. Wersja 1.2.0-alpha04 zawiera te zatwierdzenia.
Wersja 1.2.0-alfa03
9 lutego 2022 r.
Opublikowano 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
. Wersja 1.2.0-alpha03 zawiera te zatwierdzenia.
Wersja 1.2.0-alfa02
26 stycznia 2022 r.
Opublikowano 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
. Wersja 1.2.0-alpha02 zawiera te zatwierdzenia.
Wersja 1.2.0-alfa01
12 stycznia 2022 r.
Opublikowano 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
. Wersja 1.2.0-alpha01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Aby wczytać plik zasobów
<animated-vector>
, użyj metodyAnimatedImageVector.animatedVectorResource
zamiastanimatedVectorResource
.- Aby renderować
AnimatedImageVector
, użyjrememberAnimatedVectorResource
zamiastAnimatedImageVector#painterFor
. (I9c300)
- Aby renderować
Poprawki błędów
- Dodaj metody toString do 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.
Opublikowano androidx.compose.animation:animation:1.1.1
, androidx.compose.animation:animation-core:1.1.1
i androidx.compose.animation:animation-graphics:1.1.1
. Wersja 1.1.1 zawiera te zatwierdzenia.
Poprawki błędów
- Popraw
NullPointerException
na stronieandroidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
(aosp/1947059, b/206677462) - Naprawiono awarię spowodowaną zawartością schowka podczas odczytu ze schowka na Androidzie. (I06020, b/197769306)
- Stały RTL w
LazyVerticalGrid
(aosp/1931080, b/207510535)
Wersja 1.1.0
9 lutego 2022 r.
Opublikowano androidx.compose.animation:animation:1.1.0
, androidx.compose.animation:animation-core:1.1.0
i androidx.compose.animation:animation-graphics:1.1.0
. Wersja 1.1.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.0.0
- Stabilna obsługa efektu sygnalizowania końca przewijania w Androidzie 12.
- Ulepszenia rozmiaru docelowych elementów dotykowych
- Pamiętaj, że w przypadku interfejsu Compose 1.0 komponenty Material będą rozszerzały swoją przestrzeń układu, aby spełnić wytyczne dotyczące ułatwień dostępu w zakresie rozmiaru docelowego elementu dotykowego. Na przykład element dotykowy przycisku rozwinie się do minimalnego rozmiaru 48 x 48 dp, nawet jeśli ustawisz jego mniejszy rozmiar. Dzięki temu interfejs Compose Material jest taki sam jak w przypadku komponentów Material Design, co zapewnia spójne zachowanie w przypadku łączenia widoków i tworzenia. Ta zmiana sprawi też, że gdy tworzysz interfejs z użyciem komponentów Compose Material, będą one spełnione minimalne wymagania dotyczące ułatwień dostępu w elementach dotykowych.
- Stabilna obsługa Nawigacja Rail
- Przekształcanie wielu wcześniej eksperymentalnych interfejsów API w stabilne
- obsługa nowszych wersji Kotlin,
Wersja 1.1.0-rc03
26 stycznia 2022 r.
Opublikowano 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
. Wersja 1.1.0-rc03 zawiera te zatwierdzenia.
Poprawki błędów
- Zaktualizowano do obsługi Material Design w wersji 1.1.0-rc03
Wersja 1.1.0-rc01
15 grudnia 2021 roku
Opublikowano androidx.compose.animation:animation:1.1.0-rc01
i androidx.compose.animation:animation-core:1.1.0-rc01
. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Aby wczytać plik zasobów
<animated-vector>
, użyj metodyAnimatedImageVector.animatedVectorResource
zamiastanimatedVectorResource
.- Aby renderować
AnimatedImageVector
, użyjrememberAnimatedVectorResource
zamiastAnimatedImageVector#painterFor
. (I9c300)
- Aby renderować
Wersja 1.1.0-beta04
Grudzień 1, 2021
Opublikowano 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
. Wersja 1.1.0-beta04 zawiera te zatwierdzenia.
Nowe funkcje
- Zaktualizowano w celu zapewnienia zgodności z Kotlin
1.6.0
Wersja 1.1.0-beta03
17 listopada 2021 r.
Opublikowano 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
. Wersja 1.1.0-beta03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodano nowy modyfikator Modifier.onPlaced, co umożliwia obserwowanie zmiany miejsca docelowego. Dzięki temu można wprowadzić dodatkowe zmiany przesunięcia modyfikatora podrzędnego na podstawie zaobserwowanej zmiany miejsca docelowego. (I558fd)
Nowa obsługa parametru contentKey w przenikaniu. System animacji będzie używać ContentKey do sprawdzania równości. W związku z tym można osiągnąć niestandardowe różnice między stanami, określając odpowiedni parametr 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.
Opublikowano 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
. Wersja 1.1.0-beta02 zawiera te zatwierdzenia.
Poprawki błędów
- Nowe interfejsy API animacji do obsługi narzędzi. W szczególności pozwalają one narzędziom sprawdzać animacje i ich konfiguracje w przejściach. (I4116e)
Wersja 1.1.0-beta01
27 października 2021 roku
Opublikowano 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
. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nowe interfejsy API animacji do obsługi narzędzi. W szczególności pozwalają one narzędziom sprawdzać animacje i ich konfiguracje w przejściach. (I4116e)
Wersja 1.1.0-alfa06
13 października 2021 r.
Opublikowano 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
. Wersja 1.1.0-alpha06 zawiera te zatwierdzenia.
Wersja 1.1.0-alfa05
29 września 2021 r.
Opublikowano 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
. Wersja 1.1.0-alpha05 zawiera te zatwierdzenia.
Zmiany w interfejsie API
EnterTransition
,ExitTransition
i niektóre interfejsy APIAnimatedVisibility
są stabilne.MutableTransitionState.isIdle
również nie jest już eksperymentalny. (I5072d)Zmiana powodująca niezgodność: lambda w fabrykach Enter/ExitPrzejście została przeniesiona na ostatnią pozycję na liście parametrów. (I5072d)
Wersja 1.1.0-alfa04
15 września 2021 r.
Opublikowano 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
. Wersja 1.1.0-alpha04 zawiera te zatwierdzenia.
Wersja 1.1.0-alfa03
1 września 2021 roku
Opublikowano 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
. Wersja 1.1.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
- Zaktualizowano element Tworzenie
1.1.0-alpha03
, aby bazował na Kotlin1.5.30
. (I74545)
Wersja 1.1.0-alfa02
18 sierpnia 2021 r.
Opublikowano 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
. Wersja 1.1.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Funkcja StartOffset jest teraz obsługiwana w elementach powtarzalnych i infiniteRepeatable, umożliwiając opóźnienie czasu rozpoczęcia lub przewijanie animacji do przodu przed rozpoczęciem animacji. To przesunięcie początkowe nie zostanie powtórzone (Ic679f, b/195079908)
- Nowe przejście wejścia/wyjścia dla skali. Można go używać w połączeniu z innymi typami Enter/ExitPrzejście. (I372da, b/191325593)
Wersja 1.1.0-alfa01
4 sierpnia 2021 r.
Opublikowano 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
. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
AnimatedImageVector
i powiązane z nim interfejsy API są 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.
Opublikowano androidx.compose.animation:animation:1.0.5
i androidx.compose.animation:animation-core:1.0.5
. Wersja 1.0.5 zawiera te zatwierdzenia.
Poprawki błędów
- Usunięto problem ze śledzeniem awarii w przypadku instancji pochodnej klasy. (Aosp/1792247)
Wersja 1.0.4
13 października 2021 r.
Opublikowano androidx.compose.animation:animation:1.0.4
i androidx.compose.animation:animation-core:1.0.4
. Wersja 1.0.4 zawiera te zatwierdzenia.
Aktualizacje zależności
- Zaktualizowano w celu dopasowania do Kotlin
1.5.31
Wersja 1.0.3
29 września 2021 r.
Opublikowano androidx.compose.animation:animation:1.0.3
i androidx.compose.animation:animation-core:1.0.3
. Wersja 1.0.3 zawiera te zatwierdzenia.
Aktualizacje zależności
- Zaktualizowano w celu dopasowania do Kotlin
1.5.30
Wersja 1.0.2
1 września 2021 roku
Opublikowano androidx.compose.animation:animation:1.0.2
i androidx.compose.animation:animation-core:1.0.2
. Wersja 1.0.2 zawiera te zatwierdzenia.
Zaktualizowano, aby obsługiwać wersję 1.0.2
tworzenia wiadomości. Funkcja Utwórz 1.0.2
jest nadal zgodna z Kotlinem 1.5.21
.
Wersja 1.0.1
4 sierpnia 2021 r.
Opublikowano androidx.compose.animation:animation:1.0.1
i androidx.compose.animation:animation-core:1.0.1
. Wersja 1.0.1 zawiera te zatwierdzenia.
Aktualizacje zależności
- Zaktualizowano zgodnie z kotlinem
1.5.21
.
Wersja 1.0.0
28 lipca 2021 roku
Opublikowano androidx.compose.animation:animation:1.0.0
i androidx.compose.animation:animation-core:1.0.0
. Wersja 1.0.0 zawiera te zatwierdzenia.
Główne funkcje wersji 1.0.0
To jest pierwsza stabilna wersja funkcji Compose. Więcej informacji znajdziesz na oficjalnym blogu dotyczącym wydania wiadomości.
Znane problemy
Jeśli używasz Androida Studio Bumblebee Canary 4 lub AGP
7.1.0-alpha04
/7.1.0-alpha05
, może wystąpić ta awaria:java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
Aby rozwiązać ten problem, tymczasowo zwiększ wartość minSdkVersion do poziomu 24+ w pliku
build.gradle
. Ten problem zostanie rozwiązany w następnej wersji Androida Studio Bumblebee i interfejsu API7.1
. (b/194289155)
Wersja 1.0.0-rc02
14 lipca 2021 roku
Opublikowano androidx.compose.animation:animation:1.0.0-rc02
i androidx.compose.animation:animation-core:1.0.0-rc02
. Wersja 1.0.0-rc02 zawiera te zatwierdzenia.
Wersja 1.0.0-rc01
1 lipca 2021 r.
Opublikowano androidx.compose.animation:animation:1.0.0-rc01
i androidx.compose.animation:animation-core:1.0.0-rc01
. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Przeniesiono
InfiniteAnimationPolicy
doandroidx.compose.ui:ui
(I5eb09, b/160602714)
Wersja 1.0.0-beta09
16 czerwca 2021 r.
Opublikowano androidx.compose.animation:animation:1.0.0-beta09
i androidx.compose.animation:animation-core:1.0.0-beta09
. Wersja 1.0.0-beta09 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nowy element kompozycyjny
AnimatedContent
. Zarządzanie zmianą treści za pomocą konfigurowalnego elementuContentTransform
w miarę pojawiania się nowych treści docelowych i opuszczania treści. Różne kombinacje przejść wejścia i wyjścia można wykorzystać, aby uzyskać niestandardowy wygląd i działanie. W ramach przekształcania treściAnimatedContent
automatycznie animuje swój rozmiar, aby pasował do zawartości przychodzącej. (I2c3df) - Czcionka
ManualFrameClock
została usunięta. Jeśli chcesz sterować animacjami, użyj interfejsucomposeTestRule.mainClock
. (I3c3e8, b/189951065)
Dodane reguły profilu
Ta wersja dodaje reguły profilu do tych 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.text,
- androidx.compose.ui.text,
- androidx.compose.ui.unit,
- androidx.compose.ui.util
Co to są reguły profilu?
Reguły profilu biblioteki są określone w pliku tekstowym
baseline-prof.txt
znajdującym się w katalogusrc/main
lub podobnym. Każda reguła jest podana w pliku w oddzielnym wierszu. W tym przypadku reguła jest wzorcem dopasowywania do metod lub klas w bibliotece. Składnia tych reguł jest nadzbiorem formatu profilu ART zrozumiałego dla człowieka, który jest używany podczas korzystania z funkcjiadb shell profman --dump-classes-and-methods ...
. Reguły te mogą mieć 2 formy kierowania na metody lub klasy.Reguła metody będzie miała następujący wzorzec:
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
Reguła dotycząca klasy będzie miała następujący wzorzec:
<CLASS_DESCRIPTOR>
<FLAGS>
to co najmniej jeden ze znakówH
,S
iP
wskazujący, czy ta metoda ma być oznaczona jako „Hot”, „Startup” lub „Post Startup”.<CLASS_DESCRIPTOR>
to deskryptor klasy, do której należy metoda docelowa. Na przykład klasaandroidx.compose.runtime.SlotTable
miałaby deskryptor o wartościLandroidx/compose/runtime/SlotTable;
.<METHOD_SIGNATURE>
to podpis metody, który zawiera nazwę, typy parametrów oraz zwracane typy metody. Na przykład metodafun isPlaced(): Boolean
naLayoutNode
ma podpisisPlaced()Z
.Te wzorce mogą zawierać symbole wieloznaczne (
**
,*
i?
), aby jedna reguła obejmowała wiele metod lub klas.
Jaką rolę pełnią reguły?
Metoda z flagą
H
wskazuje, że jest to metoda „gorąca” i należy ją skompilować z wyprzedzeniem.Metoda z flagą
S
wskazuje, że jest ona wywoływana podczas uruchamiania i powinna zostać skompilowana z wyprzedzeniem, aby uniknąć kosztów kompilacji i interpretowania jej podczas uruchamiania.Metoda z flagą
P
wskazuje, że jest wywoływana po uruchomieniu.Klasa znajdująca się w tym pliku wskazuje, że jest używana podczas uruchamiania i powinna być wstępnie przypisana na stercie, aby uniknąć kosztów ładowania klas.
Jak to działa?
- Biblioteki mogą definiować te reguły, które zostaną spakowane do artefaktów AAR. Gdy zostanie utworzona aplikacja, która zawiera te artefakty, reguły te są scalane, a scalone reguły są wykorzystywane do stworzenia kompaktowego binarnego profilu ART specyficznego dla danej aplikacji. ART może wykorzystać ten profil, gdy aplikacja jest zainstalowana na urządzeniach, aby z wyprzedzeniem skompilować określony podzbiór aplikacji w celu zwiększenia wydajności aplikacji, zwłaszcza jej 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.
Opublikowano androidx.compose.animation:animation:1.0.0-beta08
i androidx.compose.animation:animation-core:1.0.0-beta08
. Wersja 1.0.0-beta08 zawiera te zatwierdzenia.
Poprawki błędów
- Teraz
detectDragGesures
,detectVerticalGestures
idetectHorizontalGestures
automatycznie przejmują zmianę pozycji, nie trzeba wywoływać funkcji change.consumePositionChange w wywołaniach zwrotnych onDrag (I42fc4, b/185096350, b/187320697) - Parametr
Modifier.onGloballyPositioned()
został zmieniony tak, by raportować współrzędne tego modyfikatora w łańcuchu modyfikatora, a nie współrzędne układu po zastosowaniu wszystkich modyfikatorów. Oznacza to, że teraz kolejność modyfikatorów wpływa na to, jakie współrzędne będą raportowane. (Ieb67d, b/177926591)
Wersja 1.0.0-beta07
18 maja 2021 r.
Opublikowano androidx.compose.animation:animation:1.0.0-beta07
i androidx.compose.animation:animation-core:1.0.0-beta07
. Wersja 1.0.0-beta07 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nowy interfejs API
AnimatedVisibility
, który obsługuje widoczność do określenia w zasadzieMutableTransitionState
. Dzięki temu można też obserwować stany animacji pozaAnimatedVisibility
za pomocącurrentState
iisIdle
.- Nowa pomoc w przenoszeniu kont dzieci
- Obsługa niestandardowych animacji wyjścia/wprowadzania w animacjach za pomocą funkcji AnimationScope.transition.
- Nowy modyfikator animateEnterExit dostępny dla wszystkich elementów podrzędnych AnimatedWidoczność
- Wycofaliśmy interfejsy Authenticator API, które przyjmują parametr
initiallyVisible
(I702f3)
Wersja 1.0.0-beta06
5 maja 2021 roku
Opublikowano androidx.compose.animation:animation:1.0.0-beta06
i androidx.compose.animation:animation-core:1.0.0-beta06
. Wersja 1.0.0-beta06 zawiera te zatwierdzenia.
Wersja 1.0.0-beta05
21 kwietnia 2021 r.
Opublikowano androidx.compose.animation:animation:1.0.0-beta05
i androidx.compose.animation:animation-core:1.0.0-beta05
. Wersja 1.0.0-beta05 zawiera te zatwierdzenia.
Poprawki błędów
- Pliki AndroidManifest z elementów 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.
Opublikowano androidx.compose.animation:animation:1.0.0-beta04
i androidx.compose.animation:animation-core:1.0.0-beta04
. Wersja 1.0.0-beta04 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Publiczne instancje
RowScope
,ColumnScope
,BoxScope
,BoxWithConstraintsScope
zostały usunięte. (I4e83e, b/181869067)
Wersja 1.0.0-beta03
24 marca 2021 r.
Opublikowano androidx.compose.animation:animation:1.0.0-beta03
i androidx.compose.animation:animation-core:1.0.0-beta03
. Wersja 1.0.0-beta03 zawiera te zatwierdzenia.
Wersja 1.0.0-beta02
10 marca 2021 r.
Opublikowano androidx.compose.animation:animation:1.0.0-beta02
i androidx.compose.animation:animation-core:1.0.0-beta02
. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.
Poprawki błędów
- Egzekwuj ograniczenia dotyczące publicznego użytkowania eksperymentalnych interfejsów API (I6aa29, b/174531520)
Wersja 1.0.0-beta01
24 lutego 2021 r.
Opublikowano androidx.compose.animation:animation:1.0.0-beta01
i androidx.compose.animation:animation-core:1.0.0-beta01
. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
To jest pierwsza wersja beta funkcji tworzenia wiadomości w wersji 1.0.0.
Zmiany w interfejsie API
- Element
InteractionState
został zastąpiony elementem[Mutable]InteractionSource
- Interfejsy odpowiadają za generowanie / zbieranie zdarzeń interakcji.
- Zamiast przekazywać atrybut
interactionState = remember { InteractionState() }
do komponentów takich jakButton
iModifier.clickable()
, użyjinteractionSource = remember { MutableInteractionSource() }
. - Zamiast
Interaction.Pressed in interactionState
używaj funkcji rozszerzenia InteractionSource, takich jak InteractionSource.collectIsPressedAsState(). - W złożonych przypadkach użycia możesz użyć funkcji InteractionSource.interactions, aby obserwować strumień interakcji. Więcej informacji znajdziesz w dokumentacji i przykładach InteractionSource.
- (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
- Zmieniono pakiety metod smooth ScrollBy i ScrollBy na
androidx.compose.foundation.gestures.*
(I3f7c1, b/175294473) - Zmieniono nazwę modyfikatorów rozmiaru. Nazwa parametru Modifier.width/height/size została zmieniona na requiredwidth/requiredHeight/requiredSize. Nazwa parametru Modifier.preferredWidth/preferredHeight/preferredSize została zmieniona na szerokość/wysokość/rozmiar. (I5b414)
- Orientacja została przeniesiona do pakietu podstawowych. Usługa VelocirtTracker została przeniesiona z ui.gesture do ui.input.pointer. (Iff4a8, b/175294473)
- Podklasy AnimationClockObservable zostały usunięte. Usunięto Animację. (Icde52, b/177457083)
- Modifier.draggable akceptuje teraz element DraggableState zamiast prostego obiektu lambda. Możesz utworzyć stan za pomocą
rememberDraggableState { delta -> }
, by uzyskać takie samo działanie jak wcześniej (Ica70f, b/175294473) - Interfejsy API animacji, AnimationValue, AnimationValue zostały usunięte (If27bc, b/177457083).
- Usunięto element AnimationEndReason.Interrupted. W przypadku przerwy w animacji zostanie wywołany wyjątek UnsubscribeWyjątek. (I2cbbc, b/179695417)
- Interfejs API TargetAnimation został usunięty. (If47d1, b/177457083)
Wersja 1.0.0-alfa12
10 lutego 2021 r.
Opublikowano androidx.compose.animation:animation:1.0.0-alpha12
i androidx.compose.animation:animation-core:1.0.0-alpha12
. Wersja 1.0.0-alpha12 zawiera te zatwierdzenia.
Zmiany w interfejsie API
Modifier.pointerInput
wymaga teraz zapamiętania klawiszy, aby wskazać moment, w którym wtyczka wykrywania danych wejściowych wskaźnika ma uruchomić się ponownie w przypadku nowych zależności. (I849cd)- Ograniczenia zostały zmienione na DpRect (I4b32a)
- Zjednoczyliśmy nazwę parametru AnimationSpec z animacją w całym systemie animacji. Ogranicz też parametry Enter/ExitSwitch, aby akceptować FiniteAnimationSpec. (Ie47c5, b/177457083)
- Animatable.snapTo i Animatable.stop to teraz funkcje zawieszania (If4288).
- Podobnie jak w przypadku wcześniejszego usunięcia funkcji
state { 0 }
z funkcji kompozycyjnej, a teraz promujemy korzystanie z funkcji takiej jakremember { mutableStateOf(0) }
, usuniemy właściwośćsavedInstanceState { 0 }
. Użyj zamiast niego metodyrememberSaveable { mutableStateOf(0) }
. Zapisze ona i przywróci automatycznie, jeśli typ używany w obrębie MutableState może zostać zapisany w pakiecie. Jeśli wcześniej przekazywano niestandardowy obiekt oszczędzania, teraz musisz użyć nowego przeciążenia zasobów saveSaveable, które zawiera parametrstateSaver
. Użycie będzie wyglądać tak:val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }
(Ib4c26, b/177338004) - Zaktualizowaliśmy podpis metody Przenikanie, aby był bardziej spójny z resztą systemu animacji. (Ib05ed, b/177457083)
- Nazwa parametru saveCacheState() została zmieniona na zapamiętajSaveable() i została przeniesiona do pakietu androidx.compose.runtime.saveable. (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 po prostu przekazywać dowolne elementy jako klucz. Adnotacja eksperymentalna nie jest już potrzebna. (I0902e, b/174598702)
- Zaktualizowaliśmy interfejs API Modifier.animateContentSize, aby był spójny z resztą systemu animacji. (I0bf75, b/177457083)
- Wycofaliśmy funkcjęAnimationValue/Float. Użyj tej wersji. (I71345, b/177457083)
- Metody tapGeFilter, doubleTapGeFilter, longPressGeFilter i PressIndicaitongesFilter zostały wycofane. Użyj zamiast tego funkcji Modifier.clickable lub Modifier.pointerInput z funkcjądetectTapgess. (I6baf9, b/175294473)
- Wprowadziliśmy element kontekstu współużytkowania
InfiniteAnimationPolicy
, który będzie stosowany w nieskończonych animacjach. Domyślnie nie są zainstalowane żadne zasady z wyjątkiem testowania przy użyciuComposeTestRule
. (I50ec4, b/151940543) - Metody niszczenia struktury i metody copy() zostały usunięte z kilku klas, w których były rzadko używane. (I26702, b/178659281)
- Czas odtwarzania animacji jest teraz ograniczony do nanosekund (If776a)
- Artefakt compose:runtime-dispatch został wycofany. Element MonotonicFrameClock można teraz znaleźć w komponencie compose:runtime, a AndroidUiDispatcher – w kompozycji:ui. (Ib5c36)
- Dodaliśmy
Animation.isInfinite
iVectorizedAnimationSpec.isInfinite
, które sygnalizują, czy animacja jest nieskończona. Można go stosować w implementacjach animacji, by uzyskać specjalną obsługę takich animacji. Na przykład może być wyświetlany specjalny komunikat „pozostały czas” lub podczas testów animacja można anulować, aby zapobiec oczekiwaniu na bezczynność w nieskończoność. (Iebb05, b/151940543) - Jako typu czasu animacji używaj wartości Długie zamiast Czas działania (Ie3aa7, b/177420019)
Wersja 1.0.0-alfa11
28 stycznia 2021 roku
Opublikowano androidx.compose.animation:animation:1.0.0-alpha11
i androidx.compose.animation:animation-core:1.0.0-alpha11
. Wersja 1.0.0-alpha11 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Przejście na podstawie TransitionDefinition zostało wycofane (I0ac57)
- Dodano pole etykiety do wyświetlania animacji przejścia i podrzędnych w narzędziach (I619fb).
- Element animateAsState jest teraz animowanyFooAsState, gdzie Foo to typ animowanej zmiennej, np. Float, Dp, Offset itp. (Ie7e25).
- Jest to nowa funkcja InfiniteTransition, która uruchamia dowolną liczbę animacji podrzędnych. (I1da81)
- Zmienia interfejsy parametrów stanowych Material Design na funkcje @Composable, które zwracają wartość
State<T>
. Dodaje funkcję Animatable.asState(), która ułatwia konwersję obiektu Animatable w stan. Zmienia też animację Elevation na rozszerzenie zawieszenia w Animatable. (If613c)
Poprawki błędów
- Interfejsy onCommit, onDispose i onActive zostały wycofane i zastąpione przez SideEffect oraz DisposableEffect API (If760e)
- Obsługujemy teraz stan początkowy aktualizacji w ramach aktualizacji (Ifd51d)
- Do obrazu i ikony dodano parametr Opis treści. Jest używany do dodawania opisu do usług ułatwień dostępu (I2ac4c).
- Metody metody invalidate i enterpriseReference() zostały teraz wycofane. Zastąpiły one obecne RecomposeScope i zapamiętaCompositionReference. (I583a8)
- Czas trwania i czas działania zostaną zastąpione długimi milisekundami, a ten krok eliminuje zależność danych wejściowych wskaźnika od tych klas. (Ia33b2, b/175142755, b/177420019)
- można teraz utworzyć 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 jeśli ich użyjesz, musisz je zaimportować ręcznie. Nowe przeciążenia rozszerzeń dla tablic: items(items: tablica) i itemsIndexed(Array) (I803fc, b/175562574) - Wykorzystywanie narzędzia TestCoroutineDispatcher do testowania (I532b6)
- Usunięto PointerInputData i zmodyfikowano PointerInputChange, aby dać mu wszystkie pola PointerInputData. Stworzono wewnętrzne PointerInputEvent i PointerInputEventData, ponieważ nie są one używane w publicznym interfejsie API. (Ifff97, b/175142755)
Wersja 1.0.0-alfa10
13 stycznia 2021 r.
Opublikowano androidx.compose.animation:animation:1.0.0-alpha10
i androidx.compose.animation:animation-core:1.0.0-alpha10
. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zmodyfikowano prędkość, by uzyskać części składowe i działania matematyczne. (Ib0447)
- Zmieniono nazwę
@ExperimentalTesting
na@ExperimentalTestApi
, aby zachować spójność z podobnymi eksperymentalnymi adnotacjami interfejsu API (Ia4502, b/171464963) - Zmieniono nazwę pozycji na DpOffset i usunięto funkcję getDISTANCE() (Ib2dfd)
- Usunięto publiczny interfejs API Any.identityHashCode() (I025d7)
Poprawki błędów
- Nowy interfejs API
Animatable
oparty na współczynnikach, który zapewnia wzajemne wykluczanie się animacji. Nowa funkcja DecayAnimationSpec do obsługi wielowymiarowych animacji rozkładu (I820f2, b/168014930) - Pole
animate()
jest teraz zastąpione wartościąanimateAsState()
, która zwraca wartośćState<T>
zamiastT
. Zwiększa to skuteczność, ponieważ zakres unieważniania można zawęzić do miejsca, w którym jest odczytywana wartość stanu. (Ib179e)
Wersja 1.0.0-alfa09
16 grudnia 2020 roku
Opublikowano androidx.compose.animation:animation:1.0.0-alpha09
i androidx.compose.animation:animation-core:1.0.0-alpha09
. Wersja 1.0.0-alpha09 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Przeniesiono Dp.VectorConverter, Position.VectorConverter itp. do animacji-core i wycofano stare VectorConveters (If0c4b).
- Wprowadziliśmy zupełnie nowy zestaw interfejsów API Transition, który jest łatwiejszy w użyciu, obsługuje dynamicznie dodawane animacje i dynamicznie obliczane cele animacji. Te interfejsy API są oznaczone jako eksperymentalne, aby łatwo odróżniać je od interfejsu API opartego na TransitionDefinition. (Ia7fe3)
Poprawki błędów
- Lambda w modyfikatorach przesunięcia zwraca teraz wartość IntOffset, a nie liczbę zmiennoprzecinkową. (Ic9ee5, b/174137212, b/174146755)
- Wycofaliśmy LazyColumnFor, LazyRowFor, LazyColumnForIndexed i LazyRowForIndexed. Zamiast tego użyj LazyColumn i LazyRow (I5b48c)
- W przypadku interfejsów API do wprowadzania danych zawieszania wskaźnika zmieniono nazwę HandlePointerInputScope na AwaitPointerEventScope, a handlePointerInput() na awaitPointerEventScope(). (Idf0a1, b/175142755)
- Nowa funkcja nieskończonościowa do tworzenia obiektu InfiniteRepeatableSpec (I668e5)
- Usunięto adnotację ExperimentalPointerInput (Ia7a24)
Wersja 1.0.0-alfa08
Grudzień 2, 2020
Opublikowano androidx.compose.animation:animation:1.0.0-alpha08
i androidx.compose.animation:animation-core:1.0.0-alpha08
. Wersja 1.0.0-alpha08 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodano sprawdzanie lintowania pod kątem nazewnictwa i pozycji parametrów kompozycyjnych lambda w celu sprawdzenia zgodności ze wskazówkami dotyczącymi tworzenia wiadomości.
Przeprowadzono też migrację niektórych interfejsów API, używając
children
jako nazwy końcowej lambda docontent
, zgodnie ze sprawdzaniem lintowania i wskazówkami. (Iec48e). - Wcześniej wycofane interfejsy API zostały usunięte:
- Usunięto:
Modifier.onPositioned
. Użyj koduModifier.onGloballyPositioned
. - Usunięto:
Modifier.onDraw
. Użyj koduModifier.onDrawBehind
. - Usunięto:
Modifier.plus
. Użyj koduModifier.then
. - Usunięto:
Color.Unset
. Użyj koduColor.Unspecified
. - Usunięto
PxBounds
zajęcia. Użyj w zamian zajęćRect
. - (Ie9d02, b/172562222)
- Usunięto:
- Tymczasowo dodana opcja pozwalająca na uruchamianie funkcji TestAnimationClock przez parametr MonotonicFrameClock (I1403b, b/173402197).
Poprawki błędów
- Na podstawie opinii rady interfejsu API zmieniliśmy nazwę Modifier.drawLayer na Modifier.graphicsLayer. Na podstawie opinii rady interfejsu API zaktualizowaliśmy też powiązane klasy na GraphicsLayer. (I0bd29, b/173834241)
- W ramach wygody dodaliśmy interfejsy API Modifier.scale/rotate.
- Nazwa parametru Modifier.drawOpacity została zmieniona na Modifier.alpha
- Nazwa Modifier.drawShadow została zmieniona na Modifier.shadow (I264ca, b/173208140)
- Wprowadzono wartość niedopuszczającą wartości null w polach czasu działania i pozycji PointerInputData. (Id468a)
- Zmieniono nazwę modyfikatorów shiftPx na przesunięcie. Przyjmują teraz parametry lambda zamiast stanu. (Ic3021, b/173594846)
- Nowe interfejsy API do uruchamiania animacji w współprogramach (Ied662)
- Wycofano elementy otoczenia, których sufiks to
Ambient
, i zastąpiono je nowymi usługami z przedrostkiem Ambient zgodnie z innymi wytycznymi dotyczącymi interfejsu Ambients i Compose. (I33440) - Kontrola czasu w testach (TestAnimationClock i jej zastosowania) jest obecnie w fazie eksperymentalnej (I6ef86, b/171378521)
- Usuń stary moduł testu interfejsu użytkownika i jego wycinki (I3a7cb)
- Nazwa funkcji
RestorableStateHolder.withRestorableState
została zmieniona naRestorableStateProvider
(I66640) - Interfejs wyrównania został zaktualizowany i działa już prawidłowo. (I46a07, b/172311734)
Wersja 1.0.0-alfa07
11 listopada 2020 roku
Opublikowano androidx.compose.animation:animation:1.0.0-alpha07
i androidx.compose.animation:animation-core:1.0.0-alpha07
. Wersja 1.0.0-alpha07 zawiera te zatwierdzenia.
Poprawki błędów
- Podstawowe elementy AmbientTextStyle, ProvideTextStyle i AmbientContentColor zostały wycofane. Zamiast tego używaj nowych wersji dostępnych w bibliotece Material. W przypadku aplikacji innych niż Material warto utworzyć własny, specyficzny dla systemu motyw scenariusz, który można wykorzystać we własnych komponentach. (I74acc, b/172067770)
- Fundacja.Text została wycofana i zastąpiona przez materiał.Text. Podstawowy, niezrozumiały interfejs API tekstu, który nie przetwarza wartości z motywu, znajdziesz na stronie androidx.compose.foundation.PodstawyText. (If64cb)
- Parametr MeasureResult został przeniesiony poza 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-alfa06
28 października 2020 r.
Opublikowano androidx.compose.animation:animation:1.0.0-alpha06
i androidx.compose.animation:animation-core:1.0.0-alpha06
. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Włącz przejścia w elemencie ComposeTestRule. Usuń tę opcję, aby włączyć migający kursor w elemencie ComposeTestRule. (If0de3)
Wersja 1.0.0-alfa05
14 października 2020 r.
Opublikowano androidx.compose.animation:animation:1.0.0-alpha05
i androidx.compose.animation:animation-core:1.0.0-alpha05
. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nowy interfejs i podklasy animacji: te klasy przechowują warunki rozpoczęcia i zakończenia animacji, a tym samym umożliwiają odpytywanie wartości i prędkości tylko za pomocą czasu odtwarzania (Ie95bd, b/163329867).
Poprawki błędów
- Nazwa OnPositionedModifier została zmieniona na OnGloballyPositionedModifier, a funkcja onPositioned() – na onGloballyPositioned(). (I587e8, b/169083903).
Wycofuje interfejsy API contentColor() i currentTextStyle(), i zastępuje je odpowiednio treściami AmbientContentColor oraz AmbientTextStyle. Aby uzyskać dostęp do bieżącej wartości, użyj właściwości
.current
we właściwości otoczenia, tak jak w przypadku innych elementów otoczenia. Ta zmiana ma na celu zapewnienie spójności i uniknięcia konieczności utrzymywania różnych sposobów osiągania tego samego celu. Dodatkowo zmienia nazwy niektórych właściwości otoczenia, aby lepiej opisać ich przeznaczenie:- ContentColorAmbient -> AmbientContentColor
- TextStyleAmbient -> AmbientTextStyle
- IndicationAmbient -> AmbientIndication
- EmphasisAmbient -> AmbientEmphasisLevels
- RippleThemeAmbient -> AmbientRippleTheme (I37b6d)
Wersja 1.0.0-alfa04
1 października 2020 roku
Opublikowano androidx.compose.animation:animation:1.0.0-alpha04
i androidx.compose.animation:animation-core:1.0.0-alpha04
. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- z adnotacjami: rootAnimationClockFactory, przejściesEnabled,blinkingCursorEnabled i textInputServiceFactory z @visibleForTesting, wewnętrzny interfejs API i ukrycie pliku kdoc (I554eb, b/168308412).
Poprawki błędów
- Zaktualizowano wiele interfejsów Graphics API.
- Zaktualizowaliśmy interfejsy API przekształcania skalowania i rotacji, aby przetwarzać pojedynczy parametr przesunięcia do reprezentowania współrzędnych obrotu, zamiast osobnych parametrów x/y dla współrzędnych x/y w DrawScope i DrawTransform
- Usunięto metody Rect.expandToinclude i Rect.join
- Zaktualizowaliśmy dokumentację wyznaczania promienia, aby podawać wymiary eliptyczne i eliptyczne.
- Dodaliśmy dokumentację wskazującą, że publiczny konstruktor klasy promieniowania wbudowanego nie może być wywoływany bezpośrednio, ale instancje promieni powinny być tworzone za pomocą ich konstruktorów funkcji.
- Usunęliśmy interfejsy RoundRect API, które umożliwiają wysyłanie zapytań dotyczących górnegoRight, dołuRight, dołuCenter itp.
- Wycofanie funkcji Rect.shift na rzecz Rect.translate
- Usunięto interfejsy API RoundRect.grow i Rect.shrink
- Nazwa okna RoundRect.outerRect została zmieniona na Rect.boundingRect
- Usunięto metody RoundRect.middleRect/tallMiddleRect/wideMiddleRect i Rect.isStadium
- Nazwa RoundRect.longestSide została zmieniona na RoundRect.maxDimension
- Nazwa RoundRect.shortestSide została zmieniona na RoundRect.minDimension
- Zmieniono funkcję RoundRect.center, a nie funkcję.
- Zaktualizowano konstruktor RoundRect, tak aby korzystał z właściwości promienia zamiast poszczególnych parametrów promienia x/y
- Usunięto interfejsy API rozmiaru, które zakładały, że był to prostokąt o źródle równym 0,0.
- Do promienia dodano niszczycielski interfejs API
- Funkcje rozszerzeń RoundRect zostały przeniesione do właściwości właściwości.
- (I8f5c7, b/168762961)
- Fundacja.Box została wycofana. Użyj parametru Foundation.layout.Box. (Ie5950, b/167680279)
- Nazwa stosu została zmieniona na Box. Obecna wersja Box zostanie zastąpiona nową usługą Box (compose.foundation.layout). Nowa funkcja Box gromadzi elementy podrzędne jedna nad drugą, gdy ma wiele elementów podrzędnych. Działa to inaczej niż w przypadku poprzedniego pola, które działa podobnie jak kolumna. (I94893, b/167680279)
- Parametry dekoracji pól zostały wycofane. Jeśli chcesz użyć dekoracji/dopełnienia pola, użyj modyfikatorów (Modifier.background, Modifier.border, Modifier.dopełnienie) (Ibae92, b/167680279).
- Zablokowaliśmy statyczne importowanie zawartości zakresów układów (np. matchWithSiblings w RowScope). Zamiast niej należy użyć alternatywnego zakresu:
with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }
. (I216be, b/166760797)
Wersja 1.0.0-alfa03
16 września 2020 roku
Opublikowano androidx.compose.animation:animation:1.0.0-alpha03
i androidx.compose.animation:animation-core:1.0.0-alpha03
. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.
Poprawki błędów
- Nazwy przypadków użycia grawitacji były spójne pod kątem wyrównywania lub wyrównywania w interfejsach API układu. (I2421a, b/164077038)
Wersja 1.0.0-alfa02
2 września 2020 r.
Opublikowano androidx.compose.animation:animation:1.0.0-alpha02
i androidx.compose.animation:animation-core:1.0.0-alpha02
. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
Dodano element
ManualFrameClock.hasAwaiters
, który sprawdza, czy jest jakiś czas na wyjęcie klatki z tego zegara.runWithManualClock
zamiast narunBlocking
w przypadku testów wymagających ManualFrameClock;TestUiDispatcher.Main
, który zapewnia łatwy dostęp do głównego dyspozytora interfejsu użytkownika w testach.Przykład:
@Test fun myTest() = runWithManualClock { clock -> // set some compose content withContext(TestUiDispatcher.Main) { clock.advanceClock(1000L) } if (clock.hasAwaiters) { println("The clock has awaiters") } else { println("The clock has no more awaiters") } }
Poprawki błędów
Funkcja onPreCommit została wycofana; funkcja onCommit działa teraz zgodnie z właściwością onPreCommit.
Metody onCommit i onActive działają w tej samej strukturze choreografa, w której zmienia się kompozycja, a nie na początku kolejnego planu choreografa. (I70403)
Wersja 1.0.0-alfa01
26 sierpnia 2020 r.
Opublikowano androidx.compose.animation:animation:1.0.0-alpha01
i androidx.compose.animation:animation-core:1.0.0-alpha01
. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.
Wersja 0.1.0-dev
Wersja 0.1.0-dev17
19 sierpnia 2020 r.
Opublikowano androidx.compose.animation:animation:0.1.0-dev17
i androidx.compose.animation:animation-core:0.1.0-dev17
. Wersja 0.1.0-dev17 zawiera te zatwierdzenia.
Nowe funkcje
Zmiany w interfejsie API
- Przesunięcie stało się klasą wbudowaną (Iaec70)
- IntOffset jest teraz klasą wbudowaną (Iac0bf).
- IntSize jest teraz klasą wbudowaną (I2bf42).
Funkcja kompozycyjnaAnimationVisibilty pozwala animować wygląd i zniknięcie treści podrzędnych.
Wprowadzanie przejść i wyjścia Różne rodzaje animacji można łączyć, aby uzyskać lepiej dopasowany wygląd i styl. (Idda11).
Wycofano atrybuty PxBound za pomocą Rect. Zaktualizowano wszystkie przypadki użycia PxBound z użyciem prostokąta i dodano odpowiednie wycofanie lub zastąpienie ich adnotacjami, aby wspomóc migrację. (I37038, b/162627058)
Poprawki błędów
- Nazwa elementu (
PlacementScope.placeAbsolute()
) została zmieniona naPlacementScope.place()
, a poprzednia nazwa „PlacementScope.place()
” – „PlacementScope.placeRelative()
”. W rezultacie metodaPlacementScope.place()
nie będzie już automatycznie powielać pozycji w kontekstach od prawej do lewej. Jeśli chcesz, użyj zasadyPlacementScope.placeRelative()
. (I873ac, b/162916675) - Funkcja kompozycyjna
state { ... }
została wycofana i wycofana z funkcjiremember { mutableStateOf(...) }
, aby zapewnić przejrzystość. Zmniejsza to ogólną powierzchnię interfejsu API i liczbę pojęć związanych z zarządzaniem stanem i dopasowywane do wzorcaby mutableStateOf()
na potrzeby przekazywania właściwości klasy. (Ia5727)
Wersja 0.1.0-dev16
5 sierpnia 2020 r.
Opublikowano androidx.compose.animation:animation:0.1.0-dev16
i androidx.compose.animation:animation-core:0.1.0-dev16
. Wersja 0.1.0-dev16 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Wbudowane konwertery wektorowe do konwersji jednostek wbudowanych są teraz dostępne w interfejsie
Foo.VectorConverter
. np.Dp.VectorConverter
,Color.VectorConverter
,Float.VectorConverter
itp. (I3e273) - Obsługuj detektor końcowy w
Modifier.animateContentSize()
, tak by po zakończeniu animacji zmiany rozmiaru odbiornik był powiadamiany wraz z rozmiarem początkowym i końcowym animacji. (I277b2) - Nowy modyfikator animateContentSize, który animuje zmianę rozmiaru układu swojego modyfikatora podrzędnego (Ieffdc)
Dodano element
MonotonicFrameAnimationClock
, który umożliwia użycie MonotonicFrameClock jako elementuAnimationClockObservable
w celu wypełnienia luki między nowymi zegarami opartymi na współpracownikach a interfejsami API, które nadal korzystają ze starych zegarów opartych na wywołaniach zwrotnych.MonotonicFrameClock
odpowiednikManualAnimationClock
to terazManualFrameClock
. (I111c7, b/161247083)
Poprawki błędów
- Interfejsy API do obsługi tekstu od prawej do lewej zostały zaktualizowane. Dodano element LayoutDirectionAmbient, którego można używać do odczytywania i zmieniania kierunku układu. Usunięto interfejsy Modifier.rtl i Modifier.ltr. (I080b3)
- Wymagaj wyraźnego określenia typu T na potrzeby przejścia. (I1aded)
- Pakiet Foundation.shape.corner został spłaszczony do fundacji.share (I46491, b/161887429)
- Funkcja Modifier.plus została wycofana. Zamiast niej użyj elementu Modifier.then. „Następnie” zawiera silniejszy sygnał porządkowania, ale zabrania też wpisywania
Modifier.padding().background() + anotherModifier
, co powoduje pęknięcie łańcucha 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.
Opublikowano androidx.compose.animation:animation:0.1.0-dev15
i androidx.compose.animation:animation-core:0.1.0-dev15
. Wersja 0.1.0-dev15 zawiera te zatwierdzenia.
Aktualizacja zależności
- Aby korzystać z wersji tworzenia wiadomości w wersji
0.1.0-dev15
, musisz zaktualizować zależności zgodnie z nowymi fragmentami kodu podanymi powyżej w sekcji Deklarowanie zależności.
Zmiany w interfejsie API
- Interfejs Przejście z interfejsu został zmieniony tak, aby zwracał wartość TransitionState, a nie przekazywać jej do elementów podrzędnych. Dzięki temu interfejs API staje się bardziej spójny z interfejsami API animate(). (I24e38)
- Dodano parametr modyfikatora dla Przenikania (I87cfe, b/159706180)
- Aby wyjaśnić pojęcie specyfikacji animacji statycznej, użyj AnimationSpec zamiast AnimationBuilder w interfejsach API najwyższego poziomu.
- Ulepszaj DSL przejścia, usuwając wymóg lambda przy tworzeniu specyfikacji animacji, np. Tween, Spring. Zamiast tego bezpośrednio przyjmują parametry konstruktora.
- Poprawa ogólnej łatwości użycia AnimationSpec, otwierając konstruktory zamiast korzystać z kreatorów.
- Zmień czas trwania i opóźnienie dla klatek kluczowych i trybów Tween na Int. Eliminuje to niepotrzebne rzutowanie typów i przeciążenie metod (na potrzeby obsługi zarówno długich, jak i Int). (Ica0b4)
- Zastąpiono użycie IntPx wartością IntPx wartością IntPxPosition zastąpioną wartością IntOffset. Zastąpiono wartość IntPxSize wartością IntSize. (Ib7b44)
- Aby skonsolidować liczbę klas używanych do reprezentowania informacji o rozmiarze, ustandaryzuj wykorzystanie klasy size zamiast PxSize. Dzięki temu klasa wbudowanej wykorzystuje wartości zmiennoprzecinkowe do pakowania 2 wartości zmiennoprzecinkowych do reprezentowania szerokości i wysokości w postaci liczby zmiennoprzecinkowej. (Ic0191).
- Aby skonsolidować liczbę klas służących do reprezentowania informacji o pozycjonowaniu, ustandaryzuj wykorzystanie klasy Offset zamiast PxPosition. Dzięki temu klasa wbudowanej wykorzystuje wartości zmiennoprzecinkowe do pakowania typu „long-to pack” (wartości zmiennoprzecinkowe) reprezentujące przesunięcia X i Y w postaci liczby zmiennoprzecinkowej. (I3ad98)
- Zastąpiliśmy użycie klasy Px w różnych klasach tworzenia w ramach refaktoryzacji polegającej na stosowaniu tylko typów Dp i typów podstawowych w parametrach piksela (I086f4).
- Dodano obsługę funkcji animate() w przypadku wymiarów Dp, Px, Rozmiar, Pozycja, Ograniczenia, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds i AnimationVector (Ib7518).
- Przenikanie akceptuje teraz opcjonalny parametr AnimationBuilder w celu skonfigurowania animacji (I6d6e0)
- Zastąpiono wszystkie używane w interfejsie wartości null wartości koloru w interfejsie API wartością niedopuszczalną i użyliśmy wartości Color.Unset zamiast wartości null (Iabaa7).
- Usunięto klasę ValueHolder. Zmodyfikowaliśmy strukturę pola animowanegoValue i AnimationFloat, aby pole wartości animacji stało się abstrakcyjne, tak aby podklasy mogły obserwować aktualizację wartości.
- Dodano klasy modelu do animacjiAnimationValue,AnimationFloat itp.
- Dodaliśmy nowy zestaw lekkiego interfejsu API @Composable do animowania między wartościami. (I79530)
- Najważniejsze zmiany w interfejsie API wygaszacza. Szczegółowe informacje znajdziesz w dzienniku i dokumentacji
Ambient<T>
(I4c7ee, b/143769776). - Nowy tryb powtarzania: odwróć. Ten tryb odwraca poprzednią iteracja, gdy animacja powtarza się w obiekcie RepeatableSpec lub VectorizedRepeatableSpec. (Ibe0f5)
- Dodanie do interfejsu API funkcji ManualAnimationClock:
hasObservers: Boolean
i parametr konstruktoradispatchOnSubscribe: Boolean
(Iaa134) - Dodano interfejsy API do pobierania progów minimalnej/maksymalnej w animacjiFloat (Icd9cc).
Poprawki błędów
- Nazwa etykiety
runOnIdleCompose
została zmieniona narunOnIdle
(I83607) - Zmieniono nazwy kilku testowych interfejsów API, 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 bezstanowe interfejsy API animacji niskiego poziomu. te interfejsy API (I63bf7),
- Funkcja kompozycyjna ponownie nie jest już przydatną abstrakcją. Większość zmian powinna pojawić się w wyniku przypisania MutableState. W przypadku pozostałych elementów zalecamy użycie funkcji
invalidate
do aktywowania zmiany kompozycji bieżącego zakresu. (Ifc992) - Zastąpiliśmy użycie klasy Px w różnych klasach tworzenia w ramach refaktoryzacji polegającej na stosowaniu parametrów pikseli tylko na typach Dp i podstawowych. Usunięto całą klasę Px (I3ff33)
- Zastąpiliśmy użycie klasy Px w różnych klasach tworzenia w ramach refaktoryzacji polegającej na stosowaniu tylko typów Dp i typów podstawowych w parametrach piksela (Id3434).
- Przenikanie może teraz działać z wartością null jako wartością początkową (Iad6a4, b/155947711)
- Zastąpiliśmy użycie klasy Px w różnych klasach tworzenia w ramach refaktoryzacji polegającej na stosowaniu tylko typów Dp i typów podstawowych w parametrach piksela (I19d02).
- Skonsolidowaliśmy wdrożenia CanvasScope. Teraz dostępne są tylko DrawScope i ContentDrawScope Nazwa CanvasScope została zmieniona na DrawScope. Zaktualizowaliśmy DrawScope, aby wdrożyć interfejs Density i udostępnić podklasę Układ Usunięto DrawScope w ContentDrawScope Painter i PainterModifier zostały zaktualizowane tak, aby nie zarządzały już właściwością RTL, ponieważ DrawScope już ją udostępnia (I1798e)
- Zaktualizowane interfejsy API tworzenia wyższego poziomu, które udostępniają obiekt Canvas na potrzeby korzystania z CanvasScope. Dzięki temu nie muszą oni utrzymywać własnych obiektów Paint. Klienci, którzy nadal potrzebują dostępu do Canvas, mogą użyć metody rozszerzenia pullCanvas, która udostępnia wywołanie zwrotne do wysyłania poleceń rysowania za pomocą bazowego obiektu Canvas. (I80afd)
- Dodano parametry pionowe grawitacji i poziome grawitacja odpowiednio do wierszy i kolumn. (I7dc5a)
- Nazwa modułu ui-text została zmieniona na ui-text-core (I57dec)
- Ulepsz interfejs DrawModifier API:
- Utworzono zakres odbiornika pull() ContentDrawScope
- Usunięto wszystkie parametry z funkcji pull()
- DrawScope ma ten sam interfejs co poprzednia wersja CanvasScope
- ContentDrawScope ma metodę pullContent() (Ibaced, b/152919067)
runOnIdleCompose
irunOnUiThread
to teraz funkcje globalne, a nie metody w ComposeTestRule. (Icbe8f)- [Mutable]Operatorzy delegowani przez władze stanowe zostali przeniesieni do rozszerzeń,
aby umożliwić optymalizowanie przekazywania dostępu w Kotlin w wersji 1.4. Aby nadal korzystać z metody
by state { ... }
lubby mutableStateOf(...)
, wywołujące muszą dodać importy. (I5312c) - Interfejs ColoredRect został wycofany. Użyj w zamian zasady
Box(Modifier.preferredSize(width, height).drawBackground(color))
. (I499fa, b/152753731) - Zastąpiono operator plusa z funkcjami rozszerzeń fabrycznych (I225e4).
- Wycofany element kompozycyjny: Center. Należy ją zastąpić modyfikatorem UkładSize.Fill + Układ.Center albo jednym z elementów kompozycyjnych Box lub Stack z zastosowanymi odpowiednimi modyfikatorami (Idf5e0).
- Zmieniono nazwę UkładuElastycznego na UkładWeight. Zmieniono nazwę ścisłego parametru na wypełnienie. (If4738)
- Funkcja kompozycyjna przezroczystość została zastąpiona modyfikatorem pullOpacity. (I5fb62)
- Testy z użyciem reguły AndroidComposeTestRule udostępniają teraz zegar animacji na poziomie głównym kompozycji, który umożliwia jej wstrzymywanie, wznawianie i ręczne wprowadzanie w niej. (Id54c5)
- Obsługa kierunku od prawej do lewej w modyfikatorze UkładPadding (I9e8da).
- Połączyliśmy funkcje DensityScope i DensityScope w jeden interfejs. Zamiast parametru nieaktywnyDensity() możesz teraz użyć funkcji DensityAmbient.current. Zamiast parametru Gęstość(gęstość) tylko w wartości(gęstość) (I11cb1)
- Dodaliśmy metody kopiowania do różnych typów klas wbudowanych, w tym:
- Przesunięcie
- Rozmiar
- Promień
- Ruch
- TransformOrigin
- Wycofana metoda obiektu towarzyszącego size.copy zamiast metody kopiowania instancji (Ife290, b/159905651)
- Strona androidx.compose.ViewComposer została przeniesiona do androidx.ui.node.UiComposer
androidx.compose.Emittable została usunięta. Komponent ComputeNode
był nadmiarowy.
androidx.compose.ViewAdapters został usunięty. Nie są już obsługiwane.
Atrybut Compose.composeInto został wycofany. Użyj w zamian zasady
setContent
lubsetViewContent
. Parametr Compose.disposeComposition został wycofany. Użyj zamiast tego metodydispose
w obiekcieComposition
zwróconym przezsetContent
. Nazwa androidx.compose.Compose.subcomposeInto została przeniesiona do androidx.ui.core.subcomposeInto KomponentNode#emitInsertAt został zmieniony na KomponentNode#insertAt KomponentNode#emitRemoveAt został zmieniony na KomponentNode#removeAt KomponentNode#emitMode został zmieniony na KomponentNode#emitMode.