Utwórz animację
Twórz animacje w aplikacjach Jetpack Compose, aby wzbogacać wrażenia użytkowników.
Najnowsza aktualizacja Wersja stabilna Kandydat do wydania Wersja Beta Wydanie alfa
26 czerwca 2024 r. 1.6.8 - 1.7.0-beta04 -

Struktura

Narzędzie Compose to połączenie 7 identyfikatorów grupy Maven w obrębie reguły androidx. Każda grupa zawiera docelowy podzbiór funkcji, z których każda ma własny zestaw informacji o wersji.

W tej tabeli opisano grupy i linki do poszczególnych zestawów informacji o wersji.

GrupaOpis
compose.animation,Twórz animacje w aplikacjach Jetpack Compose, aby wzbogacać wrażenia użytkowników.
compose.buildrPrzekształcaj funkcje @Composable i optymalizuj funkcje za pomocą wtyczki kompilatora Kotlin.
compose.foundationTwórz aplikacje w Jetpack Compose, używając gotowych do użycia elementów składowych, i rozbuduj podstawy, aby tworzyć własne elementy systemu.
compose.material,Twórz interfejsy Jetpack Compose z gotowymi do użycia komponentami Material Design. Jest to punkt wejścia wyższego poziomu w Composer, który ma dostarczać komponenty pasujące do tych opisanych na www.material.io.
compose.material3,Twórz interfejsy Jetpack Compose z komponentami Material Design 3, które stanowią kolejną wersję Material Design. Material 3 ma zaktualizowane motywy i komponenty oraz funkcje personalizacji Material You, takie jak dynamiczne kolory, i został zaprojektowany tak, aby był spójny z nowym stylem wizualnym i interfejsem systemu na Androidzie 12.
compose.runtime,Podstawowe elementy składowe modelu programowania i zarządzania stanem w Compose oraz podstawowe środowisko wykonawcze, na które ma być kierowana wtyczka kompilatora Compose.
compose.ui,Podstawowe elementy interfejsu tworzenia wiadomości niezbędne do interakcji z urządzeniem, w tym układ, rysowanie i wprowadzanie tekstu.

Deklarowanie zależności

Aby dodać zależność w Compose, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.

W pliku build.gradle aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:

Odlotowy

dependencies {
    implementation "androidx.compose.animation:animation:1.6.8"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.animation:animation:1.6.8")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli odkryjesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj istniejące problemy w tej bibliotece. Możesz oddać swój głos do istniejącego problemu, klikając przycisk gwiazdki.

Tworzenie nowego numeru

Więcej informacji znajdziesz w dokumentacji narzędzia do śledzenia problemów.

Wersja 1.7

Wersja 1.7.0-beta04

26 czerwca 2024 r.

Usługa androidx.compose.animation:animation-*:1.7.0-beta04 została zwolniona. Wersja 1.7.0-beta04 zawiera te zatwierdzenia.

Wersja 1.7.0-beta03

12 czerwca 2024 r.

Usługa androidx.compose.animation:animation-*:1.7.0-beta03 została zwolniona. Wersja 1.7.0-beta03 zawiera te zatwierdzenia.

Wersja 1.7.0-beta02

29 maja 2024 r.

Usługa androidx.compose.animation:animation-*:1.7.0-beta02 została zwolniona. Wersja 1.7.0-beta02 zawiera te zatwierdzenia.

Wersja 1.7.0-beta01

14 maja 2024 r.

Usługa androidx.compose.animation:animation-*:1.7.0-beta01 została zwolniona. Wersja 1.7.0-beta01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Nowe resizeModes (ScaleToBounds i RemeasureToBounds) dla sharedBounds umożliwiają wybór skalowania lub ponownego pomiaru. Poprzednie interfejsy API scaleIn/OutSharedContentToBounds zostały wycofane. (I0d41a)

Treści tłumaczone przez użytkowników zewnętrznych

Wersja 1.7.0-alpha08

1 maja 2024 r.

Usługa androidx.compose.animation:animation-*:1.7.0-alpha08 została zwolniona. Wersja 1.7.0-alfa08 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • LookaheadScope interfejs API został stabilny. (I21507)

Treści tłumaczone przez użytkowników zewnętrznych

  • Wyczyść czas rozpoczęcia animacji po animacji/zaciągnięciu użytkownika SeekableTransitionState przez Stevena Schoena (1ca89529)

Wersja 1.7.0-alpha07

17 kwietnia 2024 r.

Usługa androidx.compose.animation:animation-*:1.7.0-alpha07 została zwolniona. Wersja 1.7.0-alfa07 zawiera te zatwierdzenia.

Nowe funkcje

  • Nowe interfejsy API do przenoszenia elementów udostępnionych czekają na Ciebie i Twoją opinię. Te nowe, eksperymentalne interfejsy API umożliwiają dodawanie tagów do układów udostępnianych w drzewie układu za pomocą dostępnych modyfikatorów, dzięki czemu granice płynnie zmieniają granice, gdy jeden zbiór udostępnionych treści opuszcza witrynę, a pojawia się drugi. (Icb0b9)
  • Nowe scaleInSharedContentToBounds i scaleOutSharedContentToBounds do skalowania treści w sharedBounds (I731c1)

Zmiany interfejsu API

  • AnimatedVisibilityScope.transition to teraz stabilny interfejs API. Urządzenie Modifier.animateEnterExit(..) również jest stabilne. (I6c1d1).
  • ApproachLayoutModifierNode i Modifier.approachLayout są teraz stabilne. Zastąpiły je odpowiednio nowe wersje isMeasurementApproachInProgress() i isPlacementApproachInProgress(), które zastąpią odpowiednio stare isMeasurementApproachComplete() i isPlacementApproachComplete().
  • Usunięto wycofany modyfikator intermediateLayout. (I3E91C).
  • Możesz teraz przekazać wartość periodicBias (zmiennoprzecinkową) do funkcji keyframesWithSpline. 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 i LazyRow. Wcześniej można było dodać modyfikator Modifier.animateItemPlacement() w celu obsługi animacji miejsca docelowego (zmiany kolejności). Wycofaliśmy ten modyfikator i wprowadziliśmy nowy, nieeksperymentalny modyfikator o nazwie Modifier.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 element snapTo() elementem seekTo() i dodaje element snapTo(), który natychmiast zmienia stan na stan docelowy bez żadnej animacji.

Wersja 1.7.0-alpha04

6 marca 2024 roku

Usługa androidx.compose.animation:animation-*:1.7.0-alpha04 została zwolniona. Wersja 1.7.0-alfa04 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Nowy interfejs API Path.reverse() do odwrócenia kierunku ścieżki (I36348)

Wersja 1.7.0-alpha03

21 lutego 2024 r.

Usługa androidx.compose.animation:animation-*:1.7.0-alpha03 została zwolniona. Wersja 1.7.0-alfa03 zawiera te zatwierdzenia.

Nowe funkcje

  • Nowy element Modifier.animateContentSize, który wymaga dodatkowego parametru niestandardowego wyrównywania treści. (I5623a, b/269803907)
  • Nowa eksperymentalna wartość DeferredTargetAnimation do animowania rozmiaru, pozycji lub innego celu, który jest nieznany podczas tworzenia instancji. (I60745)

Wersja 1.7.0-alpha02

7 lutego 2024 r.

Usługa androidx.compose.animation:animation-*:1.7.0-alpha02 została zwolniona. Wersja 1.7.0-alfa02 zawiera te zatwierdzenia.

Poprawki błędów

  • Poprawka zgodności dla aplikacji KeyframesSpec. (I2bdf3, b/322214617)
  • Rozwiązaliśmy problem z resetowaniem urządzenia Modifier.animateContentSize w przypadku aplikacji LazyList. (I070512, b/322525716)
  • Naprawiono IllegalStateException w przypadku KeyframesSpec 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

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 i scaleOutToFitContainer z pakietu AnimatedContentTransitionScope, 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 na ExitTransition.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 jak Offset, IntOffset czy DpOffset. 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 zasady KeyframesSpecConfig#using, która zachowuje wzorzec konstruktora. (I1d769).

Wersja 1.6.0-alpha07

4 października 2023 roku

Usługa androidx.compose.animation:animation-*:1.6.0-alpha07 została zwolniona. Wersja 1.6.0-alfa07 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Stałe i przewijane karty mają teraz warianty główne i dodatkowe. Są one prawidłowo zmapowane na kolor i działanie wskaźników zgodnie z definicją w Material3.
  • PrimaryScrollableTabRow i SecondaryScrollableTabRow udostępniają teraz stan przewijania. (Iec8f5, b/260572337)

Wersja 1.6.0-alpha06

20 września 2023 r.

Usługa androidx.compose.animation:animation-*:1.6.0-alpha06 została zwolniona. Wersja 1.6.0-alfa06 zawiera te zatwierdzenia.

Wersja 1.6.0-alpha05

6 września 2023 r.

Usługa androidx.compose.animation:animation-*:1.6.0-alpha05 została zwolniona. Wersja 1.6.0-alfa05 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodaliśmy funkcję PathEasing, by umożliwić podawanie dowolnej ścieżki do krzywej wygładzania. (Idb4b9)

Wersja 1.6.0-alpha04

23 sierpnia 2023 r.

Usługa androidx.compose.animation:animation-*:1.6.0-alpha04 została zwolniona. Wersja 1.6.0-alfa04 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Aby umożliwić deweloperom kontrolowanie postępu przenoszenia, dodaj SeekableTransitionState. (I8E69D)

Wersja 1.6.0-alpha03

9 sierpnia 2023 r.

Usługa androidx.compose.animation:animation-*:1.6.0-alpha03 została zwolniona. Wersja 1.6.0-alfa03 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Nowy typ przejścia wejścia/wyjścia, który skaluje treść na podstawie rozmiaru kontenera animowanego w animacji wejścia i wyjścia. LookaheadScope Funkcje kompozycyjne i interfejs są teraz stabilne. (Ifb2ce)

Wersja 1.6.0-alpha02

26 lipca 2023 r.

Usługa androidx.compose.animation:animation-*:1.6.0-alpha02 została zwolniona. Wersja 1.6.0-alfa02 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Nowy ExitTransition.Hold do wyświetlania treści wychodzących w AnimatedContent do momentu zakończenia przejść zarówno przez wejście, jak i wyjście. (I5984f)
  • Dodatkowe adnotacje do określania dozwolonych danych wejściowych do elementów kompozycyjnych (I51109)

Wersja 1.6.0-alpha01

21 czerwca 2023 r.

Usługa androidx.compose.animation:animation-*:1.6.0-alpha01 została zwolniona. Wersja 1.6.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

  • Włącz pełną integrację Modifier.animateContentSize i AnimatedVisibility z systemem podglądu, zgłaszając rozmiar docelowy w przebiegu podglądu.

Zmiany interfejsu API

  • Nowa usługa w usłudze IntrinsincMeasureScope i jej implementacje (np. MeasureScope), która wskazuje, czy bieżący pomiar jest przekazany dalej. (I7a812)

Poprawki błędów

  • Usunięto przydziały ze wiosennych animacji. (IE9431)
  • nazwa parametru wartości elementu Enum.valueOf zmieniona (Ia9b89)
  • więcej zgłoszonych wyjątków od wartości enum (I818fe)

Wersja 1.5

Wersja 1.5.4

18 października 2023 r.

Usługa androidx.compose.animation:animation-*:1.5.4 została zwolniona. Wersja 1.5.4 zawiera te zatwierdzenia.

Wersja 1.5.3

4 października 2023 roku

Usługa androidx.compose.animation:animation-*:1.5.3 została zwolniona. Ta wersja nie zawiera zmian

Wersja 1.5.2

27 września 2023 r.

Usługa androidx.compose.animation:animation-*:1.5.2 została zwolniona. Wersja 1.5.2 zawiera te zatwierdzenia.

Wersja 1.5.1

6 września 2023 r.

Usługa androidx.compose.foundation:foundation-*:1.5.1 została zwolniona. Wersja 1.5.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Poprawiono pola tekstowe przedstawiające klawiaturę i można je było edytować, gdy readOnly ma wartość prawda. Rozwiązaliśmy też problem z klawiaturą, która nie wyświetlała się, gdy zasada readOnly 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 jak MutableIntState) powodowało wyświetlenie ostrzeżenia o Lingu z nieprawidłową poprawką. Inspekcja będzie teraz zalecać migrację do właściwej usługi. (IBa953, b/287279257)

  • Dostępna jest opcjonalna kontrola, która zaleca migrację wywołań mutableStateOf() do odpowiednich typów specjalistycznych obiektów podstawowych. Identyfikator linta to AutoboxingStateCreation. Wcześniej ta kontrola była domyślnie włączona we wszystkich projektach. Aby zobaczyć to ostrzeżenie w edytorze Androida Studio oraz w danych wyjściowych projektu lint, zmień jego wagę z informacyjnej na ostrzeżenie (lub większą), zadeklarując warning "AutoboxingStateCreation" w konfiguracji build.gradle lub build.gradle.kts modułu, jak pokazano na przykładzie (I34f7e):

        android {
            lint {
                warning "AutoboxingStateCreation"
            }
            ...
        }
    

