Animacja w Compose

tworzyć animacje w aplikacjach Jetpack Compose, aby wzbogacać wrażenia użytkowników.
Ostatnia aktualizacja Wersja stabilna Wersja kandydująca Wersja Beta Wersja alfa
11 grudnia 2024 r. 1.7.6 - - 1.8.0-alpha07

Struktura

Compose to kombinacja 7 identyfikatorów grup Maven w ramach androidx. Każda grupa zawiera określony podzbiór funkcji, z którym wiąże się własny zestaw informacji o wydańach.

Ta tabela zawiera informacje o grupach i linki do poszczególnych zestawów informacji o wersji.

GrupaOpis
compose.animationtworzyć animacje w aplikacjach Jetpack Compose, aby wzbogacać wrażenia użytkowników.
compose.compilerPrzekształcaj funkcje @Composable i włącz optymalizacje za pomocą wtyczki kompilatora Kotlin.
compose.foundationPisać aplikacje Jetpack Compose za pomocą gotowych elementów składowych i rozwijać podstawy, aby tworzyć własne elementy systemu projektowania.
compose.materialTwórz interfejsy Jetpack Compose za pomocą gotowych komponentów Material Design. Jest to punkt wejścia na wyższym poziomie w Compose, który ma na celu udostępnianie komponentów odpowiadających komponentom opisanym na stronie www.material.io.
compose.material3Twórz interfejsy Jetpack Compose za pomocą komponentów Material Design 3, czyli kolejnej generacji Material Design. Material 3 obejmuje zaktualizowane motywy i elementy oraz funkcje personalizacji Material You, takie jak dynamiczne kolory. Jest on zgodny z nowym stylem wizualnym Androida 12 i interfejsem systemu.
compose.runtimePodstawowe elementy modelu programowania i zarządzania stanem w Compose oraz środowisko uruchomieniowe główne dla wtyczki kompilatora Compose, na które ma być nakierowany.
compose.uiPodstawowe elementy interfejsu tworzenia wiadomości, które są potrzebne do interakcji z urządzeniem, w tym układ, rysowanie i wprowadzanie danych.

Deklarowanie zależności

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

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

Groovy

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

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

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

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

Opinia

Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk z gwiazdką.

Tworzenie nowego zgłoszenia

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

Wersja 1.8

Wersja 1.8.0-alpha07

11 grudnia 2024 r.

androidx.compose.animation:animation-*:1.8.0-alpha07 został zwolniony. Wersja 1.8.0-alpha07 zawiera te komity.

Nowe funkcje

  • Obsługuje lookahead w pagerze, rozróżniając przejście lookahead od przejścia approach w celu zachowania elementów i przewijania. (b/371802474)

Poprawki błędów

  • Rozwiązano rzadki problem, który powodował, że element współdzielony był składany, ale nigdy nie był mierzony ani umieszczany. Wymaganie, aby element współdzielony był renderowany w miejscu co najmniej raz przed renderowaniem go w nakładce. (b/371802474)

Wersja 1.8.0-alpha06

13 listopada 2024 r.

androidx.compose.animation:animation-*:1.8.0-alpha06 został zwolniony. Wersja 1.8.0-alpha06 zawiera te komisy.

Zmiany w interfejsie API

  • Zmieniono nazwę parametru sharedElementstate na sharedContentState, aby zachować spójność w interfejsach API elementów wspólnych. (I5694c, b/375351468)
  • Zestaw interfejsów API AnimatedImageVector jest teraz stabilny. (I7174b, b/261436267)

Wersja 1.8.0-alpha05

30 października 2024 r.

androidx.compose.animation:animation-*:1.8.0-alpha05 został zwolniony. Wersja 1.8.0-alpha05 zawiera te komity.

Nowe funkcje

  • W wersji LazyGrid obsługiwane jest teraz przewidywanie. Obejmuje to rozróżnianie przejść w przód i w tył w przypadku przewijania, tworzenia i usuwania elementów oraz animacji elementów. Przejście w przód jest używane jako źródło informacji o przewijaniu oraz celu animacji elementów.

Poprawki błędów

  • Aktualizuj wewnętrzne stany transformacji rozmiaru AnimatedContent, gdy przejście zostanie ponownie utworzone. Dzięki temu informacje o docelowym rozmiarze są zawsze aktualne. (b/372512085)

Wersja 1.8.0-alpha04

16 października 2024 r.

androidx.compose.animation:animation-*:1.8.0-alpha04 został zwolniony. Wersja 1.8.0-alpha04 zawiera te komisy.

Poprawki błędów

  • Naprawiono błąd, który powodował awarię niektórych krzywych wygładzających w określonych ułamkach czasu.
  • Naprawiono błąd powodujący nieprawidłowe wyrównanie znaków Modifier.animateContentSize w językach z orientacją poziomą. (Idae6b, b/372055503)

Wersja 1.8.0-alpha03

2 października 2024 r.

androidx.compose.animation:animation-*:1.8.0-alpha03 został zwolniony. Wersja 1.8.0-alpha03 zawiera te komity.

Zmiany w interfejsie API

  • Aktualizacja wersji Kotlina do 1.9 (I1a14c)

Poprawki błędów

  • Rozwiązaliśmy problem z animacją rozmiaru AnimatedContent. Animacja zawsze będzie śledzić i rozpoczynać się od bieżącego rozmiaru, aby zapewnić ciągłość.

Wersja 1.8.0-alpha02

18 września 2024 r.

androidx.compose.animation:animation-*:1.8.0-alpha02 został zwolniony. Wersja 1.8.0-alpha02 zawiera te komity.

Wersja 1.8.0-alpha01

4 września 2024 r.

androidx.compose.animation:animation-*:1.8.0-alpha01 został zwolniony. Wersja 1.8.0-alpha01 zawiera te komity.

Nowe funkcje

  • Nowy interfejs API Modifier.animateBounds do animowania zmian rozmiaru i pozycji w ramach zakresu wyprzedzającego. 94b9394

Zmiany w interfejsie API

  • Usuwanie flag eksperymentalnych w przypadku klatek kluczowych z łukami i spline’ami (89e1199)

Poprawki błędów

  • Pomiń logikę placeHolderSize, gdy nie znaleziono dopasowania (77c0160)
  • Ograniczenie czasu odtwarzania w AndroidFlingSpline w celu zapobiegania awariom spowodowanym niemonotonicznym zwiększaniem czasu odtwarzania(9d47587)
  • Poprawiono błąd powodujący, że SharedTransitionScope nie rysuje elementów w pewnych warunkach (b41077b6).

Darowizna zewnętrzna

  • Zapobieganie ustawianiu przełączenia z możliwością przewijania playTime, gdy nie ma żadnego przełączenia w trakcie odtwarzania przez Stevena Schoena. (c2e6e7e6)

Wersja 1.7

Wersja 1.7.6

11 grudnia 2024 r.

androidx.compose.animation:animation-*:1.7.6 został zwolniony. Wersja 1.7.6 zawiera te komity.

Wersja 1.7.5

30 października 2024 r.

androidx.compose.animation:animation-*:1.7.5 został zwolniony. Wersja 1.7.5 zawiera te komitowane zmiany.

Poprawki błędów

  • Naprawiono błąd powodujący nieprawidłowe wyrównanie znaków Modifier.animateContentSize w językach z orientacją poziomą. (Idae6b, b/372055503)

Wersja 1.7.4

16 października 2024 r.

androidx.compose.animation:animation-*:1.7.4 został zwolniony. Wersja 1.7.4 zawiera te komitowane zmiany.

Wersja 1.7.3

2 października 2024 r.

androidx.compose.animation:animation-*:1.7.3 został zwolniony. Wersja 1.7.3 zawiera te komity.

Wersja 1.7.2

18 września 2024 r.

androidx.compose.animation:animation-*:1.7.2 został zwolniony. Wersja 1.7.2 zawiera te komity.

Darowizna zewnętrzna

  • Zapobieganie ustawianiu przełączalnego przejścia playTime, gdy nie jest uruchomione żadne przejście. Dziękuję, Steven Schoen. (c2e6e7e6)

Wersja 1.7.1

10 września 2024 r.

  • Brak zmian w artefaktach na Androida. Usunięto -desktop artefakty i dodano -jvmStubs oraz -linuxx64Stubs. Żadnego z tych celów nie należy używać. Są to elementy zastępcze, które ułatwiają pracę Jetbrains Compose.

Wersja 1.7.0

4 września 2024 r.

androidx.compose.animation:animation-*:1.7.0 został zwolniony.

Ważne zmiany od wersji 1.6.0

Ważne zmiany w wersji 1.7.0 opisane są w tym poście na blogu.

Nowe interfejsy API przejścia z elementów współdzielonych

  • Nowe interfejsy API przejścia do współdzielonych elementów są gotowe do użycia i czekają na Twoją opinię. Te nowe eksperymentalne interfejsy API umożliwiają tagowanie układów jako udostępnionych w drzewie układu za pomocą podanych modyfikatorów, co powoduje płynne zmiany granic, gdy jeden zestaw udostępnionych treści kończy się, a pojawia się inny. (Icb0b9)
  • Nowe parametry scaleInSharedContentToBounds i scaleOutSharedContentToBounds do skalowania treści w sharedBounds (I731c1)
  • Eksperymentalna SharedTransitionScope jest teraz interfejsem, a nie klasą. (Iaf856)
  • Nowe resizeModes (ScaleToBounds i RemeasureToBounds) dla sharedBounds, aby wybrać między skalowaniem a ponownym pomiarem. Poprzednie interfejsy API scaleIn/OutSharedContentToBounds zostały wycofane. (I0d41a)

Ulepszenia istniejących interfejsów API:

  • Nowa funkcja Modifier.animateContentSize, która przyjmuje dodatkowy parametr dopasowania treści niestandardowych. (I5623a, b/269803907)
  • Nowa opcja eksperymentalna DeferredTargetAnimation do animowania rozmiaru, położenia lub dowolnego innego celu, który jest nieznany podczas instancjonowania. (I60745)
  • SeekableTransitionState zastępuje snapTo() wartością seekTo() i dodaje snapTo(), który natychmiast zmienia stan na stan docelowy bez żadnej animacji.
  • Teraz możesz przekazać do parametru periodicBias wartość zmiennoprzecinkową (float), dzięki czemu początkowa i końcowa prędkość stycznej będą równe.keyframesWithSpline Przydatne w przypadku powtarzalnych animacji z użyciem krzywych. Współczynnik wskazuje, o ile każda prędkość (początkowa i końcowa) zostanie zmieniona, aby uzyskać okresowość. (Ic1e6c, b/292114811)

Te interfejsy API stały się stabilne lub zostały usunięte:

  • Interfejs AnimatedVisibilityScope.transition jest teraz stabilnym interfejsem API. Stabilność została też poprawiona w przypadku Modifier.animateEnterExit(..). (I6c1d1)
  • ApproachLayoutModifierNodeModifier.approachLayout są teraz stabilne, a nowe isMeasurementApproachInProgress()isPlacementApproachInProgress() zastępują odpowiednio stare isMeasurementApproachComplete()isPlacementApproachComplete().
  • Usunięto przestarzały modyfikator intermediateLayout. (I3e91c)
  • Interfejsy API LookaheadScope działają stabilnie. (I21507)

Wersja 1.7.0-rc01

21 sierpnia 2024 r.

androidx.compose.animation:animation-*:1.7.0-rc01 został zwolniony. Wersja 1.7.0-rc01 zawiera te komity.

Wersja 1.7.0-beta07

7 sierpnia 2024 r.

androidx.compose.animation:animation-*:1.7.0-beta07 został zwolniony. Wersja 1.7.0-beta07 zawiera te komity.

Poprawki błędów

  • Rozwiązano problem z SharedTransitionScope nierysowaniem elementów nakładki podczas przejścia w pewnych warunkach, co zwykle dotyczy korzystania z Nawigacji. (Id65ab, b/347520198)

Wersja 1.7.0-beta06

24 lipca 2024 r.

androidx.compose.animation:animation-*:1.7.0-beta06 został zwolniony. Wersja 1.7.0-beta06 zawiera te komity.

Poprawki błędów

  • Rozwiązano problem z wyciekaniem stanów przejścia w SeekableTransition przez prawidłowe oczyszczanie obserwacji z SnapshotStateObserver po zakończeniu przejścia. (b9c7182)
  • Rozwiązaliśmy problemy z rzadkimi przypadkami, w których przejścia podrzędne nie były prawidłowo oznaczane jako ukończone po zakończeniu przejścia nadrzędnego. (dc42216)

Wersja 1.7.0-beta05

10 lipca 2024 r.

androidx.compose.animation:animation-*:1.7.0-beta05 został zwolniony. Wersja 1.7.0-beta05 zawiera te komity.

Poprawki błędów

  • Właściwość przejścia totalDurationNanos można teraz prawidłowo odczytać w ramach snapshotFlow.

Wersja 1.7.0-beta04

26 czerwca 2024 r.

androidx.compose.animation:animation-*:1.7.0-beta04 został zwolniony. Wersja 1.7.0-beta04 zawiera te komity.

