Animacja w Compose

tworzyć animacje w aplikacjach Jetpack Compose, aby zwiększać atrakcyjność aplikacji dla użytkowników;
Najnowsza aktualizacja Wersja stabilna Wersja kandydująca do publikacji Wersja beta Wersja Alfa
19 listopada 2025 r. 1.9.5 1.10.0-rc01 - -

Struktura

Compose to połączenie 7 identyfikatorów grup Maven w androidx. Każda grupa zawiera ukierunkowany podzbiór funkcji, a każda z nich ma własny zestaw informacji o wersji.

W tej tabeli znajdziesz wyjaśnienie grup i linki do poszczególnych zestawów informacji o wersji.

GrupaOpis
compose.animationtworzyć animacje w aplikacjach Jetpack Compose, aby zwiększać atrakcyjność aplikacji dla użytkowników;
compose.compilerPrzekształcanie funkcji z adnotacją @Composable i włączanie optymalizacji za pomocą wtyczki kompilatora Kotlin.
compose.foundationTwórz aplikacje w Jetpack Compose za pomocą gotowych elementów składowych i rozszerzaj podstawy, aby tworzyć własne elementy systemu projektowania.
compose.materialTwórz interfejsy Jetpack Compose za pomocą gotowych komponentów Material Design. Jest to punkt wejścia wyższego poziomu w Compose, który ma udostępniać komponenty zgodne z tymi opisanymi na stronie www.material.io.
compose.material3Twórz interfejsy Jetpack Compose za pomocą komponentów Material Design 3, czyli kolejnej ewolucji Material Design. Material 3 zawiera zaktualizowane motywy i komponenty oraz funkcje personalizacji Material You, takie jak dynamiczny kolor. Został zaprojektowany tak, aby pasować do nowego stylu wizualnego Androida 12 i interfejsu systemu.
compose.runtimePodstawowe elementy modelu programowania i zarządzania stanem w Compose oraz podstawowe środowisko wykonawcze, do którego kierowany jest wtyczka kompilatora Compose.
compose.uiPodstawowe komponenty interfejsu Compose potrzebne do interakcji z urządzeniem, w tym układ, rysowanie i dane wejściowe.

Deklarowanie zależności

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

Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle aplikacji lub modułu:

Groovy

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

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

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

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

Opinia

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

Tworzenie nowego problemu

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

Wersja 1.10

Wersja 1.10.0-rc01

19 listopada 2025 r.

Publikacja androidx.compose.animation:animation-*:1.10.0-rc01 Wersja 1.10.0-rc01 zawiera te zmiany.

Zmiany w interfejsie API

  • Opcje unveilInveilOut są teraz dostępne w przypadku EnterExitTransitions. Umożliwia to animowanie warstwy nakładki przed wchodzącą lub wychodzącą treścią. (If26fe)

Poprawki błędów

  • Obsługa śledzenia granic przez odłączanie i ponowne podłączanie sharedElement (be0e9e)
  • Udostępnij mapę elementów udostępnionych do obserwacji aktywności przejścia. (1fc2ec)

Wersja 1.10.0-beta02

5 listopada 2025 r.

Publikacja androidx.compose.animation:animation-*:1.10.0-beta02 Wersja 1.10.0-beta02 zawiera te zmiany.

Wersja 1.10.0-beta01

22 października 2025 r.

Publikacja androidx.compose.animation:animation-*:1.10.0-beta01 Wersja 1.10.0-beta01 zawiera te zmiany.

Zmiany w interfejsie API

  • Usunęliśmy metodę fabryczną SharedContentConfig, która przyjmuje lambdę wskazującą, czy udostępniony element powinien być włączony. lookheadScopeCoordinates Interfejs API został zaktualizowany. LookaheadScope to zakres odbiorcy, a parametr to współrzędne źródła. (Id1fc2, b/452416806)
  • Interfejs BoundsTransform został zaktualizowany, aby był zgodny z interfejsem SizeTransform. (Ia46f2, b/343696350)
  • Wycofany interfejs API ScaleToBounds został usunięty. Zamiast niego użyj interfejsu scaleToBounds. (I17296)

Wersja 1.10.0-alpha05

8 października 2025 r.

Publikacja androidx.compose.animation:animation-*:1.10.0-alpha05 Wersja 1.10.0-alpha05 zawiera te zmiany.

Zmiany w interfejsie API

Wersja 1.10.0-alpha04

24 września 2025 r.

Publikacja androidx.compose.animation:animation-*:1.10.0-alpha04 Wersja 1.10.0-alpha04 zawiera te zmiany.

Zmiany w interfejsie API

  • Zaktualizowaliśmy nazwy interfejsów API związanych z PlaceHolderSize. (I037d8, b/343696350)
  • Nowy interfejs API przejścia udostępnionego elementu, który obsługuje początkową prędkość, aby kontynuować prędkość gestu w udostępnionych elementach. (I91be9)

Wersja 1.10.0-alpha03

10 września 2025 r.

Publikacja androidx.compose.animation:animation-*:1.10.0-alpha03 Wersja 1.10.0-alpha03 zawiera te zmiany.

Zmiany w interfejsie API

  • Modifier.skipToLookaheadSize korzysta teraz z domyślnie włączonej funkcji lambda, która włącza pomijanie rozmiaru tylko wtedy, gdy aktywna jest wspólna zmiana, tak samo jak Modifier.skipToLookaheadPosition. (Ibe0f5, b/432485585)

Wersja 1.10.0-alpha02

27 sierpnia 2025 roku

Publikacja androidx.compose.animation:animation-*:1.10.0-alpha02 Wersja 1.10.0-alpha02 zawiera te zmiany.

Wersja 1.10.0-alpha01

13 sierpnia 2025 r.

Publikacja androidx.compose.animation:animation-*:1.10.0-alpha01 Wersja 1.10.0-alpha01 zawiera te zmiany.

Nowe funkcje

  • Nowy interfejs API umożliwiający dynamiczne włączanie i wyłączanie elementów udostępnionych, który uwzględnia też, czy trwa już przejście elementu udostępnionego.
  • Nowy interfejs API do konfigurowania alternatywnych granic elementu docelowego, gdy docelowy element współdzielony zostanie usunięty podczas przejścia.
  • Nowy interfejs API do uzyskiwania LayoutCoordinates LookaheadScope. (I18dd4, b/409819304, b/395670637)
  • Nowy modyfikator Modifier.skipToLookaheadPositionSharedTransitionScope do zakotwiczenia układu w pozycji docelowej podczas wspólnej zmiany. (I88734)

Zmiany w interfejsie API

  • Uproszczono renderInSharedTransitionOverlay przez usunięcie clipInOverlayDuringTransition lambda, ponieważ ta funkcja była rzadko używana. Wprowadziliśmy nową metodę fabryczną dla SharedContentConfig. (Id01b2)
  • Dodano zestaw domyślnych ustawień dla udostępnionego elementu, udostępnionych granic i konfiguracji renderInSharedTransitionOverlay. Te ustawienia domyślne są teraz dostępne za pomocą publicznych interfejsów API. (Id23cc)
  • ScaleToBounds ResizeMode został zmieniony na scaleToBounds (I5ac50)

Poprawki błędów

Wersja 1.9

Wersja 1.9.5

19 listopada 2025 r.

Publikacja androidx.compose.animation:animation-*:1.9.5 Wersja 1.9.5 zawiera te zatwierdzenia.

Wersja 1.9.4

22 października 2025 r.

Publikacja androidx.compose.animation:animation-*:1.9.4 Wersja 1.9.4 zawiera te zatwierdzenia.

Wersja 1.9.3

8 października 2025 r.

Publikacja androidx.compose.animation:animation-*:1.9.3 Wersja 1.9.3 zawiera te zatwierdzenia.

Wersja 1.9.2

24 września 2025 r.

Publikacja androidx.compose.animation:animation-*:1.9.2 Wersja 1.9.2 zawiera te zatwierdzenia.

Wersja 1.9.1

10 września 2025 r.

Publikacja androidx.compose.animation:animation-*:1.9.1 Wersja 1.9.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiono inicjowanie animacji dla elementu sharedElementWithCallerManagedVisibility. (fa29de)

Wersja 1.9.0

13 sierpnia 2025 r.

Publikacja androidx.compose.animation:animation-*:1.9.0 Wersja 1.9.0 zawiera te zatwierdzenia.

Wersja 1.9.0-rc01

30 lipca 2025 r.

Publikacja androidx.compose.animation:animation-*:1.9.0-rc01 Wersja 1.9.0-rc01 zawiera te zatwierdzenia.

Wersja 1.9.0-beta03

16 lipca 2025 r.

Publikacja androidx.compose.animation:animation-*:1.9.0-beta03 Wersja 1.9.0-beta03 zawiera te zatwierdzenia.

Wersja 1.9.0-beta02

2 lipca 2025 r.

Publikacja androidx.compose.animation:animation-*:1.9.0-beta02 Wersja 1.9.0-beta02 zawiera te zatwierdzenia.

Wersja 1.9.0-beta01

18 czerwca 2025 r.

Publikacja androidx.compose.animation:animation-*:1.9.0-beta01 Wersja 1.9.0-beta01 zawiera te zatwierdzenia.

Wersja 1.9.0-alpha04

4 czerwca 2025 r.

Publikacja androidx.compose.animation:animation-*:1.9.0-alpha04 Wersja 1.9.0-alpha04 zawiera te zatwierdzenia.

Wersja 1.9.0-alpha03

20 maja 2025 r.

Publikacja androidx.compose.animation:animation-*:1.9.0-alpha03 Wersja 1.9.0-alpha03 zawiera te zatwierdzenia.

Wersja 1.9.0-alpha02

7 maja 2025 r.

Publikacja androidx.compose.animation:animation-*:1.9.0-alpha02 Wersja 1.9.0-alpha02 zawiera te zatwierdzenia.

Nowe funkcje

  • Znacznie ulepszona obsługa przewijania i przeciągania w przypadku elementów udostępnionych. Gdy przewijany jest przechodzący element współdzielony, delta przewijania jest stosowana bezpośrednio do elementu współdzielonego, zamiast powodować, że elementy współdzielone podążają za nowym celem. (cacf7b)

Wersja 1.9.0-alpha01

23 kwietnia 2025 r.

Publikacja androidx.compose.animation:animation-*:1.9.0-alpha01 Wersja 1.9.0-alpha01 zawiera te zatwierdzenia.

Zmiany w zachowaniu

  • Sprawdzanie kodu w Compose wymaga teraz minimalnej wersji AGP 8.8.2. Jeśli nie możesz uaktualnić AGP, możesz zamiast tego uaktualnić Lint, używając w pliku gradle.properties wersji android.experimental.lint.version=8.8.2 (lub nowszej). Aby uruchamiać sprawdzanie kodu Compose w IDE, musisz mieć Androida Studio Ladybug lub nowszego.

Nowe funkcje

  • Poprawiona wydajność przewijania w przypadku elementów udostępnionych (ea4f1f)

Zmiany w interfejsie API

  • Projekty wydane w Kotlinie 2.0 wymagają użycia KGP w wersji 2.0.0 lub nowszej. (Idb6b5)
  • Metody TabRowScrollableTabRow zostały wycofane na rzecz ich wersji podstawowych i dodatkowych. Wiersze na kartach Podstawowe i Dodatkowe działają wydajniej i są bardziej zgodne ze specyfikacją. (I918e2)
  • Dodano LocalResourceskompozycję lokalną do zasobów zapytań. Wywołanie funkcji LocalResources.current spowoduje ponowne skomponowanie, gdy zmieni się konfiguracja, więc wywołania interfejsów API, takich jak stringResource(), zwrócą zaktualizowane wartości (I50c13, b/274786917).

Poprawki błędów

  • Zapewnienie, że udostępnione elementy są usuwane z nakładki po zakończeniu przejścia (35f359)
  • Eliminate extra recomposition in Transition (988923)
  • Poprawiono obsługę przerwania przejścia dziecka (8aed52)
  • Zapewnienie resetowania przejścia po podaniu nowego parametru TransitionState (57820a)

Wkład zewnętrzny

  • Compose 1.8.1: kończenie animacji w SeekableTransitionState, jeśli czas trwania już minął, autor: Steven Schoen. (0c832c)

Wersja 1.8

Wersja 1.8.3

18 czerwca 2025 r.

Publikacja androidx.compose.animation:animation-*:1.8.3 Wersja 1.8.3 zawiera te zmiany.

Wersja 1.8.2

20 maja 2025 r.

Publikacja androidx.compose.animation:animation-*:1.8.2 Wersja 1.8.2 zawiera te zatwierdzenia.