Wersja 1.5.0-beta03

28 czerwca 2023 r.

Usługa androidx.compose.animation:animation-*:1.5.0-beta03 została zwolniona. Wersja 1.5.0-beta03 zawiera te zatwierdzenia.

Wersja 1.5.0-beta02

7 czerwca 2023 r.

Usługa androidx.compose.animation:animation-*:1.5.0-beta02 została zwolniona. Wersja 1.5.0-beta02 zawiera te zatwierdzenia.

Wersja 1.5.0-beta01

24 maja 2023 r.

Usługa androidx.compose.animation:animation-*:1.5.0-beta01 została zwolniona. Wersja 1.5.0-beta01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Usunięto alokacje w zmianie kompozycji, animacji kolorów i funkcji AndroidComposeView (Ib2bfa).

Poprawki błędów

  • Usunięto przydziały ze wiosennych animacji (Ie9431)

Wersja 1.5.0-alpha04

10 maja 2023 r.

Usługa androidx.compose.animation:animation-*:1.5.0-alpha04 została zwolniona. Wersja 1.5.0-alfa04 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Usługa ContentKey jest teraz obsługiwana w przeglądarce AnimatedContent, 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 aplikacji LookaheadScope. Dzięki niej panele SubcomposeLayouts, które nie mają przedziałów warunkowych (np.TabRow, Scaffold, BoxWithConstraints itp.), będą dobrze działać z animacjami typu „widok z wyprzedzeniem”.

Zmiany interfejsu API

  • Nowa domyślna wartość intermediateMeasurePolicy, która wykorzystuje ponownie zasadę pomiaru z przebiegu z wyprzedzeniem, zezwala podtypom SubcomposeLayout bez przedziałów warunkowych, takim jak Scaffold, TabRow i BoxWithConstraints, domyślnie na współpracę z podglądem z wyprzedzeniem. (Id84c8).
  • Zmień nazwę zabawy w przyrostku na togetherWith, aby łączyć przejścia między wejściami i wyjściami. Nowy użytkownik AnimatedContentScope 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 temu SubcomposeLayout będzie działać prawidłowo w LookaheadScope. Wkrótce udostępnimy więcej gotowej obsługi do określonych podtypów obiektu SubcomposeLayout.

Zmiany interfejsu API

  • Nowy interfejs API SubcomposeLayout, który wymaga dodatkowej zasady dotyczącej pomiarów pośrednich w zakresie obsługi logiki pomiaru/układu podczas animacji opartych na perspektywie. (I017d3)

Wersja 1.5.0-alpha01

22 marca 2023 r.