Wersja 1.7.0-beta03

12 czerwca 2024 r.

androidx.compose.animation:animation-*:1.7.0-beta03 został zwolniony. Wersja 1.7.0-beta03 zawiera te zatwierdzenia.

Wersja 1.7.0-beta02

29 maja 2024 r.

androidx.compose.animation:animation-*:1.7.0-beta02 został zwolniony. Wersja 1.7.0-beta02 zawiera te komity.

Wersja 1.7.0-beta01

14 maja 2024 r.

androidx.compose.animation:animation-*:1.7.0-beta01 został zwolniony. Wersja 1.7.0-beta01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Nowe resizeModes (ScaleToBounds i RemeasureToBounds) dla sharedBounds, aby wybrać między skalowaniem a ponownym pomiarem. Poprzednie interfejsy API scaleIn/OutSharedContentToBounds zostały wycofane. (I0d41a)

Darowizna zewnętrzna

Wersja 1.7.0-alpha08

1 maja 2024 r.

androidx.compose.animation:animation-*:1.7.0-alpha08 został zwolniony. Wersja 1.7.0-alpha08 zawiera te komity.

Zmiany w interfejsie API

  • Interfejsy API LookaheadScope są stabilne. (I21507)

Darowizna zewnętrzna

  • Wyraźny czas rozpoczęcia animacji po SeekableTransitionState animuje/robi zdjęcia przez Stevena Schoena (1ca89529)

Wersja 1.7.0-alpha07

17 kwietnia 2024 r.

androidx.compose.animation:animation-*:1.7.0-alpha07 został zwolniony. Wersja 1.7.0-alpha07 zawiera te komity.

Nowe funkcje

  • Nowe interfejsy API przejścia do współdzielonych elementów są gotowe do użycia i czekają na Twoją opinię. Te nowe eksperymentalne interfejsy API umożliwiają tagowanie układów jako udostępnionych w drzewie układu za pomocą podanych modyfikatorów, co powoduje płynne zmiany granic, gdy jeden zestaw udostępnionych treści znika, a pojawia się inny. (Icb0b9)
  • Nowe parametry scaleInSharedContentToBounds i scaleOutSharedContentToBounds do skalowania treści w sharedBounds (I731c1)

Zmiany w interfejsie API

  • Interfejs AnimatedVisibilityScope.transition jest teraz stabilnym interfejsem API. Stabilność została też poprawiona w przypadku Modifier.animateEnterExit(..). (I6c1d1)
  • ApproachLayoutModifierNodeModifier.approachLayout są teraz stabilne, a nowe isMeasurementApproachInProgress()isPlacementApproachInProgress() zastępują odpowiednio stare isMeasurementApproachComplete()isPlacementApproachComplete().
  • Usunięto przestarzały modyfikator intermediateLayout. (I3e91c)
  • Teraz możesz przekazać do parametru periodicBias wartość zmiennoprzecinkową (float), dzięki czemu początkowa i końcowa prędkość stycznej będą równe.keyframesWithSpline Przydatne w przypadku powtarzalnych animacji z użyciem krzywych. Współczynnik wskazuje, o ile każda prędkość (początkowa i końcowa) zostanie zmieniona, aby uzyskać okresowość. (Ic1e6c, b/292114811)

Poprawki błędów

  • Naprawiono krzywe przejścia z przestrzeleniem i niedosięgnięciem, które wcześniej były ograniczone do wartości 0,1 (I38747).

Wersja 1.7.0-alpha06

3 kwietnia 2024 r.

androidx.compose.animation:animation-*:1.7.0-alpha06 został zwolniony. Wersja 1.7.0-alpha06 zawiera te komisy.

Nowe funkcje

  • Dodaliśmy obsługę animacji pojawiania się i znikania elementów w wersjach LazyColumnLazyRow. Wcześniej można było dodawać modyfikator Modifier.animateItemPlacement(), aby obsługiwać animacje umieszczania (przestawiania). 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: pojawiania się (w postępowaniu), znikania (w postępowaniu) i przestawiania. (I2d7f7, b/330152398, b/150812265)

Poprawki błędów

  • Zwiększona wydajność interfejsu API updateTransition.

Wersja 1.7.0-alpha05

20 marca 2024 r.

androidx.compose.animation:animation-*:1.7.0-alpha05 został zwolniony. Wersja 1.7.0-alpha05 zawiera te komity.

Zmiany w interfejsie API

  • SeekableTransitionState zastępuje snapTo() wartością seekTo() i dodaje snapTo(), który natychmiast zmienia stan na stan docelowy bez żadnej animacji.

Wersja 1.7.0-alpha04

6 marca 2024 roku

androidx.compose.animation:animation-*:1.7.0-alpha04 został zwolniony. Wersja 1.7.0-alpha04 zawiera te komity.

Zmiany w interfejsie API

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

Wersja 1.7.0-alpha03

21 lutego 2024 r.

androidx.compose.animation:animation-*:1.7.0-alpha03 został zwolniony. Wersja 1.7.0-alpha03 zawiera te commity.

Nowe funkcje

  • Nowa funkcja Modifier.animateContentSize, która przyjmuje dodatkowy parametr dopasowania treści niestandardowych. (I5623a, b/269803907)
  • Nowa opcja eksperymentalna DeferredTargetAnimation do animowania rozmiaru, położenia lub dowolnego innego celu, który jest nieznany podczas instancjonowania. (I60745)

Wersja 1.7.0-alpha02

7 lutego 2024 r.

androidx.compose.animation:animation-*:1.7.0-alpha02 został zwolniony. Wersja 1.7.0-alpha02 zawiera te commity.

Poprawki błędów

  • Naprawka dotycząca zgodności dla KeyframesSpec. (I2bdf3, b/322214617)
  • Rozwiązaliśmy problem z nieprawidłowym resetowaniem funkcji Modifier.animateContentSize w komponencie LazyList. (I070512, b/322525716)
  • Rozwiązano problem z funkcją IllegalStateException w funkcji KeyframesSpec podczas używania sygnatur czasowych spoza zakresu. (I341b8, b/322839811)

Wersja 1.7.0-alpha01

24 stycznia 2024 r.

androidx.compose.animation:animation-*:1.7.0-alpha01 został zwolniony. Wersja 1.7.0-alpha01 zawiera te commity.

Wersja 1.6

Wersja 1.6.8

12 czerwca 2024 r.

androidx.compose.animation:animation-*:1.6.8 został zwolniony. Wersja 1.6.8 zawiera te komisy.

Wersja 1.6.7

1 maja 2024 r.

androidx.compose.animation:animation-*:1.6.7 został zwolniony. Wersja 1.6.7 zawiera te komity.

Wersja 1.6.6

17 kwietnia 2024 r.

androidx.compose.animation:animation-*:1.6.6 został zwolniony. Brak zmian od poprzedniej wersji

Wersja 1.6.5

3 kwietnia 2024 r.

androidx.compose.animation:animation-*:1.6.5 został zwolniony. Wersja 1.6.5 zawiera te komity.

Wersja 1.6.4

20 marca 2024 r.

androidx.compose.animation:animation-*:1.6.4 został zwolniony. Wersja 1.6.4 zawiera te komitowane zmiany.

Wersja 1.6.3

6 marca 2024 roku

androidx.compose.animation:animation-*:1.6.3 został zwolniony. Wersja 1.6.3 zawiera te komitowane zmiany.

Wersja 1.6.2

21 lutego 2024 r.

androidx.compose.animation:animation-*:1.6.2 został zwolniony. Wersja 1.6.2 zawiera te commity.

Wersja 1.6.1

7 lutego 2024 r.

androidx.compose.animation:animation-*:1.6.1 został zwolniony. Wersja 1.6.1 zawiera te zatwierdzenia.

Poprawki błędów

Wersja 1.6.0

24 stycznia 2024 r.

androidx.compose.animation:animation-*:1.6.0 został zwolniony. Wersja 1.6.0 zawiera te zatwierdzenia.

Wersja 1.6.0-rc01

10 stycznia 2024 r.

androidx.compose.animation:animation-*:1.6.0-rc01 został zwolniony. Wersja 1.6.0-rc01 zawiera te commity.

Wersja 1.6.0-beta03

13 grudnia 2023 r.

androidx.compose.animation:animation-*:1.6.0-beta03 został zwolniony. Wersja 1.6.0-beta03 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Tymczasowo usunięto scaleInToFitContainerscaleOutToFitContainerAnimatedContentTransitionScope, ponieważ wymagają przewidywania. Będą one dostępne, gdy funkcja przewidywania będzie domyślnie włączona lub gdy użytkownicy wyrażą zgodę na jej używanie w kolejnych wersjach.

Wersja 1.6.0-beta02

29 listopada 2023 r.

androidx.compose.animation:animation-*:1.6.0-beta02 został zwolniony. Wersja 1.6.0-beta02 zawiera te komitowane zmiany.

Wersja 1.6.0-beta01

15 listopada 2023 r.

androidx.compose.animation:animation-*:1.6.0-beta01 został zwolniony. Wersja 1.6.0-beta01 zawiera te commity.

Zmiany w interfejsie API

  • Aby była bardziej jednoznaczna, nazwa ExitTransition.Hold została zmieniona na ExitTransition.KeepUntilTransitionsFinished. (I1c490)
  • Możesz teraz używać funkcji keyframesWithSpline do interpolowania dowolnej wartości wymiaru N za pomocą linii monotonnych. Jest to szczególnie przydatne do interpolowania wartości pozycyjnych, takich jak Offset, IntOffsetDpOffset. Dodano jako eksperymentalny interfejs API.

Poprawki błędów

  • Dodaliśmy obsługę renderowania gradientu Sweep w ArcLine. (I4d5bb)
  • Zaimplementuj metody equals i hashcode dla klasy PageSize.Fixed. (Ie3ede, b/300134276)
  • Rozwiązano problem ze zgodnością binarną związany z zmianą okna zadruku. (Iee695)
  • Usuń warstwę główną Material3 w przypadku elementu Chip/przycisku Material3, ponieważ mikrotesty pokazują lepszą wydajność bez niej. (I55555)

Wersja 1.6.0-alpha08

18 października 2023 r.

androidx.compose.animation:animation-*:1.6.0-alpha08 został zwolniony. Wersja 1.6.0-alpha08 zawiera te commity.

Zmiany w interfejsie API

  • Wycofano KeyframesSpecConfig#with na rzecz KeyframesSpecConfig#using, który zachowuje wzór konstruktora. (I1d769)

Wersja 1.6.0-alpha07

4 października 2023 roku

androidx.compose.animation:animation-*:1.6.0-alpha07 został zwolniony. Wersja 1.6.0-alpha07 zawiera te commity.

Zmiany w interfejsie API

  • Stałe i przewijane karty mają teraz warianty główny i dodatkowy. Te wartości są poprawnie mapowane na kolory i zachowanie wskaźnika zgodnie z definicją w Material3.
  • PrimaryScrollableTabRowSecondaryScrollableTabRow mają teraz stan przewijania. (Iec8f5, b/260572337)

Wersja 1.6.0-alpha06

20 września 2023 r.

androidx.compose.animation:animation-*:1.6.0-alpha06 został zwolniony. Wersja 1.6.0-alpha06 zawiera te commity.

Wersja 1.6.0-alpha05

6 września 2023 r.

androidx.compose.animation:animation-*:1.6.0-alpha05 został zwolniony. Wersja 1.6.0-alpha05 zawiera te commity.

Zmiany w interfejsie API

  • Dodano PathEasing, aby umożliwić przekazywanie dowolnej ścieżki do krzywej wygaszania. (Idb4b9)

Wersja 1.6.0-alpha04

23 sierpnia 2023 r.

androidx.compose.animation:animation-*:1.6.0-alpha04 został zwolniony. Wersja 1.6.0-alpha04 zawiera te commity.

Zmiany w interfejsie API

  • Dodaj SeekableTransitionState, aby umożliwić deweloperom kontrolowanie postępów migracji. (I8e69d)

Wersja 1.6.0-alpha03

9 sierpnia 2023 r.

androidx.compose.animation:animation-*:1.6.0-alpha03 został zwolniony. Wersja 1.6.0-alpha03 zawiera te commity.

Zmiany w interfejsie API

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

Wersja 1.6.0-alpha02

26 lipca 2023 r.

androidx.compose.animation:animation-*:1.6.0-alpha02 został zwolniony. Wersja 1.6.0-alpha02 zawiera te commity.

Zmiany w interfejsie API

  • Nowa opcja ExitTransition.Hold umożliwia wyświetlanie treści wychodzących w AnimatedContent do czasu zakończenia przejść wejścia i wyjścia. (I5984f)
  • Dodatkowe adnotacje określające dozwolone dane wejściowe dla komponentów (I51109)

Wersja 1.6.0-alpha01

21 czerwca 2023 r.

androidx.compose.animation:animation-*:1.6.0-alpha01 został zwolniony. Wersja 1.6.0-alpha01 zawiera te commity.

Nowe funkcje

  • Umożliw Modifier.animateContentSizeAnimatedVisibility pełną integrację z systemem lookahead, zgłaszając rozmiar docelowy w przebiegu lookahead.