Wersja 1.8.1

7 maja 2025 r.

Publikacja androidx.compose.animation:animation-*:1.8.1 Wersja 1.8.1 zawiera te zmiany.

Wkład zewnętrzny

  • Zakończ animacje w SeekableTransitionState, jeśli już minął nowy czas trwania. Dziękujemy Stevenowi Schoenowi! (fbcdf7)

Wersja 1.8.0

23 kwietnia 2025 r.

Publikacja androidx.compose.animation:animation-*:1.8.0 Wersja 1.8.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.7.0

  • Ważne zmiany w wersji 1.8.0 zostały opisane w tym artykule na blogu.
  • Nowy interfejs API Modifier.animateBounds do animowania zmian rozmiaru i pozycji w zakresie wyprzedzającym. (94b939)
  • Finalized APIs for Keyframes with Arcs and Splines (89e119)
  • Obsługiwane w LazyGrid i Pagerze. Obejmuje to rozróżnianie przewidywania przyszłości i przewidywania podejścia podczas przewijania, kompozycji/usuwania elementów i animacji elementów oraz wykorzystywanie przewidywania przyszłości jako źródła informacji o przewijaniu i docelowej animacji elementu.
  • Zmieniono nazwę parametru sharedElement z „state” na sharedContentState, aby zachować spójność w interfejsach API elementów udostępnionych. (9e7df5)
  • AnimatedImageVector interfejsów API jest już stabilny.(69d7e0)

Wersja 1.8.0-rc03

9 kwietnia 2025 r.

Publikacja androidx.compose.animation:animation-*:1.8.0-rc03 Wersja 1.8.0-rc03 zawiera te zmiany.

Wersja 1.8.0-rc02

26 marca 2025 r.

Publikacja androidx.compose.animation:animation-*:1.8.0-rc02 Wersja 1.8.0-rc02 zawiera te zmiany.

Wersja 1.8.0-rc01

12 marca 2025 r.

Publikacja androidx.compose.animation:animation-*:1.8.0-rc01 Wersja 1.8.0-rc01 zawiera te zmiany.

Poprawki błędów

  • Naprawiono problem z błędnym oznaczaniem przejścia do trybu dziecka jako przerwanego. (3fa2ce)

Wersja 1.8.0-beta03

26 lutego 2025 r.

Publikacja androidx.compose.animation:animation-*:1.8.0-beta03 Wersja 1.8.0-beta03 zawiera te zmiany.

Wersja 1.8.0-beta02

12 lutego 2025 r.

Publikacja androidx.compose.animation:animation-*:1.8.0-beta02 Wersja 1.8.0-beta02 zawiera te zmiany.

Wersja 1.8.0-beta01

29 stycznia 2025 r.

Publikacja androidx.compose.animation:animation-*:1.8.0-beta01 Wersja 1.8.0-beta01 zawiera te zmiany.

Wersja 1.8.0-alpha08

15 stycznia 2025 r.

Publikacja androidx.compose.animation:animation-*:1.8.0-alpha08 Wersja 1.8.0-alpha08 zawiera te zmiany.

Poprawki błędów

  • Rozwiązanie problemu z nieprawidłową animacją umieszczania z animateBoundsLazyGrid z powodu zresetowania MotionFrameOfReferencePlacement. (16193b)
  • Naprawiono wewnętrzne zapytanie w SharedTransitionLayout, przekierowując je do etapu wyprzedzającego z głównego węzła wyprzedzającego. (a07d12)
  • Dodano brakujące tagi @param w dokumentach. (e5cf67)

Wersja 1.8.0-alpha07

11 grudnia 2024 r.

Publikacja androidx.compose.animation:animation-*:1.8.0-alpha07 Wersja 1.8.0-alpha07 zawiera te zmiany.

Nowe funkcje

  • Obsługuje wyprzedzające wczytywanie w komponencie Pager, odróżniając wyprzedzające wczytywanie od wczytywania przybliżającego w celu zachowania elementów i wykorzystania przewijania. (b/371802474)

Poprawki błędów

  • Naprawia rzadki błąd powodujący awarię, gdy element współdzielony jest tworzony, ale nigdy nie jest mierzony ani umieszczany. Wymaga to renderowania elementu współdzielonego w miejscu docelowym co najmniej raz przed renderowaniem go w nakładce. (b/371802474)

Wersja 1.8.0-alpha06

13 listopada 2024 r.

Publikacja androidx.compose.animation:animation-*:1.8.0-alpha06 Wersja 1.8.0-alpha06 zawiera te zmiany.

Zmiany w interfejsie API

  • Zmieniono nazwę parametru sharedElementstate na sharedContentState, aby zachować spójność w interfejsach API elementów udostępnionych. (I5694c, b/375351468)
  • AnimatedImageVector interfejsów API jest już stabilna. (I7174b, b/261436267)

Wersja 1.8.0-alpha05

30 października 2024 r.

Publikacja androidx.compose.animation:animation-*:1.8.0-alpha05 Wersja 1.8.0-alpha05 zawiera te zmiany.

Nowe funkcje

  • Funkcja wyprzedzającego buforowania jest teraz dostępna w języku LazyGrid. Obejmuje to rozróżnianie przewidywania przyszłości i przewidywania podejścia podczas przewijania, kompozycji/usuwania elementów i animacji elementów oraz wykorzystywanie przewidywania przyszłości jako źródła informacji o przewijaniu i docelowej animacji elementu.

Poprawki błędów

  • Aktualizowanie stanów wewnętrznych przekształcenia rozmiaru elementu AnimatedContent, gdy przejście jest odtwarzane. Dzięki temu informacje o rozmiarze docelowym będą zawsze aktualne. (b/372512085)

Wersja 1.8.0-alpha04

16 października 2024 r.

Publikacja androidx.compose.animation:animation-*:1.8.0-alpha04 Wersja 1.8.0-alpha04 zawiera te zmiany.

Poprawki błędów

  • Naprawiliśmy błąd, który powodował awarię niektórych krzywych łagodzenia przy określonych ułamkach czasu.
  • Naprawiliśmy błąd, który powodował nieprawidłowe wyrównanie elementu Modifier.animateContentSize w przypadku języków zapisywanych od prawej do lewej. (Idae6b, b/372055503)

Wersja 1.8.0-alpha03

2 października 2024 r.

Publikacja androidx.compose.animation:animation-*:1.8.0-alpha03 Wersja 1.8.0-alpha03 zawiera te zmiany.

Zmiany w interfejsie API

  • Aktualizacja wersji Kotlina do 1.9 (I1a14c)

Poprawki błędów

  • Rozwiązaliśmy problem z animacją AnimatedContent rozmiaru, zawsze śledząc i rozpoczynając animację od bieżącego rozmiaru, aby zapewnić ciągłość.

Wersja 1.8.0-alpha02

18 września 2024 r.

Publikacja androidx.compose.animation:animation-*:1.8.0-alpha02 Wersja 1.8.0-alpha02 zawiera te zmiany.

Wersja 1.8.0-alpha01

4 września 2024 r.

Publikacja androidx.compose.animation:animation-*:1.8.0-alpha01 Wersja 1.8.0-alpha01 zawiera te zmiany.

Nowe funkcje

  • Nowy interfejs API Modifier.animateBounds do animowania zmian rozmiaru i pozycji w zakresie wyprzedzającym. 94b9394

Zmiany w interfejsie API

  • Usunięcie flag eksperymentalnych w przypadku klatek kluczowych z łukami i krzywymi splajnów (89e1199)

Poprawki błędów

  • Pomiń logikę placeHolderSize, gdy nie znaleziono dopasowania (77c0160)
  • Ograniczanie czasu odtwarzania w AndroidFlingSpline, aby zapobiec awariom spowodowanym przez niemonotonicznie rosnący czas odtwarzania(9d47587)
  • Rozwiązano problem z elementem SharedTransitionScope, który w określonych warunkach nie rysował elementów (b41077b6)

Wkład zewnętrzny

  • Zapobieganie ustawianiu przejścia z możliwością przewijania playTime, gdy nie ma aktywnego przejścia, autor: Steven Schoen. (c2e6e7e6)

Wersja 1.7

Wersja 1.7.8

12 lutego 2025 r.

Publikacja androidx.compose.animation:animation-*:1.7.8 Wersja 1.7.8 zawiera te zmiany.

Wersja 1.7.7

29 stycznia 2025 r.

Publikacja androidx.compose.animation:animation-*:1.7.7 Bez zmian w porównaniu z wersją 1.7.6. 11 grudnia 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.6 Wersja 1.7.6 zawiera te zmiany.

Wersja 1.7.5

30 października 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.5 Wersja 1.7.5 zawiera te zmiany.

Poprawki błędów

  • Naprawiliśmy błąd, który powodował nieprawidłowe wyrównanie elementu Modifier.animateContentSize w przypadku języków zapisywanych od prawej do lewej. (Idae6b, b/372055503)

Wersja 1.7.4

16 października 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.4 Wersja 1.7.4 zawiera te zmiany.

Wersja 1.7.3

2 października 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.3 Wersja 1.7.3 zawiera te zmiany.

Wersja 1.7.2

18 września 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.2 Wersja 1.7.2 zawiera te zmiany.

Wkład zewnętrzny

  • Zapobiega ustawianiu przejścia z możliwością przewijania playTime, gdy nie jest uruchomione żadne przejście. Dziękujemy Stevenowi Schoenowi! (c2e6e7e6)

Wersja 1.7.1

10 września 2024 r.

  • Brak zmian w artefaktach Androida. Usunięto -desktop artefaktów, a dodano -jvmStubs-linuxx64Stubs artefakty. Żaden z tych celów nie jest przeznaczony do użycia. Są to tylko symbole zastępcze, które mają pomóc w pracach nad Jetbrains Compose.

Wersja 1.7.0

4 września 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.0

Ważne zmiany od wersji 1.6.0

Ważne zmiany w wersji 1.7.0 zostały opisane w tym poście na blogu.

Nowe interfejsy API przejścia wspólnego elementu

  • Nowe interfejsy API przejścia między elementami współdzielonymi czekają na Twoje opinie. Te nowe eksperymentalne interfejsy API umożliwiają oznaczanie układów jako udostępnionych w drzewie układu za pomocą podanych modyfikatorów, co pozwala uzyskać płynnie zmieniające się granice, gdy jeden zestaw udostępnionych treści znika, a drugi się pojawia. (Icb0b9)
  • Nowe scaleInSharedContentToBounds i scaleOutSharedContentToBounds do skalowania treści w sharedBounds (I731c1)
  • Eksperymentalny interfejs SharedTransitionScope jest teraz interfejsem, a nie klasą. (Iaf856)
  • Nowa opcja resizeModes (ScaleToBoundsRemeasureToBounds) dla sharedBounds, która umożliwia wybór 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 niestandardowego wyrównania treści. (I5623a, b/269803907)
  • Nowy eksperymentalny interfejs DeferredTargetAnimation do animowania rozmiaru, pozycji lub dowolnego innego elementu docelowego, który jest nieznany podczas tworzenia instancji. (I60745)
  • SeekableTransitionState zastępuje snapTo() elementem seekTo() i dodaje snapTo(), który natychmiast zmienia stan na stan docelowy bez żadnej animacji.
  • Możesz teraz przekazywać wartość periodicBias (liczba zmiennoprzecinkowa) do parametru keyframesWithSpline. Dzięki temu początkowa i końcowa prędkość krzywej splajn będzie taka sama. Przydatne w przypadku powtarzalnych animacji wykorzystujących splajny. Odchylenie wskazuje, o ile należy zmodyfikować każdą prędkość (początkową i końcową), aby uzyskać okresowość. (Ic1e6c, b/292114811)

Te interfejsy API osiągnęły stan stabilności lub zostały usunięte:

  • Interfejs AnimatedVisibilityScope.transition jest teraz stabilnym interfejsem API. Modifier.animateEnterExit(..) również stał się stabilny. (I6c1d1)
  • ApproachLayoutModifierNodeModifier.approachLayout są teraz stabilne, a nowe isMeasurementApproachInProgress()isPlacementApproachInProgress() zastępują odpowiednio stare isMeasurementApproachComplete()isPlacementApproachComplete().
  • Usunięto wycofany modyfikator intermediateLayout. (I3e91c)
  • Interfejsy LookaheadScope API zostały ustabilizowane. (I21507)

Wersja 1.7.0-rc01

21 sierpnia 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.0-rc01 Wersja 1.7.0-rc01 zawiera te zmiany.

Wersja 1.7.0-beta07

7 sierpnia 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.0-beta07 Wersja 1.7.0-beta07 zawiera te zmiany.

