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
30 października 2024 r. 1.7.5 - - 1.8.0-alpha05

Struktura

Compose to kombinacja 7 identyfikatorów grup Maven w ramach androidx. Każda grupa zawiera docelowy podzbiór funkcji, z których każda ma własny zestaw informacji o wersji.

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.buildrPrzekształ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.material,Tworzenie interfejsów 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 spójny z nowym stylem wizualnym Androida 12 i interfejsem systemu.
compose.runtime,Podstawowe 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.ui,Podstawowe 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ść w Compose, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.

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

Odlotowe

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

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

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

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

Opinia

Twoja opinia pomoże nam ulepszyć Jetpack. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nową bibliotekę, przejrzyj istniejące problemy 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-alpha05

30 października 2024 r.

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

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

  • Zaktualizuj stany wewnętrzne przekształcenia rozmiaru elementu AnimatedContent po odtworzeniu przejścia. 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-alfa04 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiono błąd, który powodował awarie niektórych krzywych wygładzających w określonych ułamkach czasu.
  • Naprawiliśmy błąd, który powodował nieprawidłowe dopasowanie tekstu (Modifier.animateContentSize od prawej do lewej). (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 interfejsu 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 krzywiznami i splajnami (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

  • Zapobiegaj ustawianiu przejścia playTime, gdy Steven Schoen nie wykonuje żadnego przejścia. (c2e6e7e6)

Wersja 1.7

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.

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

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 opisaliśmy w tym poście na blogu.

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

  • Nowe interfejsy API przejścia do współdzielonego elementu czekają na Twoje opinie i testy. 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 do dopasowywania 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 Ta opcja jest przydatna w przypadku powtarzalnych animacji utworzonych z wykorzystaniem splinii. 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 są 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 zatwierdzenia.

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 zatwierdzenia.

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 przypadkami szczególnymi, 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.

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

Poprawki błędów

  • Właściwość przejścia totalDurationNanos można teraz prawidłowo odczytać w elementach 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.

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

Wersja 1.7.0-beta02

29 maja 2024 r.

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 komity.

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

  • Eksperymentalna funkcja SharedTransitionScope to teraz interfejs, a nie klasa autorstwa Stevena Schoena. (Iaf856, b/338415048, b/338414702)

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

  • LookaheadScope interfejs API został stabilny. (I21507)

Darowizna zewnętrzna

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

Wersja 1.7.0-alpha07

17 kwietnia 2024 r.

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

Nowe funkcje

  • Nowe interfejsy API do przenoszenia elementów udostępnionych czekają na Ciebie i 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)

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 wycofany 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 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

  • Obsługa animacji wyglądu i znikania elementów została dodana do LazyColumn i LazyRow. 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

  • Funkcja SeekableTransitionState zastępuje element snapTo() elementem seekTo() i dodaje element snapTo(), który natychmiast zmienia stan na stan docelowy bez żadnej animacji.

Wersja 1.7.0-alpha04

6 marca 2024 roku

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-alfa03 zawiera te zatwierdzenia.

Nowe funkcje

  • Nowa funkcja Modifier.animateContentSize, która przyjmuje dodatkowy parametr do dopasowywania 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 resetowaniem urządzenia Modifier.animateContentSize w przypadku aplikacji 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 zatwierdzenia.

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.

Usługa androidx.compose.animation:animation-*:1.6.5 została zwolniona. 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 zatwierdzenia.

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 interfejsu 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 commity.

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 zatwierdzenia.

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

  • Dodano 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ą w przypadku wcięcia okna. (Iee695)
  • Usuń warstwę główną materiału w przypadku elementu lub przycisku Material3, ponieważ mikrotesty pokazują lepszą wydajność bez niej. (I55555)

Wersja 1.6.0-alpha08

18 października 2023 r.

Usługa androidx.compose.animation:animation-*:1.6.0-alpha08 została zwolniona. Wersja 1.6.0-alpha08 zawiera te commity.

Zmiany interfejsu 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 wariant główny i dodatkowy. Są one prawidłowo zmapowane na kolor i działanie wskaźników zgodnie z definicją w Material3.
  • PrimaryScrollableTabRowSecondaryScrollableTabRow teraz pokazują 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-alfa05 zawiera te zatwierdzenia.

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-alfa03 zawiera te zatwierdzenia.

Zmiany w interfejsie API

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

Wersja 1.6.0-alpha02

26 lipca 2023 r.

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

Zmiany interfejsu API

  • 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-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

  • Umożliw, aby Modifier.animateContentSizeAnimatedVisibility były w pełni zintegrowane z systemem lookahead, zgłaszając rozmiar docelowy w przeszukaniu.

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 przydziały ze wiosennych animacji. (Ie9431)
  • Zmieniono nazwę parametru wartości w funkcji Enum.valueOf (Ia9b89)
  • więcej zgłoszonych wyjątków od wartości wyliczeniowej (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 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 zatwierdzenia.

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 zatwierdzenia.

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że wywołanie funkcji .value w stanie podstawowym (takim jak MutableIntState) powodowało wyświetlenie ostrzeżenia o Lingu z nieprawidłową poprawką. 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 specjalistycznych 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.

Usługa androidx.compose.animation:animation-*:1.5.0-beta03 została zwolniona. 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 zatwierdzenia.

Wersja 1.5.0-beta01

24 maja 2023 r.

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

Zmiany w interfejsie API

  • Usunięto przypisania w ramach rekompozycji, animacji kolorów i 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

  • Aby umożliwić większą kontrolę nad czasem przeniesienia, w AnimatedContent udostępniono teraz ContentKey. (Ic069b)

Wersja 1.5.0-alpha03

19 kwietnia 2023 r.

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

Nowe funkcje

  • Nowe domyślne 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 interfejsu 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ę zabawy w przyrostku na togetherWith, aby łączyć przejścia między wejściami i wyjściami. Nowy użytkownik AnimatedContentScope jako odbiornik treści lambda. (IC39ae).

Wersja 1.5.0-alpha02

5 kwietnia 2023 r.

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 z wyprzedzeniem. (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.

androidx.compose.animation:animation:1.4.3, androidx.compose.animation:animation-core:1.4.3 i androidx.compose.animation:animation-graphics:1.4.3 zostały opublikowane bez zmian (tylko skompletowanie wersji).

Wersja 1.4.2

19 kwietnia 2023 r.

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 rozszerzeń w InfiniteTransition i przejściu (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.

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

Zmiany w interfejsie API

  • W testach interfejsu użytkownika z użyciem reguły tworzenia kontynuacje wznawiane w trakcie wywołań zwrotnych withFrameNanos będą wysyłane dopiero po zakończeniu wykonywania wszystkich wywołań zwrotnych klatek. Jest to zgodne z działaniem funkcji komponowania 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 znajdziesz w opisie zmian w testach animacji w tej liście zmian.
  • 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-alfa02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodaj ToolingState, aby umożliwić narzędziom zmianę wewnętrznych stanów Composable (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

  • Naprawianie nieprawidłowej animacji przerwy w projekcie 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.

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

Poprawki błędów

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

Wersja 1.3.1

9 listopada 2022 r.

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

Wersja 1.3.0

24 października 2022 r.

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 wprowadzone od wersji 1.2.0

  • Stabilizacja nowego zestawu funkcji łagodnego przejścia

Wersja 1.3.0-rc01

5 października 2022 r.

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

Wersja 1.3.0-beta03

21 września 2022 r.

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-alfa03

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 usługach Crossfade, animateAsState i Animatable dla etykiety narzędzi (Iac08a)
  • Dodaliśmy funkcję atFraction do definiowania klatek kluczowych na ułamku zamiast w określonym czasie. (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 interfejsu 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

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

Ważne zmiany od wersji 1.1.0

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

Wersja 1.2.0-rc03

29 czerwca 2022 r.

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

  • Brak zmian od wersji 1.2.0-rc02.

Wersja 1.2.0-rc02

22 czerwca 2022 r.

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 z funkcji 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 zatwierdzenia.

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

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

Poprawki błędów

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

Wersja 1.2.0-alpha05

9 marca 2022 r.

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

Zmiany w interfejsie API

  • Hurra! Animacja tworzenia wiadomości obsługuje teraz ustawienie „Skala czasu trwania animacji” w Opcjach programisty. (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-alfa03 zawiera te zatwierdzenia.

Wersja 1.2.0-alfa02

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.

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

Zmiany 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,
  • Ulepszenia rozmiaru docelowego elementu dotykowego
  • Pamiętaj, że w wersji Compose 1.0 komponenty Material Design będą rozszerzać swoją przestrzeń układu, aby spełniać wytyczne Material Design dotyczące rozmiaru docelowego elementu dotykowego. Na przykład docelowy element dotykowy przycisku zostanie powiększony do minimalnych rozmiarów 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, by obsługiwała Material 1.1.0-rc03

Wersja 1.1.0-rc01

15 grudnia 2021 roku

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

Zmiany 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.

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

Nowe funkcje

  • Zaktualizowano, aby była zgodna z platformą 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

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

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

Poprawki błędów

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

Wersja 1.1.0-beta01

27 października 2021 roku

androidx.compose.animation:animation:1.1.0-beta01, androidx.compose.animation:animation-core:1.1.0-beta01 i androidx.compose.animation:animation-graphics:1.1.0-beta01 zostały udostępnione. Wersja 1.1.0-beta01 zawiera te 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.

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

Wersja 1.1.0-alpha05

29 września 2021 r.

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

Zmiany w interfejsie API

  • Interfejsy API EnterTransition, ExitTransition i niektóre interfejsy AnimatedVisibility są już stabilne. Funkcja MutableTransitionState.isIdle też 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 commity.

Zmiany interfejsu API

  • Element StartOffset jest teraz obsługiwany w trybie powtarzalnym i nieskończonym powtarzalnym, co umożliwia opóźnienie rozpoczęcia lub przyspieszenie animacji przed jej rozpoczęciem. 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.

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

Zmiany 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.5 i androidx.compose.animation:animation-core:1.0.5 zostały udostępnione. Wersja 1.0.5 zawiera te zatwierdzenia.

Poprawki błędów

  • 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 na podstawie usługi Kotlin 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.2 i androidx.compose.animation:animation-core:1.0.2 zostały udostępnione. Wersja 1.0.2 zawiera te zatwierdzenia.

Zaktualizowano, aby obsługiwała wersję 1.0.2 Utwórz. 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 jest pierwsza stabilna wersja Compose. Więcej informacji znajdziesz na oficjalnym blogu wersji Compose.

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

Wersja 1.0.0-rc02

14 lipca 2021 roku

androidx.compose.animation:animation:1.0.0-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

  • Nowy element kompozycyjny AnimatedContent. Zarządza zmianami treści za pomocą dostosowywalnych ContentTransform, gdy nowe treści docelowe są dodawane, a pierwotne treści są usuwane. Różne kombinacje przejść wejścia i wyjścia pozwalają uzyskać niestandardowy wygląd i styl strony. 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 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.tekst
  • 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 LayoutNode ma podpis isPlaced()Z.

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

Do czego służą reguły?

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

  • Metoda z flagą S wskazuje, że jest to metoda wywoływana podczas uruchamiania i powinna zostać skompilowana wcześniej, 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 powinna być wstępnie przydzielona w pniu, 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ługuj niestandardową animację wyjścia/wejścia w animacji widoczności za pomocą AnimationScope.transition.
    • Nowy modyfikator animateEnterExit, dostępny dla wszystkich elementów podrzędnych 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 interfejsu API

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

Wersja 1.0.0-beta03

24 marca 2021 r.

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

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

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

Wersja 1.0.0-beta01

24 lutego 2021 r.

androidx.compose.animation:animation:1.0.0-beta01 i androidx.compose.animation:animation-core:1.0.0-beta01 zostały udostępnione. Wersja 1.0.0-beta01 zawiera te 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żywać parametru InteractionSource.interactions do obserwowania strumienia interakcji. Więcej informacji znajdziesz w dokumentacji i przykładach InteractionSource.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • Pakiety metod 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. Przeniesiono aplikację VelocirtTracker z obszaru ui.gesture do witryny ui.input.pointer. (Iff4a8, b/175294473)
  • Klasa AnimationClockObservable i jej podklasy zostały usunięte. Element 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)
  • Usunęliśmy interfejsy API animate, animacjaValue, AnimatedValue (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-alfa12 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).
  • Ujednolicono nazwę parametru AnimationSpec z animowaną specyfikacją w systemie animacji. Ogranicz też animację wejścia/wyjścia, aby akceptowała specyfikację animacji FiniteAnimationSpec. (Ie47c5, b/177457083)
  • Funkcje 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 niego użyj parametru rememberSaveable { mutableStateOf(0) }. Zostanie on automatycznie zapisany i przywrócony, jeśli typ użyty w MutableState może być przechowywany w pakiecie. Jeśli 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 podpis metody Przenikanie, aby był bardziej spójny z resztą 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. Nazwa metody wewnętrznej RestorableStateProvider została zmieniona na SaveableStateProvider. Typ ogólny został usunięty, więc można było przekazywać jako klucz „Dowolny”. 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)
  • Parametr AnimatedValue/Float został wycofany. Zamiast tego użyj interfejsu Animatable. (I71345, b/177457083)
  • Parametry tapConsentFilter, doubleTapStepFilter, longPressConsentFilter i PressIndicaitonTrackingFilter zostały wycofane. Zamiast tego użyj Modifier.clickable lub Modifier.pointerInput z funkcją detectTapGestures. (I6baf9, b/175294473)
  • Wprowadziliśmy współrzędny element kontekstu InfiniteAnimationPolicy, który będzie stosowany w nieskończoność animacji. 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 compose:runtime, a AndroidUiDispatcher w compose:ui. (Ib5c36)
  • Dodano Animation.isInfinite i VectorizedAnimationSpec.isInfinite, które sygnalizują, czy animacja jest nieskończona. Można go wykorzystać w implementacjach animacji, aby zapewnić specjalne ich traktowanie. 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 animacji Długo zamiast Czas działania (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 interfejsu API

  • Przejście na podstawie definicji przejścia zostało wycofane (I0ac57)
  • Dodano pole etykiety umożliwiające przejście i animacje podrzędne wyświetlane w narzędziach (I619fb).
  • animateAsState to teraz animateFooAsState, gdzie Foo to typ animowanej zmiennej, np. Float, Dp, Offset itp. (Ie7e25)
  • 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 funkcji currentRecomposeScope i rememberCompositionReference. (I583a8)
  • Czas trwania i czas działania zostaną zastąpione długimi milisekundami, a ten krok eliminuje zależność danych wejściowych wskaźnika do tych klas. (Ia33b2, b/175142755, b/177420019)
  • 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-alfa10 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)
  • Metoda animate() została zastąpiona przez animateAsState(), która zwraca 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 odczytana jest wartość State. (IB179e)

Wersja 1.0.0-alpha09

16 grudnia 2020 roku

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

Zmiany 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 danych wejściowych wskaźnika zmieniliśmy nazwę 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 commity.

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 ze sprawdzaniem lintowania i wskazówkami przenieśliśmy też niektóre interfejsy API, używając nazwy children jako nazwy końcowej lambdy do content. (Iec48e)
  • Usunięto wycofane wcześniej interfejsy API:
    • Karta Modifier.onPositioned została usunięta, użyj karty Modifier.onGloballyPositioned.
    • Usunięto: Modifier.onDraw. Użyj: 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ę pozwalającą, by zegar TestAnimationClock był wywoływany przez MonotonicFrameClock (I1403b, b/173402197)

Poprawki błędów

  • Zgodnie z opiniami Rady ds. API zmodyfikowaliśmy też nazwę Modifier.drawLayer na Modifier.graphicsLayer. Wraz z opiniami rady ds. API zaktualizowaliśmy też powiązane klasy na GraphicsLayer. (I0bd29, b/173834241)
  • 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 współrzędnych (Ied662)
  • wycofane ambienty o nazwach zawierających sufiks Ambient i zastąpione nowymi właściwościami z prefiksem Ambient zgodnie z innymi wytycznymi dotyczącymi ambientów i interfejsu Compose API; (I33440)
  • Kontrola czasu w testach (TestAnimationClock i jego użycia) jest teraz eksperymentalna (I6ef86, b/171378521).
  • Usuwanie starego modułu testu UI i jego zastępników (I3a7cb)
  • Nazwa funkcji RestorableStateHolder.withRestorableState została zmieniona na RestorableStateProvider (I66640)
  • Interfejs wyrównywania został zaktualizowany i stał się funkcjonalny. (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. Interfejs API tekstowy podstawowy, który nie używa wartości z motywu, znajdziesz w bibliotece androidx.compose.foundation.BasicText. (If64cb).
  • MeasureResult został przeniesiony z MeasureScope. (Ibf96d, b/171184002)
  • Kilka symboli związanych z układem zostało przeniesionych z androidx.compose.ui do androidx.compose.layout.ui. (I0fa98, b/170475424)

Wersja 1.0.0-alpha06

28 października 2020 r.

androidx.compose.animation:animation:1.0.0-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-alpha05 i androidx.compose.animation:animation-core:1.0.0-alpha05 zostały udostępnione. Wersja 1.0.0-alpha05 zawiera te commity.

Zmiany w interfejsie API

  • Nowy interfejs Animation i podklasy: te klasy przechowują warunki początkowe i końcowe animacji, dzięki czemu 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. Zmiana ta została wprowadzona w celu zachowania spójności i uniknięcia korzystania z wielu sposobów na osiągnięcie tego samego celu. Dodatkowo zmienia nazwy niektórych właściwości ś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

  • Adnotacja rootAnimationClockFactory, powiązaniasEnabled,blinkingCursorEnabled i textInputServiceFactory z użyciem @VisibleForTesting, ustaw wewnętrzny interfejs API i ukryj ich plik kdoc (I554eb, b/168308412)

Poprawki błędów

  • Zaktualizowano wiele interfejsów Graphics API.
    • Zaktualizowane interfejsy API do skalowania i obrotu, aby używały pojedynczego parametru Offset 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 elipsy w dodatku do eliptyczne
    • Dodano dokumentację, aby wskazać, że publicznego konstruktora w ramach 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.
    • Usunęliśmy interfejsy RoundRect API do wysyłania zapytań dotyczących górnych praw, dolnych, dolnej, środkowej części itp.
    • Wycofano Rect.shift na rzecz Rect.translate
    • Usunięto interfejsy API RoundRect.grow i Rect.shrink
    • Zmieniono nazwę RoundRect.outerRect na Rect.boundingRect.
    • 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ść zamiast funkcji
    • 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.
    • Do aplikacji Radius dodano interfejs API destrukcyjny
    • Przeniesienie różnych funkcji rozszerzenia RoundRect do właściwości
    • (I8f5c7, b/168762961)
  • Element foundation.Box został wycofany. Zamiast niej 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. Wcześniej działała ona 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-alpha03 i androidx.compose.animation:animation-core:1.0.0-alpha03 zostały udostępnione. 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 „align” lub „alignment”. (I2421a, b/164077038)

Wersja 1.0.0-alpha02

Wrzesień 2, 2020

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.

    Na przykład:

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

    (I0a85b, b/161247083)

Poprawki błędów

  • 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-dev17 i androidx.compose.animation:animation-core:0.1.0-dev17 zostały udostępnione. Wersja 0.1.0-dev17 zawiera te commity.

Nowe funkcje

Zmiany interfejsu API

  • Offset stał się klasą wbudowaną (Iaec70)
  • IntOffset jest teraz klasą wbudowaną (Iac0bf)
  • IntSize jest teraz klasą wbudowaną (I2bf42).
  • Animowana widoczność kompozycyjna animuje wygląd 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 w polu „PxBounds” i dodano odpowiednie wycofanie/zastąpienie adnotacjami, aby wspomóc 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 zatwierdzenia.

Zmiany w interfejsie API

  • Wbudowane konwertery wektorowe służące do konwersji jednostek wbudowanych są teraz dostępne w usłudze Foo.VectorConverter. np.Dp.VectorConverter, Color.VectorConverter, Float.VectorConverter itp. (I3e273)
  • Obsługa listenera end w Modifier.animateContentSize(), tak aby po zakończeniu animacji zmiany rozmiaru został on powiadomiony 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.

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

Poprawki błędów

  • Interfejsy API do obsługi tekstu od prawej do lewej zostały zaktualizowane. Dodano 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-dev15 i androidx.compose.animation:animation-core:0.1.0-dev15 zostały udostępnione. Wersja 0.1.0-dev15 zawiera te zatwierdzenia.

Aktualizacja zależności

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

Zmiany 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 przejścia (I87cfe, b/159706180)
  • Użyj AnimationSpec zamiast AnimationBuilder w interfejsach API najwyższego poziomu, aby wyjaśnić koncepcję specyfikacji animacji statycznej.
    • Ulepsz przejście DSL, usuwając wymaganie lambda przy tworzeniu specyfikacji animacji, takich jak starsze czy sprężyna. Zamiast tego używają parametrów konstruktora.
    • Ułatwienie korzystania z klasy AnimationSpec przez udostępnienie konstruktorów zamiast polegania na budowniczych
    • Zmień czas trwania i opóźnienie kluczowych klatek oraz Tween na Int. Pozwoli to wyeliminować niepotrzebne konwersje typu i przeciążenie metody (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).
  • Zastąpiono użycie klasy Px w różnych klasach tworzenia w ramach dużej refaktoryzacji, która polegała wyłącznie na używaniu w parametrach pikseli tylko typów Dp i typów podstawowych (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)
  • Wszystkie przypadki użycia koloru, które mogą przyjmować wartości null w interfejsie API, zastąpiono wartością niedopuszczającą wartości null i ustawiono wartość Color.Unset zamiast wartości null (Iabaa7).
  • Usunięto klasę ValueHolder. Zrestrukturyzowano klasy AnimatedValue i AnimatedFloat, aby pole wartości animacji było abstrakcyjne, dzięki czemu podklasy mogą obserwować aktualizację wartości.
    • Dodano 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ę, ponieważ animacja powtarza się w obiektach RepeatableSpec lub VectorizedRepeatableSpec. (Ibe0f5)
  • Dodatki do interfejsu API w 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. Nazwy wszystkich interfejsów API doXYZ zostały zmienione na „performXYZ”. (I7f164)
  • Wprowadziliśmy interfejsy API animacji bezstanowej niskiego poziomu. 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 skompilowanie 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. Cała klasa Px została usunięta (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).
  • Przenikanie może teraz działać z wartością początkową null (Iad6a4, b/155947711)
  • Zastąpiono użycie klasy Px w różnych klasach tworzenia w ramach dużej refaktoryzacji polegającej na używaniu w parametrach pikseli tylko typów Dp i typów podstawowych (I19d02).
  • Zbiorcze CanvasScope zostały scalone, więc teraz są tylko zbiorcze zakresy rysowania i zbiorczy zakresu rysowania treści. Zbiórczy CanvasScope został przemianowany na Zbiórcze zakresy rysowania. 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ą canvas, tak aby zamiast tego udostępniały 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 grawitacji pionowego i poziomego do wierszy i kolumn. (I7dc5a)
  • Nazwa modułu ui-text została zmieniona na ui-text-core (I57dec).
  • Ulepsz interfejs 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 delegujące właściwości stanu zostały przeniesione do rozszerzeń, aby umożliwić optymalizację delegowania 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 pola Box(Modifier.preferredSize(width, height).drawBackground(color)). (I499fa, b/152753731)
  • Zastąpiono operator 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 odpowiednimi modyfikatorami (Idf5e0).
  • Zmieniono nazwę Układ Elastyczny na Układ Weight. 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 trybu nieaktywnego() możesz teraz używać obiektu DensityAmbient.current. Zamiast opcji Gęstość(gęstość) tylko za pomocą(gęstości) (I11cb1)
  • Dodano metody kopiowania do różnych 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)
  • Aplikacja androidx.compose.ViewComposer została przeniesiona do androidx.ui.node.UiComposer. androidx.compose.Emittable została usunięta. 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)