Zmiany w interfejsie API

  • Nowa właściwość w funkcji IntrinsincMeasureScope i jej implementacjach (np. MeasureScope) do wskazywania, czy bieżący pomiar jest pomiarem z wyprzedzeniem. (I7a812)

Poprawki błędów

  • Usunięto alokacje z animacji wiosennych. (Ie9431)
  • Zmieniono nazwę parametru wartości w funkcji Enum.valueOf (Ia9b89)
  • więcej wyjątków wyrzucanych z enum valueOf (I818fe)

Wersja 1.5

Wersja 1.5.4

18 października 2023 r.

androidx.compose.animation:animation-*:1.5.4 został zwolniony. Wersja 1.5.4 zawiera te zatwierdzenia.

Wersja 1.5.3

4 października 2023 roku

androidx.compose.animation:animation-*:1.5.3 został zwolniony. Ta wersja nie zawiera żadnych zmian

Wersja 1.5.2

27 września 2023 r.

androidx.compose.animation:animation-*:1.5.2 został zwolniony. Wersja 1.5.2 zawiera te zatwierdzenia.

Wersja 1.5.1

6 września 2023 r.

androidx.compose.foundation:foundation-*:1.5.1 został zwolniony. Wersja 1.5.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiązano problem z polami tekstowymi, które wyświetlają klawiaturę i są możliwe do edycji, gdy wartość readOnly to prawda. Naprawiliśmy też błąd polegający na tym, że klawiatura nie wyświetlała się, gdy wartość readOnly zmieniła się z prawdy na fałsz podczas skupienia. (I34a19, b/246909589)

Wersja 1.5.1

6 września 2023 r.

androidx.compose.animation:animation-*:1.5.1 został zwolniony. Wersja 1.5.1 zawiera te zatwierdzenia.

Wersja 1.5.0

9 sierpnia 2023 r.

androidx.compose.animation:animation-*:1.5.0 został zwolniony. Wersja 1.5.0 zawiera te commity.

Wersja 1.5.0-rc01

26 lipca 2023 r.

androidx.compose.animation:animation-*:1.5.0-rc01 został zwolniony. Wersja 1.5.0-rc01 zawiera te commity.

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że wywołanie funkcji .value dla prymitywnego typu stanu (np. MutableIntState) powodowało wyświetlenie ostrzeżenia lint z nieprawidłową poprawką. Podczas inspekcji zostanie zalecona migracja do właściwej usługi. (Iba953, b/287279257)

  • Dostępna jest opcjonalna inspekcja, która zaleca przeniesienie wywołań mutableStateOf() do odpowiednich typów dla prymitywów. Identyfikator lint to AutoboxingStateCreation. Wcześniej ta kontrola była domyślnie włączona we wszystkich projektach. Aby wyświetlić to ostrzeżenie w edytorze Android Studio i w wyjściach lint projektu, zmień jego poziom ważności z informacyjnego na ostrzeżenie (lub wyższy), deklarując warning "AutoboxingStateCreation" w konfiguracji build.gradle lub build.gradle.kts w module, jak pokazano (I34f7e):

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

Wersja 1.5.0-beta03

28 czerwca 2023 r.

androidx.compose.animation:animation-*:1.5.0-beta03 został zwolniony. Wersja 1.5.0-beta03 zawiera te commity.

Wersja 1.5.0-beta02

7 czerwca 2023 r.

androidx.compose.animation:animation-*:1.5.0-beta02 został zwolniony. Wersja 1.5.0-beta02 zawiera te commity.

Wersja 1.5.0-beta01

24 maja 2023 r.

androidx.compose.animation:animation-*:1.5.0-beta01 został zwolniony. Wersja 1.5.0-beta01 zawiera te commity.

Zmiany w interfejsie API

  • Usunięto alokacje w rekompozycji, animacjach kolorów i elementach AndroidComposeView (Ib2bfa).

Poprawki błędów

  • Usunięto przydziały z animacji sprężynowych (Ie9431).

Wersja 1.5.0-alpha04

10 maja 2023 r.

androidx.compose.animation:animation-*:1.5.0-alpha04 został zwolniony. Wersja 1.5.0-alpha04 zawiera te commity.

Zmiany w interfejsie API

  • W usłudze AnimatedContent można teraz korzystać z funkcji ContentKey, aby uzyskać większą kontrolę nad czasem przeniesienia. (Ic069b)

Wersja 1.5.0-alpha03

19 kwietnia 2023 r.

androidx.compose.animation:animation-*:1.5.0-alpha03 został zwolniony. Wersja 1.5.0-alpha03 zawiera te commity.

Nowe funkcje

  • Nowe domyślne działanie typu SubcomposeLayout w kontekście LookaheadScope. Umożliwia to prawidłowe działanie animacji wyprzedzających w przypadku elementów SubcomposeLayouts, które nie mają slotów warunkowych (np.TabRow, Scaffold, BoxWithConstraints itp.).

Zmiany w interfejsie API

  • Nowa domyślna wartość intermediateMeasurePolicy, która ponownie używa polityki pomiaru z przewidywania, umożliwia domyślne korzystanie z podtypów SubcomposeLayout bez slotów warunkowych, takich jak Scaffold, TabRowBoxWithConstraints. (Id84c8)
  • Zmień nazwę infix fun with na togetherWith, aby połączyć przejścia wejścia i wyjścia. Nowy element AnimatedContentScope jako odbiorca lambda treści. (Ic39ae)

Wersja 1.5.0-alpha02

5 kwietnia 2023 r.

androidx.compose.animation:animation-*:1.5.0-alpha02 został zwolniony. Wersja 1.5.0-alpha02 zawiera te commity.

Nowe funkcje

  • Nowy eksperymentalny interfejs API do obsługi funkcji lookahead w SubcomposeLayout. Pozwoli to aplikacji SubcomposeLayout na prawidłowe działanie w ramach LookaheadScope. Wkrótce udostępnimy więcej wstępnie zaimplementowanej obsługi określonych podtypów SubcomposeLayout.

Zmiany w interfejsie API

  • Nowy interfejs API SubcomposeLayout, który przyjmuje dodatkową zasadę dotyczącą pośrednich pomiarów w celu obsługi logiki pomiarów/układu podczas animacji opartych na wyprzedzaniu. (I017d3)

Wersja 1.5.0-alpha01

22 marca 2023 r.

androidx.compose.animation:animation-*:1.5.0-alpha01 został zwolniony. Wersja 1.5.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Interfejsy API AnimatedContent są teraz stabilne. Nazwa AnimatedContentScope została zmieniona na AnimatedContentTransitionScope. Interfejsy API scaleInscaleOut są teraz stabilne. (Iaf54e)

Wersja 1.4

Wersja 1.4.3

3 maja 2023 r.

Usługi androidx.compose.animation:animation:1.4.3, androidx.compose.animation:animation-core:1.4.3 i androidx.compose.animation:animation-graphics:1.4.3 są publikowane bez zmian (tylko zmiana numeru wersji).

Wersja 1.4.2

19 kwietnia 2023 r.

Funkcje androidx.compose.animation:animation:1.4.2, androidx.compose.animation:animation-core:1.4.2 i androidx.compose.animation:animation-graphics:1.4.2 są publikowane bez zmian. Wersja 1.4.2 zawiera te zatwierdzenia.

Wersja 1.4.1

5 kwietnia 2023 r.

Funkcje androidx.compose.animation:animation:1.4.1, androidx.compose.animation:animation-core:1.4.1 i androidx.compose.animation:animation-graphics:1.4.1 są publikowane bez zmian. Wersja 1.4.1 zawiera te zatwierdzenia.

Wersja 1.4.0

22 marca 2023 r.