Poprawki błędów

  • Naprawiono błąd polegający na tym, że w określonych warunkach, zwykle w przypadku używania z nawigacją, element SharedTransitionScope nie rysował elementów nakładki podczas przejścia. (Id65ab, b/347520198)

Wersja 1.7.0-beta06

24 lipca 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.0-beta06 Wersja 1.7.0-beta06 zawiera te zmiany.

Poprawki błędów

  • Rozwiązano problem z wyciekiem stanów przejścia w SeekableTransition przez prawidłowe czyszczenie obserwacji z SnapshotStateObserver po usunięciu przejścia. (b9c7182)
  • Rozwiązaliśmy problemy w przypadkach skrajnych, w których przejścia podrzędne nie były prawidłowo oznaczane jako ukończone, gdy ukończono przejście nadrzędne. (dc42216)

Wersja 1.7.0-beta05

10 lipca 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.0-beta05 Wersja 1.7.0-beta05 zawiera te zmiany.

Poprawki błędów

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

Wersja 1.7.0-beta04

26 czerwca 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.0-beta04 Wersja 1.7.0-beta04 zawiera te zmiany.

Wersja 1.7.0-beta03

12 czerwca 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.0-beta03 Wersja 1.7.0-beta03 zawiera te zmiany.

Wersja 1.7.0-beta02

29 maja 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.0-beta02 Wersja 1.7.0-beta02 zawiera te zmiany.

Wersja 1.7.0-beta01

14 maja 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.0-beta01 Wersja 1.7.0-beta01 zawiera te zmiany.

Zmiany w interfejsie API

  • Nowa opcja resizeModes (ScaleToBoundsRemeasureToBounds) dla sharedBounds, która umożliwia wybór między skalowaniem a ponownym pomiarem. Poprzednie interfejsy API scaleIn/OutSharedContentToBounds zostały wycofane. (I0d41a)

Wkład zewnętrzny

Wersja 1.7.0-alpha08

1 maja 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.0-alpha08 Wersja 1.7.0-alpha08 zawiera te zmiany.

Zmiany w interfejsie API

  • Interfejsy LookaheadScope API zostały ustabilizowane. (I21507)

Wkład zewnętrzny

  • Wymazywanie czasu animacji początkowej po animacji/zatrzaśnięciu SeekableTransitionState przez Stevena Schoena (1ca89529)

Wersja 1.7.0-alpha07

17 kwietnia 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.0-alpha07 Wersja 1.7.0-alpha07 zawiera te zmiany.

Nowe funkcje

  • Nowe interfejsy API przejścia między elementami współdzielonymi czekają na Twoje opinie. Te nowe eksperymentalne interfejsy API umożliwiają oznaczanie układów jako udostępnionych w drzewie układu za pomocą podanych modyfikatorów, co pozwala uzyskać płynnie zmieniające się granice, gdy jeden zestaw udostępnionych treści znika, a drugi się pojawia. (Icb0b9)
  • Nowe scaleInSharedContentToBounds i scaleOutSharedContentToBounds do skalowania treści w sharedBounds (I731c1)

Zmiany w interfejsie API

  • Interfejs AnimatedVisibilityScope.transition jest teraz stabilnym interfejsem API. Modifier.animateEnterExit(..) również stał się stabilny. (I6c1d1)
  • ApproachLayoutModifierNodeModifier.approachLayout są teraz stabilne, a nowe isMeasurementApproachInProgress()isPlacementApproachInProgress() zastępują odpowiednio stare isMeasurementApproachComplete()isPlacementApproachComplete().
  • Usunięto wycofany modyfikator intermediateLayout. (I3e91c)
  • Możesz teraz przekazywać wartość periodicBias (liczba zmiennoprzecinkowa) do parametru keyframesWithSpline. Dzięki temu początkowa i końcowa prędkość krzywej splajn będzie taka sama. Przydatne w przypadku powtarzalnych animacji wykorzystujących splajny. Odchylenie wskazuje, o ile należy zmodyfikować każdą prędkość (początkową i końcową), aby uzyskać okresowość. (Ic1e6c, b/292114811)

Poprawki błędów

  • Poprawiono krzywe łagodzenia, które wcześniej były ograniczane do zakresu 0–1 (I38747).

Wersja 1.7.0-alpha06

3 kwietnia 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.0-alpha06 Wersja 1.7.0-alpha06 zawiera te zmiany.

Nowe funkcje

  • Dodaliśmy obsługę animacji pojawiania się i znikania elementów w LazyColumn i LazyRow. Wcześniej można było dodać modyfikator Modifier.animateItemPlacement(), aby obsługiwać animacje umieszczania (zmiany kolejności). Wycofaliśmy ten modyfikator i wprowadziliśmy nowy, nieeksperymentalny modyfikator Modifier.animateItem(), który umożliwia obsługę wszystkich 3 rodzajów animacji: pojawiania się (przejście do pełnej widoczności), znikania (przejście do pełnej niewidoczności) i zmiany kolejności. (I2d7f7, b/330152398, b/150812265)

Poprawki błędów

  • Zwiększona wydajność interfejsu updateTransition API.

Wersja 1.7.0-alpha05

20 marca 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.0-alpha05 Wersja 1.7.0-alpha05 zawiera te zmiany.

Zmiany w interfejsie API

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

Wersja 1.7.0-alpha04

6 marca 2024 roku

Publikacja androidx.compose.animation:animation-*:1.7.0-alpha04 Wersja 1.7.0-alpha04 zawiera te zmiany.

Zmiany w interfejsie API

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

Wersja 1.7.0-alpha03

21 lutego 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.0-alpha03 Wersja 1.7.0-alpha03 zawiera te zatwierdzenia.

Nowe funkcje

  • Nowa funkcja Modifier.animateContentSize, która przyjmuje dodatkowy parametr do niestandardowego wyrównania treści. (I5623a, b/269803907)
  • Nowy eksperymentalny interfejs DeferredTargetAnimation do animowania rozmiaru, pozycji lub dowolnego innego elementu docelowego, który jest nieznany podczas tworzenia instancji. (I60745)

Wersja 1.7.0-alpha02

7 lutego 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.0-alpha02 Wersja 1.7.0-alpha02 zawiera te zatwierdzenia.

Poprawki błędów

  • Poprawka zgodności dla KeyframesSpec. (I2bdf3, b/322214617)
  • Rozwiązaliśmy problem z nieprawidłowym resetowaniem Modifier.animateContentSize podczas używania go w LazyList. (I070512, b/322525716)
  • Naprawiono IllegalStateException w przypadku KeyframesSpec, gdy używane są sygnatury czasowe spoza zakresu. (I341b8, b/322839811)

Wersja 1.7.0-alpha01

24 stycznia 2024 r.

Publikacja androidx.compose.animation:animation-*:1.7.0-alpha01 Wersja 1.7.0-alpha01 zawiera te zatwierdzenia.

Wersja 1.6

Wersja 1.6.8

12 czerwca 2024 r.

Publikacja androidx.compose.animation:animation-*:1.6.8 Wersja 1.6.8 zawiera te zmiany.

Wersja 1.6.7

1 maja 2024 r.

Publikacja androidx.compose.animation:animation-*:1.6.7 Wersja 1.6.7 zawiera te zmiany.

Wersja 1.6.6

17 kwietnia 2024 r.

Publikacja androidx.compose.animation:animation-*:1.6.6 Brak zmian od poprzedniej wersji

Wersja 1.6.5

3 kwietnia 2024 r.

Publikacja androidx.compose.animation:animation-*:1.6.5 Wersja 1.6.5 zawiera te zmiany.

Wersja 1.6.4

20 marca 2024 r.

Publikacja androidx.compose.animation:animation-*:1.6.4 Wersja 1.6.4 zawiera te zmiany.

Wersja 1.6.3

6 marca 2024 roku

Publikacja androidx.compose.animation:animation-*:1.6.3 Wersja 1.6.3 zawiera te zmiany.

Wersja 1.6.2

21 lutego 2024 r.

Publikacja androidx.compose.animation:animation-*:1.6.2 Wersja 1.6.2 zawiera te zatwierdzenia.

Wersja 1.6.1

7 lutego 2024 r.

Publikacja androidx.compose.animation:animation-*:1.6.1 Wersja 1.6.1 zawiera te zatwierdzenia.

Poprawki błędów

Wersja 1.6.0

24 stycznia 2024 r.

Publikacja androidx.compose.animation:animation-*:1.6.0 Wersja 1.6.0 zawiera te zatwierdzenia.

Wersja 1.6.0-rc01

10 stycznia 2024 r.

Publikacja androidx.compose.animation:animation-*:1.6.0-rc01 Wersja 1.6.0-rc01 zawiera te zatwierdzenia.

Wersja 1.6.0-beta03

13 grudnia 2023 r.

Publikacja androidx.compose.animation:animation-*:1.6.0-beta03 Wersja 1.6.0-beta03 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Tymczasowo usunięto scaleInToFitContainerscaleOutToFitContainerAnimatedContentTransitionScope, ponieważ wymagają one wyprzedzenia. Będą one dostępne, gdy w przyszłych wersjach funkcja wyprzedzającego wpisywania będzie domyślnie włączona lub gdy użytkownik ją włączy.

Wersja 1.6.0-beta02

29 listopada 2023 r.

Publikacja androidx.compose.animation:animation-*:1.6.0-beta02 Wersja 1.6.0-beta02 zawiera te zatwierdzenia.

Wersja 1.6.0-beta01

15 listopada 2023 r.

Publikacja androidx.compose.animation:animation-*:1.6.0-beta01 Wersja 1.6.0-beta01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Nazwa ExitTransition.Hold została zmieniona na ExitTransition.KeepUntilTransitionsFinished, aby była bardziej jednoznaczna. (I1c490)
  • Możesz teraz używać funkcji keyframesWithSpline do interpolacji dowolnej wartości N-wymiarowej za pomocą splajnów monotonicznych. Jest to szczególnie przydatne w przypadku interpolacji wartości pozycyjnych, takich jak Offset, IntOffset, DpOffset. Dodano jako eksperymentalny interfejs API.

Poprawki błędów

  • Dodaliśmy obsługę renderowania gradientu kołowego w ArcLine. (I4d5bb)
  • Zaimplementuj metody equals i hashcode dla klasy PageSize.Fixed. (Ie3ede, b/300134276)
  • Rozwiązano problem ze zgodnością binarną związany ze zmianą wstawki okna. (Iee695)
  • Usuń podstawową warstwę materiału w przypadku komponentu/przycisku Material3, ponieważ testy porównawcze pokazują, że bez niej działa lepiej. (I55555)

Wersja 1.6.0-alpha08

18 października 2023 r.

Publikacja androidx.compose.animation:animation-*:1.6.0-alpha08 Wersja 1.6.0-alpha08 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Wycofano KeyframesSpecConfig#with na rzecz KeyframesSpecConfig#using, które zachowuje wzorzec konstruktora. (I1d769)

Wersja 1.6.0-alpha07

4 października 2023 roku

Publikacja androidx.compose.animation:animation-*:1.6.0-alpha07 Wersja 1.6.0-alpha07 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Wiersze kart stałych i przewijanych mają teraz warianty podstawowe i dodatkowe. Są one prawidłowo zmapowane na kolor i zachowanie wskaźnika zgodnie z definicją w Material 3.
  • Elementy PrimaryScrollableTabRowSecondaryScrollableTabRow udostępniają teraz stan przewijania. (Iec8f5, b/260572337)

Wersja 1.6.0-alpha06

20 września 2023 r.

Publikacja androidx.compose.animation:animation-*:1.6.0-alpha06 Wersja 1.6.0-alpha06 zawiera te zatwierdzenia.

Wersja 1.6.0-alpha05

6 września 2023 r.

Publikacja androidx.compose.animation:animation-*:1.6.0-alpha05 Wersja 1.6.0-alpha05 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodano PathEasing, aby umożliwić podanie dowolnej ścieżki do krzywej łagodzenia. (Idb4b9)

Wersja 1.6.0-alpha04

23 sierpnia 2023 r.

Publikacja androidx.compose.animation:animation-*:1.6.0-alpha04 Wersja 1.6.0-alpha04 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodaj SeekableTransitionState, aby umożliwić deweloperom kontrolowanie postępu przejścia. (I8e69d)

Wersja 1.6.0-alpha03

9 sierpnia 2023 r.

Publikacja androidx.compose.animation:animation-*:1.6.0-alpha03 Wersja 1.6.0-alpha03 zawiera te zatwierdzenia.

Zmiany w interfejsie API

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

Wersja 1.6.0-alpha02