Usługa androidx.compose.animation:animation-*:1.5.0-alpha01 została zwolniona. Wersja 1.5.0-alfa01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Interfejsy API AnimatedContent są teraz stabilne, a nazwa AnimatedContentScope została zmieniona na AnimatedContentTransitionScope. scaleIn i scaleOut 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 rememberInfiniteTransition i wszystkich funkcjach rozszerzeń w InfiniteTransition 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ń w InfiniteTransition i Transition (np. InfiniteTransition#animateColor) (I56ef7)

Zmiany interfejsu API

  • Interfejsy API InfiniteTransition#TransitionAnimationState i InfiniteTransition#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łuje withFrameNanos lub withFrameMillis, i ma logikę poza wywołaniem zwrotnym przekazywaną do tych funkcji, które być może trzeba przenieść w obrębie wywołań zwrotnych. Przykłady znajdziesz w opisie zmian w testach animacji w tej liście zmian.
  • Dodano opcjonalny parametr onPerformTraversals: (Long) -> Unit do konstruktora i funkcji fabrycznej TestMonotonicFrameClock w celu uruchamiania kodu po wywołaniach zwrotnych withFrameNanos, ale przed wznowieniem współrzędnych elementów wywołujących. (Idb413, b/254115946, b/222093277, b/255802670)
  • Nowy parametr w usłudze AnimatedContent etykiety narzędzi (Iebe2d)

Wersja 1.4.0-alpha02

9 listopada 2022 r.

androidx.compose.animation:animation:1.4.0-alpha02, androidx.compose.animation:animation-core:1.4.0-alpha02 i androidx.compose.animation:animation-graphics:1.4.0-alpha02 zostały udostępnione. Wersja 1.4.0-alfa02 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodaj ToolingState, aby umożliwić narzędziom do zmiany wewnętrznych stanów funkcji kompozycyjnej (Ie6614)

Wersja 1.4.0-alpha01

24 października 2022 r.

androidx.compose.animation:animation:1.4.0-alpha01, androidx.compose.animation:animation-core:1.4.0-alpha01 i androidx.compose.animation:animation-graphics:1.4.0-alpha01 zostały udostępnione. Wersja 1.4.0-alfa01 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawianie nieprawidłowej animacji przerwy w projekcie AnimatedContent (b/238662479)

Wersja 1.3

Wersja 1.3.3

11 stycznia 2023 r.

androidx.compose.animation:animation:1.3.3, androidx.compose.animation:animation-core:1.3.3 i androidx.compose.animation:animation-graphics:1.3.3 zostały udostępnione. Wersja 1.3.3 zawiera te zatwierdzenia.

  • Brak zmian od wersji 1.3.2.

Wersja 1.3.2

7 grudnia 2022 r.

androidx.compose.animation:animation:1.3.2, androidx.compose.animation:animation-core:1.3.2 i androidx.compose.animation:animation-graphics:1.3.2 zostały udostępnione. Wersja 1.3.2 zawiera te zatwierdzenia.

Poprawki błędów

  • Zaktualizowano, aby zapewnić obsługę androidx.compose.ui 1.3.2

Wersja 1.3.1

9 listopada 2022 r.

androidx.compose.animation:animation:1.3.1, androidx.compose.animation:animation-core:1.3.1 i androidx.compose.animation:animation-graphics:1.3.1 zostały udostępnione. Wersja 1.3.1 zawiera te zatwierdzenia.

Wersja 1.3.0

24 października 2022 r.

androidx.compose.animation:animation:1.3.0, androidx.compose.animation:animation-core:1.3.0 i androidx.compose.animation:animation-graphics:1.3.0 zostały udostępnione. Wersja 1.3.0 zawiera te zatwierdzenia.

Ważne zmiany wprowadzone od wersji 1.2.0

  • Nowy zestaw funkcji wygładzania został stabilny

Wersja 1.3.0-rc01

5 października 2022 r.

androidx.compose.animation:animation:1.3.0-rc01, androidx.compose.animation:animation-core:1.3.0-rc01 i androidx.compose.animation:animation-graphics:1.3.0-rc01 zostały udostępnione. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.

Wersja 1.3.0-beta03

21 września 2022 r.

androidx.compose.animation:animation:1.3.0-beta03, androidx.compose.animation:animation-core:1.3.0-beta03 i androidx.compose.animation:animation-graphics:1.3.0-beta03 zostały udostępnione. Wersja 1.3.0-beta03 zawiera te zatwierdzenia.

  • Brak zmian od wersji 1.3.0-beta02.

Wersja 1.3.0-beta02

7 września 2022 roku

androidx.compose.animation:animation:1.3.0-beta02, androidx.compose.animation:animation-core:1.3.0-beta02 i androidx.compose.animation:animation-graphics:1.3.0-beta02 zostały udostępnione. Wersja 1.3.0-beta02 zawiera te zatwierdzenia.

  • Z opcji kompilatora usunięto plik Kotlin.experimental, ponieważ został on usunięty

Wersja 1.3.0-beta01

24 sierpnia 2022 r.

androidx.compose.animation:animation:1.3.0-beta01, androidx.compose.animation:animation-core:1.3.0-beta01 i androidx.compose.animation:animation-graphics:1.3.0-beta01 zostały udostępnione. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.

Wersja 1.3.0-alfa03

10 sierpnia 2022 r.

androidx.compose.animation:animation:1.3.0-alpha03, androidx.compose.animation:animation-core:1.3.0-alpha03 i androidx.compose.animation:animation-graphics:1.3.0-alpha03 zostały udostępnione. Wersja 1.3.0-alfa03 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Nowy parametr w usługach Crossfade, animateAsState i Animatable dla etykiety narzędzi (Iac08a)
  • Dodaliśmy funkcję atFraction do definiowania klatek kluczowych w ułamku, a nie w określonym czasie. (I20c76, b/232059455)

Wersja 1.3.0-alfa02

27 lipca 2022 roku

androidx.compose.animation:animation:1.3.0-alpha02, androidx.compose.animation:animation-core:1.3.0-alpha02 i androidx.compose.animation:animation-graphics:1.3.0-alpha02 zostały udostępnione. Wersja 1.3.0-alfa02 zawiera te zatwierdzenia.

Wersja 1.3.0-alpha01

29 czerwca 2022 r.

androidx.compose.animation:animation:1.3.0-alpha01, androidx.compose.animation:animation-core:1.3.0-alpha01 i androidx.compose.animation:animation-graphics:1.3.0-alpha01 zostały udostępnione. Wersja 1.3.0-alfa01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Nowy obiekt LookaheadLayout, który obsługuje przejście z wyprzedzeniem przed rzeczywistym wskaźnikiem lub układem. Pozwala to na wstępne obliczenie układu po jego zmianie, a jednocześnie umożliwia użycie obliczonego wcześniej rozmiaru lub pozycji do animowania rozmiaru i pozycji w kierunku celu, a wymiary lub układy z wyprzedzeniem mogą używać tych obliczonych wartości. SubcomposeLayouts nie są jeszcze obsługiwane, ale zostaną udostępnione w nadchodzącej wersji. (I477f5)

Wersja 1.2

Wersja 1.2.1

10 sierpnia 2022 r.

androidx.compose.animation:animation:1.2.1, androidx.compose.animation:animation-core:1.2.1 i androidx.compose.animation:animation-graphics:1.2.1 zostały udostępnione. Wersja 1.2.1 zawiera te zatwierdzenia.

Wersja 1.2.0

27 lipca 2022 roku

androidx.compose.animation:animation:1.2.0, androidx.compose.animation:animation-core:1.2.0 i androidx.compose.animation:animation-graphics:1.2.0 zostały udostępnione. Wersja 1.2.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.1.0

  • Animacja tworzenia wiadomości obsługuje teraz ustawienie „Skala czasu trwania animacji” w Opcjach programisty.
  • Duży wybór nowych eksperymentalnych krzywych wygładzania.
  • AnimatedImageVector obsługuje teraz repeatCount i repeatMode

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 teraz repeatCount i repeatMode (Ia3e75, b/199304067)

Wersja 1.2.0-alpha06

23 marca 2022 r.

androidx.compose.animation:animation:1.2.0-alpha06, androidx.compose.animation:animation-core:1.2.0-alpha06 i androidx.compose.animation:animation-graphics:1.2.0-alpha06 zostały udostępnione. Wersja 1.2.0-alfa06 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Zaktualizowaliśmy analizę analizy obiektów rysowanych wektorowych, aby zapewnić obsługę automatycznego odbicia lustrzanego w celu odwrócenia zawartości w elemencie VectorPainter, jeśli aktualnym układem jest układ od prawej do lewej. (I79cd9, b/185760237)

Poprawki błędów

  • Zaktualizowano interfejsy API grafiki wektorowej, tak aby używały prawidłowej adnotacji kompozycyjnej @VectorComposable zamiast @UiComposable (I942bc)

Wersja 1.2.0-alpha05

9 marca 2022 r.

androidx.compose.animation:animation:1.2.0-alpha05, androidx.compose.animation:animation-core:1.2.0-alpha05 i androidx.compose.animation:animation-graphics:1.2.0-alpha05 zostały udostępnione. Wersja 1.2.0-alfa05 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Hurra! Animacja tworzenia wiadomości obsługuje teraz ustawienie „Skala czasu trwania animacji” w Opcjach programisty. (I5a4fc, b/161675988)

Wersja 1.2.0-alfa04

23 lutego 2022 r.

androidx.compose.animation:animation:1.2.0-alpha04, androidx.compose.animation:animation-core:1.2.0-alpha04 i androidx.compose.animation:animation-graphics:1.2.0-alpha04 zostały udostępnione. Wersja 1.2.0-alfa04 zawiera te zatwierdzenia.

Wersja 1.2.0-alfa03

9 lutego 2022 r.

androidx.compose.animation:animation:1.2.0-alpha03, androidx.compose.animation:animation-core:1.2.0-alpha03 i androidx.compose.animation:animation-graphics:1.2.0-alpha03 zostały udostępnione. Wersja 1.2.0-alfa03 zawiera te zatwierdzenia.

Wersja 1.2.0-alfa02

26 stycznia 2022 r.

androidx.compose.animation:animation:1.2.0-alpha02, androidx.compose.animation:animation-core:1.2.0-alpha02 i androidx.compose.animation:animation-graphics:1.2.0-alpha02 zostały udostępnione. Wersja 1.2.0-alfa02 zawiera te zatwierdzenia.

Wersja 1.2.0-alpha01

12 stycznia 2022 r.

androidx.compose.animation:animation:1.2.0-alpha01, androidx.compose.animation:animation-core:1.2.0-alpha01 i androidx.compose.animation:animation-graphics:1.2.0-alpha01 zostały udostępnione. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Aby wczytać plik zasobów <animated-vector>, użyj AnimatedImageVector.animatedVectorResource zamiast animatedVectorResource.
    • Aby wygenerować tag AnimatedImageVector, użyj rememberAnimatedVectorResource zamiast AnimatedImageVector#painterFor. (I9c300)

Poprawki błędów

  • Dodano metody toString do obiektów Animatable i AnimationResult. (ICD3a6).

Aktualizacje zależności

  • Teraz zależy od Kotlin 1.6.10.

Wersja 1.1

Wersja 1.1.1

23 lutego 2022 r.

androidx.compose.animation:animation:1.1.1, androidx.compose.animation:animation-core:1.1.1 i androidx.compose.animation:animation-graphics:1.1.1 zostały udostępnione. Wersja 1.1.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Napraw NullPointerException pod adresem androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059, b/206677462)
  • Naprawiono błąd spowodowany przez zawartość schowka przy odczytywaniu ze schowka na Androidzie. (I06020, b/197769306)
  • Poprawiono RTL w LazyVerticalGrid (aosp/1931080, b/207510535)

Wersja 1.1.0

9 lutego 2022 r.

androidx.compose.animation:animation:1.1.0, androidx.compose.animation:animation-core:1.1.0 i androidx.compose.animation:animation-graphics:1.1.0 zostały udostępnione. Wersja 1.1.0 zawiera te zatwierdzenia.

Ważne zmiany wprowadzone od wersji 1.0.0

  • Stabilna obsługa efektu przewijania w Androidzie 12.
  • Ulepszenia rozmiaru docelowego elementu dotykowego
  • Pamiętaj, że w przypadku Compose 1.0 komponenty Material mają rozszerzać obszar układu, aby zapewnić zgodność z wytycznymi dotyczącymi ułatwień dostępu Material Design rozmiar docelowego elementu dotykowego. Na przykład docelowy element dotykowy przycisku zostanie powiększony do minimalnego rozmiaru 48 x 48 dp, nawet jeśli ustawisz mniejszy rozmiar przycisku. Dzięki temu interfejs Compose Material ma takie samo zachowanie jak komponenty stylu Material Design, co zapewnia spójne zachowanie w przypadku połączenia widoków i tworzenia wiadomości. Ta zmiana zagwarantuje też, że w przypadku tworzenia UI z użyciem komponentów Compose Material, minimalne wymagania dotyczące ułatwień dostępu docelowych elementów dotykowych będą spełnione.
  • Stabilna obsługa kolejki nawigacyjnej
  • Przeniesienie niektórych wcześniej eksperymentalnych interfejsów API do wersji stabilnej
  • pomoc dotycząca nowszych wersji Kotlin,

Wersja 1.1.0-rc03

26 stycznia 2022 r.

androidx.compose.animation:animation:1.1.0-rc03, androidx.compose.animation:animation-core:1.1.0-rc03 i androidx.compose.animation:animation-graphics:1.1.0-rc03 zostały udostępnione. Wersja 1.1.0-rc03 zawiera te zatwierdzenia.

Poprawki błędów

  • Zaktualizowano, aby obsługiwała Material 1.1.0-rc03

Wersja 1.1.0-rc01

15 grudnia 2021 roku

androidx.compose.animation:animation:1.1.0-rc01 i androidx.compose.animation:animation-core:1.1.0-rc01 zostały udostępnione. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Aby wczytać plik zasobów <animated-vector>, użyj AnimatedImageVector.animatedVectorResource zamiast animatedVectorResource.
    • Aby wygenerować tag AnimatedImageVector, użyj rememberAnimatedVectorResource zamiast AnimatedImageVector#painterFor. (I9c300)

Wersja 1.1.0-beta04

1 grudnia 2021 r.

androidx.compose.animation:animation:1.1.0-beta04, androidx.compose.animation:animation-core:1.1.0-beta04 i androidx.compose.animation:animation-graphics:1.1.0-beta04 zostały udostępnione. Wersja 1.1.0-beta04 zawiera te zatwierdzenia.

Nowe funkcje

  • Zaktualizowano, aby była zgodna z platformą Kotlin 1.6.0

Wersja 1.1.0-beta03

17 listopada 2021 r.

androidx.compose.animation:animation:1.1.0-beta03, androidx.compose.animation:animation-core:1.1.0-beta03 i androidx.compose.animation:animation-graphics:1.1.0-beta03 zostały udostępnione. Wersja 1.1.0-beta03 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodaliśmy nowy modyfikator Modifier.onPlaced, który umożliwia obserwowanie zmian miejsca docelowego. W związku z tym na podstawie zaobserwowanej zmiany miejsca docelowego można wprowadzić dodatkowe zmiany w przesunięciu modyfikatora podrzędnego. (I558fd).
  • Nowa obsługa ContentKey w przenikaniu. ContentKey będzie używany do sprawdzania równości w systemie animacji. Dlatego niestandardowe różnice stanów można osiągnąć przez określenie odpowiednich wartości contentKey dla różnych stanów.

    ContentKey będzie też używany jako klucz do zapisywania i przywracania treści. (I2e055, b/197907070)

