Utwórz animację

Twórz animacje w aplikacjach Jetpack Compose, aby zwiększyć wygodę użytkowników.
Najnowsza aktualizacja Wersja stabilna Kandydat do publikacji Wersja Beta Wersja alfa
17 kwietnia 2024 r. 1.6.6 - - 1.7.0-alfa07

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.

GrupaOpis
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.foundationPisz 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.6"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.12"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

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

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.12"
    }

    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.

Utwórz nowy numer

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Wersja 1.7

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 i scaleOutSharedContentToBounds do skalowania treści w sharedBounds (I731c1)

Zmiany w interfejsie API

  • AnimatedVisibilityScope.transition jest teraz stabilnym interfejsem API. Modifier.animateEnterExit(..) też jest stabilny. (I6c1d1)
  • Wersje ApproachLayoutModifierNode i Modifier.approachLayout są teraz stabilne. Nowe: isMeasurementApproachInProgress() i isPlacementApproachInProgress(), które zastąpią odpowiednio stare isMeasurementApproachComplete() i isPlacementApproachComplete().
  • Usunięto wycofany modyfikator intermediateLayout. (I3e91c)
  • Możesz teraz przekazać wartość periodicBias (liczba zmiennoprzecinkowa) do keyframesWithSpline. 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 i LazyRow dodaliśmy obsługę animacji z wyglądem i zniknięciem elementu. Wcześniej można było dodać modyfikator Modifier.animateItemPlacement() na potrzeby wyświetlania animacji w miejscach docelowych (zmianie ich 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ę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ępuje snapTo() elementem seekTo() i dodaje element snapTo(), 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 aplikacji LazyList. (I070512, b/322525716)
  • Naprawiliśmy IllegalStateException w KeyframesSpec 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.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

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 i scaleOutToFitContainer z aplikacji AnimatedContentTransitionScope, 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 na ExitTransition.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 jak Offset, 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 rzecz KeyframesSpecConfig#using, co zachowuje wzorzec konstruktora. (I1d769)

Wersja 1.6.0-alfa07

4 października 2023 r.

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 i SecondaryScrollableTabRow 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ęzyku AnimatedContent 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 i AnimatedVisibility 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 r.

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 ustawienia readOnly 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 jak MutableIntState) 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 to AutoboxingStateCreation. 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ąc warning "AutoboxingStateCreation" w konfiguracji build.gradle lub build.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ęzyk ContentKey, 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 interfejsie LookaheadScope. Dzięki temu SubcomposeLayouts, 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ów SubcomposeLayout bez przedziałów warunkowych, takich jak Scaffold, TabRow i BoxWithConstraints, domyślnie z wyprzedzeniem. (Id84c8)
  • Zmień nazwę zabawy z infikacją na togetherWith, która łączy przejścia wejścia i wyjścia. Nowy odbiornik AnimatedContentScope 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 temu SubcomposeLayout będzie działać prawidłowo w LookaheadScope. Wkrótce udostępnimy bardziej przygotowaną obsługę określonych podtypów usługi SubcomposeLayout.

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. 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 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 rememberInfiniteTransition oraz wszystkich funkcjach rozszerzeń w InfiniteTransition 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ługach InfiniteTransition i Transition (np. InfiniteTransition#animateColor) (I56ef7)

Zmiany w interfejsie API

  • Interfejsy API InfiniteTransition#TransitionAnimationState i InfiniteTransition#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łuje withFrameNanos lub withFrameMillis 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 parametr onPerformTraversals: (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 i Animatable
  • 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 teraz repeatCount i repeatMode

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 teraz repeatCount i repeatMode (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 metody AnimatedImageVector.animatedVectorResource zamiast animatedVectorResource.
    • Aby renderować AnimatedImageVector, użyj rememberAnimatedVectorResource zamiast AnimatedImageVector#painterFor. (I9c300)

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

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 metody AnimatedImageVector.animatedVectorResource zamiast animatedVectorResource.
    • Aby renderować AnimatedImageVector, użyj rememberAnimatedVectorResource zamiast AnimatedImageVector#painterFor. (I9c300)

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 API AnimatedVisibility 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 Kotlin 1.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 module androidx.compose.animation:animation-graphics. (I60873)

Poprawki błędów

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 API 7.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 do androidx.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 elementu ContentTransform 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ści AnimatedContent 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 interfejsu composeTestRule.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 katalogu src/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 funkcji adb 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ów H, S i P 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 klasa androidx.compose.runtime.SlotTable miałaby deskryptor o wartości Landroidx/compose/runtime/SlotTable;.

  • <METHOD_SIGNATURE> to podpis metody, który zawiera nazwę, typy parametrów oraz zwracane typy metody. Na przykład metoda fun isPlaced(): Boolean na LayoutNode ma podpis isPlaced()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 i detectHorizontalGestures 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 zasadzie MutableTransitionState. Dzięki temu można też obserwować stany animacji poza AnimatedVisibility za pomocą currentState i isIdle.
    • 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 jak Button i Modifier.clickable(), użyj interactionSource = 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 jak remember { mutableStateOf(0) }, usuniemy właściwość savedInstanceState { 0 }. Użyj zamiast niego metody rememberSaveable { 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 parametr stateSaver. 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życiu ComposeTestRule. (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 i VectorizedAnimationSpec.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) i itemsIndexed(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> zamiast T. 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 do content, zgodnie ze sprawdzaniem lintowania i wskazówkami. (Iec48e).
  • Wcześniej wycofane interfejsy API zostały usunięte:
    • Usunięto: Modifier.onPositioned. Użyj kodu Modifier.onGloballyPositioned.
    • Usunięto: Modifier.onDraw. Użyj kodu Modifier.onDrawBehind.
    • Usunięto: Modifier.plus. Użyj kodu Modifier.then.
    • Usunięto: Color.Unset. Użyj kodu Color.Unspecified.
    • Usunięto PxBounds zajęcia. Użyj w zamian zajęć Rect.
    • (Ie9d02, b/172562222)
  • 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 na RestorableStateProvider (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 na runBlocking w przypadku testów wymagających ManualFrameClock; TestUiDispatcher.Main, który zapewnia łatwy dostęp do głównego dyspozytora interfejsu użytkownika 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

  • 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 na PlacementScope.place(), a poprzednia nazwa „PlacementScope.place()” – „PlacementScope.placeRelative()”. W rezultacie metoda PlacementScope.place() nie będzie już automatycznie powielać pozycji w kontekstach od prawej do lewej. Jeśli chcesz, użyj zasady PlacementScope.placeRelative(). (I873ac, b/162916675)
  • Funkcja kompozycyjna state { ... } została wycofana i wycofana z funkcji remember { mutableStateOf(...) }, aby zapewnić przejrzystość. Zmniejsza to ogólną powierzchnię interfejsu API i liczbę pojęć związanych z zarządzaniem stanem i dopasowywane do wzorca by 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 elementu AnimationClockObservable 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.

    MonotonicFrameClockodpowiednik 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 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 konstruktora dispatchOnSubscribe: Boolean (Iaa134)
  • Dodano interfejsy API do pobierania progów minimalnej/maksymalnej w animacjiFloat (Icd9cc).

Poprawki błędów

  • Nazwa etykiety runOnIdleCompose została zmieniona na runOnIdle (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 i runOnUiThread 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 { ... } lub by 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ń
    • Poruszone
    • 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 lub setViewContent. Parametr Compose.disposeComposition został wycofany. Użyj zamiast tego metody dispose w obiekcie Composition zwróconym przez setContent. 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.

Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.

Ostatnia aktualizacja: 2024-04-17 UTC.