26 lipca 2023 r.

Publikacja androidx.compose.animation:animation-*:1.6.0-alpha02 Wersja 1.6.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Nowy ExitTransition.Hold wyświetla treści wychodzące w AnimatedContent, dopóki nie zakończą się oba przejścia (wejście i wyjście). (I5984f)
  • Dodatkowe adnotacje określające dozwolone dane wejściowe funkcji kompozycyjnych (I51109)

Wersja 1.6.0-alpha01

21 czerwca 2023 r.

Publikacja androidx.compose.animation:animation-*:1.6.0-alpha01 Wersja 1.6.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

  • Włącz pełną integrację Modifier.animateContentSizeAnimatedVisibility z systemem przewidywania, zgłaszając rozmiar docelowy w przepustce przewidywania.

Zmiany w interfejsie API

  • Nowa właściwość w IntrinsincMeasureScope i jej implementacje (np. MeasureScope) wskazujące, czy bieżące przejście pomiaru jest przejściem wyprzedzającym. (I7a812)

Poprawki błędów

  • Usunięto alokacje z animacji sprężynowych. (Ie9431)
  • zmieniono nazwę parametru value w przypadku Enum.valueOf (Ia9b89)
  • więcej wyjątków zgłaszanych przez enum valueOf (I818fe)

Wersja 1.5

Wersja 1.5.4

18 października 2023 r.

Publikacja androidx.compose.animation:animation-*:1.5.4 Wersja 1.5.4 zawiera te zatwierdzenia.

Wersja 1.5.3

4 października 2023 roku

Publikacja androidx.compose.animation:animation-*:1.5.3 Ta wersja nie zawiera żadnych zmian

Wersja 1.5.2

27 września 2023 r.

Publikacja androidx.compose.animation:animation-*:1.5.2 Wersja 1.5.2 zawiera te zatwierdzenia.

Wersja 1.5.1

6 września 2023 r.

Publikacja androidx.compose.foundation:foundation-*:1.5.1 Wersja 1.5.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiliśmy problem z wyświetlaniem klawiatury i możliwością edytowania pól tekstowych, gdy wartość readOnly była ustawiona na „true”. Naprawiliśmy też problem polegający na tym, że klawiatura nie wyświetlała się, gdy wartość readOnly zmieniała się z prawda na fałsz, gdy była aktywna. (I34a19, b/246909589)

Wersja 1.5.1

6 września 2023 r.

Publikacja androidx.compose.animation:animation-*:1.5.1 Wersja 1.5.1 zawiera te zatwierdzenia.

Wersja 1.5.0

9 sierpnia 2023 r.

Publikacja androidx.compose.animation:animation-*:1.5.0 Wersja 1.5.0 zawiera te zatwierdzenia.

Wersja 1.5.0-rc01

26 lipca 2023 r.

Publikacja androidx.compose.animation:animation-*:1.5.0-rc01 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 przypadku podstawowego typu stanu (np. MutableIntState) powodowało wyświetlanie ostrzeżenia narzędzia lint z nieprawidłową poprawką. Inspekcja będzie teraz zalecać migrację do właściwej usługi. (Iba953, b/287279257)

  • Dostępna jest opcjonalna inspekcja, która zaleca migrację wywołań mutableStateOf() do odpowiednich typów specjalistycznych dla typów prostych. Jego identyfikator to AutoboxingStateCreation. Wcześniej ta kontrola była domyślnie włączona we wszystkich projektach. Aby zobaczyć to ostrzeżenie w edytorze Androida Studio i w wynikach lintowania projektu, zmień jego ważność z informacyjnej na ostrzeżenie (lub wyższą), deklarując warning "AutoboxingStateCreation" w konfiguracji build.gradle lub build.gradle.kts modułu, jak pokazano poniżej (I34f7e):

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

Wersja 1.5.0-beta03

28 czerwca 2023 r.

Publikacja androidx.compose.animation:animation-*:1.5.0-beta03 Wersja 1.5.0-beta03 zawiera te zatwierdzenia.

Wersja 1.5.0-beta02

7 czerwca 2023 r.

Publikacja androidx.compose.animation:animation-*:1.5.0-beta02 Wersja 1.5.0-beta02 zawiera te zatwierdzenia.

Wersja 1.5.0-beta01

24 maja 2023 r.

Publikacja androidx.compose.animation:animation-*:1.5.0-beta01 Wersja 1.5.0-beta01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Usunięto alokacje w przypadku ponownego komponowania, animacji kolorów i AndroidComposeView (Ib2bfa)

Poprawki błędów

  • Usunięto alokacje z animacji sprężynowych (Ie9431)

Wersja 1.5.0-alpha04

10 maja 2023 r.

Publikacja androidx.compose.animation:animation-*:1.5.0-alpha04 Wersja 1.5.0-alpha04 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • ContentKey jest teraz obsługiwane w AnimatedContent, co zapewnia większą kontrolę nad momentem przejścia. (Ic069b)

Wersja 1.5.0-alpha03

19 kwietnia 2023 r.

Publikacja androidx.compose.animation:animation-*:1.5.0-alpha03 Wersja 1.5.0-alpha03 zawiera te zatwierdzenia.

Nowe funkcje

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

Zmiany w interfejsie API

  • Nowy domyślny typ intermediateMeasurePolicy, który ponownie wykorzystuje zasady pomiaru z wyprzedzającego przejścia, umożliwia domyślne działanie z wyprzedzającym przejściem podtypów SubcomposeLayout bez warunkowych miejsc docelowych, takich jak Scaffold, TabRowBoxWithConstraints. (Id84c8)
  • Zmień nazwę funkcji wrostkowej fun z na togetherWith, aby łączyć przejścia przy rozpoczęciu i zakończeniu wyświetlania elementów. Nowy AnimatedContentScope jako odbiorca funkcji lambda treści. (Ic39ae)

Wersja 1.5.0-alpha02

5 kwietnia 2023 r.

Publikacja androidx.compose.animation:animation-*:1.5.0-alpha02 Wersja 1.5.0-alpha02 zawiera te zatwierdzenia.

Nowe funkcje

  • Nowy eksperymentalny interfejs API obsługujący wyprzedzanie w SubcomposeLayout. Umożliwi to prawidłowe działanie aplikacji SubcomposeLayout na urządzeniu LookaheadScope. Wkrótce dodamy więcej gotowych funkcji obsługi konkretnych podtypów SubcomposeLayout.

Zmiany w interfejsie API

  • Nowy interfejs SubcomposeLayout API, który przyjmuje dodatkowe zasady dotyczące pomiarów pośrednich do obsługi logiki pomiarów/układu podczas animacji opartych na wyprzedzeniu. (I017d3)

Wersja 1.5.0-alpha01

22 marca 2023 r.

Publikacja androidx.compose.animation:animation-*:1.5.0-alpha01 Wersja 1.5.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • AnimatedContent Interfejsy API są teraz stabilne AnimatedContentScope został zmieniony na AnimatedContentTransitionScope. Interfejsy scaleInscaleOut są teraz stabilnymi interfejsami API. (Iaf54e)

Wersja 1.4

Wersja 1.4.3

3 maja 2023 r.

androidx.compose.animation:animation:1.4.3, androidx.compose.animation:animation-core:1.4.3 i androidx.compose.animation:animation-graphics:1.4.3 są publikowane bez zmian (tylko ze zmianą wersji).

Wersja 1.4.2

19 kwietnia 2023 r.

Usługi 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ą udostępniane bez zmian. Wersja 1.4.2 zawiera te zatwierdzenia.

Wersja 1.4.1

5 kwietnia 2023 r.

Usługi 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ą udostępniane bez zmian. Wersja 1.4.1 zawiera te zatwierdzenia.

Wersja 1.4.0

22 marca 2023 r.