Wersja 1.1.0-beta02

3 listopada 2021 r.

androidx.compose.animation:animation:1.1.0-beta02, androidx.compose.animation:animation-core:1.1.0-beta02 i androidx.compose.animation:animation-graphics:1.1.0-beta02 zostały udostępnione. Wersja 1.1.0-beta02 zawiera te zatwierdzenia.

Poprawki błędów

  • Nowe interfejsy API animacji do obsługi narzędzi. Umożliwiają one narzędziu sprawdzanie animacji i ich konfiguracji w przejściach. (I4116e)

Wersja 1.1.0-beta01

27 października 2021 roku

androidx.compose.animation:animation:1.1.0-beta01, androidx.compose.animation:animation-core:1.1.0-beta01 i androidx.compose.animation:animation-graphics:1.1.0-beta01 zostały udostępnione. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Nowe interfejsy API animacji do obsługi narzędzi. Umożliwiają one narzędziu sprawdzanie animacji i ich konfiguracji w przejściach. (I4116e)

Wersja 1.1.0-alpha06

13 października 2021 r.

androidx.compose.animation:animation:1.1.0-alpha06, androidx.compose.animation:animation-core:1.1.0-alpha06 i androidx.compose.animation:animation-graphics:1.1.0-alpha06 zostały udostępnione. Wersja 1.1.0-alfa06 zawiera te zatwierdzenia.

Wersja 1.1.0-alpha05

29 września 2021 r.

androidx.compose.animation:animation:1.1.0-alpha05, androidx.compose.animation:animation-core:1.1.0-alpha05 i androidx.compose.animation:animation-graphics:1.1.0-alpha05 zostały udostępnione. Wersja 1.1.0-alfa05 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • EnterTransition, ExitTransition i niektóre interfejsy API AnimatedVisibility są stabilne. Funkcja MutableTransitionState.isIdle też nie jest już eksperymentalna. (I5072D)

  • Zmiana niezbędna: wartości lambda w fabrykach Enter/ExitTransfer zostały przeniesione na ostatnią pozycję na liście parametrów. (I5072D)

Wersja 1.1.0-alfa04

15 września 2021 r.

androidx.compose.animation:animation:1.1.0-alpha04, androidx.compose.animation:animation-core:1.1.0-alpha04 i androidx.compose.animation:animation-graphics:1.1.0-alpha04 zostały udostępnione. Wersja 1.1.0-alfa04 zawiera te zatwierdzenia.

Wersja 1.1.0-alfa03

1 września 2021 roku

androidx.compose.animation:animation:1.1.0-alpha03, androidx.compose.animation:animation-core:1.1.0-alpha03 i androidx.compose.animation:animation-graphics:1.1.0-alpha03 zostały udostępnione. Wersja 1.1.0-alfa03 zawiera te zatwierdzenia.

Nowe funkcje

  • Zaktualizowano funkcję Utwórz 1.1.0-alpha03, aby bazowała na Kotlinie 1.5.30. (I74545)

Wersja 1.1.0-alfa02

18 sierpnia 2021 r.

androidx.compose.animation:animation:1.1.0-alpha02, androidx.compose.animation:animation-core:1.1.0-alpha02 i androidx.compose.animation:animation-graphics:1.1.0-alpha02 zostały udostępnione. Wersja 1.1.0-alfa02 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Element StartOffset jest teraz obsługiwany w trybie powtarzalnym i nieskończonym powtarzalnym, co umożliwia opóźnienie rozpoczęcia lub przyspieszenie animacji przed jej rozpoczęciem. To przesunięcie czasu rozpoczęcia się nie powtarza (Ic679f, b/195079908)
  • Nowe przejście Enter/Exit dla skali. Można go używać w połączeniu z innymi typami przejść. (I372da, b/191325593)

Wersja 1.1.0-alpha01

4 sierpnia 2021 r.

androidx.compose.animation:animation:1.1.0-alpha01, androidx.compose.animation:animation-core:1.1.0-alpha01 i androidx.compose.animation:animation-graphics:1.1.0-alpha01 zostały udostępnione. Wersja 1.1.0-alfa01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • AnimatedImageVector i powiązane z nim interfejsy API znajdują się teraz w nowym module androidx.compose.animation:animation-graphics. (I60873)

Poprawki błędów

Wersja 1.0

Wersja 1.0.5

3 listopada 2021 r.

androidx.compose.animation:animation:1.0.5 i androidx.compose.animation:animation-core:1.0.5 zostały udostępnione. Wersja 1.0.5 zawiera te zatwierdzenia.

Poprawki błędów

  • Usunięto problem ze śledzeniem awarii w instancjach originStateOf. (Aosp/1792247)

Wersja 1.0.4

13 października 2021 r.

androidx.compose.animation:animation:1.0.4 i androidx.compose.animation:animation-core:1.0.4 zostały udostępnione. Wersja 1.0.4 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Zaktualizowano na podstawie usługi Kotlin 1.5.31

Wersja 1.0.3

29 września 2021 r.

androidx.compose.animation:animation:1.0.3 i androidx.compose.animation:animation-core:1.0.3 zostały udostępnione. Wersja 1.0.3 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Zaktualizowano na podstawie usługi Kotlin 1.5.30

Wersja 1.0.2

1 września 2021 roku

androidx.compose.animation:animation:1.0.2 i androidx.compose.animation:animation-core:1.0.2 zostały udostępnione. Wersja 1.0.2 zawiera te zatwierdzenia.

Zaktualizowano, aby obsługiwała wersję 1.0.2 Utwórz. Funkcja Compose 1.0.2 jest nadal zgodna z Kotlin 1.5.21.

Wersja 1.0.1

4 sierpnia 2021 r.

androidx.compose.animation:animation:1.0.1 i androidx.compose.animation:animation-core:1.0.1 zostały udostępnione. Wersja 1.0.1 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Zaktualizowano w zależności od systemu Kotlin 1.5.21.

Wersja 1.0.0

28 lipca 2021 roku

androidx.compose.animation:animation:1.0.0 i androidx.compose.animation:animation-core:1.0.0 zostały udostępnione. Wersja 1.0.0 zawiera te zatwierdzenia.

Główne funkcje 1.0.0

To jest pierwsza stabilna wersja Compose. Więcej informacji znajdziesz na oficjalnym blogu wersji Compose.

Znane problemy

  • Jeśli korzystasz z Android Studio Bumblebee Canary 4 lub AGP 7.1.0-alpha04/7.1.0-alpha05, może dojść do tej awarii:

      java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
    

    Aby rozwiązać ten problem, tymczasowo zwiększ wartość parametru minSdkVersion w pliku build.gradle do wartości 24 lub nowszej. Ten problem zostanie naprawiony w następnej wersji Androida Studio Bumblebee i AGP 7.1. (b/194289155)

Wersja 1.0.0-rc02

14 lipca 2021 roku

androidx.compose.animation:animation:1.0.0-rc02 i androidx.compose.animation:animation-core:1.0.0-rc02 zostały udostępnione. Wersja 1.0.0-rc02 zawiera te zatwierdzenia.

Wersja 1.0.0-rc01

1 lipca 2021 r.

androidx.compose.animation:animation:1.0.0-rc01 i androidx.compose.animation:animation-core:1.0.0-rc01 zostały udostępnione. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Przeniesiono InfiniteAnimationPolicy do: androidx.compose.ui:ui (I5eb09, b/160602714)

Wersja 1.0.0-beta09

16 czerwca 2021 r.

androidx.compose.animation:animation:1.0.0-beta09 i androidx.compose.animation:animation-core:1.0.0-beta09 zostały udostępnione. Wersja 1.0.0-beta09 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Nowy element kompozycyjny AnimatedContent. Do zarządzania zmianą treści za pomocą konfigurowalnej ContentTransform w miarę pojawiania się nowych treści docelowych i opuszczania treści początkowych. Różne kombinacje przejść wejścia i wyjścia pozwalają uzyskać niestandardowy wygląd i styl strony. W ramach przekształcania treści AnimatedContent automatycznie animuje swój rozmiar, aby dopasować go do przychodzących treści. (I2c3df).
  • Czcionka ManualFrameClock została usunięta. Jeśli chcesz sterować animacjami, użyj composeTestRule.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 katalogu src/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żywasz adb 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ów H, S i P 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 klasa androidx.compose.runtime.SlotTable miałaby deskryptor Landroidx/compose/runtime/SlotTable;.

  • <METHOD_SIGNATURE> to podpis metody. Zawiera nazwę, typy parametrów i typy zwracanych metod. Na przykład metoda fun isPlaced(): Boolean w LayoutNode ma podpis isPlaced()Z.

  • Aby jedna reguła obejmowała wiele metod lub klas, mogą one zawierać symbole wieloznaczne (**, * i ?).

Do czego służą reguły?

  • Metoda z flagą H wskazuje, że jest to metoda „hot” i należy ją skompilować wcześniej.

  • Metoda z flagą S wskazuje, że jest ona wywoływana przy uruchamianiu i należy ją skompilować z wyprzedzeniem, by uniknąć kosztów kompilacji i interpretacji podczas uruchamiania.

  • Metoda z flagą P wskazuje, że jest to metoda, która jest wywoływana po uruchomieniu.

  • Klasa znajdująca się w tym pliku wskazuje, że jest używana podczas uruchamiania i powinna być wstępnie przydzielona na stercie, aby uniknąć kosztów wczytywania klasy.

Jak to działa?

  • Biblioteki mogą definiować reguły, które będą spakowane w artefaktach AAR. Kiedy powstaje aplikacja, która zawiera te artefakty, reguły te są łączone ze sobą, a scalone reguły służą do utworzenia kompaktowego binarnego profilu ART, który jest charakterystyczny dla aplikacji. ART może następnie wykorzystać ten profil, gdy aplikacja jest instalowana na urządzeniach, w celu z wyprzedzeniem skompilowania określonego podzbioru aplikacji w celu zwiększenia jej wydajności, zwłaszcza przy pierwszym uruchomieniu. Pamiętaj, że nie będzie to miało wpływu na aplikacje z możliwością debugowania.

Wersja 1.0.0-beta08

2 czerwca 2021 r.