Funkcje androidx.compose.animation:animation:1.4.0, androidx.compose.animation:animation-core:1.4.0androidx.compose.animation:animation-graphics:1.4.0 są dostępne. Wersja 1.4.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.3.0

  • Etykieta narzędzi jest obsługiwana w rememberInfiniteTransition i wszystkich funkcjach rozszerzenia w InfiniteTransition i Transition (np. InfiniteTransition#animateColor) (I56ef7)

Wersja 1.4.0-rc01

8 marca 2023 r.

Funkcje 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 są publikowane bez zmian. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.

Wersja 1.4.0-beta02

22 lutego 2023 roku

Funkcje 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 są publikowane bez zmian. Wersja 1.4.0-beta02 zawiera te zatwierdzenia.

Wersja 1.4.0-beta01

8 lutego 2023 r.

Funkcje 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 są publikowane bez zmian. Wersja 1.4.0-beta01 zawiera te commity.

Wersja 1.4.0-alpha05

25 stycznia 2023 r.

Funkcje androidx.compose.animation:animation:1.4.0-alpha05, androidx.compose.animation:animation-core:1.4.0-alpha05androidx.compose.animation:animation-graphics:1.4.0-alpha05 są dostępne. Wersja 1.4.0-alpha05 zawiera te commity.

Zmiany

  • od ostatniej wersji alfa nie wprowadzono żadnych zmian w bibliotekach animacji, tylko podniesiono numer wersji;

Wersja 1.4.0-alpha04

11 stycznia 2023 r.

Funkcje androidx.compose.animation:animation:1.4.0-alpha04, androidx.compose.animation:animation-core:1.4.0-alpha04androidx.compose.animation:animation-graphics:1.4.0-alpha04 są dostępne. Wersja 1.4.0-alpha04 zawiera te commity.

Nowe funkcje

  • Etykieta narzędzi jest obsługiwana w funkcji rememberInfiniteTransition i we wszystkich funkcjach rozszerzenia w funkcji InfiniteTransitionTransition (np. InfiniteTransition#animateColor) (I56ef7)

Zmiany w interfejsie API

  • Interfejsy API InfiniteTransition#TransitionAnimationStateInfiniteTransition#animations są teraz publiczne. (I36682)

Wersja 1.4.0-alpha03

7 grudnia 2022 r.

Funkcje androidx.compose.animation:animation:1.4.0-alpha03, androidx.compose.animation:animation-core:1.4.0-alpha03androidx.compose.animation:animation-graphics:1.4.0-alpha03 są dostępne. Wersja 1.4.0-alpha03 zawiera te commity.

Zmiany w interfejsie API

  • W testach UI korzystających z reguły Compose wznowienia kontynuacji podczas wywołań withFrameNanos nie będą wysyłane, dopóki nie zakończą się wszystkie wywołania withFrameNanos. Jest to zgodne z działaniem okna tworzenia podczas normalnego działania. Testy, które korzystają ze starego zachowania, mogą jednak nie działać. Ta zmiana powinna dotyczyć tylko kodu, który bezpośrednio wywołuje funkcje withFrameNanos lub withFrameMillis, i zawiera logikę spoza wywołania zwrotnego przekazaną do tych funkcji, którą może być konieczne przeniesienie do wywołań zwrotnych. Przykłady zmian w teście animacji znajdziesz w tym CL.
  • 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 korzystania z funkcji coroutine wywołujących. (Idb413, b/254115946, b/222093277, b/255802670)
  • Nowy parametr w AnimatedContent dla etykiety narzędzia (Iebe2d)

Wersja 1.4.0-alpha02

9 listopada 2022 r.

Funkcje androidx.compose.animation:animation:1.4.0-alpha02, androidx.compose.animation:animation-core:1.4.0-alpha02androidx.compose.animation:animation-graphics:1.4.0-alpha02 są dostępne. Wersja 1.4.0-alpha02 zawiera te commity.

Zmiany w interfejsie API

  • Dodaj ToolingState, aby umożliwić narzędziom zmianę wewnętrznych stanów komponentu (Ie6614).

Wersja 1.4.0-alpha01

24 października 2022 r.

Funkcje androidx.compose.animation:animation:1.4.0-alpha01, androidx.compose.animation:animation-core:1.4.0-alpha01androidx.compose.animation:animation-graphics:1.4.0-alpha01 są dostępne. Wersja 1.4.0-alpha01 zawiera te commity.

Poprawki błędów

  • Poprawka nieprawidłowej animacji przerwania w AnimatedContent (b/238662479)

Wersja 1.3

Wersja 1.3.3

11 stycznia 2023 r.

Funkcje androidx.compose.animation:animation:1.3.3, androidx.compose.animation:animation-core:1.3.3androidx.compose.animation:animation-graphics:1.3.3 są dostępne. Wersja 1.3.3 zawiera te zatwierdzenia.

  • Brak zmian od wersji 1.3.2.

Wersja 1.3.2

7 grudnia 2022 r.

Funkcje androidx.compose.animation:animation:1.3.2, androidx.compose.animation:animation-core:1.3.2androidx.compose.animation:animation-graphics:1.3.2 są dostępne. Wersja 1.3.2 zawiera te zatwierdzenia.

Poprawki błędów

  • Zaktualizowano, aby obsługiwać androidx.compose.ui 1.3.2

Wersja 1.3.1

9 listopada 2022 r.

Funkcje androidx.compose.animation:animation:1.3.1, androidx.compose.animation:animation-core:1.3.1androidx.compose.animation:animation-graphics:1.3.1 są dostępne. Wersja 1.3.1 zawiera te zatwierdzenia.

Wersja 1.3.0

24 października 2022 r.

Funkcje androidx.compose.animation:animation:1.3.0, androidx.compose.animation:animation-core:1.3.0androidx.compose.animation:animation-graphics:1.3.0 są dostępne. Wersja 1.3.0 zawiera te commity.

Ważne zmiany od wersji 1.2.0

  • Stabilizacja nowego zestawu funkcji łagodnego przejścia

Wersja 1.3.0-rc01

5 października 2022 r.

Funkcje androidx.compose.animation:animation:1.3.0-rc01, androidx.compose.animation:animation-core:1.3.0-rc01androidx.compose.animation:animation-graphics:1.3.0-rc01 są dostępne. Wersja 1.3.0-rc01 zawiera te commity.

Wersja 1.3.0-beta03

21 września 2022 r.

Funkcje androidx.compose.animation:animation:1.3.0-beta03, androidx.compose.animation:animation-core:1.3.0-beta03androidx.compose.animation:animation-graphics:1.3.0-beta03 są dostępne. 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

Funkcje androidx.compose.animation:animation:1.3.0-beta02, androidx.compose.animation:animation-core:1.3.0-beta02androidx.compose.animation:animation-graphics:1.3.0-beta02 są dostępne. Wersja 1.3.0-beta02 zawiera te zatwierdzenia.

  • Usunięto Kotlin.experimental z opcji kompilatora, ponieważ jest on przestarzały.

Wersja 1.3.0-beta01

24 sierpnia 2022 r.

Funkcje androidx.compose.animation:animation:1.3.0-beta01, androidx.compose.animation:animation-core:1.3.0-beta01androidx.compose.animation:animation-graphics:1.3.0-beta01 są dostępne. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.

Wersja 1.3.0-alpha03

10 sierpnia 2022 r.

Funkcje androidx.compose.animation:animation:1.3.0-alpha03, androidx.compose.animation:animation-core:1.3.0-alpha03androidx.compose.animation:animation-graphics:1.3.0-alpha03 są dostępne. Wersja 1.3.0-alpha03 zawiera te commity.

Zmiany w interfejsie API

  • Nowy parametr w Crossfade, animateAsState i Animatable dla etykiety narzędzi (Iac08a)
  • Dodano funkcję atFraction do definiowania klatek kluczowych w ułamku sekundy zamiast w określonym czasie trwania. (I20c76, b/232059455)

Wersja 1.3.0-alpha02

27 lipca 2022 roku

Funkcje androidx.compose.animation:animation:1.3.0-alpha02, androidx.compose.animation:animation-core:1.3.0-alpha02androidx.compose.animation:animation-graphics:1.3.0-alpha02 są dostępne. Wersja 1.3.0-alpha02 zawiera te commity.

Wersja 1.3.0-alpha01

29 czerwca 2022 r.

Funkcje androidx.compose.animation:animation:1.3.0-alpha01, androidx.compose.animation:animation-core:1.3.0-alpha01androidx.compose.animation:animation-graphics:1.3.0-alpha01 są dostępne. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Nowa funkcja LookaheadLayout, która obsługuje przetwarzanie w przyszłości przed rzeczywistym pomiarem lub układem. Umożliwia to wstępny przeliczenie układu, gdy ulegnie on zmianie, a także pozwala na zastosowanie w post-lookahead measure/layout wstępnie obliczonych rozmiarów/pozycji, aby animować rozmiary i pozycje w kierunku celu. SubcomposeLayouts nie są jeszcze obsługiwane, ale będzie można z nich korzystać w jednej z przyszłych wersji. (I477f5)

Wersja 1.2

Wersja 1.2.1

10 sierpnia 2022 r.

Funkcje androidx.compose.animation:animation:1.2.1, androidx.compose.animation:animation-core:1.2.1androidx.compose.animation:animation-graphics:1.2.1 są dostępne. Wersja 1.2.1 zawiera te zatwierdzenia.

Wersja 1.2.0

27 lipca 2022 roku

Funkcje androidx.compose.animation:animation:1.2.0, androidx.compose.animation:animation-core:1.2.0androidx.compose.animation:animation-graphics:1.2.0 są dostępne. Wersja 1.2.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.1.0

  • Edytowanie animacji obsługuje teraz ustawienie „Skala długości animacji” w opcjach dla deweloperów.
  • duża liczba nowych eksperymentalnych krzywych wypełnienia;
  • AnimatedImageVector obsługuje teraz repeatCount i repeatMode

Wersja 1.2.0-rc03

29 czerwca 2022 r.

Funkcje androidx.compose.animation:animation:1.2.0-rc03, androidx.compose.animation:animation-core:1.2.0-rc03androidx.compose.animation:animation-graphics:1.2.0-rc03 są dostępne. Wersja 1.2.0-rc03 zawiera te komisy.

  • Brak zmian od wersji 1.2.0-rc02.

Wersja 1.2.0-rc02

22 czerwca 2022 r.

Funkcje androidx.compose.animation:animation:1.2.0-rc02, androidx.compose.animation:animation-core:1.2.0-rc02androidx.compose.animation:animation-graphics:1.2.0-rc02 są dostępne. Wersja 1.2.0-rc02 zawiera te zatwierdzenia.

Poprawki błędów

  • Usunięto adnotację ExperimentalEasingApi w funkcjach wygładzania (Ied441)

Wersja 1.2.0-rc01

15 czerwca 2022 r.

Funkcje androidx.compose.animation:animation:1.2.0-rc01, androidx.compose.animation:animation-core:1.2.0-rc01androidx.compose.animation:animation-graphics:1.2.0-rc01 są dostępne. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Interfejsy w bibliotekach kompozytowych są teraz tworzone za pomocą domyślnych metod interfejsu JDK 8 (I5bcf1).

Wersja 1.2.0-beta03

1 czerwca 2022 r.

Funkcje androidx.compose.animation:animation:1.2.0-beta03, androidx.compose.animation:animation-core:1.2.0-beta03androidx.compose.animation:animation-graphics:1.2.0-beta03 są dostępne. Wersja 1.2.0-beta03 zawiera te commity.

Zmiany w interfejsie API

  • Dodano eksperymentalne krzywe wygaszania dla animacji (I64a38).

Wersja 1.2.0-beta02

18 maja 2022 r.

Funkcje androidx.compose.animation:animation:1.2.0-beta02, androidx.compose.animation:animation-core:1.2.0-beta02androidx.compose.animation:animation-graphics:1.2.0-beta02 są dostępne. Wersja 1.2.0-beta02 zawiera te commity.

Wersja 1.2.0-beta01

11 maja 2022 roku

Funkcje androidx.compose.animation:animation:1.2.0-beta01, androidx.compose.animation:animation-core:1.2.0-beta01androidx.compose.animation:animation-graphics:1.2.0-beta01 są dostępne. Wersja 1.2.0-beta01 zawiera te commity.

  • To pierwsza wersja beta 1.2. Nie ma żadnych zmian od ostatniej wersji alfa.

Wersja 1.2.0-alpha08

20 kwietnia 2022 r.

Funkcje androidx.compose.animation:animation:1.2.0-alpha08, androidx.compose.animation:animation-core:1.2.0-alpha08androidx.compose.animation:animation-graphics:1.2.0-alpha08 są dostępne. Wersja 1.2.0-alpha08 zawiera te zatwierdzenia.

Wersja 1.2.0-alpha07

6 kwietnia 2022 roku

Funkcje androidx.compose.animation:animation:1.2.0-alpha07, androidx.compose.animation:animation-core:1.2.0-alpha07androidx.compose.animation:animation-graphics:1.2.0-alpha07 są dostępne. Wersja 1.2.0-alpha07 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • AnimatedImageVector obsługuje teraz repeatCountrepeatMode (Ia3e75, b/199304067).

Wersja 1.2.0-alpha06

23 marca 2022 r.

Funkcje androidx.compose.animation:animation:1.2.0-alpha06, androidx.compose.animation:animation-core:1.2.0-alpha06androidx.compose.animation:animation-graphics:1.2.0-alpha06 są dostępne. Wersja 1.2.0-alpha06 zawiera te commity.

Zmiany w interfejsie API

  • Zaktualizowano analizowanie obiektów do rysowania wektorowych, aby umożliwić automatyczne lustrzane odbicie treści VectorPainter, jeśli bieżący kierunek układu to RTL. (I79cd9, b/185760237)

Poprawki błędów

  • Zaktualizowano interfejsy API grafiki wektorowej, aby używały odpowiedniej składanej adnotacji @VectorComposable zamiast @UiComposable (I942bc).

Wersja 1.2.0-alpha05

9 marca 2022 r.

Funkcje androidx.compose.animation:animation:1.2.0-alpha05, androidx.compose.animation:animation-core:1.2.0-alpha05androidx.compose.animation:animation-graphics:1.2.0-alpha05 są dostępne. Wersja 1.2.0-alpha05 zawiera te commity.

Zmiany w interfejsie API

  • Hurra! Animacja w edytorze obsługuje teraz ustawienie „Skala długości animacji” w opcjach dla deweloperów. (I5a4fc, b/161675988)

Wersja 1.2.0-alpha04

23 lutego 2022 r.

Funkcje androidx.compose.animation:animation:1.2.0-alpha04, androidx.compose.animation:animation-core:1.2.0-alpha04androidx.compose.animation:animation-graphics:1.2.0-alpha04 są dostępne. Wersja 1.2.0-alpha04 zawiera te commity.

Wersja 1.2.0-alpha03

9 lutego 2022 r.

Funkcje androidx.compose.animation:animation:1.2.0-alpha03, androidx.compose.animation:animation-core:1.2.0-alpha03androidx.compose.animation:animation-graphics:1.2.0-alpha03 są dostępne. Wersja 1.2.0-alpha03 zawiera te komisy.

Wersja 1.2.0-alpha02

26 stycznia 2022 r.

Funkcje androidx.compose.animation:animation:1.2.0-alpha02, androidx.compose.animation:animation-core:1.2.0-alpha02androidx.compose.animation:animation-graphics:1.2.0-alpha02 są dostępne. Wersja 1.2.0-alpha02 zawiera te commity.

Wersja 1.2.0-alpha01

12 stycznia 2022 r.

Funkcje androidx.compose.animation:animation:1.2.0-alpha01, androidx.compose.animation:animation-core:1.2.0-alpha01androidx.compose.animation:animation-graphics:1.2.0-alpha01 są dostępne. Wersja 1.2.0-alpha01 zawiera te commity.

Zmiany w interfejsie API

  • Aby załadować plik zasobów <animated-vector>, użyj polecenia AnimatedImageVector.animatedVectorResource zamiast animatedVectorResource.
    • Aby renderować element AnimatedImageVector, użyj operatora rememberAnimatedVectorResource zamiast AnimatedImageVector#painterFor. (I9c300)

Poprawki błędów

  • Dodaj metody toString do klas Animatable i AnimationResult. (Icd3a6)

Aktualizacje zależności

  • Teraz zależy od Kotlina 1.6.10.

Wersja 1.1

Wersja 1.1.1

23 lutego 2022 r.

Funkcje androidx.compose.animation:animation:1.1.1, androidx.compose.animation:animation-core:1.1.1androidx.compose.animation:animation-graphics:1.1.1 są dostępne. Wersja 1.1.1 zawiera te zatwierdzenia.

Poprawki błędów

Wersja 1.1.0

9 lutego 2022 r.

Funkcje androidx.compose.animation:animation:1.1.0, androidx.compose.animation:animation-core:1.1.0androidx.compose.animation:animation-graphics:1.1.0 są dostępne. Wersja 1.1.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.0.0

  • stabilna obsługa efektu przewijania do końca w Androidzie 12,
  • Ulepszone dopasowywanie rozmiaru dotyku
  • Pamiętaj, że w wersji Compose 1.0 komponenty Material Design będą rozszerzać swój układ, aby spełniać wytyczne Material Design dotyczące rozmiaru docelowego elementu dotykowego. Na przykład docelowy element dotykowy przycisku będzie miał minimalny rozmiar 48 x 48 dp, nawet jeśli ustawisz mniejszy rozmiar przycisku. Dzięki temu komponenty Compose będą działać tak samo jak komponenty Material Design, co zapewni spójność, jeśli użyjesz widoków i Compose. Ta zmiana zapewnia też, że podczas tworzenia interfejsu użytkownika za pomocą komponentów Compose Material zostaną spełnione minimalne wymagania dotyczące dostępności docelowych elementów dotykowych.
  • stabilna obsługa kolumny nawigacji,
  • przekształciliśmy kilka wcześniej eksperymentalnych interfejsów API w stabilne.
  • Obsługa nowszych wersji Kotlina

Wersja 1.1.0-rc03

26 stycznia 2022 r.

Funkcje androidx.compose.animation:animation:1.1.0-rc03, androidx.compose.animation:animation-core:1.1.0-rc03androidx.compose.animation:animation-graphics:1.1.0-rc03 są dostępne. Wersja 1.1.0-rc03 zawiera te commity.

Poprawki błędów

  • Zaktualizowano, aby obsługiwać Compose Material 1.1.0-rc03

Wersja 1.1.0-rc01

15 grudnia 2021 roku

androidx.compose.animation:animation:1.1.0-rc01androidx.compose.animation:animation-core:1.1.0-rc01 są dostępne. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Aby załadować plik zasobów <animated-vector>, użyj polecenia AnimatedImageVector.animatedVectorResource zamiast animatedVectorResource.
    • Aby renderować element AnimatedImageVector, użyj operatora rememberAnimatedVectorResource zamiast AnimatedImageVector#painterFor. (I9c300)

Wersja 1.1.0-beta04

1 grudnia 2021 r.

Funkcje androidx.compose.animation:animation:1.1.0-beta04, androidx.compose.animation:animation-core:1.1.0-beta04androidx.compose.animation:animation-graphics:1.1.0-beta04 są dostępne. Wersja 1.1.0-beta04 zawiera te commity.

Nowe funkcje

  • Zaktualizowano, aby zapewnić zgodność z Kotlin 1.6.0

Wersja 1.1.0-beta03

17 listopada 2021 r.

Funkcje androidx.compose.animation:animation:1.1.0-beta03, androidx.compose.animation:animation-core:1.1.0-beta03androidx.compose.animation:animation-graphics:1.1.0-beta03 są dostępne. Wersja 1.1.0-beta03 zawiera te commity.

Zmiany w interfejsie API

  • Dodano nowy modyfikator Modifier.onPlaced, aby umożliwić obserwowanie zmiany położenia. W związku z tym można wprowadzić dodatkowe zmiany w przesunięciu modyfikatora podrzędnego na podstawie zaobserwowanej zmiany miejsca docelowego. (I558fd)
  • Nowe wsparcie dla klucza treści w funkcji Przejścia. ContentKey będzie używany do sprawdzania równości przez system animacji. Dlatego niestandardowe porównywanie stanów można uzyskać, podając odpowiedni klucz treści dla różnych stanów.

    Klucz treści 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.

Funkcje androidx.compose.animation:animation:1.1.0-beta02, androidx.compose.animation:animation-core:1.1.0-beta02androidx.compose.animation:animation-graphics:1.1.0-beta02 są dostępne. Wersja 1.1.0-beta02 zawiera te commity.

Poprawki błędów

  • Nowe interfejsy API animacji do obsługi narzędzi. W szczególności umożliwiają one narzędziom sprawdzenie animacji i ich konfiguracji w sekcji Przejścia. (I4116e)

Wersja 1.1.0-beta01

27 października 2021 roku

Funkcje androidx.compose.animation:animation:1.1.0-beta01, androidx.compose.animation:animation-core:1.1.0-beta01androidx.compose.animation:animation-graphics:1.1.0-beta01 są dostępne. Wersja 1.1.0-beta01 zawiera te commity.

Zmiany w interfejsie API

  • Nowe interfejsy API animacji do obsługi narzędzi. W szczególności umożliwiają one narzędziom sprawdzenie animacji i ich konfiguracji w sekcji Przejścia. (I4116e)

Wersja 1.1.0-alpha06

13 października 2021 r.

Funkcje androidx.compose.animation:animation:1.1.0-alpha06, androidx.compose.animation:animation-core:1.1.0-alpha06androidx.compose.animation:animation-graphics:1.1.0-alpha06 są dostępne. Wersja 1.1.0-alpha06 zawiera te commity.

Wersja 1.1.0-alpha05

29 września 2021 r.

Funkcje androidx.compose.animation:animation:1.1.0-alpha05, androidx.compose.animation:animation-core:1.1.0-alpha05androidx.compose.animation:animation-graphics:1.1.0-alpha05 są dostępne. Wersja 1.1.0-alpha05 zawiera te commity.

Zmiany w interfejsie API

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

  • Znacząca zmiana: funkcje lambda w fabrykach Enter/ExitTransition zostały przeniesione na ostatnią pozycję na liście parametrów. (I5072d)

Wersja 1.1.0-alpha04

15 września 2021 r.

Funkcje androidx.compose.animation:animation:1.1.0-alpha04, androidx.compose.animation:animation-core:1.1.0-alpha04androidx.compose.animation:animation-graphics:1.1.0-alpha04 są dostępne. Wersja 1.1.0-alpha04 zawiera te commity.

Wersja 1.1.0-alpha03

1 września 2021 roku

Funkcje androidx.compose.animation:animation:1.1.0-alpha03, androidx.compose.animation:animation-core:1.1.0-alpha03androidx.compose.animation:animation-graphics:1.1.0-alpha03 są dostępne. Wersja 1.1.0-alpha03 zawiera te commity.

Nowe funkcje

  • Zaktualizowano Compose 1.1.0-alpha03, aby zależało od Kotlina 1.5.30. (I74545)

Wersja 1.1.0-alpha02

18 sierpnia 2021 r.

Funkcje androidx.compose.animation:animation:1.1.0-alpha02, androidx.compose.animation:animation-core:1.1.0-alpha02androidx.compose.animation:animation-graphics:1.1.0-alpha02 są dostępne. Wersja 1.1.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Parametr StartOffset jest teraz obsługiwany w przypadku elementów repeatable i infiniteRepeatable jako sposób opóźnienia czasu rozpoczęcia lub przewinięcia animacji przed jej rozpoczęciem. Ten przesunięcie początkowe nie zostanie powtórzone (Ic679f, b/195079908)
  • Nowy przekształcenie wejścia/wyjścia dla skali. Można go używać w połączeniu z innymi typami przejść wejścia/wyjścia. (I372da, b/191325593)

Wersja 1.1.0-alpha01

4 sierpnia 2021 r.

Funkcje androidx.compose.animation:animation:1.1.0-alpha01, androidx.compose.animation:animation-core:1.1.0-alpha01androidx.compose.animation:animation-graphics:1.1.0-alpha01 są dostępne. Wersja 1.1.0-alpha01 zawiera te commity.

Zmiany w interfejsie API

  • Interfejs 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.5androidx.compose.animation:animation-core:1.0.5 są dostępne. Wersja 1.0.5 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiono problem ze śledzeniem awarii w przypadku instancji derivedStateOf. (aosp/1792247)

Wersja 1.0.4

13 października 2021 r.

androidx.compose.animation:animation:1.0.4androidx.compose.animation:animation-core:1.0.4 są dostępne. Wersja 1.0.4 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Zaktualizowano, aby zależało od Kotlina 1.5.31

Wersja 1.0.3

29 września 2021 r.

androidx.compose.animation:animation:1.0.3androidx.compose.animation:animation-core:1.0.3 są dostępne. Wersja 1.0.3 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Zaktualizowano zależność od Kotlina 1.5.30

Wersja 1.0.2

1 września 2021 roku

androidx.compose.animation:animation:1.0.2androidx.compose.animation:animation-core:1.0.2 są dostępne. Wersja 1.0.2 zawiera te zatwierdzenia.

Zaktualizowano, aby obsługiwać wersję 1.0.2 aplikacji Compose. Compose 1.0.2 jest nadal zgodny z Kotlinem 1.5.21.

Wersja 1.0.1

4 sierpnia 2021 r.

androidx.compose.animation:animation:1.0.1androidx.compose.animation:animation-core:1.0.1 są dostępne. Wersja 1.0.1 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Zaktualizowano, aby zależało od Kotlina 1.5.21.

Wersja 1.0.0

28 lipca 2021 roku

androidx.compose.animation:animation:1.0.0androidx.compose.animation:animation-core:1.0.0 są dostępne. Wersja 1.0.0 zawiera te zatwierdzenia.

Najważniejsze funkcje wersji 1.0.0

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

Znane problemy

  • Jeśli używasz Android Studio Bumblebee Canary 4 lub AGP 7.1.0-alpha04/7.1.0-alpha05, może wystąpić ten błąd:

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

    Aby to naprawić, tymczasowo zwiększ wartość minSdkVersion do 24 lub wyższej w pliku build.gradle. Ten problem zostanie rozwiązany w następnej wersji Android Studio Bumblebee i AGP 7.1. (b/194289155)

Wersja 1.0.0-rc02

14 lipca 2021 roku

androidx.compose.animation:animation:1.0.0-rc02androidx.compose.animation:animation-core:1.0.0-rc02 są dostępne. Wersja 1.0.0-rc02 zawiera te zatwierdzenia.

Wersja 1.0.0-rc01

1 lipca 2021 r.

androidx.compose.animation:animation:1.0.0-rc01androidx.compose.animation:animation-core:1.0.0-rc01 są dostępne. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Urządzenie InfiniteAnimationPolicy zostało przeniesione do jednostki organizacyjnej androidx.compose.ui:ui (I5eb09, b/160602714)

Wersja 1.0.0-beta09

16 czerwca 2021 r.

androidx.compose.animation:animation:1.0.0-beta09androidx.compose.animation:animation-core:1.0.0-beta09 są dostępne. Wersja 1.0.0-beta09 zawiera te commity.

Zmiany w interfejsie API

  • Nowa kompozycja AnimatedContent. Zarządza zmianami treści za pomocą dostosowywalnych ContentTransform, gdy nowe treści docelowe są dodawane, a pierwotne treści są usuwane. Aby uzyskać niepowtarzalny wygląd i odczucie, możesz użyć różnych kombinacji przejść wejścia i wyjścia. W ramach przekształcania treści AnimatedContentautomatycznie animuje swój rozmiar, aby pasował do przychodzących treści. (I2c3df)
  • Użytkownik ManualFrameClock został usunięty. Jeśli chcesz sterować animacjami, użyj zamiast tego composeTestRule.mainClock. (I3c3e8, b/189951065)

Dodano reguły dotyczące profilu

W tej wersji dodaliśmy 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 równoważnym. Plik określa regułę na wiersz, gdzie reguła w tym przypadku jest wzorcem dopasowywania do metod lub klas w bibliotece. Składnia tych reguł jest superzbiorem czytelnego dla człowieka formatu profilu ART, który jest używany podczas korzystania z adb shell profman --dump-classes-and-methods .... Te reguły mogą mieć jedną z 2 form, aby kierować się na metody lub klasy.

  • Reguła metody będzie miała ten wzór:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • Reguła klasy będzie miała ten wzór:

    <CLASS_DESCRIPTOR>
    
  • Tutaj <FLAGS> to co najmniej jeden z znaków H, S lub P, który wskazuje, czy ta metoda powinna być oznaczona jako „Aktywna”, „Uruchamianie” lub „Po uruchomieniu”.

  • <CLASS_DESCRIPTOR> to deskryptor klasy, do której należy docelowa metoda. Na przykład klasa androidx.compose.runtime.SlotTable miałaby opis Landroidx/compose/runtime/SlotTable;.

  • <METHOD_SIGNATURE> to sygnatura metody, która zawiera nazwę, typy parametrów i typ zwracany metody. Na przykład metoda fun isPlaced(): Boolean w klasie LayoutNode ma sygnaturę isPlaced()Z.

  • Te wzorce mogą zawierać symbole wieloznaczne (**, *?), aby jedno reguła obejmowała wiele metod lub klas.

Do czego służą zasady?

  • 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 to metoda wywoływana podczas uruchamiania i powinna zostać skompilowana z wyprzedzeniem, aby uniknąć kosztów kompilacji i interpretacji metody podczas uruchamiania.

  • Metoda z flagą P wskazuje, że jest wywoływana po uruchomieniu.

  • Klasa obecna w tym pliku wskazuje, że jest używana podczas uruchamiania i należy ją wstępnie przydzielić do stosu, aby uniknąć kosztów wczytywania klasy.

Jak to działa?

  • Biblioteki mogą definiować te reguły, które zostaną zapakowane w elementy AAR. Gdy skompilowana aplikacja zawiera te elementy, reguły są scalane, a scalane reguły są używane do tworzenia kompaktowego binarnego profilu ART, który jest specyficzny dla aplikacji. ART może następnie wykorzystać ten profil, gdy aplikacja zostanie zainstalowana na urządzeniach, aby z wyprzedzeniem skompilować określony podzbiór aplikacji w celu poprawy jej wydajności, zwłaszcza podczas pierwszego uruchomienia. 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-beta08androidx.compose.animation:animation-core:1.0.0-beta08 są dostępne. Wersja 1.0.0-beta08 zawiera te commity.

Poprawki błędów

  • Teraz funkcje detectDragGesures, detectVerticalGesturesdetectHorizontalGestures będą automatycznie przetwarzać zmiany pozycji, więc nie trzeba wywoływać funkcji change.consumePositionChange w obsługach zwrotnych onDrag (I42fc4, b/185096350, b/187320697)
  • Modifier.onGloballyPositioned() zostało zmienione, aby raportować współrzędne tego modyfikatora w łańcuchu modyfikatorów, a nie współrzędne układu po zastosowaniu wszystkich modyfikatorów. Oznacza to, że kolejność modyfikatorów wpływa na to, jakie współrzędne zostaną zgłoszone. (Ieb67d, b/177926591)

Wersja 1.0.0-beta07

18 maja 2021 r.

androidx.compose.animation:animation:1.0.0-beta07androidx.compose.animation:animation-core:1.0.0-beta07 są dostępne. Wersja 1.0.0-beta07 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Nowy interfejs API AnimatedVisibility, który obsługuje widoczność określoną w MutableTransitionState. Dzięki temu stany animacji można obserwować na zewnątrz AnimatedVisibility za pomocą currentStateisIdle.
    • Nowe wsparcie dotyczące przenoszenia kont dzieci w Transition
    • Obsługa niestandardowej animacji przejścia z wyjścia na wejście w AnimatedVisibility za pomocą AnimationScope.transition
    • Nowy modyfikator animateEnterExit, dostępny dla wszystkich elementów podrzędnych AnimatedVisibility
    • Wycofano interfejsy API AnimatedVisibility, które przyjmują parametr initiallyVisible (I702f3).

Wersja 1.0.0-beta06

5 maja 2021 roku

androidx.compose.animation:animation:1.0.0-beta06androidx.compose.animation:animation-core:1.0.0-beta06 są dostępne. Wersja 1.0.0-beta06 zawiera te zatwierdzenia.

Wersja 1.0.0-beta05

21 kwietnia 2021 r.

androidx.compose.animation:animation:1.0.0-beta05androidx.compose.animation:animation-core:1.0.0-beta05 są dostępne. Wersja 1.0.0-beta05 zawiera te commity.

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-beta04androidx.compose.animation:animation-core:1.0.0-beta04 są dostępne. Wersja 1.0.0-beta04 zawiera te commity.

Zmiany w interfejsie API

  • Usunięto publiczne wystąpienia parametrów RowScope, ColumnScope, BoxScopeBoxWithConstraintsScope. (I4e83e, b/181869067)

Wersja 1.0.0-beta03

24 marca 2021 r.

androidx.compose.animation:animation:1.0.0-beta03androidx.compose.animation:animation-core:1.0.0-beta03 są dostępne. Wersja 1.0.0-beta03 zawiera te komitowane zmiany.

Wersja 1.0.0-beta02

10 marca 2021 r.

androidx.compose.animation:animation:1.0.0-beta02androidx.compose.animation:animation-core:1.0.0-beta02 są dostępne. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.

Poprawki błędów

  • Wdrożenie ograniczeń dotyczących publicznego używania eksperymentalnych interfejsów API (I6aa29, b/174531520)

Wersja 1.0.0-beta01

24 lutego 2021 r.

androidx.compose.animation:animation:1.0.0-beta01androidx.compose.animation:animation-core:1.0.0-beta01 są dostępne. Wersja 1.0.0-beta01 zawiera te commity.

To pierwsza wersja Compose 1.0.0 w wersji beta.

Zmiany w interfejsie API

  • Wartość InteractionState została zastąpiona wartością [Mutable]InteractionSource
    • Interfejsy odpowiadają za emitowanie i zbieranie zdarzeń interakcji.
    • Zamiast przekazywania wartości interactionState = remember { InteractionState() } do komponentów takich jak ButtonModifier.clickable(), użyj wartości interactionSource = remember { MutableInteractionSource() }.
    • Zamiast: Interaction.Pressed in interactionState użyj funkcji rozszerzenia w źródle interakcji, np. InteractionSource.collectIsPressedAsState().
    • W skomplikowanych przypadkach możesz użyć parametru InteractionSource.interactions, aby obserwować strumień interakcji. Więcej informacji znajdziesz w dokumentacji i przykładach dotyczących źródła interakcji.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • Pakiety metod smoothScrollBy i scrollBy zostały zmienione na androidx.compose.foundation.gestures.* (I3f7c1, b/175294473)
  • Zmieniliśmy nazwy modyfikatorów rozmiaru. Zmienne width/height/size zostały przemianowane na requiredWidth/requiredHeight/requiredSize. Nazwa Modifier.preferredWidth/preferredHeight/preferredSize została zmieniona na width/height/size. (I5b414)
  • Orientacja została przeniesiona do pakietu podstawy. Moduł VelocityTracker został przeniesiony z ui.gesture do ui.input.pointer. (Iff4a8, b/175294473)
  • Klasa AnimationClockObservable i jej podklasy zostały usunięte. AnimatedFloat został usunięty. (Icde52, b/177457083)
  • Funkcja Modifier.draggable przyjmuje teraz typ 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)
  • Interfejsy API animate, animatedValue i AnimatedValue zostały usunięte (If27bc, b/177457083)
  • Parametr AnimationEndReason.Interrupted został usunięty. Jeśli animacja zostanie przerwana, zostanie rzucony wyjątek CancellationException. (I2cbbc, b/179695417)
  • Interfejs TargetAnimation API został usunięty. (If47d1, b/177457083)

Wersja 1.0.0-alpha12

10 lutego 2021 r.

androidx.compose.animation:animation:1.0.0-alpha12androidx.compose.animation:animation-core:1.0.0-alpha12 są dostępne. Wersja 1.0.0-alpha12 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Modifier.pointerInput wymaga teraz kluczy zapamiętania, aby wskazać, kiedy coroutine wykrywania wejścia wskaźnika powinna zostać ponownie uruchomiona w przypadku nowych zależności. (I849cd)
  • Nazwa Bounds została zmieniona na DpRect (I4b32a).
  • W całym systemie animacji zmodyfikowano nazwę parametru AnimationSpec na animationSpec. Ogranicz też animację wejścia/wyjścia, aby akceptowała specyfikację animacji FiniteAnimationSpec. (Ie47c5, b/177457083)
  • Animatable.snapTo i Animatable.stop są teraz funkcjami zawieszania (If4288)
  • Podobnie jak w przypadku usunięcia kompozytowego komponentu state { 0 } i promocji komponentu remember { mutableStateOf(0) }, usuniemy komponent savedInstanceState { 0 }. Zamiast tego użyj funkcji rememberSaveable { mutableStateOf(0) }, która automatycznie zapisuje i przywraca stan, jeśli typ użyty w MutableState może być przechowywany w pakiecie. Jeśli wcześniej przekazywałeś niestandardowy obiekt zapisywania, teraz musisz użyć nowej przeciążonej funkcji rememberSaveable, która ma parametr stateSaver. Użycie będzie wyglądać tak: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • Zaktualizowano sygnaturę metody przejścia płynnego, aby była bardziej spójna z pozostałymi elementami systemu animacji. (Ib05ed, b/177457083)
  • Metoda rememberSavedInstanceState() została przemianowana na rememberSaveable() i przeniesiona do pakietu androidx.compose.runtime.saveable. (I1366e, b/177338004)
  • Klasa RestorableStateHolder została przemianowana na SaveableStateHolder i przeniesiona do pakietu androidx.compose.runtime.saveable. Metoda wewnętrzna RestorableStateProvider została przemianowana na SaveableStateProvider. Typ ogólny został usunięty, więc możesz przekazać dowolny typ jako klucz. Eksperymentalne oznaczenia nie są już potrzebne. (I0902e, b/174598702)
  • Zaktualizowano interfejs API Modifier.animateContentSize, aby był spójny z pozostałymi elementami systemu animacji. (I0bf75, b/177457083)
  • Właściwość AnimatedValue/Float została wycofana. Zamiast tego użyj interfejsu Animatable. (I71345, b/177457083)
  • Filtry tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter i pressIndicaitonGestureFilter zostały wycofane. Zamiast tego użyj Modifier.clickable lub Modifier.pointerInput z funkcją detectTapGestures. (I6baf9, b/175294473)
  • Wprowadziliśmy element InfiniteAnimationPolicy kontekstu coroutine, który będzie stosowany w nieskończonych animacjach. Domyślnie nie jest instalowana żadna zasada, z wyjątkiem testów z użyciem ComposeTestRule. (I50ec4, b/151940543)
  • Metody destrukturyzacji i copy() zostały usunięte z kilku klas, w których były rzadko używane. (I26702, b/178659281)
  • Czas odtwarzania w animacji jest teraz nieskończony do nanosekund (If776a)
  • Element compose:runtime-dispatch został wycofany. MonotonicFrameClock znajdziesz teraz w komponencie compose:runtime, a AndroidUiDispatcher – w komponencie compose:ui. (Ib5c36)
  • Dodano Animation.isInfiniteVectorizedAnimationSpec.isInfinite, które wskazują, czy animacja jest nieskończona. Można go używać w implementacjach animacji, aby zapewnić specjalne traktowanie takich animacji. Możesz na przykład wyświetlić specjalny komunikat „Czas pozostały do…” lub podczas testów anulować animację, aby uniknąć oczekiwania na nieskończony czas. (Iebb05, b/151940543)
  • Użycie typu czasu animacji Długo zamiast Czas aktywny (Ie3aa7, b/177420019)

Wersja 1.0.0-alpha11

28 stycznia 2021 roku

androidx.compose.animation:animation:1.0.0-alpha11androidx.compose.animation:animation-core:1.0.0-alpha11 są dostępne. Wersja 1.0.0-alpha11 zawiera te commity.

Zmiany w interfejsie API

  • Wycofanie przejścia opartego na TransitionDefinition (I0ac57)
  • Dodano pole etykiety dla przejść i animacji podrzędnych, które mają być wyświetlane w narzędziach (I619fb)
  • Funkcja animateAsState jest teraz nazywana animateFooAsState, gdzie Foo to typ zmiennej, której dotyczy animacja, np. Float, Dp, Offset itp. (Ie7e25)
  • Nowa animacja InfiniteTransition, która może zawierać dowolną liczbę podrzędnych animacji. (I1da81)
  • Zmiana interfejsów parametrów stanu Material, aby zawierały funkcje @Composable zwracające State<T>. Dodaje funkcję Animatable.asState(), która ułatwia konwertowanie obiektu Animatable na obiekt State. Zmienia też animateElevation na zawieszone rozszerzenie w Animatable. (If613c)

Poprawki błędów

  • Interfejsy onCommit, onDispose i onActive zostały wycofane na rzecz interfejsów SideEffect i DisposableEffect (If760e).
  • Stan początkowy w updateTransition jest teraz obsługiwany (Ifd51d)
  • Do obrazu i ikony dodano parametr opisu treści. Służy do przekazywania opisu usług ułatwień dostępu (I2ac4c).
  • Funkcje invalidate i compositionReference() zostały wycofane na rzecz odpowiednio funkcji currentRecomposeScope i rememberCompositionReference. (I583a8)
  • Czas trwania i czas działania zostaną zastąpione wartością Długie milisekundy, a ten krok usunie zależność od wejścia wskaźnika w tych klasach. (Ia33b2, b/175142755, b/177420019)
  • Teraz można tworzyć elementy klikalne, przełączalne i wybierane poza kompozycją (I0a130, b/172938345, b/175294473).
  • Zmiana interfejsu wygładzania na interfejs funkcjonalny (Ib14e5)
  • Nowa metoda fabryczna items(count: Int) dla zakresu LazyColumn/LazyRow/LazyVerticalGrid. Funkcje items(items: List)itemsIndexed(items: List) są teraz funkcjami rozszerzenia, więc musisz je ręcznie importować. Nowe przeciążenia rozszerzeń dla tablic: items(items: Array) i itemsIndexed(Array) (I803fc, b/175562574)
  • Korzystanie z TestCoroutineDispatcher w testach (I532b6)
  • Usunięto typ danych PointerInputData i zmodyfikowano typ danych PointerInputChange, aby zawierał on wszystkie pola typu danych PointerInputData. Zdarzenie PointerInputEvent i zdarzenie PointerInputEventData są teraz 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-alpha10androidx.compose.animation:animation-core:1.0.0-alpha10 są dostępne. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Zmodyfikowano funkcję Velocity, aby zawierała elementy składowe i operacje matematyczne. (Ib0447)
  • Zmieniono nazwę @ExperimentalTesting na @ExperimentalTestApi, aby zachować spójność z podobnymi adnotacjami interfejsów eksperymentalnych (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 oparty na korobonach Animatable, który zapewnia wzajemną wykluczalność animacji. Nowy specyfikacja animacji zanikania, która obsługuje animacje zanikania wielowymiarowe (I820f2, b/168014930)
  • Wartość animate() została zastąpiona wartością animateAsState(), która zwraca wartość State<T> zamiast T. Dzięki temu można uzyskać lepszą wydajność, ponieważ zakres unieważnienia można zawęzić do miejsca, w którym odczywana jest wartość State. (Ib179e)

Wersja 1.0.0-alpha09

16 grudnia 2020 roku

androidx.compose.animation:animation:1.0.0-alpha09androidx.compose.animation:animation-core:1.0.0-alpha09 są dostępne. Wersja 1.0.0-alpha09 zawiera te commity.

Zmiany w interfejsie API

  • Przeniesienie klasy Dp.VectorConverter, Position.VectorConverter itp. do pakietu animation-core i wycofanie starych klas VectorConveters (If0c4b).
  • Wprowadziliśmy zupełnie nowy zestaw interfejsów Transition API, który jest łatwiejszy w użyciu i obsługuje dynamicznie dodawane animacje oraz dynamicznie obliczane cele animacji. Te interfejsy API są oznaczone jako eksperymentalne, aby ułatwić odróżnienie ich od interfejsu API opartego na TransitionDefinition. (Ia7fe3)

Poprawki błędów

  • Lambda w modyfikatorach przesunięcia zwraca teraz IntOffset zamiast Float. (Ic9ee5, b/174137212, b/174146755)
  • Wycofanie funkcji LazyColumnFor, LazyRowFor, LazyColumnForIndexed i LazyRowForIndexed. Zamiast tego użyj LazyColumn i LazyRow (I5b48c)
  • W przypadku zawieszania interfejsów API dotyczących wskaźnika zmieniono nazwy: HandlePointerInputScope na AwaitPointerEventScope i handlePointerInput() na awaitPointerEventScope(). (Idf0a1, b/175142755)
  • Nowa funkcja infiniteRepeatable do tworzenia specyfikacji nieskończonej powtarzalności (I668e5)
  • Usunięto adnotację ExperimentalPointerInput (Ia7a24)

Wersja 1.0.0-alpha08

2 grudnia 2020 r.

androidx.compose.animation:animation:1.0.0-alpha08androidx.compose.animation:animation-core:1.0.0-alpha08 są dostępne. Wersja 1.0.0-alpha08 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodano sprawdzanie lint pod kątem nazw i pozycji parametrów funkcji kompozytowych lambda, aby sprawdzić zgodność z wytycznymi Compose. Zgodnie z instrukcjami i sprawdzaniem błędów niektóre interfejsy API, które używają nazwy children jako nazwy funkcji lambda na końcu, zostały przeniesione do content. (Iec48e)
  • Usunięto wycofane wcześniej interfejsy API:
    • Karta Modifier.onPositioned została usunięta, użyj karty Modifier.onGloballyPositioned.
    • Karta Modifier.onDraw została usunięta, użyj karty Modifier.onDrawBehind.
    • Karta Modifier.plus została usunięta, użyj karty Modifier.then.
    • Karta Color.Unset została usunięta, użyj karty Color.Unspecified.
    • Klasa PxBounds została usunięta. Zamiast niej używaj klasy Rect.
    • (Ie9d02, b/172562222)
  • Tymczasowo dodano opcję, która pozwala sterować TestAnimationClock za pomocą MonotonicFrameClock (I1403b, b/173402197).

Poprawki błędów

  • Zmieniliśmy nazwę Modifier.drawLayer na Modifier.graphicsLayer. Zaktualizowaliśmy też powiązane klasy na GraphicsLayer zgodnie z opiniami Rady API. (I0bd29, b/173834241)
  • Dodano interfejsy API Modifier.scale/rotate do ułatwienia korzystania z drawLayer.
    • Zmieniono nazwę Modifier.drawOpacity na Modifier.alpha.
    • Zmieniono nazwę Modifier.drawShadow na Modifier.shadow (I264ca, b/173208140).
  • Ustawienie pól uptime i position w danych PointerInputData tak, aby nie mogły być puste. (Id468a)
  • Modyfikatory offsetPx zostały przemianowane na offset. Teraz zamiast stanu przyjmują one parametry lambda. (Ic3021, b/173594846)
  • Nowe interfejsy API do uruchamiania animacji w korobodach (Ied662)
  • wycofane ambienty o nazwach zawierających sufiks Ambient i zastąpione nowymi właściwościami z prefiksem Ambient zgodnie ze wskazówkami dotyczącymi innych ambientów i interfejsu Compose API; (I33440)
  • Kontrola czasu w testach (TestAnimationClock i jego użycia) jest teraz funkcją eksperymentalną (I6ef86, b/171378521).
  • Usuwanie starego modułu testu UI i jego zastępników (I3a7cb)
  • Funkcja RestorableStateHolder.withRestorableState została przemianowana na RestorableStateProvider (I66640)
  • Interfejs wyrównania został zaktualizowany i wprowadzony. (I46a07, b/172311734)

Wersja 1.0.0-alpha07

11 listopada 2020 roku

androidx.compose.animation:animation:1.0.0-alpha07androidx.compose.animation:animation-core:1.0.0-alpha07 są dostępne. Wersja 1.0.0-alpha07 zawiera te commity.

Poprawki błędów

  • Podstawowe atrybuty AmbientTextStyle, ProvideTextStyle i AmbientContentColor zostały wycofane. Zamiast tego użyj nowych wersji dostępnych w bibliotece Material. W przypadku aplikacji, które nie są zgodne z Material Design, należy utworzyć własne motywy tematyczne, które można wykorzystać w komponentach. (I74acc, b/172067770)
  • Komponent foundation.Text został wycofany i zastąpiony komponentem material.Text. Podstawowy interfejs API tekstu bez opinii, który nie pobiera wartości z motywu, znajdziesz w interfejsie androidx.compose.foundation.BasicText. (If64cb)
  • MeasureResult został przeniesiony z MeasureScope. (Ibf96d, b/171184002)
  • Kilka symboli związanych z rozkł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-alpha06androidx.compose.animation:animation-core:1.0.0-alpha06 są dostępne. Wersja 1.0.0-alpha06 zawiera te commity.

Zmiany w interfejsie API

  • Włącz przejścia w komponencie ComposeTestRule. Usuń z niego opcję włączania migającego kursora. (If0de3)

Wersja 1.0.0-alpha05

14 października 2020 r.

androidx.compose.animation:animation:1.0.0-alpha05androidx.compose.animation:animation-core:1.0.0-alpha05 są dostępne. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Nowy interfejs Animation i podklasy: te klasy przechowują warunki początkowe i końcowe animacji, a dlatego umożliwiają wysyłanie zapytań dotyczących wartości i prędkości tylko w ramach czasu odtwarzania (Ie95bd, b/163329867)

Poprawki błędów

  • Zmiana nazwy metody OnPositionedModifier na OnGloballyPositionedModifier oraz metody onPositioned() na onGloballyPositioned(). (I587e8, b/169083903)
  • Wycofane zostaną interfejsy API contentColor() i currentTextStyle(), a zamiast nich zostaną wprowadzone odpowiednio ambienty AmbientContentColor i AmbientTextStyle. Do bieżącej wartości możesz uzyskać dostęp, używając wartości .current w przypadku właściwości ambient, tak jak w przypadku innych wartości ambient. Ta zmiana została wprowadzona w celu zapewnienia spójności i uniknięcia konieczności korzystania z różnych sposobów na osiągnięcie tego samego celu. Dodatkowo zmienia nazwy niektórych właściwości środowiska, aby lepiej opisywać ich przeznaczenie. Nowe nazwy:

    • 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-alpha04androidx.compose.animation:animation-core:1.0.0-alpha04 są dostępne. Wersja 1.0.0-alpha04 zawiera te commity.

Zmiany w interfejsie API

  • Dodała adnotacje do rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled i textInputServiceFactory z dodatkiem @VisibleForTesting, aby uczynić je wewnętrznym interfejsem API i ukryć ich kdoc (I554eb, b/168308412).

Poprawki błędów

  • Zaktualizowano wiele interfejsów API do obsługi grafiki.
    • Zaktualizowane interfejsy API do skalowania i obrotu, aby używały pojedynczego parametru Offset do reprezentowania punktu obrotu zamiast oddzielnych parametrów typu float dla współrzędnych x/y w DrawScope i DrawTransform
    • Usunięto metody Rect.expandToInclude i Rect.join.
    • Zaktualizowano dokumentację Radius, aby zawierała informacje o elipsydowie oprócz eliptycznej
    • Dodano dokumentację, aby wskazać, że publicznego konstruktora klasy Inline Radius nie należy wywoływać bezpośrednio, ale zamiast tego instancje obiektów Radius należy tworzyć za pomocą konstruktorów funkcji.
    • Usunięto interfejsy API RoundRect do zapytań topRight, bottomRight, bottomCenter itp.
    • Wycofanie funkcji Rect.shift na rzecz funkcji Rect.translate
    • Usunięto interfejsy API RoundRect.grow i Rect.shrink
    • Zmieniono nazwę RoundRect.outerRect na Rect.boundingRect.
    • Usunięto metody RoundRect.middleRect/tallMiddleRect/wideMiddleRect i Rect.isStadium.
    • Zmieniono nazwę RoundRect.longestSide na RoundRect.maxDimension.
    • Zmieniono nazwę RoundRect.shortestSide na RoundRect.minDimension.
    • Zmiana funkcji RoundRect.center na właściwość
    • Zaktualizowano konstruktor RoundRect, aby używał właściwości Radius zamiast poszczególnych parametrów wartości promienia x/y.
    • Usunięto interfejsy API dotyczące rozmiaru, które zakładały, że jest to prostokąt z początkiem w punkcie 0,0.
    • Dodano do Radius interfejs API do niszczenia
    • Przeniesienie różnych funkcji rozszerzenia RoundRect do właściwości
    • (I8f5c7, b/168762961)
  • Element foundation.Box został wycofany. Zamiast tego użyj elementu foundation.layout.Box. (Ie5950, b/167680279)
  • Grupa została przemianowana na Box. Dotychczasowe pole Box zostanie wycofane na rzecz nowego pola Box w komponencie compose.foundation.layout. Nowa ramka układa elementy podrzędne jeden na drugim, gdy ma ich kilka. Jest to inne zachowanie niż w przypadku poprzedniej ramki, która działała podobnie jak kolumna. (I94893, b/167680279)
  • Parametry dekoracji pudełka zostały wycofane. Jeśli chcesz użyć dekoracji lub wypełnienia w pudełku, użyj modyfikatorów (Modifier.background, Modifier.border, Modifier.padding) (Ibae92, b/167680279)
  • Zablokowaliśmy importowanie statyczne zawartości zakresów układu (np. alignWithSiblings w RowScope). Zamiast tego należy użyć opcji z wyraźnym zakresem: 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-alpha03androidx.compose.animation:animation-core:1.0.0-alpha03 są dostępne. Wersja 1.0.0-alpha03 zawiera te commity.

Poprawki błędów

  • W interfejsach API dotyczących układu nazwy metod związanych z grawitacją zostały zmienione na „wyrównaj” lub „wyrównywanie”. (I2421a, b/164077038)

Wersja 1.0.0-alpha02

2 września 2020 r.

androidx.compose.animation:animation:1.0.0-alpha02androidx.compose.animation:animation-core:1.0.0-alpha02 są dostępne. Wersja 1.0.0-alpha02 zawiera te commity.

Zmiany w interfejsie API

  • Dodano ManualFrameClock.hasAwaiters, aby sprawdzić, czy coś oczekuje na ramkę z tego zegara; runWithManualClock jako zamiennik runBlocking podczas wykonywania testów, które wymagają zegara ManualFrameClock; TestUiDispatcher.Main, który zapewnia łatwy dostęp do głównego rozsyłarki interfejsu użytkownika w testach.

    Przykład:

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

    (I0a85b, b/161247083)

Poprawki błędów

  • Metoda onPreCommit została wycofana. Metoda onCommit ma teraz zachowanie takie jak onPreCommit.

    Teraz funkcje onCommit i onActive są wykonywane w tym samym interwale, w którym są wprowadzane zmiany w kompozycji, a nie na początku następnego interwału. (I70403)

Wersja 1.0.0-alpha01

26 sierpnia 2020 r.

androidx.compose.animation:animation:1.0.0-alpha01androidx.compose.animation:animation-core:1.0.0-alpha01 są dostępne. Wersja 1.0.0-alpha01 zawiera te commity.

Wersja 0.1.0-dev

Wersja 0.1.0-dev17

19 sierpnia 2020 r.

androidx.compose.animation:animation:0.1.0-dev17androidx.compose.animation:animation-core:0.1.0-dev17 są dostępne. Wersja 0.1.0-dev17 zawiera te commity.

Nowe funkcje

Zmiany w interfejsie API

  • Offset stał się klasą wbudowaną (Iaec70)
  • IntOffset jest teraz klasą wbudowaną (Iac0bf).
  • IntSize jest teraz klasą wbudowaną (I2bf42).
  • Element AnimatedVisibilty animuje pojawianie się i znikanie treści podrzędnych.

    Wprowadziliśmy przejścia wejścia i wyjścia, które współpracują z komponewalnym komponentem AnimatedVisibilty, aby zapewnić 3 różne typy animacji pojawiania się i znikania: znikanie, przesuwanie i rozszerzanie/zwężanie zawartości. Różne typy animacji można łączyć, aby uzyskać bardziej niepowtarzalny wygląd i styl. (Idda11)

  • PxBounds jest nieużywany na rzecz Rect. Zaktualizowano wszystkie przypadki użycia PxBounds na rect i dodano odpowiednie adnotacje wycofywania/zastępowania, aby ułatwić migrację. (I37038, b/162627058)

Poprawki błędów

  • Nazwa PlacementScope.placeAbsolute() została zmieniona na PlacementScope.place(), a poprzednia nazwa PlacementScope.place() została zmieniona na PlacementScope.placeRelative(). W rezultacie metoda PlacementScope.place() nie będzie już automatycznie odzwierciedlać pozycji w kontekście od prawej do lewej. W takim przypadku użyj zamiast tego pola PlacementScope.placeRelative(). (I873ac, b/162916675)
  • Właściwość state { ... } została wycofana na rzecz wywołań funkcji remember { mutableStateOf(...) }, aby zwiększyć przejrzystość. Dzięki temu zmniejsza się ogólna powierzchnia interfejsu API i liczba pojęć związanych z zarządzaniem stanem oraz dopasowuje się do wzoru by mutableStateOf() dotyczącego delegowania właściwości klasy. (Ia5727)

Wersja 0.1.0-dev16

5 sierpnia 2020 r.

androidx.compose.animation:animation:0.1.0-dev16androidx.compose.animation:animation-core:0.1.0-dev16 są dostępne. Wersja 0.1.0-dev16 zawiera te commity.

Zmiany w interfejsie API

  • Wbudowane konwertery wektorów do konwertowania wbudowanych jednostek są teraz dostępne w sekcji Foo.VectorConverter. np.Dp.VectorConverter, Color.VectorConverter, Float.VectorConverter itp. (I3e273)
  • Obsługa listenera końca w Modifier.animateContentSize(), tak aby po zakończeniu animacji zmiany rozmiaru listener otrzymał powiadomienie wraz z rozmiarem początkowym i końcowym animacji. (I277b2)
  • Nowy modyfikator animateContentSize, który animuje zmianę rozmiaru układu w modyfikatorze podrzędnym (Ieffdc)
  • Dodano MonotonicFrameAnimationClock, który umożliwia użycie MonotonicFrameClock jako AnimationClockObservable, aby wypełnić lukę między nowymi zegarami opartymi na korobonach a interfejsami API, które nadal używają starych zegarów opartych na wywołaniu zwrotnym.

    MonotonicFrameClock jest teraz odpowiednikiem ManualAnimationClock.ManualFrameClock (I111c7, b/161247083)

Poprawki błędów

  • Zaktualizowano interfejsy API obsługujące tekst od prawej do lewej. Dodano atrybut LayoutDirectionAmbient, który umożliwia odczytywanie i zmienianie kierunku układu. Zmienniki Modifier.rtl i Modifier.ltr zostały usunięte. (I080b3)
  • Wymagaj jawnego określenia typu T w przypadku transitionDefinition. (I1aded)
  • Pakiet foundation.shape.corner został uproszczony do foundation.share (I46491, b/161887429)
  • Interfejs Modifier.plus został wycofany. Zamiast niego używaj interfejsu Modifier.then. „Then” ma silniejszy sygnał dotyczący kolejności, ale jednocześnie uniemożliwia wpisanie Modifier.padding().background() + anotherModifier, co powoduje przerwanie łańcucha i utrudnia czytanie (Iedd58, b/161529964)
  • Modifier.drawBackground został przemianowany na Modifier.background (I13677)

Wersja 0.1.0-dev15

22 lipca 2020 r.

androidx.compose.animation:animation:0.1.0-dev15androidx.compose.animation:animation-core:0.1.0-dev15 są dostępne. Wersja 0.1.0-dev15 zawiera te commity.

Aktualizacja zależności

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

Zmiany w interfejsie API

  • Interfejs Transition API został zmieniony tak, aby zwracał stan przejścia (TransitionState) zamiast przekazywać go do elementów podrzędnych. Dzięki temu interfejs API jest bardziej spójny z interfejsami animate(). (I24e38)
  • Dodano parametr modyfikatora dla funkcji Przenikanie (I87cfe, b/159706180)
  • Aby wyjaśnić pojęcie specyfikacji animacji statycznej, w interfejsach API najwyższego poziomu używaj AnimationSpec zamiast AnimationBuilder.
    • Ulepszenie DSL przejścia przez usunięcie wymagań lambda dotyczących tworzenia specyfikacji animacji, takich jak tween czy spring. Zamiast tego używają parametrów konstruktora.
    • Ułatwienie korzystania z klasy AnimationSpec przez udostępnienie konstruktorów zamiast korzystania z budowniczych.
    • Zmień czas trwania i opóźnienie kluczowych klatek oraz Tween na Int. Pozwoli to wyeliminować niepotrzebne przypisywanie typów i przeciążanie metod (w przypadku obsługi zarówno Long, jak i Int). (Ica0b4)
  • Zastąpiono użycie funkcji IntPx za pomocą funkcji Int. Zastąpiono funkcję IntPxPosition za pomocą funkcji IntOffset. Zmienna IntPxSize została zastąpiona zmienną IntSize. (Ib7b44)
  • Aby skonsolidować liczbę klas używanych do reprezentowania informacji o rozmiarze, zamiast klasy PxSize użyj klasy Size. Daje to korzyści płynące z klasy wbudowanej, która wykorzystuje typ long do pakowania 2 wartości zmiennoprzecinkową, aby reprezentować szerokość i wysokość jako zmiennoprzecinkową. (Ic0191)
  • Aby skonsolidować liczbę klas używanych do reprezentowania informacji o pozycjonowaniu, zamiast klasy PxPosition użyj klasy Offset. Daje to korzyści płynące z klasy wbudowanej, która wykorzystuje typ long do pakowania 2 wartości zmiennoprzecinekowych, aby reprezentować przesunięcia X i Y jako zmiennoprzecinkowe. (I3ad98)
  • W ramach dużego refactoringu zastąpiono użycie klasy Px w różnych kompozytowych klasach, aby polegać tylko na typach Dp i prymitywnych w przypadku parametrów pikseli (I086f4)
  • Dodano obsługę funkcji animate() w przypadku właściwości Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds i AnimationVector (Ib7518).
  • Przejście akceptuje teraz opcjonalny parametr AnimationBuilder, który umożliwia konfigurowanie animacji (I6d6e0)
  • Zastąpiono wszystkie przypadki użycia typu Color w interfejsie API, w których wartość może być null, wartością nienullową, oraz użyto Color.Unset zamiast null (Iabaa7).
  • Usunięto klasę ValueHolder. Zrestrukturyzowano klasy AnimatedValue i AnimatedFloat, aby pole wartości animacji było abstrakcyjne, dzięki czemu podklasy mogą obserwować aktualizację wartości.
    • Dodaliśmy klasy modelu dla AnimatedValue, AnimatedFloat itp.
    • Dodano nowy zestaw lekkiego interfejsu API @Composable do animowania wartości. (I79530)
  • Zmiany w interfejsie API ambients. Szczegółowe informacje znajdziesz w logach i dokumentacji Ambient<T> (I4c7ee, b/143769776).
  • Nowy tryb powtarzania: Odwrotnie. Ten tryb odwraca poprzednią iterację, gdy animacja powtarza się w RepeatableSpec lub VectorizedRepeatableSpec. (Ibe0f5)
  • Dodatki do interfejsu API w klasie ManualAnimationClock: hasObservers: Booleani parametr konstruktora dispatchOnSubscribe: Boolean (Iaa134).
  • Dodano interfejsy API do uzyskiwania minimalnych i maksymalnych wartości w AnimatedFloat (Icd9cc).

Poprawki błędów

  • Nazwa runOnIdleCompose została zmieniona na runOnIdle (I83607)
  • Zmieniliśmy nazwy kilku interfejsów API do testowania, aby były bardziej intuicyjne. Wszystkie interfejsy findXYZ zostały przemianowane na onNodeXYZ. Wszystkie interfejsy doXYZ zostały przemianowane na performXYZ. (I7f164)
  • Wprowadziliśmy interfejsy API do animacji bezstanowych na niskim poziomie. Te interfejsy API (I63bf7)
  • Komponent Recompose nie jest już przydatną abstrakcją. Większość ponownych skompilowań powinna nastąpić w wyniku przypisania stanu zmiennego. W przypadku innych wartości zalecamy użycie funkcji invalidate, aby wywołać ponowne zdefiniowanie bieżącego zakresu. (Ifc992)
  • W ramach dużego refactoringu zastąpiliśmy użycie klasy Px w różnych klasach kompozytowych, aby w przypadku parametrów pikseli używać tylko typu dp i typów prymitywnych. Usunięto całą klasę Px (I3ff33)
  • W ramach dużego refactoringu zastąpiliśmy użycie klasy Px w różnych kompozytowych klasach, aby polegać tylko na typach Dp i typach prymitywnych w przypadku parametrów pikseli (Id3434).
  • Funkcja przejścia płynnego może teraz działać z wartością początkową null (Iad6a4, b/155947711)
  • W ramach dużego refactoringu zastąpiliśmy użycie klasy Px w różnych kompozytowych klasach, aby polegać tylko na typach Dp i prymitywnych w przypadku parametrów pikseli (I19d02)
  • Zbiorcze CanvasScope zostały scalone, więc teraz są tylko DrawScope i ContentDrawScope. Zmieniliśmy nazwę CanvasScope na DrawScope. Zaktualizowano DrawScope w celu implementacji interfejsu Density i zapewnienia kierunku układu. Usunięto podklasę DrawScope w ContentDrawScope. Painter i PainterModifier zostały zaktualizowane tak, aby nie utrzymywać własności RTL, ponieważ DrawScope zapewnia ją już bez ręcznego podawania (I1798e).
  • Zaktualizowano interfejsy API wyższego poziomu, które udostępniają interfejs Canvas, tak aby zamiast niego udostępniały interfejs CanvasScope. Dzięki temu użytkownicy nie muszą już samodzielnie zarządzać obiektami w Paint. Użytkownicy, którzy nadal potrzebują dostępu do Canvas, mogą użyć metody rozszerzenia drawCanvas, która zapewnia wywołanie zwrotne do wydawania poleceń rysowania do Canvas. (I80afd)
  • Dodano parametry verticalGravity i horizontalGravity odpowiednio do wiersza i kolumny. (I7dc5a)
  • Moduł ui-text został przemianowany na ui-text-core (I57dec).
  • Ulepszenie interfejsu DrawModifier API:
    • Zmiana zakresu odbiornika dla metody draw() ContentDrawScope
    • Usunięto wszystkie parametry w metodzie draw().
    • DrawScope ma ten sam interfejs co poprzedni CanvasScope
    • ContentDrawScope ma metodę drawContent() (Ibaced, b/152919067).
  • Funkcje runOnIdleComposerunOnUiThread są teraz funkcjami globalnymi zamiast metodami w komponencie ComposeTestRule. (Icbe8f)
  • [Zmienne]Operatory delegacji właściwości stanu przeniesione do rozszerzeń, aby obsługiwać optymalizacje delegacji właściwości w wersji Kotlin 1.4. Aby nadal korzystać z by state { ... } lub by mutableStateOf(...), dzwoniący muszą dodać importy. (I5312c)
  • Obiekt ColoredRect został wycofany. Zamiast tego użyj Box(Modifier.preferredSize(width, height).drawBackground(color)). (I499fa, b/152753731)
  • Zastąpienie operatora Modifier plus funkcjami rozszerzenia fabrycznego (I225e4)
  • Wycofany komponent Center. Należy go zastąpić modyfikatorem LayoutSize.Fill + LayoutAlign.Center lub jednym z komponowanych elementów Box lub Stack z zastosowane odpowiednimi modyfikatorami (Idf5e0).
  • Zmieniono nazwę LayoutFlexible na LayoutWeight. Parametr tight został przemianowany na fill. (If4738)
  • Funkcja kompozytowa Opacity została zastąpiona modyfikatorem drawOpacity. (I5fb62)
  • Testy korzystające z AndroidComposeTestRule zawierają teraz animację zegara w korzenia kompozycji, która umożliwia wstrzymanie, wznowienie i ręczne przewijanie. (Id54c5)
  • Obsługa kierunku od prawej do lewej w modyfikatorze LayoutPadding (I9e8da)
  • Density i DensityScope zostały połączone w jeden interfejs. Zamiast ambientDensity() możesz teraz użyć DensityAmbient.current. Zamiast withDensity(gęstość) wpisz tylko with(gęstość) (I11cb1)
  • Dodano metody kopiowania do różnych typów wbudowanych klas, w tym:
    • Przesunięcie
    • Rozmiar
    • Promień
    • Ruch
    • TransformOrigin
    • Wycofana metoda obiektu towarzyszącego Size.copy na rzecz metody kopiowania instancji (Ife290, b/159905651)
  • Interfejs androidx.compose.ViewComposer został przeniesiony do androidx.ui.node.UiComposer. Interfejs androidx.compose.Emittable został usunięty. Był on zbędny w porównaniu z ComponentNode. androidx.compose.ViewAdapters został usunięty. Nie są one już obsługiwane. Metoda Compose.composeInto została wycofana. Użyj w zamian pola setContent lub setViewContent. Metoda Compose.disposeComposition została wycofana. Zamiast tego użyj metody dispose w obiekcie Composition zwracanym przez funkcję setContent. Funkcja androidx.compose.Compose.subcomposeInto została przeniesiona do androidx.ui.core.subcomposeInto. Metoda ComponentNode#emitInsertAt została przemianowana na ComponentNode#insertAt. Metoda ComponentNode#emitRemoveAt została przemianowana na ComponentNode#removeAt. Metoda ComponentNode#emitMode została przemianowana na ComponentNode#move (Idef00)