androidx.compose.animation:animation:1.4.0, androidx.compose.animation:animation-core:1.4.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ędzia jest obsługiwana w rememberInfiniteTransition i we wszystkich funkcjach rozszerzenia w InfiniteTransition i Transition (np.InfiniteTransition#animateColor) (I56ef7).

Wersja 1.4.0-rc01

8 marca 2023 r.

Usługi 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ą udostępniane bez zmian. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.

Wersja 1.4.0-beta02

22 lutego 2023 roku

Usługi 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ą udostępniane bez zmian. Wersja 1.4.0-beta02 zawiera te zatwierdzenia.

Wersja 1.4.0-beta01

8 lutego 2023 r.

Usługi 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ą udostępniane bez zmian. Wersja 1.4.0-beta01 zawiera te zatwierdzenia.

Wersja 1.4.0-alpha05

25 stycznia 2023 r.

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

Zmiany

  • Od ostatniej wersji alfa nie wprowadzono żadnych zmian w bibliotekach animacji. Zmieniono tylko numer wersji.

Wersja 1.4.0-alpha04

11 stycznia 2023 r.

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

Nowe funkcje

  • Etykieta narzędzia jest obsługiwana w rememberInfiniteTransition oraz we wszystkich funkcjach rozszerzenia w 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-alpha03androidx.compose.animation:animation-graphics:1.4.0-alpha03 są dostępne. Wersja 1.4.0-alpha03 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • W testach interfejsu przeprowadzanych za pomocą reguły Compose wznowienia w wywołaniach zwrotnych withFrameNanos nie będą wysyłane, dopóki nie zostaną wykonane wszystkie wywołania zwrotne klatek. Odpowiada to działaniu funkcji tworzenia wiadomości w normalnych warunkach. Testy, które opierają się na starym działaniu, mogą jednak zakończyć się niepowodzeniem. Powinno to mieć wpływ tylko na kod, który bezpośrednio wywołuje funkcje withFrameNanos lub withFrameMillis, oraz na logikę poza wywołaniem zwrotnym przekazywaną do tych funkcji, którą może trzeba będzie przenieść do wywołań zwrotnych. Przykłady zmian w teście animacji znajdziesz w tym CL.
  • Dodano opcjonalny parametr onPerformTraversals: (Long) -> Unit do konstruktora TestMonotonicFrameClock i funkcji fabrycznej, aby uruchamiać kod po wywołaniach zwrotnych withFrameNanos, ale przed wznowieniem korutyn rozmówców. (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.

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

Zmiany w interfejsie API

  • Dodanie ToolingState, aby umożliwić narzędziom zmianę wewnętrznych stanów funkcji Composable (Ie6614)

Wersja 1.4.0-alpha01

24 października 2022 r.

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

Poprawki błędów

  • Naprawiono nieprawidłową animację przerwania w komponencie AnimatedContent (b/238662479)

Wersja 1.3

Wersja 1.3.3

11 stycznia 2023 r.

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

  • Bez 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.2androidx.compose.animation:animation-graphics:1.3.2 są dostępne. Wersja 1.3.2 zawiera te zatwierdzenia.

Poprawki błędów

  • Zaktualizowano obsługę androidx.compose.ui 1.3.2

Wersja 1.3.1

9 listopada 2022 r.

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

Wersja 1.3.0

24 października 2022 r.

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

Ważne zmiany od wersji 1.2.0

  • Nowy zestaw funkcji łagodzenia został ustabilizowany

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-rc01androidx.compose.animation:animation-graphics:1.3.0-rc01 są dostępne. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.

Wersja 1.3.0-beta03

21 września 2022 r.

androidx.compose.animation:animation:1.3.0-beta03, androidx.compose.animation:animation-core:1.3.0-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

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 z opcji kompilatora Kotlin.experimental, ponieważ jest ona przestarzała.

Wersja 1.3.0-beta01

24 sierpnia 2022 r.

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

Wersja 1.3.0-alpha03

10 sierpnia 2022 r.

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

Zmiany w interfejsie API

  • Nowy parametr w Crossfade, animateAsStateAnimatable dla etykiety narzędzia (Iac08a)
  • Dodano funkcję atFraction, która umożliwia definiowanie klatek kluczowych w ułamku zamiast w określonym czasie trwania. (I20c76, b/232059455)

Wersja 1.3.0-alpha02

27 lipca 2022 roku

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

Wersja 1.3.0-alpha01

29 czerwca 2022 r.

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

Zmiany w interfejsie API

  • Nowy LookaheadLayout, który obsługuje przekazywanie z wyprzedzeniem przed rzeczywistym pomiarem lub układem. Umożliwia to wstępne obliczenie układu, gdy się on zmienia, a jednocześnie pozwala na użycie obliczonych wcześniej rozmiarów i pozycji do animowania rozmiarów i pozycji w kierunku wartości docelowych. SubcomposeLayouts nie są jeszcze obsługiwane, ale będzie można z nich korzystać w przyszłej wersji. (I477f5)

Wersja 1.2

Wersja 1.2.1

10 sierpnia 2022 r.

androidx.compose.animation:animation:1.2.1, androidx.compose.animation:animation-core:1.2.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.0androidx.compose.animation:animation-graphics:1.2.0 są dostępne. Wersja 1.2.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.1.0

  • Animacja Compose obsługuje teraz ustawienie „Skala czasu trwania animatora” z opcji programisty.
  • Duży wybór nowych eksperymentalnych krzywych łagodzenia.
  • Usługa AnimatedImageVector obsługuje teraz repeatCountrepeatMode

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-rc03androidx.compose.animation:animation-graphics:1.2.0-rc03 są dostępne. Wersja 1.2.0-rc03 zawiera te zatwierdzenia.

  • Brak zmian od wersji 1.2.0-rc02.

Wersja 1.2.0-rc02

22 czerwca 2022 r.

androidx.compose.animation:animation:1.2.0-rc02, androidx.compose.animation:animation-core:1.2.0-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 Easing (Ied441)

Wersja 1.2.0-rc01

15 czerwca 2022 r.

androidx.compose.animation:animation:1.2.0-rc01, androidx.compose.animation:animation-core:1.2.0-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 Compose są teraz tworzone przy użyciu domyślnych metod interfejsu jdk8 (I5bcf1).

Wersja 1.2.0-beta03

1 czerwca 2022 r.

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

Zmiany w interfejsie API

  • Dodano eksperymentalne krzywe łagodzenia animacji (I64a38)

Wersja 1.2.0-beta02

18 maja 2022 r.

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

Wersja 1.2.0-beta01

11 maja 2022 roku

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

  • To pierwsza wersja beta 1.2. Od ostatniej wersji alfa nie wprowadzono żadnych zmian.

Wersja 1.2.0-alpha08

20 kwietnia 2022 r.

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

Wersja 1.2.0-alpha07

6 kwietnia 2022 roku

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

Zmiany w interfejsie API

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

Wersja 1.2.0-alpha06

23 marca 2022 r.

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

Zmiany w interfejsie API

  • Zaktualizowano analizowanie rysunków wektorowych, aby obsługiwać automatyczne odbijanie lustrzane w celu odwracania treści elementu VectorPainter, jeśli bieżący kierunek układu to RTL. (I79cd9, b/185760237)

Poprawki błędów

  • Zaktualizowano interfejsy Vector graphics API, aby używały odpowiedniej adnotacji @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-alpha05androidx.compose.animation:animation-graphics:1.2.0-alpha05 są dostępne. Wersja 1.2.0-alpha05 zawiera te zmiany.

Zmiany w interfejsie API

  • Hurra! Animacja kompozycji obsługuje teraz ustawienie „Skala czasu trwania animatora” z opcji programisty. (I5a4fc, b/161675988)

Wersja 1.2.0-alpha04

23 lutego 2022 r.

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

Wersja 1.2.0-alpha03

9 lutego 2022 r.

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

Wersja 1.2.0-alpha02

26 stycznia 2022 r.

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

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-alpha01androidx.compose.animation:animation-graphics:1.2.0-alpha01 są dostępne. Wersja 1.2.0-alpha01 zawiera te zmiany.

Zmiany w interfejsie API

  • Aby wczytać plik zasobu <animated-vector>, użyj AnimatedImageVector.animatedVectorResource zamiast animatedVectorResource.
    • Aby wyrenderować znak AnimatedImageVector, użyj znaku 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 Kotlin 1.6.10.

Wersja 1.1

Wersja 1.1.1

23 lutego 2022 r.

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

Poprawki błędów

  • Rozwiązanie problemu NullPointerException na stronie androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059, b/206677462)
  • Rozwiązaliśmy problem z awarią spowodowaną przez zawartość schowka podczas odczytu ze schowka na Androidzie. (I06020, b/197769306)
  • Poprawiono układ od prawej do lewej w LazyVerticalGrid (aosp/1931080, b/207510535)

Wersja 1.1.0

9 lutego 2022 r.

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

Ważne zmiany od wersji 1.0.0

  • Stabilna obsługa efektu przewijania w Androidzie 12
  • Ulepszenia rozmiaru obszaru dotykowego
  • Pamiętaj, że w przypadku Compose 1.0 komponenty Material rozszerzą swój obszar układu, aby spełnić wytyczne dotyczące ułatwień dostępu w interfejsie Material w zakresie rozmiaru docelowego elementu dotykowego. Na przykład docelowy element dotykowy przycisku zostanie powiększony do minimalnego rozmiaru 48x48 dp, nawet jeśli ustawisz mniejszy rozmiar przycisku. Dzięki temu biblioteka Compose Material zachowuje się tak samo jak komponenty Material Design, co zapewnia spójne działanie, jeśli używasz widoków i biblioteki Compose. Ta zmiana zapewnia też, że gdy tworzysz interfejs za pomocą komponentów Compose Material, spełnione zostaną minimalne wymagania dotyczące dostępności docelowych elementów dotykowych.
  • Stabilna obsługa kolumny nawigacji
  • Przekształca kilka eksperymentalnych interfejsów API w stabilne.
  • Obsługa nowszych wersji języka Kotlin

Wersja 1.1.0-rc03

26 stycznia 2022 r.

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

Poprawki błędów

  • Zaktualizowano obsługę Compose Material w wersji 1.1.0-rc03

Wersja 1.1.0-rc01

15 grudnia 2021 roku

androidx.compose.animation:animation:1.1.0-rc01androidx.compose.animation:animation-core:1.1.0-rc01 zostały opublikowane. Wersja 1.1.0-rc01 zawiera te zmiany.

Zmiany w interfejsie API

  • Aby wczytać plik zasobu <animated-vector>, użyj AnimatedImageVector.animatedVectorResource zamiast animatedVectorResource.
    • Aby wyrenderować znak AnimatedImageVector, użyj znaku 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-beta04androidx.compose.animation:animation-graphics:1.1.0-beta04 są dostępne. Wersja 1.1.0-beta04 zawiera te zmiany.

Nowe funkcje

  • Zaktualizowano, aby była zgodna z Kotlinem 1.6.0

Wersja 1.1.0-beta03

17 listopada 2021 r.

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

Zmiany w interfejsie API

  • Dodano nowy modyfikator Modifier.onPlaced, który umożliwia obserwowanie zmian w miejscu docelowym. Dodatkowe zmiany przesunięcia modyfikatora podrzędnego można więc wprowadzać na podstawie zaobserwowanej zmiany miejsca docelowego. (I558fd)
  • Nowa obsługa parametru contentKey w funkcji Crossfade. Klucz ContentKey będzie używany przez system animacji do sprawdzania równości. Dlatego niestandardowe porównywanie stanów można uzyskać, określając odpowiedni klucz contentKey dla różnych stanów.

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

Wersja 1.1.0-beta02

3 listopada 2021 r.

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

Poprawki błędów

  • Nowe interfejsy API animacji do obsługi narzędzi. Umożliwiają one narzędziom 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-beta01androidx.compose.animation:animation-graphics:1.1.0-beta01 są dostępne. Wersja 1.1.0-beta01 zawiera te zmiany.

Zmiany w interfejsie API

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

Wersja 1.1.0-alpha06

13 października 2021 r.

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

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-alpha05androidx.compose.animation:animation-graphics:1.1.0-alpha05 są dostępne. Wersja 1.1.0-alpha05 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • EnterTransition, ExitTransition i niektóre interfejsy API AnimatedVisibility zostały udostępnione w wersji stabilnej. MutableTransitionState.isIdle nie jest już też funkcją eksperymentalną. (I5072d)

  • Zmiana powodująca niezgodność: lambdy 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.

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

Wersja 1.1.0-alpha03

1 września 2021 roku

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

Nowe funkcje

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

Wersja 1.1.0-alpha02

18 sierpnia 2021 r.

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

Zmiany w interfejsie API

  • Właściwość StartOffset jest teraz obsługiwana w przypadku animacji repeatable i infiniteRepeatable. Umożliwia opóźnienie czasu rozpoczęcia lub przyspieszenie animacji przed jej rozpoczęciem. Ten przesunięty początek nie będzie się powtarzać (Ic679f, b/195079908)
  • Nowe przejście 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-alpha01androidx.compose.animation:animation-graphics:1.1.0-alpha01 są dostępne. Wersja 1.1.0-alpha01 zawiera te zmiany.

Zmiany w interfejsie API

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

Poprawki błędów

Wersja 1.0

Wersja 1.0.5

3 listopada 2021 r.

androidx.compose.animation:animation:1.0.5androidx.compose.animation:animation-core:1.0.5 zostały opublikowane. Wersja 1.0.5 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiliśmy awarię śledzenia 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 zostały opublikowane. Wersja 1.0.4 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Zaktualizowano, aby zależał od 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 zostały opublikowane. Wersja 1.0.3 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Zaktualizowano, aby zależał od Kotlin 1.5.30

Wersja 1.0.2

1 września 2021 roku

androidx.compose.animation:animation:1.0.2androidx.compose.animation:animation-core:1.0.2 zostały opublikowane. Wersja 1.0.2 zawiera te zatwierdzenia.

Zaktualizowano, aby obsługiwać wersję Compose 1.0.2. 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 zostały opublikowane. Wersja 1.0.1 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Zaktualizowano, aby zależał od Kotlina w wersji 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 zostały opublikowane. Wersja 1.0.0 zawiera te zatwierdzenia.

Główne funkcje wersji 1.0.0

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

Znane problemy

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

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

    Aby to naprawić, tymczasowo zwiększ wartość parametru minSdkVersion do 24 lub wyższej w pliku build.gradle. Ten problem zostanie rozwiązany w kolejnej 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 zostały opublikowane. 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 zostały opublikowane. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

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

Wersja 1.0.0-beta09

16 czerwca 2021 r.

androidx.compose.animation:animation:1.0.0-beta09androidx.compose.animation:animation-core:1.0.0-beta09 zostały opublikowane. Wersja 1.0.0-beta09 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Nowy element AnimatedContent Composable. Zarządza zmianami treści za pomocą konfigurowalnych ContentTransform, gdy pojawiają się nowe treści docelowe, a początkowe treści są usuwane. Różne kombinacje przejść wejścia i wyjścia mogą służyć do uzyskania dostosowanego wyglądu i wrażenia. W ramach przekształcenia treści AnimatedContent automatycznie animuje swój rozmiar, aby dopasować go do przychodzących treści. (I2c3df)
  • Użytkownik ManualFrameClock został usunięty. Jeśli chcesz sterować animacjami, użyj composeTestRule.mainClock. (I3c3e8, b/189951065)

Dodane reguły profilu

W tej wersji dodaliśmy reguły profilu do tych modułów kompozycji (I14ed6):

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.foundation
  • androidx.compose.foundation-layout
  • androidx.compose.material
  • androidx.compose.material-ripple
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.graphics
  • androidx.compose.ui.text
  • androidx.compose.ui.text
  • androidx.compose.ui.unit
  • androidx.compose.ui.util

Czym są reguły profilu?

  • Reguły profilu dla biblioteki są określone w pliku tekstowym baseline-prof.txt znajdującym się w katalogu src/main lub w odpowiednim katalogu. Plik zawiera regułę w każdym wierszu. W tym przypadku reguła jest wzorcem dopasowywanym do metod lub klas w bibliotece. Składnia tych reguł jest nadzbiorem formatu profilu ART czytelnego dla człowieka, który jest używany podczas korzystania z adb shell profman --dump-classes-and-methods .... Reguły te przyjmują jedną z 2 form, aby kierować reklamy na metody lub klasy.

  • Reguła metody będzie mieć ten wzorzec:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • Reguła klasy będzie miała następujący wzorzec:

    <CLASS_DESCRIPTOR>
    
  • W tym przypadku <FLAGS> to co najmniej jeden z tych znaków: H, SP. Wskazuje on, czy ta metoda powinna być oznaczona jako „Hot”, „Startup” lub „Post Startup”.

  • <CLASS_DESCRIPTOR> to deskryptor klasy, do której należy kierowana metoda. Na przykład klasa androidx.compose.runtime.SlotTable będzie miała deskryptor Landroidx/compose/runtime/SlotTable;.

  • Symbol <METHOD_SIGNATURE> to sygnatura metody, która zawiera jej nazwę, typy parametrów i typy zwracanych wartości. Na przykład metoda fun isPlaced(): BooleanLayoutNode ma sygnaturę isPlaced()Z.

  • Wzorce mogą zawierać symbole wieloznaczne (**, *?), dzięki czemu jedna reguła może obejmować wiele metod lub klas.

Do czego służą reguły?

  • Metoda oznaczona flagą H jest „gorącą” metodą i powinna zostać skompilowana z wyprzedzeniem.

  • Metoda oznaczona flagą S jest wywoływana podczas uruchamiania i powinna być skompilowana z wyprzedzeniem, aby uniknąć kosztów kompilacji i interpretacji w momencie uruchamiania.

  • Metoda oznaczona flagą P jest wywoływana po uruchomieniu.

  • Klasa obecna w tym pliku wskazuje, że jest używana podczas uruchamiania i powinna być wstępnie przydzielona w stercie, aby uniknąć kosztów ładowania klasy.

Jak to działa?

  • Biblioteki mogą definiować te reguły, które będą pakowane w artefakty AAR. Gdy aplikacja zawierająca te artefakty zostanie skompilowana, reguły zostaną połączone, a połączone reguły zostaną użyte do utworzenia kompaktowego binarnego profilu ART, który jest specyficzny dla aplikacji. ART może następnie wykorzystać ten profil podczas instalowania aplikacji na urządzeniach, aby skompilować z wyprzedzeniem określony podzbiór aplikacji i zwiększyć jej wydajność, zwłaszcza podczas pierwszego uruchomienia. Nie będzie to miało wpływu na aplikacje, które można debugować.

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 zostały opublikowane. Wersja 1.0.0-beta08 zawiera te zatwierdzenia.

Poprawki błędów

  • Teraz detectDragGesures, detectVerticalGesturesdetectHorizontalGestures będą automatycznie wykorzystywać zmianę pozycji, więc nie musisz wywoływać funkcji change.consumePositionChange w wywołaniach zwrotnych onDrag (I42fc4, b/185096350, b/187320697).
  • Modifier.onGloballyPositioned() została zmieniona, 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 teraz na to, jakie współrzędne będą raportowane. (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 zostały opublikowane. Wersja 1.0.0-beta07 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Nowy interfejs API AnimatedVisibility, który umożliwia określanie widoczności w MutableTransitionState. Umożliwia to również obserwowanie stanów animacji poza AnimatedVisibility za pomocą currentStateisIdle.
    • Nowe wsparcie w zakresie przejścia na konto dziecka w programie przejścia
    • Obsługa niestandardowej animacji przejścia wyjścia/wejścia w komponencie AnimatedVisibility za pomocą AnimationScope.transition
    • Nowy modyfikator animateEnterExit dostępny dla wszystkich elementów podrzędnych komponentu AnimatedVisibility
    • Wycofano interfejsy AnimatedVisibility API, 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 zostały opublikowane. 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 zostały opublikowane. Wersja 1.0.0-beta05 zawiera te zatwierdzenia.

Poprawki błędów

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

Wersja 1.0.0-beta04

7 kwietnia 2021 r.

androidx.compose.animation:animation:1.0.0-beta04androidx.compose.animation:animation-core:1.0.0-beta04 zostały opublikowane. Wersja 1.0.0-beta04 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Usunęliśmy publiczne instancje RowScope, ColumnScope, BoxScopeBoxWithConstraintsScope. (I4e83e, b/181869067)

Wersja 1.0.0-beta03

24 marca 2021 r.

androidx.compose.animation:animation:1.0.0-beta03androidx.compose.animation:animation-core:1.0.0-beta03 zostały opublikowane. 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 zostały opublikowane. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.

Poprawki błędów

  • Wymuszanie ograniczeń dotyczących 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-beta01androidx.compose.animation:animation-core:1.0.0-beta01 zostały opublikowane. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

To pierwsza wersja Compose 1.0.0 w wersji beta.

Zmiany w interfejsie API

  • InteractionState zostało zastąpione przez [Mutable]InteractionSource
    • Interfejsy odpowiadają za wysyłanie i zbieranie zdarzeń interakcji.
    • Zamiast przekazywać wartość interactionState = remember { InteractionState() } do komponentów takich jak ButtonModifier.clickable(), użyj wartości interactionSource = remember { MutableInteractionSource() }.
    • Zamiast: Interaction.Pressed in interactionState używaj funkcji rozszerzających w obiekcie InteractionSource, np. InteractionSource.collectIsPressedAsState().
    • W przypadku złożonych przypadków użycia możesz użyć InteractionSource.interactions, aby obserwować strumień interakcji. Więcej informacji znajdziesz w dokumentacji i przykładach dotyczących 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. Zmieniono nazwy modyfikatorów Modifier.width/height/size na requiredWidth/requiredHeight/requiredSize. Zmieniono nazwy modyfikatorów Modifier.preferredWidth/preferredHeight/preferredSize na width/height/size. (I5b414)
  • Szkolenie zostało przeniesione do pakietu podstawowego. Klasa VelocirtTracker została przeniesiona z ui.gesture do ui.input.pointer. (Iff4a8, b/175294473)
  • Klasy AnimationClockObservable i ich podklasy zostały usunięte. Usunięto AnimatedFloat. (Icde52, b/177457083)
  • Funkcja Modifier.draggable akceptuje teraz DraggableState zamiast zwykłej funkcji lambda. Stan możesz utworzyć za pomocą rememberDraggableState { delta -> }, aby uzyskać takie samo działanie jak wcześniej (Ica70f, b/175294473).
  • Usunięto interfejsy API animate, animatedValue i AnimatedValue (If27bc, b/177457083)
  • Usunięto AnimationEndReason.Interrupted. Jeśli animacja zostanie przerwana, zostanie zgłoszony 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 zostały opublikowane. Wersja 1.0.0-alpha12 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Modifier.pointerInput wymaga teraz kluczy pamięci, aby wskazywać, kiedy korutyna wykrywania danych wejściowych wskaźnika powinna zostać ponownie uruchomiona w przypadku nowych zależności. (I849cd)
  • Bounds zmieniono na DpRect (I4b32a)
  • Ujednolicono nazwę parametru AnimationSpec na animationSpec w całym systemie animacji. Ogranicz też Enter/ExitTransition, aby akceptował FiniteAnimationSpec. (Ie47c5, b/177457083)
  • Funkcje Animatable.snapTo i Animatable.stop są teraz funkcjami zawieszania (If4288).
  • Podobnie jak wcześniej usunęliśmy funkcję state { 0 } i teraz promujemy używanie funkcji remember { mutableStateOf(0) }, usuniemy funkcję savedInstanceState { 0 }. Zamiast tego używaj rememberSaveable { mutableStateOf(0) }. Będzie ona automatycznie zapisywać i przywracać stan, jeśli typ użyty w MutableState można zapisać w Bundle. Jeśli wcześniej przekazywano niestandardowy obiekt zapisujący, teraz trzeba użyć nowego przeciążenia funkcji rememberSaveable, które ma parametr stateSaver. Użycie będzie wyglądać tak: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • Zaktualizowano sygnaturę metody Crossfade, aby była bardziej spójna z pozostałą częścią systemu animacji. (Ib05ed, b/177457083)
  • Funkcja rememberSavedInstanceState() została zmieniona na rememberSaveable() i przeniesiona do pakietu androidx.compose.runtime.saveable. (I1366e, b/177338004)
  • Klasa RestorableStateHolder została zmieniona na SaveableStateHolder i przeniesiona do pakietu androidx.compose.runtime.saveable. Metoda wewnętrzna RestorableStateProvider została zmieniona na SaveableStateProvider. Typ ogólny został usunięty, więc jako klucz możesz przekazać dowolny typ. Adnotacja eksperymentalna nie jest już potrzebna. (I0902e, b/174598702)
  • Zaktualizowano interfejs API Modifier.animateContentSize, aby był zgodny z pozostałą częścią systemu animacji. (I0bf75, b/177457083)
  • Właściwość AnimatedValue/Float została wycofana. Zamiast tego użyj interfejsu Animatable. (I71345, b/177457083)
  • Funkcje tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter i pressIndicaitonGestureFilter zostały wycofane. Zamiast tego użyj Modifier.clickable lub Modifier.pointerInput z funkcją detectTapGestures. (I6baf9, b/175294473)
  • Wprowadzono element InfiniteAnimationPolicy kontekstu współprogramu, który będzie stosowany w animacjach nieskończonych. Domyślnie nie jest instalowana żadna zasada, z wyjątkiem testów przeprowadzanych w projekcie ComposeTestRule. (I50ec4, b/151940543)
  • Metody destrukcji i copy() zostały usunięte z kilku klas, w których były rzadko używane. (I26702, b/178659281)
  • Czas odtwarzania animacji jest teraz ujednolicony do nanosekund (If776a)
  • Artefakt compose:runtime-dispatch został wycofany. Klasa MonotonicFrameClock znajduje się teraz w pakiecie compose:runtime, a klasa AndroidUiDispatcher – w pakiecie compose:ui. (Ib5c36)
  • Dodano Animation.isInfiniteVectorizedAnimationSpec.isInfinite, które wskazują, czy animacja jest nieskończona. Można go używać w implementacjach animacji, aby specjalnie je obsługiwać. Można na przykład wyświetlić specjalny komunikat „time remaining” (pozostały czas) lub podczas testów anulować animację, aby uniknąć nieokreślonego czasu oczekiwania na bezczynność. (Iebb05, b/151940543)
  • Używanie typu czasu animacji „Długi” 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 zostały opublikowane. Wersja 1.0.0-alpha11 zawiera te zmiany.

Zmiany w interfejsie API

  • Wycofano przejście oparte na TransitionDefinition (I0ac57)
  • Dodano pole etykiety dla przejść i animacji podrzędnych, które będą wyświetlane w narzędziach (I619fb).
  • Funkcja animateAsState została zmieniona na animateFooAsState, gdzie Foo to typ animowanej zmiennej, np. Float, Dp, Offset itp. (Ie7e25)
  • Nowa funkcja InfiniteTransition, która uruchamia dowolną liczbę animacji podrzędnych. (I1da81)
  • Zmienia interfejsy parametrów stanowych Material na funkcje @Composable, które zwracają State<T>. Dodaje Animatable.asState(), aby ułatwić przekształcanie obiektu Animatable w obiekt State. Zmienia też animateElevation na rozszerzenie zawieszające w przypadku Animatable. (If613c)

Poprawki błędów

  • Funkcje onCommit, onDispose i onActive zostały wycofane na rzecz interfejsów SideEffect i DisposableEffect API (If760e).
  • Stan początkowy w funkcji updateTransition jest teraz obsługiwany (Ifd51d)
  • Do obrazu i ikony dodano parametr opisu treści. Służy do przekazywania opisu usługom ułatwień dostępu (I2ac4c).
  • Funkcje invalidate i compositionReference() zostały wycofane na rzecz funkcji currentRecomposeScope i rememberCompositionReference. (I583a8)
  • Wartości Duration i Uptime zostaną zastąpione wartościami Long milliseconds, a ten krok usuwa zależność danych wejściowych wskaźnika od tych klas. (Ia33b2, b/175142755, b/177420019)
  • elementy, które można kliknąć, przełączać i wybierać, można teraz tworzyć poza kompozycją (I0a130, b/172938345, b/175294473);
  • Zastosowano funkcjonalny interfejs (Ib14e5)
  • Nowa metoda fabryczna items(count: Int) dla zakresu LazyColumn/LazyRow/LazyVerticalGrid. items(items: List)itemsIndexed(items: List) są teraz funkcjami rozszerzającymi, więc musisz je ręcznie importować, gdy są używane. Nowe przeciążenia rozszerzeń dla tablic: items(items: Array) i itemsIndexed(Array) (I803fc, b/175562574)
  • Używanie TestCoroutineDispatcher w testach (I532b6)
  • Usunięto PointerInputData i zmodyfikowano PointerInputChange, aby zawierał wszystkie pola PointerInputData. Uczyniono klasy PointerInputEvent i PointerInputEventData wewnętrznymi, 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 zostały opublikowane. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Zmodyfikowano Velocity, aby zawierał części składowe i operacje matematyczne. (Ib0447)
  • Zmieniono nazwę @ExperimentalTesting na @ExperimentalTestApi, aby była zgodna z podobnymi eksperymentalnymi adnotacjami interfejsu API (Ia4502, b/171464963)
  • Zmiana nazwy pozycji na DpOffset i usunięcie funkcji getDistance() (Ib2dfd)
  • Usunięto publiczny interfejs API Any.identityHashCode() (I025d7)

Poprawki błędów

  • Nowy interfejs API oparty na korutynachAnimatable, który zapewnia wzajemną wyłączność animacji. Nowy interfejs DecayAnimationSpec do obsługi wielowymiarowej animacji zanikania (I820f2, b/168014930)
  • animate() zastępuje teraz animateAsState(), która zwraca State<T> zamiast T. Umożliwia to lepszą wydajność, ponieważ zakres unieważnienia można zawęzić do miejsca, w którym odczytywana jest wartość stanu. (Ib179e)

Wersja 1.0.0-alpha09

16 grudnia 2020 roku

androidx.compose.animation:animation:1.0.0-alpha09androidx.compose.animation:animation-core:1.0.0-alpha09 zostały opublikowane. Wersja 1.0.0-alpha09 zawiera te zatwierdzenia.

Zmiany w interfejsie API

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

Poprawki błędów

  • Funkcje lambda w modyfikatorach przesunięcia zwracają teraz IntOffset zamiast Float. (Ic9ee5, b/174137212, b/174146755)
  • Wycofanie funkcji LazyColumnFor, LazyRowFor, LazyColumnForIndexed i LazyRowForIndexed. Zamiast tego używaj komponentów LazyColumn i LazyRow (I5b48c).
  • W przypadku interfejsów API zawieszających dane wejściowe wskaźnika zmieniono nazwy funkcji HandlePointerInputScope na AwaitPointerEventScope i handlePointerInput() na awaitPointerEventScope(). (Idf0a1, b/175142755)
  • Nowa funkcja infiniteRepeatable do tworzenia obiektu InfiniteRepeatableSpec (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 zostały opublikowane. Wersja 1.0.0-alpha08 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodano sprawdzanie składni nazw i pozycji parametrów funkcji lambda, aby zapewnić zgodność ze wskazówkami dotyczącymi Compose. Zgodnie z kontrolą składni i wskazówkami zmieniliśmy też nazwy niektórych interfejsów API, które używały children jako nazwy funkcji lambda na końcu, na content. (Iec48e)
  • Usunięto wycofane wcześniej interfejsy API:
    • Usunięto element Modifier.onPositioned. Użyj elementu Modifier.onGloballyPositioned.
    • Usunięto element Modifier.onDraw. Użyj elementu Modifier.onDrawBehind.
    • Usunięto element Modifier.plus. Użyj elementu Modifier.then.
    • Usunięto element Color.Unset. Użyj elementu Color.Unspecified.
    • Klasa PxBounds została usunięta. Zamiast niej używaj klasy Rect.
    • (Ie9d02, b/172562222)
  • Tymczasowo dodana opcja umożliwiająca sterowanie zegarem TestAnimationClock za pomocą zegara MonotonicFrameClock (I1403b, b/173402197)

Poprawki błędów

  • Zmieniono nazwę Modifier.drawLayer na Modifier.graphicsLayer. Zaktualizowano też powiązane klasy do GraphicsLayer zgodnie z opinią rady API. (I0bd29, b/173834241)
  • Dodano interfejsy Modifier.scale/rotate jako ułatwienia dla drawLayer.
    • Zmiana nazwy Modifier.drawOpacity na Modifier.alpha
    • Zmiana nazwy funkcji Modifier.drawShadow na Modifier.shadow (I264ca, b/173208140)
  • Pola uptime i position w klasie PointerInputData nie mogą mieć wartości null. (Id468a)
  • Modyfikatory offsetPx zostały zmienione na offset. Zamiast parametru State przyjmują teraz parametry lambda. (Ic3021, b/173594846)
  • Nowe interfejsy API do uruchamiania animacji w korutynach (Ied662)
  • Wycofaliśmy właściwości Ambients, których nazwy miały sufiks Ambient, i zastąpiliśmy je nowymi właściwościami z prefiksem Ambient, zgodnie z innymi właściwościami Ambients i wytycznymi interfejsu Compose API. (I33440)
  • Kontrola czasu w testach (TestAnimationClock i jej zastosowania) jest teraz eksperymentalna (I6ef86, b/171378521).
  • Usuwanie starego modułu ui-test i jego elementów zastępczych (I3a7cb)
  • Funkcja RestorableStateHolder.withRestorableState została zmieniona na RestorableStateProvider (I66640)
  • Interfejs wyrównania został zaktualizowany i jest już 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 zostały opublikowane. Wersja 1.0.0-alpha07 zawiera te zatwierdzenia.

Poprawki błędów

  • Podstawowe style AmbientTextStyle, ProvideTextStyle i AmbientContentColor zostały wycofane. Zamiast tego używaj nowych wersji dostępnych w bibliotece Material. W przypadku aplikacji innych niż Material Design utwórz własny system projektowania z motywami, które można wykorzystać w komponentach. (I74acc, b/172067770)
  • foundation.Text został wycofany i zastąpiony przez material.Text. Podstawowy interfejs API tekstu, który nie korzysta z wartości z motywu, znajdziesz w artykule androidx.compose.foundation.BasicText. (If64cb)
  • Element MeasureResult został przeniesiony poza element MeasureScope. (Ibf96d, b/171184002)
  • Kilka symboli związanych z układem zostało przeniesionych z pakietu androidx.compose.ui do pakietu 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 zostały opublikowane. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.

Zmiany w interfejsie API

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

Wersja 1.0.0-alpha05

14 października 2020 r.

androidx.compose.animation:animation:1.0.0-alpha05androidx.compose.animation:animation-core:1.0.0-alpha05 zostały opublikowane. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Nowy interfejs animacji i jego podklasy: te klasy przechowują warunki początkowe i końcowe animacji, dzięki czemu umożliwiają sprawdzanie wartości i prędkości tylko na podstawie czasu odtwarzania (Ie95bd, b/163329867).

Poprawki błędów

  • Interfejs OnPositionedModifier został zmieniony na OnGloballyPositionedModifier, a metoda onPositioned() na onGloballyPositioned(). (I587e8, b/169083903)
  • Wycofuje interfejsy contentColor() i currentTextStyle() i zastępuje je odpowiednio AmbientContentColor i AmbientTextStyle. Aktualną wartość możesz uzyskać, używając .current w przypadku właściwości otoczenia, tak jak w przypadku każdego innego otoczenia. Ta zmiana została wprowadzona w celu zapewnienia spójności i uniknięcia wielu sposobów wykonania tego samego działania. Dodatkowo zmienia nazwy niektórych właściwości otoczenia, aby lepiej opisać ich przeznaczenie:

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

Wersja 1.0.0-alpha04

1 października 2020 roku

androidx.compose.animation:animation:1.0.0-alpha04androidx.compose.animation:animation-core:1.0.0-alpha04 zostały opublikowane. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Oznaczanie adnotacjami rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled i textInputServiceFactory za pomocą @VisibleForTesting, przekształcanie ich w wewnętrzne interfejsy API i ukrywanie ich dokumentacji w formacie KDoc (I554eb, b/168308412)

Poprawki błędów

  • Zaktualizowano wiele interfejsów API grafiki.
    • Zaktualizowano interfejsy API przekształceń skali i rotacji, aby używały jednego parametru Offset do reprezentowania współrzędnych punktu obrotu zamiast oddzielnych parametrów zmiennoprzecinkowych dla współrzędnych x/y w DrawScope i DrawTransform.
    • Usunięto metody Rect.expandToInclude i Rect.join
    • Zaktualizowana dokumentacja dotycząca promienia, w której oprócz kształtu eliptycznego podano też owalny.
    • Dodano dokumentację, aby wskazać, że publiczny konstruktor wbudowanej klasy Radius nie powinien być wywoływany bezpośrednio, ale obiekty Radius powinny być tworzone za pomocą konstruktorów funkcji.
    • Usunięto interfejsy API RoundRect do wysyłania zapytań o wartości topRight, bottomRight, bottomCenter itp.
    • Wycofanie Rect.shift na rzecz Rect.translate
    • Usunięto interfejsy API RoundRect.grow i Rect.shrink
    • Zmiana nazwy RoundRect.outerRect na Rect.boundingRect
    • Usunięto metody RoundRect.middleRect/tallMiddleRect/wideMiddleRect i Rect.isStadium
    • Zmiana nazwy RoundRect.longestSide na RoundRect.maxDimension
    • Zmiana nazwy RoundRect.shortestSide na RoundRect.minDimension
    • Zmiana RoundRect.center na właściwość zamiast funkcji
    • Zaktualizowano konstruktor RoundRect, aby korzystał z właściwości Radius zamiast z poszczególnych parametrów wartości promienia x/y.
    • Usunięto interfejsy API rozmiaru, które zakładały, że jest to prostokąt o początku w punkcie 0,0
    • Dodano interfejs API niszczenia do Radius
    • Przeniesiono różne funkcje rozszerzenia RoundRect, aby były właściwościami
    • (I8f5c7, b/168762961)
  • Klasa foundation.Box została wycofana. Zamiast tego użyj foundation.layout.Box. (Ie5950, b/167680279)
  • Grupa została zmieniona na Box. Dotychczasowy komponent Box zostanie wycofany na rzecz nowego komponentu Box w pakiecie compose.foundation.layout. Nowy element Box układa elementy podrzędne jeden na drugim, gdy ma ich kilka. Różni się to od poprzedniego elementu Box, który zachowywał się podobnie do elementu Column. (I94893, b/167680279)
  • Parametry dekoracji pola zostały wycofane. Jeśli chcesz dodać dekoracje lub dopełnienie do elementu Box, użyj zamiast tego modyfikatorów (Modifier.background, Modifier.border, Modifier.padding) (Ibae92, b/167680279).
  • Uniemożliwiliśmy statyczne importowanie treści z zakresów układu (np. alignWithSiblings w RowScope). Zamiast tego użyj alternatywnego zakresu: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

Wersja 1.0.0-alpha03

16 września 2020 roku

androidx.compose.animation:animation:1.0.0-alpha03androidx.compose.animation:animation-core:1.0.0-alpha03 zostały opublikowane. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.

Poprawki błędów

  • W interfejsach API układu wszystkie wystąpienia słowa „gravity” zostały zmienione na „align” lub „alignment”. (I2421a, b/164077038)

Wersja 1.0.0-alpha02

2 września 2020 r.

androidx.compose.animation:animation:1.0.0-alpha02androidx.compose.animation:animation-core:1.0.0-alpha02 zostały opublikowane. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodano ManualFrameClock.hasAwaiters, aby sprawdzić, czy zegar oczekuje na klatkę; runWithManualClock jako zamiennik runBlocking podczas przeprowadzania testów, które wymagają zegara ManualFrameClock; TestUiDispatcher.Main, który zapewnia łatwy dostęp do głównego dyspozytora interfejsu w testach.

    Na przykład:

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

    (I0a85b, b/161247083)

Poprawki błędów

  • Funkcja onPreCommit została wycofana. Funkcja onCommit ma teraz działanie funkcji onPreCommit.

    Funkcje onCommit i onActive są teraz wykonywane w tej samej klatce choreografa, w której wprowadzane są zmiany w kompozycji, a nie na początku następnej klatki choreografa. (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 zostały opublikowane. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Wersja 0.1.0-dev

Wersja 0.1.0-dev17

19 sierpnia 2020 r.

androidx.compose.animation:animation:0.1.0-dev17androidx.compose.animation:animation-core:0.1.0-dev17 zostały opublikowane. Wersja 0.1.0-dev17 zawiera te zatwierdzenia.

Nowe funkcje

Zmiany w interfejsie API

  • Przesunięcie stało się klasą wbudowaną (Iaec70)
  • IntOffset jest teraz klasą wbudowaną (Iac0bf)
  • IntSize jest teraz klasą wbudowaną (I2bf42).
  • Kompozycja AnimatedVisibility animuje pojawianie się i znikanie treści podrzędnych.

    Wprowadzono EnterTransition i ExitTransition, które współpracują z komponentem AnimatedVisibilty, aby zapewnić 3 różne typy animacji pojawiania się i znikania: zanikanie, przesuwanie oraz rozwijanie i zwijanie treści. Różne typy animacji można łączyć, aby uzyskać bardziej spersonalizowany wygląd. (Idda11)

  • Wycofano PxBounds na rzecz Rect. Zaktualizowano wszystkie użycia PxBounds za pomocą funkcji rect i dodano odpowiednie adnotacje dotyczące wycofywania/zastępowania, aby ułatwić migrację. (I37038, b/162627058)

Poprawki błędów

  • Nazwa PlacementScope.placeAbsolute() została zmieniona na PlacementScope.place(), a poprzednia nazwa PlacementScope.place() została zmieniona na PlacementScope.placeRelative(). W rezultacie metoda PlacementScope.place() nie będzie już automatycznie odzwierciedlać pozycji w kontekstach pisanych od prawej do lewej. Jeśli chcesz to zrobić, użyj zasady PlacementScope.placeRelative(). (I873ac, b/162916675)
  • Funkcja state { ... } została wycofana na rzecz jawnych wywołań funkcji remember { mutableStateOf(...) }, aby zwiększyć przejrzystość. Zmniejsza to ogólną powierzchnię interfejsu API i liczbę koncepcji zarządzania stanem oraz pasuje do wzorca by mutableStateOf() 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 zostały opublikowane. Wersja 0.1.0-dev16 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Wbudowane konwertery wektorowe do konwertowania wbudowanych jednostek są teraz dostępne za pomocą Foo.VectorConverter. np.Dp.VectorConverter, Color.VectorConverter,Float.VectorConverter itp. (I3e273)
  • Dodaj do Modifier.animateContentSize() słuchacza zdarzenia zakończenia animacji zmiany rozmiaru, aby po zakończeniu animacji słuchacz otrzymał powiadomienie wraz z rozmiarem początkowym i końcowym animacji. (I277b2)
  • Nowy modyfikator animateContentSize, który animuje zmianę rozmiaru układu elementu podrzędnego (Ieffdc).
  • Dodano MonotonicFrameAnimationClock, który umożliwia używanie elementu MonotonicFrameClock jako AnimationClockObservable, aby wypełnić lukę między nowymi zegarami opartymi na korutynach a interfejsami API, które nadal korzystają ze starych zegarów opartych na wywołaniach zwrotnych.

    Równowartość MonotonicFrameClockManualAnimationClock wynosi teraz ManualFrameClock. (I111c7, b/161247083)

Poprawki błędów

  • Interfejsy API obsługujące pisanie od prawej do lewej zostały zaktualizowane. Dodano LayoutDirectionAmbient, którego można używać do odczytywania i zmieniania kierunku układu. Usunięto Modifier.rtl i Modifier.ltr. (I080b3)
  • Wymagaj jawnego określenia typu T w przypadku transitionDefinition. (I1aded)
  • Pakiet foundation.shape.corner został spłaszczony do foundation.share (I46491, b/161887429)
  • Funkcja Modifier.plus została wycofana. Zamiast niej używaj funkcji Modifier.then. Słowo „wtedy” silniej sygnalizuje kolejność, a także uniemożliwia wpisanie znaku Modifier.padding().background() + anotherModifier, który przerywa łańcuch i utrudnia czytanie (Iedd58, b/161529964).
  • Funkcja Modifier.drawBackground została zmieniona na Modifier.background (I13677)

Wersja 0.1.0-dev15

22 lipca 2020 r.

androidx.compose.animation:animation:0.1.0-dev15androidx.compose.animation:animation-core:0.1.0-dev15 zostały opublikowane. Wersja 0.1.0-dev15 zawiera te zatwierdzenia.

Aktualizacja zależności

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

Zmiany w interfejsie API

  • Interfejs Transition API został zmieniony tak, aby zwracał wartość TransitionState zamiast przekazywać ją do elementów podrzędnych. Dzięki temu interfejs API jest bardziej spójny z interfejsami animate(). (I24e38)
  • Dodano parametr modyfikatora dla przenikania (I87cfe, b/159706180)
  • W interfejsach API najwyższego poziomu używaj AnimationSpec zamiast AnimationBuilder, aby wyjaśnić koncepcję statycznej specyfikacji animacji.
    • Ulepsz DSL przejścia, usuwając wymaganie lambdy w przypadku tworzenia obiektów AnimationSpec, takich jak tween czy spring. Zamiast tego przyjmują one bezpośrednio parametry konstruktora.
    • Zwiększenie ogólnej łatwości użycia AnimationSpec poprzez udostępnienie konstruktorów zamiast polegania na builderach.
    • Zmień czas trwania i opóźnienie w przypadku klatek kluczowych i animacji na liczbę całkowitą. Eliminuje to niepotrzebne rzutowanie typów i przeciążanie metod (w celu obsługi zarówno liczb typu Long, jak i Int). (Ica0b4)
  • Zastąpiono użycie IntPx przez Int. Zastąpiono IntPxPosition przez IntOffset. Zastąpiono IntPxSize wartością IntSize. (Ib7b44)
  • Aby zmniejszyć liczbę klas używanych do reprezentowania informacji o rozmiarach, ujednolić użycie klasy Size zamiast PxSize. Dzięki temu możesz korzystać z zalet klasy wbudowanej, aby używać typu long do pakowania 2 wartości zmiennoprzecinkowych reprezentujących szerokość i wysokość. (Ic0191)
  • Aby zmniejszyć liczbę klas używanych do reprezentowania informacji o pozycjonowaniu, zamiast klasy PxPosition używaj klasy Offset. Dzięki temu można korzystać z zalet klasy wbudowanej, aby używać typu long do pakowania 2 wartości zmiennoprzecinkowych reprezentujących przesunięcia x i y w postaci liczb zmiennoprzecinkowych. (I3ad98)
  • W ramach dużego refaktoryzacji zastąpiono użycie klasy Px w różnych klasach kompozycji, aby w przypadku parametrów pikseli używać tylko typów Dp i pierwotnych (I086f4).
  • Dodano obsługę funkcji animate() dla właściwości Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds i AnimationVector (Ib7518).
  • Komponent Crossfade akceptuje teraz opcjonalny parametr AnimationBuilder, który umożliwia konfigurowanie animacji (I6d6e0).
  • Zastąpiono wszystkie użycia wartości Color, które mogą przyjmować wartość null, w interfejsie API wartościami, które nie mogą przyjmować wartości null, i zamiast wartości null użyto wartości Color.Unset (Iabaa7).
  • Usunięto klasę ValueHolder. Zmieniliśmy strukturę klas AnimatedValue i AnimatedFloat, aby pole wartości animacji było abstrakcyjne, dzięki czemu klasy podrzędne mogą obserwować aktualizację wartości.
    • Dodano klasy modeli dla AnimatedValue, AnimatedFloat itp.
    • Dodaliśmy nowy zestaw lekkich interfejsów API @Composable do animowania przejść między wartościami. (I79530)
  • Zmiany powodujące niezgodność w interfejsie API ambients. Szczegółowe informacje znajdziesz w dzienniku i Ambient<T> dokumentacji (I4c7ee, b/143769776).
  • Nowy tryb powtarzania: od tyłu. W tym trybie poprzednia iteracja jest odwracana, gdy animacja powtarza się w przypadku RepeatableSpec lub VectorizedRepeatableSpec. (Ibe0f5)
  • Dodatki do interfejsu API w klasie ManualAnimationClock: hasObservers: Boolean i parametr konstruktora dispatchOnSubscribe: Boolean (Iaa134)
  • Dodano interfejsy API do pobierania minimalnych i maksymalnych zakresów w AnimatedFloat (Icd9cc).

Poprawki błędów

  • Nazwa została zmieniona z runOnIdleCompose na runOnIdle (I83607)
  • Zmieniliśmy nazwy kilku interfejsów API do testowania, aby były bardziej intuicyjne. Wszystkie interfejsy API findXYZ zostały zmienione na onNodeXYZ. Wszystkie interfejsy API doXYZ zostały zmienione na performXYZ. (I7f164)
  • Wprowadzono interfejsy API animacji bezstanowych niskiego poziomu. Te interfejsy API (I63bf7)
  • Funkcja kompozycyjna Recompose nie jest już przydatną abstrakcją. Większość ponownego komponowania powinna być wynikiem przypisań MutableState. W innych przypadkach zalecamy użycie funkcji invalidate, aby wywołać ponowne skomponowanie bieżącego zakresu. (Ifc992)
  • W ramach dużych zmian w kodzie zastąpiliśmy użycie klasy Px w różnych klasach Compose, aby w przypadku parametrów pikseli korzystać tylko z jednostek Dp i typów prostych. Usunięto w całości klasę Px (I3ff33)
  • Zastąpiono użycie klasy Px w różnych klasach Compose w ramach dużego refaktoryzacji, aby w przypadku parametrów pikseli używać tylko typów Dp i pierwotnych (Id3434).
  • Funkcja Crossfade może teraz działać z wartością początkową null (Iad6a4, b/155947711)
  • Zastąpiono użycie klasy Px w różnych klasach kompozycji w ramach dużego refaktoryzowania, aby w przypadku parametrów pikseli używać tylko typów Dp i pierwotnych (I19d02).
  • Ujednolicone implementacje CanvasScope, dzięki czemu są teraz tylko DrawScope i ContentDrawScope. Zmieniono nazwę CanvasScope na DrawScope. Zaktualizowano DrawScope, aby zaimplementować interfejs Density i udostępnić podklasę LayoutDirection Deleted DrawScope w ContentDrawScope. Zaktualizowano Painter i PainterModifier, aby nie utrzymywały już właściwości RTL, ponieważ DrawScope już ją udostępnia bez ręcznego podawania (I1798e).
  • Zaktualizowane interfejsy API wyższego poziomu Compose, które zamiast Canvas udostępniają CanvasScope. Eliminuje to konieczność utrzymywania przez konsumentów własnych obiektów Paint. Użytkownicy, którzy nadal potrzebują dostępu do elementu Canvas, mogą użyć metody drawCanvas, która zapewnia wywołanie zwrotne do wydawania poleceń rysowania za pomocą bazowego elementu Canvas. (I80afd)
  • Dodano parametry verticalGravity i horizontalGravity do elementów Row i Column. (I7dc5a)
  • Moduł ui-text został zmieniony na ui-text-core (I57dec).
  • Ulepszenie interfejsu DrawModifier API:
    • Zmieniono zakres odbiorcy funkcji draw() na ContentDrawScope
    • Usunięto wszystkie parametry funkcji draw()
    • DrawScope ma taki sam interfejs jak poprzednia wersja CanvasScope.
    • Interfejs ContentDrawScope ma metodę drawContent() (Ibaced, b/152919067).
  • runOnIdleComposerunOnUiThread są teraz funkcjami globalnymi, a nie metodami w ComposeTestRule. (Icbe8f)
  • [Mutable]State property delegate operators moved to extensions to support Kotlin 1.4 property delegate optimizations. Aby nadal korzystać z funkcji by state { ... } lub by mutableStateOf(...), wywołujący muszą dodać importy. (I5312c)
  • Komponent ColoredRect został wycofany. Zamiast niej użyj zasady Box(Modifier.preferredSize(width, height).drawBackground(color)). (I499fa, b/152753731)
  • Zastąpienie operatora „Modyfikator plus” funkcjami rozszerzenia fabrycznego (I225e4)
  • Wycofany komponent Center. Należy go zastąpić modyfikatorem LayoutSize.Fill + LayoutAlign.Center lub jednym z kompozycji Box lub Stack z odpowiednimi modyfikatorami (Idf5e0).
  • Zmieniono nazwę LayoutFlexible na LayoutWeight. Zmieniliśmy nazwę parametru „tight” na „fill”. (If4738)
  • Funkcja kompozycyjna Opacity została zastąpiona modyfikatorem drawOpacity. (I5fb62)
  • Testy korzystające z AndroidComposeTestRule udostępniają teraz zegar animacji u podstaw kompozycji, który można wstrzymywać, wznawiać i ręcznie przesuwać do przodu. (Id54c5)
  • Obsługa kierunku od prawej do lewej w modyfikatorze LayoutPadding (I9e8da)
  • Połączyliśmy interfejsy Density i DensityScope w jeden. Zamiast ambientDensity() możesz teraz używać DensityAmbient.current. Zamiast withDensity(density) używaj with(density) (I11cb1)
  • Dodano metody kopiowania do różnych typów klas wbudowanych, w tym:
    • Przesunięcie
    • Rozmiar
    • Promień
    • Ruch
    • TransformOrigin
    • Wycofana metoda obiektu towarzyszącego Size.copy na rzecz metody kopiowania instancji (Ife290, b/159905651)
  • Klasa androidx.compose.ViewComposer została przeniesiona do androidx.ui.node.UiComposer. Klasa androidx.compose.Emittable została usunięta. Było to zbędne w przypadku ComponentNode. androidx.compose.ViewAdapters zostało usunięte. Nie jest to już obsługiwany przypadek użycia. Funkcja Compose.composeInto została wycofana. Użyj w zamian zasady setContent lub setViewContent. Metoda Compose.disposeComposition została wycofana. Zamiast tego użyj metody dispose na obiekcie Composition zwróconym przez setContent. androidx.compose.Compose.subcomposeInto zostało przeniesione do androidx.ui.core.subcomposeInto ComponentNode#emitInsertAt zostało zmienione na ComponentNode#insertAt ComponentNode#emitRemoveAt zostało zmienione na ComponentNode#removeAt ComponentNode#emitMode zostało zmienione na ComponentNode#move (Idef00)