androidx.compose.animation:animation:1.0.0-beta08 i androidx.compose.animation:animation-core:1.0.0-beta08 zostały udostępnione. Wersja 1.0.0-beta08 zawiera te zatwierdzenia.

Poprawki błędów

  • Teraz detectDragGesures, detectVerticalGestures i detectHorizontalGestures automatycznie uwzględniają zmianę pozycji, więc nie trzeba wywoływać metody change.consumePositionChange w wywołaniach zwrotnych onDrag (I42fc4, b/185096350, b/187320697).
  • Pole Modifier.onGloballyPositioned() zostało zmienione tak, aby po zastosowaniu wszystkich modyfikatorów raportować współrzędne tego modyfikatora w łańcuchu modyfikatorów, a nie współrzędne układu. Oznacza to, że teraz kolejność modyfikatorów wpływa na to, jakie współrzędne będą podawane w raportach. (Ieb67d, b/177926591)

Wersja 1.0.0-beta07

18 maja 2021 r.

androidx.compose.animation:animation:1.0.0-beta07 i androidx.compose.animation:animation-core:1.0.0-beta07 zostały udostępnione. Wersja 1.0.0-beta07 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Nowy interfejs API AnimatedVisibility, który obsługuje widoczność do określenia w MutableTransitionState. Umożliwia to również obserwowanie stanów animacji poza zakresem AnimatedVisibility przez interfejsy currentState i isIdle.
    • Pomoc dotycząca przenoszenia kont podrzędnych
    • Obsługuj niestandardową animację wyjścia/wejścia w animacji widoczności za pomocą AnimationScope.transition.
    • Nowy modyfikator animateEnterExit (dostępny dla wszystkich elementów podrzędnych)
    • Wycofaliśmy interfejsy animowanej widoczności interfejsów API, które przyjmują parametr initiallyVisible (I702f3).

Wersja 1.0.0-beta06

5 maja 2021 roku

androidx.compose.animation:animation:1.0.0-beta06 i androidx.compose.animation:animation-core:1.0.0-beta06 zostały udostępnione. Wersja 1.0.0-beta06 zawiera te zatwierdzenia.

Wersja 1.0.0-beta05

21 kwietnia 2021 r.

androidx.compose.animation:animation:1.0.0-beta05 i androidx.compose.animation:animation-core:1.0.0-beta05 zostały udostępnione. Wersja 1.0.0-beta05 zawiera te zatwierdzenia.

Poprawki błędów

  • Pliki AndroidManifest z ui-test-manifest i ui-tooling-data są teraz zgodne z Androidem 12 (I6f9de, b/184718994)

Wersja 1.0.0-beta04

7 kwietnia 2021 r.

androidx.compose.animation:animation:1.0.0-beta04 i androidx.compose.animation:animation-core:1.0.0-beta04 zostały udostępnione. Wersja 1.0.0-beta04 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Instancje publiczne RowScope, ColumnScope, BoxScope, BoxWithConstraintsScope zostały usunięte. (I4e83e, b/181869067)

Wersja 1.0.0-beta03

24 marca 2021 r.

androidx.compose.animation:animation:1.0.0-beta03 i androidx.compose.animation:animation-core:1.0.0-beta03 zostały udostępnione. Wersja 1.0.0-beta03 zawiera te zatwierdzenia.

Wersja 1.0.0-beta02

10 marca 2021 r.

androidx.compose.animation:animation:1.0.0-beta02 i androidx.compose.animation:animation-core:1.0.0-beta02 zostały udostępnione. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.

Poprawki błędów

  • Egzekwuj ograniczenia dotyczące publicznego korzystania z eksperymentalnych interfejsów API (I6aa29, b/174531520)

Wersja 1.0.0-beta01

24 lutego 2021 r.

androidx.compose.animation:animation:1.0.0-beta01 i androidx.compose.animation:animation-core:1.0.0-beta01 zostały udostępnione. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

To jest pierwsza wersja beta Compose 1.0.0.

Zmiany interfejsu API

  • Pole InteractionState zostało zastąpione elementem [Mutable]InteractionSource
    • Interfejsy odpowiadają za wysyłanie / zbieranie zdarzeń interakcji.
    • Zamiast przekazywać interactionState = remember { InteractionState() } do komponentów takich jak Button czy Modifier.clickable(), użyj interactionSource = remember { MutableInteractionSource() }.
    • Zamiast: Interaction.Pressed in interactionState użyj funkcji rozszerzeń w InteractionSource, takich jak InteractionSource.collectIsPressedAsState().
    • W złożonych przypadkach możesz użyć parametru InteractionSource.interactions do obserwowania strumienia interakcji. Więcej informacji znajdziesz w dokumentacji i przykładach InteractionSource.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • Pakiety metod smooth ScrollBy i ScrollBy zostały zmienione na androidx.compose.foundation.gestures.* (I3f7c1, b/175294473)
  • Zmieniono nazwy modyfikatorów rozmiaru. Zmieniono nazwę modyfikatora.width/height/size na requiredWidth/requiredHeight/requiredSize. Zmieniono nazwę metody Modifier.preferredWidth/preferredHeight/preferredSize na szerokość/wysokość/rozmiar. (I5b414)
  • Orientacja została przeniesiona do pakietu podstawowego. Przeniesiono aplikację VelocirtTracker z obszaru ui.gesture do witryny ui.input.pointer. (Iff4a8, b/175294473)
  • Usunięto klasę AnimationClockObservable i jej podklasy. Element AnimatedFloat został usunięty. (Icde52, b/177457083)
  • Modifier.draggable akceptuje teraz obiekt DraggableState zamiast prostej funkcji lambda. Możesz utworzyć stan za pomocą funkcji rememberDraggableState { delta -> }, aby uzyskać takie samo zachowanie jak wcześniej (Ica70f, b/175294473)
  • Usunięto interfejsy API animate, animacjaValue i AnimatedValue (If27bc, b/177457083)
  • Element AnimationEndReason.Interrupted został usunięty. Anulowanie wyjątku będzie powodować zgłoszenie, jeśli animacja zostanie przerwana. (I2cbbc, b/179695417)
  • Interfejs API TargetAnimation został usunięty. (If47d1, b/177457083)

Wersja 1.0.0-alfa12

10 lutego 2021 r.

androidx.compose.animation:animation:1.0.0-alpha12 i androidx.compose.animation:animation-core:1.0.0-alpha12 zostały udostępnione. Wersja 1.0.0-alfa12 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Modifier.pointerInput wymaga teraz zapamiętania klawiszy wskazujących, kiedy współprogram wykrywania danych wejściowych wskaźnika ma zostać uruchomiony ponownie w przypadku nowych zależności. (I849cd)
  • Nazwa granic została zmieniona na DpRect (I4b32a).
  • Ujednolicono nazwę parametru AnimationSpec z animowaną specyfikacją w systemie animacji. Ogranicz też wartość Enter/Exittransit, aby zaakceptować specyfikację FiniteAnimationSpec. (Ie47c5, b/177457083)
  • Animatable.snapTo i Animatable.stop to teraz funkcje zawieszania (If4288)
  • Podobnie jak poprzednio usunęliśmy funkcję state { 0 } kompozycyjną, a teraz promujemy jej użycie, takie jak remember { mutableStateOf(0) }, usuniemy funkcję savedInstanceState { 0 } kompozycyjną. Zamiast niego użyj parametru rememberSaveable { 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 parametr stateSaver. Użycie będzie wyglądać tak: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • Zaktualizowano podpis metody Przenikanie, aby był bardziej spójny z resztą systemu animacji. (IB05ed, b/177457083)
  • Zapamiętano nazwę savedInstanceState(), aby korzystały z ! (I1366e, b/177338004)
  • Nazwa RestorableStateHolder została zmieniona na SaveableStateHolder i została przeniesiona do pakietu androidx.compose.runtime.saveable. Nazwa metody wewnętrznej RestorableStateProvider została zmieniona na SaveableStateProvider. Typ ogólny został usunięty, więc można było przekazywać jako klucz „Dowolny”. Nie są już potrzebne adnotacje eksperymentalne. (I0902e, b/174598702)
  • Zaktualizowano interfejs Modifier.animateContentSize API, aby był spójny z resztą systemu animacji. (I0bf75, b/177457083)
  • Parametr AnimatedValue/Float został wycofany. Zamiast niej użyj Animatable. (I71345, b/177457083)
  • Parametry tapTrackingFilter, DoubleTapStepFilter, longPressConsentFilter i PressIndicaitonTrackingFilter zostały wycofane. Użyj w zamian funkcji Modifier.clickable lub Modifier.pointerInput z funkcją wykrywaniaTapSteps. (I6baf9, b/175294473)
  • Wprowadziliśmy współrzędny element kontekstu InfiniteAnimationPolicy, który będzie stosowany w nieskończoność animacji. Domyślnie żadna zasada nie jest instalowana, chyba że przeprowadzasz testy z użyciem ComposeTestRule. (I50ec4, b/151940543)
  • Usunęliśmy metody niszczenia i copy() z kilku klas, w których były one rzadko używane. (I26702, b/178659281)
  • Czas odtwarzania animacji nie jest już podawany w nanosekundach (If776a)
  • Artefakt compose:runtime-dispatch został wycofany. MonotonicFrameClock znajdziesz teraz w polecenia compose:runtime, a AndroidUiDispatcher – w compose:ui. (IB5c36)
  • Dodano Animation.isInfinite i VectorizedAnimationSpec.isInfinite, które sygnalizują, czy animacja jest nieskończona. Możesz go wykorzystać w implementacjach animacji, by zapewnić specjalny sposób obsługi takich animacji. Może się na przykład wyświetlić specjalny komunikat o pozostałym czasie lub w trakcie testów można anulować animację, aby zapobiec oczekiwaniu na czas bezczynności. (Iebb05, b/151940543)
  • Jako typu czasu animacji użyj opcji Długi czas zamiast Czas działania (Ie3aa7, b/177420019)

Wersja 1.0.0-alfa11

28 stycznia 2021 roku

androidx.compose.animation:animation:1.0.0-alpha11 i androidx.compose.animation:animation-core:1.0.0-alpha11 zostały udostępnione. Wersja 1.0.0-alfa11 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Przejście na podstawie definicji przejścia zostało wycofane (I0ac57)
  • Dodano pole etykiety umożliwiające przejście i animacje podrzędne wyświetlane w narzędziach (I619fb).
  • animateAsState to teraz animateFooAsState, gdzie Foo to typ animowanej zmiennej, np. Float, Dp, Offset itp. (Ie7e25)
  • Nowy Infinitecząc, który obsługuje dowolną liczbę animacji podrzędnych. (I1da81).
  • Zmienia interfejsy parametrów stanowych Material w funkcje @Composable, które zwracają wartość State<T>. Dodaje funkcję Animatable.asState(), która ułatwia konwertowanie obiektu Animatable na stan. Zmienia też działanie animacji Elevation na rozszerzenie w trybie zawieszenia w Animatable. (If613c).

Poprawki błędów

  • Interfejsy onCommit, onDispose i onActive zostały wycofane i zastąpione interfejsami SideEffect i DiposableEffect (If760e).
  • Obsługiwany jest stan początkowy w trakcie aktualizacji (Ifd51d)
  • Do obrazów i ikon został dodany parametr Opis treści. Służy do opisania usług ułatwień dostępu (I2ac4c).
  • Nieprawidłowo i kompozytoryzacja() zostały wycofane. Zastąpiono je odpowiednio recomposeScope i ReminderCompositionReference. (I583a8)
  • Czas trwania i czas działania zostaną zastąpione długimi milisekundami, a ten krok eliminuje zależność danych wejściowych wskaźnika do tych klas. (Ia33b2, b/175142755, b/177420019)
  • klikalne, włączane i klikalne można teraz tworzyć poza kompozycją (I0a130, b/172938345, b/175294473)
  • Wygładzanie zostało zmienione na interfejs funkcjonalny (Ib14e5)
  • Nowa metoda fabryczna items(count: Int) dla zakresu LazyColumn/LazyRow/LazyVerticalGrid. items(items: List) i itemsIndexed(items: List) to teraz funkcje rozszerzeń, więc trzeba je importować ręcznie, gdy są używane. Nowe przeciążenia rozszerzeń dla tablic: items(items: tablica) i itemIndexed(tablica) (I803fc, b/175562574)
  • Wykorzystanie narzędzia TestCoroutineDispatcher w testowaniu (I532b6)
  • Usunięto metodę PointerInputData i zmodyfikowaliśmy ją, aby dodać do niej wszystkie pola PointerInputData. Obiekty PointerInputEvent i PointerInputEventData są wewnętrzne, ponieważ nie są używane w żadnym publicznym interfejsie API. (Ifff97, b/175142755)

Wersja 1.0.0-alpha10

13 stycznia 2021 r.

androidx.compose.animation:animation:1.0.0-alpha10 i androidx.compose.animation:animation-core:1.0.0-alpha10 zostały udostępnione. Wersja 1.0.0-alfa10 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • zmodyfikowano Prędkość, aby uwzględnić części składowe i operacje matematyczne. (IB0447)
  • Zmieniliśmy nazwę @ExperimentalTesting na @ExperimentalTestApi, aby była zgodna z podobnymi eksperymentalnymi adnotacjami interfejsu API (Ia4502, b/171464963)
  • Zmieniono nazwę pozycji na DpOffset i usunęliśmy getRange() (Ib2dfd).
  • Usunięto publiczny interfejs API Any.identityHashCode() (I025d7).

Poprawki błędów

  • Nowy interfejs API Animatable oparty na współudziale, który zapewnia wzajemną wyłączność wśród animacji. Nowa specyfikacja DecayAnimationSpec, która obsługuje wielowymiarową animację rozpadu (I820f2, b/168014930)
  • Metoda animate() została zastąpiona przez animateAsState(), która zwraca State<T> zamiast T. Zwiększa to wydajność, ponieważ zakres unieważniania można zawęzić do miejsca, w którym odczytywana jest wartość stanu. (IB179e)

Wersja 1.0.0-alpha09

16 grudnia 2020 roku

androidx.compose.animation:animation:1.0.0-alpha09 i androidx.compose.animation:animation-core:1.0.0-alpha09 zostały udostępnione. Wersja 1.0.0-alfa09 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Przeniesiono Dp.VectorConverter, Position.VectorConverter itp. do animation-core oraz wycofaliśmy stare rozwiązanie VectorConveters (If0c4b).
  • Wprowadziliśmy zupełnie nowy zestaw interfejsów API przejść, które są łatwiejsze w użyciu i obsługują dynamicznie dodawane animacje i dynamicznie obliczane cele animacji. Te interfejsy API są oznaczone jako eksperymentalne, co pozwala łatwo je odróżnić od interfejsu API opartego na MigrateDefinition. (IA7fe3).

Poprawki błędów

  • Funkcje lambda w modyfikatorach przesunięcia zwracają teraz wartość IntOffset, a nie liczbę zmiennoprzecinkową. (Ic9ee5, b/174137212, b/174146755)
  • Wycofano LazyColumnFor, LazyRowFor, LazyColumnForIndexed i LazyRowForIndexed. Użyj LazyColumn i LazyRow (I5b48c)
  • W przypadku zawieszania interfejsów API danych wejściowych wskaźnika zmieniliśmy nazwę HandlePointerInputScope na AwaitPointerEventScope i HandlePointerInput() na awaitPointerEventScope(). (Idf0a1, b/175142755).
  • Nowa funkcja nieskończoności powtarzania do tworzenia specyfikacji InfiniteRepeatableSpec (I668e5)
  • Usunięto adnotację ExperimentalPointerInput (Ia7a24).

Wersja 1.0.0-alpha08

Grudzień 2, 2020

androidx.compose.animation:animation:1.0.0-alpha08 i androidx.compose.animation:animation-core:1.0.0-alpha08 zostały udostępnione. Wersja 1.0.0-alfa08 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodano sprawdzanie nazw i pozycji parametrów kompozycyjnych lambda w celu sprawdzenia spójności z wytycznymi dotyczącymi tworzenia wiadomości. Zgodnie ze sprawdzaniem lintowania i wskazówkami przenieśliśmy też niektóre interfejsy API z użyciem nazwy children jako nazwy końcowej lambdy do content. (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)
  • Tymczasowo dodano opcję pozwalającą, by zegar TestAnimationClock był wywoływany przez MonotonicFrameClock (I1403b, b/173402197)

Poprawki błędów

  • Zgodnie z opiniami Rady ds. API zmodyfikowaliśmy też nazwę Modifier.drawLayer na Modifier.graphicsLayer. Wraz z opiniami rady ds. API zaktualizowaliśmy też powiązane klasy na GraphicsLayer. (I0bd29, b/173834241)
  • W drewnie dodaliśmy interfejs API Modifier.scale/rotate.
    • Zmieniono nazwę Modifier.drawOpacity na Modifier.alpha
    • Zmieniono nazwę Modifier.drawShadow na Modifier.shadow (I264ca, b/173208140)
  • Sprawia, że pola czasu działania i pozycji PointerInputData nie mają wartości null. (Id468a).
  • Zmieniono nazwy modyfikatorów przesunięciaPx na przesunięcie. Wykorzystują teraz parametry lambda zamiast stanu State. (Ic3021, b/173594846)
  • Nowe interfejsy API do uruchamiania animacji w współrzędnych (Ied662)
  • Wycofany komponent Ambient został wycofany z sufiksem Ambient i zastąpił je nowymi właściwościami z prefiksem Ambient zgodnie z innymi wytycznymi dotyczącymi interfejsu Ambients i Compose API. (I33440)
  • Kontrola czasu w testach (TestAnimationClock i jego zastosowania) jest obecnie w fazie eksperymentalnej (I6ef86, b/171378521)
  • Usuń stary moduł testowania interfejsu i jego złącza (I3a7cb)
  • Nazwa funkcji RestorableStateHolder.withRestorableState została zmieniona na RestorableStateProvider (I66640)
  • Interfejs Wyrównania został zaktualizowany i działa. (I46a07, b/172311734)

Wersja 1.0.0-alpha07

11 listopada 2020 roku

androidx.compose.animation:animation:1.0.0-alpha07 i androidx.compose.animation:animation-core:1.0.0-alpha07 zostały udostępnione. Wersja 1.0.0-alfa07 zawiera te zatwierdzenia.

Poprawki błędów

  • Podstawowe funkcje AmbientTextStyle, ProvideTextStyle i AmbientContentColor zostały wycofane. Zamiast nich używaj nowych wersji dostępnych w bibliotece Material Design. W przypadku aplikacji innych niż Material Design należy utworzyć własny system projektowania specyficznych dla nich motywów graficznych, z którego można korzystać w własnych komponentach. (I74acc, b/172067770)
  • Foundation.Text została wycofana i zastąpiona materiałem material.Text. Informacje o podstawowym, nieopiniowanym interfejsie API tekstowym, który nie przetwarza wartości z motywu, znajdziesz na stronie androidx.compose.foundation.BasicText. (If64cb).
  • Element MeasureResult został przeniesiony z obiektu MeasureScope. (Ibf96d, b/171184002)
  • Kilka symboli związanych z układem zostało przeniesionych z androidx.compose.ui do androidx.compose.layout.ui. (I0fa98, b/170475424)

Wersja 1.0.0-alpha06

28 października 2020 r.

androidx.compose.animation:animation:1.0.0-alpha06 i androidx.compose.animation:animation-core:1.0.0-alpha06 zostały udostępnione. Wersja 1.0.0-alfa06 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Włącz przejścia w ComposeTestRule. Usuń tę opcję, by włączyć migający kursor z reguły ComposeTestRule. (If0de3).

Wersja 1.0.0-alpha05

14 października 2020 r.

androidx.compose.animation:animation:1.0.0-alpha05 i androidx.compose.animation:animation-core:1.0.0-alpha05 zostały udostępnione. Wersja 1.0.0-alfa05 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Nowy interfejs i podklasy animacji: te klasy przechowują warunki rozpoczęcia i zakończenia animacji i dlatego umożliwiają wysyłanie zapytań o wartości i prędkości tylko na podstawie czasu odtwarzania (Ie95bd, b/163329867)

Poprawki błędów

  • Nazwa OnPositionedModifier została zmieniona na OnGloballyPositionedModifier, a nazwa onPositioned() została zmieniona na onGloballyPositioned(). (I587e8, b/169083903).
  • Wycofuje interfejsy API contentColor() i currentTextStyle(), a następnie zastępuje je odpowiednio środowiskom AmbientContentColor i AmbientTextStyle. Aby uzyskać dostęp do bieżącej wartości, użyj właściwości .current z właściwości trybu nieaktywnego, jak w przypadku każdego innego elementu otoczenia. Zmiana ta została wprowadzona w celu zachowania spójności i uniknięcia korzystania z wielu sposobów na osiągnięcie tego samego celu. Dodatkowo zmienia nazwy niektórych właściwości elementów otoczenia, by lepiej opisać ich przeznaczenie:

    • ContentColorAmbient -> AmbientContentColor
    • TextStyleAmbient -> AmbientTextStyle
    • IndicationAmbient -> AmbientIndication
    • EmphasisAmbient -> AmbientEmphasisLevels
    • RippleThemeAmbient -> AmbientRippleTheme (I37b6d)

Wersja 1.0.0-alpha04

1 października 2020 roku

androidx.compose.animation:animation:1.0.0-alpha04 i androidx.compose.animation:animation-core:1.0.0-alpha04 zostały udostępnione. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Adnotacja rootAnimationClockFactory, uzyskania włączone

Poprawki błędów

  • Zaktualizowano wiele interfejsów Graphics API.
    • Zaktualizowaliśmy interfejsy API skalowania i obrotu przekształcania, aby wykorzystywały pojedynczy parametr Offset do reprezentowania współrzędnych przestawnej zamiast osobnych parametrów zmiennoprzecinkowych dla współrzędnych x/y w DrawScope i DrawTransform
    • Usunięto metody Rect.expandToInclude i Rect.join
    • Zaktualizowaliśmy dokumentację dotyczącą promieni eliptycznych. Oprócz eliptycznego
    • Dodaliśmy dokumentację wskazującą, że publiczny konstruktor dla wbudowanej klasy Radius nie powinien być wywoływany bezpośrednio, ale wystąpienie obiektów Radius należy tworzyć za pomocą ich konstruktorów funkcji.
    • Usunęliśmy interfejsy RoundRect API do wysyłania zapytań dotyczących górnych praw, dolnych, dolnej, środkowej części itp.
    • Wycofano Rect.shift na rzecz Rect.translate
    • Usunięto interfejsy API RoundRect.grow i Rect.shrink
    • Zmieniono nazwę RoundRect.outerRect na Rect.boundingRect
    • Usunęliśmy metody RoundRect.middleRect/tallMiddleRect/wideMiddleRect i Rect.isStadium
    • Nazwa RoundRect.longestSide została zmieniona na RoundRect.maxDimensions
    • Zmieniono nazwę RoundRect.shortestSide na RoundRect.mindimension
    • Zmieniono RoundRect.center na właściwość, a nie funkcję
    • Zaktualizowaliśmy konstruktor RoundRect, który wykorzystuje właściwości typu Radius zamiast poszczególnych parametrów dla wartości promieni x/y.
    • Usunęliśmy interfejsy Size API, które zakładały, że jest to prostokąt o źródle wartości 0,0
    • Do interfejsu Radius dodano interfejs API destrukcyjny.
    • Przenieśliśmy różne funkcje rozszerzenia RoundRect na właściwości
    • (I8f5c7, b/168762961)
  • Fundament.Box został wycofany. Zamiast niej użyj elementu Foundation.layout.Box. (IE5950, b/167680279)
  • Nazwa stosu została zmieniona na Box. Dotychczasowa wersja Box zostanie wycofana i zastąpi nową nową wersją na stronie compose.foundation.layout. Działanie nowego pola to układanie elementów podrzędnych jedna nad drugą, jeśli ma ona kilka elementów podrzędnych. Różni się to od poprzedniej skrzynki, która działała podobnie jak kolumna. (I94893, b/167680279)
  • Parametry dekoracji pola zostały wycofane. Jeśli chcesz dodać do pola ozdoby lub dopełnienie, użyj modyfikatorów (Modifier.background, Modifier.border, Modifier.splash) (Ibae92, b/167680279)
  • Zablokowaliśmy statyczne importowanie treści zakresów układu (np.alignWithSiblings w RowScope). Zamiast niego należy stosować alternatywny zakres wyraźny: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

Wersja 1.0.0-alpha03

16 września 2020 roku

androidx.compose.animation:animation:1.0.0-alpha03 i androidx.compose.animation:animation-core:1.0.0-alpha03 zostały udostępnione. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.

Poprawki błędów

  • Spójnie przemianowaliśmy zastosowania grawitacji, aby wyrównać lub wyrównać interfejsy API układu. (I2421a, b/164077038)

Wersja 1.0.0-alpha02

Wrzesień 2, 2020

androidx.compose.animation:animation:1.0.0-alpha02 i androidx.compose.animation:animation-core:1.0.0-alpha02 zostały udostępnione. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodano ManualFrameClock.hasAwaiters, by sprawdzić, czy coś czeka na klatkę z tego zegara; runWithManualClock jako zamiennik runBlocking w przypadku przeprowadzania testów, które wymagają ManualFrameClock; TestUiDispatcher.Main daje łatwy dostęp do głównego dyspozytora UI w testach.

    Na przykład:

    @Test
    fun myTest() = runWithManualClock { clock ->
        // set some compose content
        withContext(TestUiDispatcher.Main) {
            clock.advanceClock(1000L)
        }
        if (clock.hasAwaiters) {
            println("The clock has awaiters")
        } else {
            println("The clock has no more awaiters")
        }
    }
    

    (I0a85b, b/161247083)

Poprawki błędów

  • Interfejs onPreCommit został wycofany. Działanie onCommit działa teraz w ten sposób.

    Metody onCommit i onActive działają teraz w tym samym ramce choreografa, w którym kompozycja została zmieniona, a nie na początku kolejnego kadru choreografa. (I70403).

Wersja 1.0.0-alpha01

26 sierpnia 2020 r.

androidx.compose.animation:animation:1.0.0-alpha01 i androidx.compose.animation:animation-core:1.0.0-alpha01 zostały udostępnione. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.

Wersja 0.1.0-dev

Wersja 0.1.0-dev17

19 sierpnia 2020 r.

androidx.compose.animation:animation:0.1.0-dev17 i androidx.compose.animation:animation-core:0.1.0-dev17 zostały udostępnione. Wersja 0.1.0-dev17 zawiera te zatwierdzenia.

Nowe funkcje

Zmiany interfejsu API

  • Przesunięcie stało się klasą wbudowaną (Iaec70)
  • IntOffset jest teraz klasą wbudowaną (Iac0bf).
  • IntSize jest teraz klasą wbudowaną (I2bf42)
  • Element AnimatedVisibilty kompozycyjny animuje wygląd i znikanie treści podrzędnych.

    Wprowadziliśmy przenoszenie i przechodzenie z trybu Exittransit we współpracy z funkcją kompozycyjną AnimatedVisibilty, która zapewnia 3 typy animacji wyglądu i znikania: zanikanie, przesuw i rozwijanie/zmniejszanie treści. Różne rodzaje animacji można łączyć, aby uzyskać bardziej spersonalizowany wygląd. (Idda11).

  • Wycofane PxBounds na rzecz Rect. Zaktualizowano wszystkie przypadki użycia PxBounds w polu „PxBounds” i dodano odpowiednie wycofanie/zastąpienie adnotacjami, aby wspomóc migrację. (I37038, b/162627058)

Poprawki błędów

  • Nazwa usługi PlacementScope.placeAbsolute() została zmieniona na PlacementScope.place(), a poprzednia nazwa (PlacementScope.place()) na PlacementScope.placeRelative(). W efekcie metoda PlacementScope.place() nie będzie już automatycznie dublować położenia w kontekstach od prawej do lewej. Jeśli chcesz, użyj PlacementScope.placeRelative(). (I873ac, b/162916675)
  • Funkcja kompozycyjna state { ... } została wycofana i zastąpiła jawne wywołania remember { mutableStateOf(...) }, aby zapewnić przejrzystość. Zmniejsza to ogólną powierzchnię interfejsu API i liczbę pojęć związanych z zarządzaniem stanem. Dopasowanie do wzorca by mutableStateOf() w przypadku przekazywania właściwości klas. (IA5727).

Wersja 0.1.0-dev16

5 sierpnia 2020 r.

androidx.compose.animation:animation:0.1.0-dev16 i androidx.compose.animation:animation-core:0.1.0-dev16 zostały udostępnione. Wersja 0.1.0-dev16 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Wbudowane konwertery wektorowe służące do konwersji jednostek wbudowanych są teraz dostępne w usłudze Foo.VectorConverter. np.Dp.VectorConverter, Color.VectorConverter, Float.VectorConverter itp. (I3e273)
  • Obsługuj detektor końcowy w Modifier.animateContentSize(), dzięki czemu po zakończeniu animacji zmiany rozmiaru detektor otrzyma powiadomienie wraz z informacją o rozmiarze początku i końca animacji. (I277b2)
  • Nowy modyfikator animateContentSize, który animuje zmianę rozmiaru układu jego modyfikatora podrzędnego (Ieffdc)
  • Dodano MonotonicFrameAnimationClock, który umożliwia użycie MonotonicFrameClock jako elementu AnimationClockObservable w celu wypełnienia luki między nowymi zegarami opartymi na współrzędnych a interfejsami API, które nadal używają starych zegarów opartych na wywołaniach zwrotnych.

    MonotonicFrameClockOdpowiednik klasy ManualAnimationClock to teraz ManualFrameClock. (I111c7, b/161247083)

Poprawki błędów

  • Interfejsy API do obsługi tekstu od prawej do lewej zostały zaktualizowane. Dodano parametr LayoutDirectionAmbient, którego można używać do odczytywania i zmieniania kierunku układu. Modifier.rtl oraz Modifier.ltr zostały usunięte. (I080B3)
  • Wymagaj wyraźnego określenia typu T w transitDefinition. (Zignorowano)
  • pakiet Foundation.shape.corner został spłaszczony do pliku Foundation.share (I46491, b/161887429)
  • Interfejs Modifier.plus został wycofany. Użyj interfejsu Modifier.then. Pole „To” daje silniejszy sygnał określający kolejność, ale uniemożliwia też wpisanie słowa Modifier.padding().background() + anotherModifier, które przerywa łańcuch i jest trudniejsze do odczytania (Iedd58, b/161529964).
  • Nazwa Modifier.drawBackground została zmieniona na Modifier.background (I13677)

Wersja 0.1.0-dev15

22 lipca 2020 r.

androidx.compose.animation:animation:0.1.0-dev15 i androidx.compose.animation:animation-core:0.1.0-dev15 zostały udostępnione. Wersja 0.1.0-dev15 zawiera te zatwierdzenia.

Aktualizacja zależności

  • Aby używać funkcji Compose 0.1.0-dev15, musisz zaktualizować zależności zgodnie z nowymi fragmentami kodu pokazanymi powyżej w sekcji Deklarowanie zależności.

Zmiany interfejsu API

  • Interfejs Impact API został zmieniony tak, aby zwracał wartość MigrateState zamiast przekazywać wartość przejśćState do elementów podrzędnych. Dzięki temu interfejs API jest bardziej spójny z interfejsami API aniate(). (I24e38)
  • Dodano parametr modyfikatora dla przejścia (I87cfe, b/159706180)
  • Użyj AnimationSpec zamiast AnimationBuilder w interfejsach API najwyższego poziomu, aby wyjaśnić koncepcję specyfikacji animacji statycznej.
    • Ulepsz przejście DSL, usuwając wymaganie lambda przy tworzeniu specyfikacji animacji, takich jak starsze czy sprężyna. Zamiast tego korzystają bezpośrednio z parametrów konstruktora.
    • Poprawa ogólna łatwość obsługi otwierania konstruktorów w ramach AnimationSpec zamiast używania konstruktorów
    • Zmień czas trwania i opóźnienie ramek KeyFrame i Tween na Int. Eliminuje to niepotrzebne rzutowanie typów i przeciążanie metod (na potrzeby obsługi zarówno długich, jak i Int). (ICA0b4).
  • Zastąpiliśmy wartość IntPx wartością IntPxPosition (Parametr IntPxPosition) wartością IntOffset. IntPxSize zastąpiono wartością IntSize. (IB7b44)
  • Aby skonsolidować liczbę klas używanych do przedstawiania informacji o rozmiarze, ustandaryzuj użycie klasy Size zamiast PxSize. Dzięki temu w klasie wbudowanej można umieścić 2 wartości zmiennoprzecinkowe w postaci długiej do pakowania 2 wartości liczb zmiennoprzecinkowych, które reprezentują szerokość i wysokość reprezentowane przez liczbę zmiennoprzecinkową. (IC0191).
  • Aby skonsolidować liczbę klas używanych do przedstawiania informacji o pozycji, ustandaryzuj użycie klasy Offset zamiast PxPosition. Dzięki temu w klasie wbudowanej można umieścić 2 wartości zmiennoprzecinkowe za pomocą funkcji „long” (długie) do reprezentowania przesunięcia x i y reprezentowanego jako liczby zmiennoprzecinkowe. (I3ad98).
  • Zastąpiono użycie klasy Px w różnych klasach tworzenia w ramach dużych nakładów refaktoryzacyjnych, które polegały na używaniu w parametrach pikseli tylko typów Dp i typów podstawowych (I086f4).
  • Dodano obsługę animacji Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds i AnimationVector (Ib7518).
  • Przenikanie akceptuje teraz opcjonalny parametr AnimationBuilder, aby umożliwić skonfigurowanie animacji (I6d6e0)
  • Wszystkie przypadki użycia koloru, które mogą przyjmować wartości null w interfejsie API, zastąpiono wartością niedopuszczającą wartości null i ustawiono wartość Color.Unset zamiast wartości null (Iabaa7).
  • Usunięto klasę ValueHolder. Zmieniono strukturę klas AnimatedValue i AnimatedFloat, aby pole wartości animacji było abstrakcyjne, dzięki czemu podklasy będą mogły obserwować aktualizację wartości.
    • Dodano klasy modelu dla elementów AnimatedValue, AnimatedFloat itp.
    • Dodaliśmy nowy zestaw lekkiego interfejsu API @Composable do animacji między wartościami. (I79530)
  • Zmiany w interfejsie API nieaktywnym. Szczegóły znajdziesz w logu i dokumentacji Ambient<T> (I4c7ee, b/143769776)
  • Nowy tryb powtarzania: Odwróć. Ten tryb odwraca poprzednią iterację, ponieważ animacja powtarza się w obiektach RepeatableSpec lub VectorizedRepeatableSpec. (Ibe0f5).
  • Zmiany w interfejsie API ManualAnimationClock: hasObservers: Boolean i parametr konstruktora dispatchOnSubscribe: Boolean (Iaa134)
  • Dodane interfejsy API do określania granic min./maks. w AnimatedFloat (Icd9cc)

Poprawki błędów

  • Nazwa runOnIdleCompose została zmieniona na runOnIdle (I83607)
  • Zmieniono nazwy kilku interfejsów API do testowania, aby były bardziej intuicyjne. Nazwy wszystkich interfejsów API „findXYZ” zostały zmienione na onNodeXYZ. Nazwy wszystkich interfejsów API doXYZ zostały zmienione na „performXYZ”. (I7f164)
  • Wprowadzono niskopoziomowe interfejsy API do animacji bezstanowych. Te interfejsy API (I63bf7)
  • Funkcja kompozycyjna „Przetwórz ponownie” nie jest już przydatną abstrakcją. Większość zmian kompozycji powinna następować w wyniku przypisań MutableState. W innych przypadkach zalecamy użycie funkcji invalidate do aktywowania przekomponowania bieżącego zakresu. (Ifc992).
  • Zastąpiliśmy użycie klasy Px w różnych klasach tworzenia w ramach dużych nakładów refaktoryzacyjnych, które polegały na używaniu w parametrach pikseli wyłącznie typów Dp i typów podstawowych. Cała klasa Px została usunięta (I3ff33).
  • Zastąpiono użycie klasy Px w różnych klasach tworzenia w ramach dużej refaktoryzacji, która polegała wyłącznie na używaniu w parametrach pikseli tylko typów Dp i typów podstawowych (Id3434).
  • Przenikanie może teraz działać z wartością początkową null (Iad6a4, b/155947711)
  • Zastąpiono użycie klasy Px w różnych klasach tworzenia w ramach dużej refaktoryzacji polegającej na używaniu w parametrach pikseli tylko typów Dp i typów podstawowych (I19d02).
  • Skonsolidowano implementacje CanvasScope, dzięki czemu powstaje tylko DrawScope i ContentDrawScope. Nazwa obiektu CanvasScope została zmieniona na DrawScope. Zaktualizowaliśmy DrawScope, aby wdrożyć interfejs Density i udostępnić interfejs LayoutDirection Usunięta podklasa DrawScope w ContentDrawScope Zaktualizowaliśmy aplikację Painter i painterModifier, aby nie utrzymywała już właściwości RTL, ponieważ DrawScope udostępnia ją już bez ręcznego podawania jej właściwości (I1798e)
  • Zaktualizowano interfejsy API tworzenia wyższego poziomu, które udostępniają obiekt Canvas do wyświetlania obiektu CanvasScope. Dzięki temu konsumenci nie muszą utrzymywać własnych obiektów Paint. Klienci, którzy nadal potrzebują dostępu do obiektu Canvas, mogą skorzystać z metody rozszerzenia dropCanvas, która powoduje wywołanie zwrotne do poleceń rysowania na podstawie obiektu Canvas. (I80afd).
  • Dodano parametry grawitacji pionowego i poziomego do wierszy oraz kolumn. (I7dc5a)
  • Nazwa modułu ui-text została zmieniona na ui-text-core (I57dec).
  • Ulepsz interfejs DrawModifier API:
    • Zmieniono zakres odbiorcy dla metody Draw() ContentDrawScope
    • Usunięto wszystkie parametry z dresz()
    • Interfejs DrawScope jest taki sam jak poprzednia wersja CanvasScope
    • ContentDrawScope ma metodę DrawContent() (Ibaced, b/152919067)
  • runOnIdleCompose i runOnUiThread to teraz funkcje globalne, a nie metody w ComposeTestRule. (Icbe8f).
  • [Mutable]Operatory delegowania właściwości stanu zostały przeniesione do rozszerzeń, aby obsługiwać optymalizację przekazywania właściwości Kotlin 1.4. Rozmówcy muszą dodać importowanie, aby dalej używać by state { ... } lub by mutableStateOf(...). (I5312C)
  • Interfejs ColoredRect został wycofany. Użyj w zamian zasady Box(Modifier.preferredSize(width, height).drawBackground(color)). (I499fa, b/152753731)
  • Zastąpienie operatora modyfikatora plus funkcjami rozszerzeń fabrycznych (I225e4).
  • Wycofana funkcja kompozycyjna w centrum. Należy go zastąpić modyfikatorem LayoutSize.Fill + Layoutalizator.Center lub jednym z elementów kompozycyjnych Box albo Stack z odpowiednimi modyfikatorami (Idf5e0).
  • Zmieniono nazwę Układ Elastyczny na Układ Weight. Zmieniono nazwę precyzyjnego parametru na wypełnienie. (If4738).
  • Funkcja kompozycjonalna przezroczystości została zastąpiona modyfikatorem DrOpacity. (I5fb62)
  • Testy wykonywane przy użyciu AndroidComposeTestRule zawierają teraz zegar animowany u góry kompozycji, dzięki czemu można ją wstrzymywać, wznawiać i ulepszać ręcznie. (Id54c5).
  • Obsługa kierunku od prawej do lewej w modyfikatorze LayoutPadding (I9e8da).
  • Interfejsy Density i DensityScope zostały połączone w jeden interfejs. Zamiast trybu nieaktywnego() możesz teraz używać obiektu DensityAmbient.current. Zamiast opcji Gęstość(gęstość) tylko za pomocą(gęstości) (I11cb1)
  • Do różnych typów klas wbudowanych dodaliśmy metody kopiowania, takie jak:
    • Przesunięcie
    • Rozmiar
    • Promień
    • Ruch
    • TransformOrigin
    • Wycofana metoda obiektu towarzyszącego Size.copy preferuje metodę kopiowania instancji (Ife290, b/159905651)
  • Aplikacja androidx.compose.ViewComposer została przeniesiona do androidx.ui.node.UiComposer. androidx.compose.Emittable została usunięta. W przypadku węzła KomponentNode to niepotrzebne narzędzie. Aplikacja androidx.compose.ViewAdapters została usunięta. Nie są już one obsługiwanym przypadkiem użycia. Interfejs Compose.composeInto został wycofany. Użyj interfejsu setContent lub setViewContent. Metoda Compose.disposeComposition została wycofana. Użyj metody dispose na obiekcie Composition zwróconym przez setContent. Nazwa androidx.compose.Compose.subcomposeInto została przeniesiona do androidx.ui.core.subcomposeInto. Nazwa węzła #emitInsertAt została zmieniona na KomponentNode