Compose Material 3
Twórz interfejsy Jetpack Compose z komponentami Material Design 3, które stanowią kolejną wersję Material Design. Material 3 ma zaktualizowane motywy i komponenty oraz funkcje personalizacji Material You, takie jak dynamiczne kolory, i został zaprojektowany tak, aby był spójny z nowym stylem wizualnym i interfejsem systemu na Androidzie 12.
Najnowsza aktualizacja Wersja stabilna Kandydat do wydania Wersja Beta Wydanie alfa
26 czerwca 2024 r. 1.2.1 - 1.3.0-beta04 -

Struktura

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

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

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

Deklarowanie zależności

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

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

Odlotowy

dependencies {
    implementation "androidx.compose.material3:material3:1.2.1"
    implementation "androidx.compose.material3:material3-window-size-class:1.2.1"
    implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.3.0-beta03"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material3:material3:1.2.1")
    implementation("androidx.compose.material3:material3-window-size-class:1.2.1")
    implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.3.0-beta03")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

Opinia

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

Tworzenie nowego numeru

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

Compose Material3 – wspólna wersja 1.0

Wersja 1.0.0-alpha01

17 kwietnia 2024 r.

androidx.compose.material3:material3-common:1.0.0-alpha01, androidx.compose.material3:material3-common-android:1.0.0-alpha01 i androidx.compose.material3:material3-common-desktop:1.0.0-alpha01 zostały udostępnione. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

Komponenty bezmotywowe, których można używać do tworzenia komponentów Material Design:

Compose Material3 Adaptive Navigation Suite w wersji 1.0

Wersja 1.0.0-alpha07

1 maja 2024 r.

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha07, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha07 i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha07 zostały udostępnione. Wersja 1.0.0-alfa07 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Ustaw interfejsy API pakietu nawigacyjnego jako nieeksperymentalne (If62af)

Poprawki błędów

  • Domyślnie stosuj wstawki dla treści (50266df)

Wersja 1.0.0-alpha06

17 kwietnia 2024 r.

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha06, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha06 i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha06 zostały udostępnione. Wersja 1.0.0-alfa06 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodaj containerColor i contentColor do NavigationSuiteScaffoldDefaults. (I64e3a, b/331993720)
  • Dodaję funkcję itemColors do zakresu NavigationSuiteDefaults. (Idf719, b/328480012)
  • Zabezpiecz pole NavigationSuiteScope. (Iefa57).

Wersja 1.0.0-alpha05

6 marca 2024 roku

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha05 i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha05 zostały udostępnione. Wersja 1.0.0-alfa05 zawiera te zatwierdzenia.

Zmiany interfejsu API

Wersja 1.0.0-alpha04

21 lutego 2024 r.

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha04, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha04 i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha04 zostały udostępnione. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Zaktualizuj zależności adaptacyjne Material3 do nowych ścieżek modułów. (IBc421)
  • Przejdź na wersję klas rozmiarów okien z Menedżera okien. (I3794D)

Wersja 1.0.0-alpha03

7 lutego 2024 r.

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha03, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha03 i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03 zostały udostępnione. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Aktualizacja nazwy pakietu z pakietu nawigacji (I7eff7) na pakiet nawigacyjny
  • Komponenty Material3 ujawniające wartość MutableInteractionSource w interfejsie API zostały zaktualizowane, aby teraz udostępniać wartość MutableInteractionSource z wartością null, która domyślnie ma wartość null. Nie ma tu żadnych zmian semantycznych: przekazanie wartości null oznacza, że nie chcesz podnosić obiektu MutableInteractionSource i w razie potrzeby zostanie on utworzony w komponencie. Zmiana na wartość null umożliwia niektórym komponentom nigdy nie przydzielanie elementu MutableInteractionSource, a innym komponentom można tworzyć tylko leniwe tworzenie instancji tylko wtedy, gdy jest to konieczne, co zwiększa wydajność tych komponentów. Jeśli nie używasz identyfikatora MutableInteractionSource przekazywanego tym komponentom, zalecamy przekazanie wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (I41abb, b/298048146)

Wersja 1.0.0-alpha02

13 grudnia 2023 r.

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02 i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02 zostały udostępnione. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.

Nowe funkcje

Poprawki błędów

  • Naprawianie problemu z nawigacją, która wypełnia cały ekran, gdy w poziomie głównym jest modifier.fillMaxSize. (c9cf250, b/312664933)

Wersja 1.0.0-alpha01

15 listopada 2023 r.

Usługa androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

Compose Material3 w wersji adaptacyjnej 1.0

Wersja 1.0.0-alpha06

7 lutego 2024 r.

androidx.compose.material3:material3-adaptive:1.0.0-alpha06, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha06 i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha06 zostały udostępnione. Wersja 1.0.0-alfa06 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano dodatkowe opcje zachowania podczas przechodzenia wstecz w ThreePaneScaffoldNavigator. (I858aa).
  • Dodano opcjonalną treść miejsca docelowego do historii nawigacji. (Ibd7e6).

Wersja 1.0.0-alpha05

24 stycznia 2024 r.

androidx.compose.material3:material3-adaptive:1.0.0-alpha05, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha05 i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha05 zostały udostępnione. Wersja 1.0.0-alfa05 zawiera te zatwierdzenia.

Nowe funkcje

  • Obsługa świadomości historii w nawigacji po scaffold i obliczaniu wartości (I71d46)

Wersja 1.0.0-alpha04

10 stycznia 2024 r.

androidx.compose.material3:material3-adaptive:1.0.0-alpha04, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha04 i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha04 zostały udostępnione. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano obsługę od krawędzi do krawędzi w rusztowaniach panelu (I1b462)

Zmiany interfejsu API

  • Przeniesiono właściwości granic zawiasu w Stanach do listy informacji o zawiasie (I24f90)

Poprawki błędów

  • Nie utworzono ponownie poprawki AnimatedPane (c3f573d)

Wersja 1.0.0-alpha03

13 grudnia 2023 r.

androidx.compose.material3:material3-adaptive:1.0.0-alpha03, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha03 i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03 zostały udostępnione. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Zmień role rusztowania na aliasy organizacji ThreePaneScaffoldRole. (I65bd1)
  • Utwórz klasę bazową dla ról rusztowania (I4784d)
  • Usuń zbędny parametr z treści AnimatedPane (Ibc73b)
  • Zmienia nazwę parametru collectWindowSizeAsState i zwraca nieprzetworzone wartości (I480f4)

Wersja 1.0.0-alpha02

29 listopada 2023 r.

androidx.compose.material3:material3-adaptive:1.0.0-alpha02, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha02 i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02 zostały udostępnione. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Podziel interfejsy API do nawigacji z adaptacyjnych interfejsów API scaffold. (IC4045).
  • Usuń zajęcia GutterSize. (I785b3)

Poprawki błędów

  • Panele poprawek nie są przełączane, gdy nie jest używany interfejs AnimatedPane (d88f181)

Wersja 1.0.0-alpha01

15 listopada 2023 r.

Usługa androidx.compose.material3:material3-adaptive:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

Interfejsy API warunków adaptacyjnych Material3:

Interfejsy API dyrektywy scaffold panelu adaptacyjnego Material3:

Interfejsy API scaffold panelu adaptacyjnego Material3:

Compose Material3 w wersji 1.3

Wersja 1.3.0-beta04

26 czerwca 2024 r.

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

Wersja 1.3.0-beta03

12 czerwca 2024 r.

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

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

  • Udostępnij element androidx.compose.material3.DropdownMenu ze wspólnego zestawu źródeł. (If62c0).

Wersja 1.3.0-beta02

29 maja 2024 r.

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

Zmiany interfejsu API

  • Funkcja Modifier.pullToRefreshIndicator obsługuje podwyższenie, zaktualizuj interfejsy API pull do odświeżania, tak aby korzystała z wartości logicznej zamiast lambda. Obsługuj wyrównywanie treści w PullToRefreshBox (I75679)
  • Ustawiam interfejs TooltipScope jako zamknięty i tworzę wewnętrzną implementację do użytku w TooltipBox i Etykietach. (I3833e)
  • Dodaliśmy 2 nowe modyfikatory do elementów CarouselItemScopemaskClip i maskBorder – aby łatwo dodać kształt i obramowanie do dowolnego elementu karuzeli (Id67a1).
  • TimePickerState to teraz interfejs umożliwiający ustawienie godziny (I88546)
  • Zaktualizowany interfejs API do określania stylu linków: przenieś TextLinkStyles do TextStyle i usunięto TextDefaults z materiału. (I5477b)

Poprawki błędów

  • Ikony stanu i paska nawigacyjnego w ModalBottomSheet odpowiadają teraz na stan ciemnego motywu. (Ie1fe7, b/338342149)
  • Dodano semantykę zamknięcia arkusza do wykresu ModalBottomSheet. (0E61cb,B/328801864)

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

  • Udostępnij element androidx.compose.material3.AlertDialog ze wspólnego zestawu źródłowego (Ia33f5)
  • Udostępnij element ModalBottomSheet ze wspólnego zestawu źródeł (Id7cc7)

Wersja 1.3.0-beta01

14 maja 2024 r.

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

Zmiany interfejsu API

  • Używam DpSize zamiast CaretProperties. Usuwam aplikację CaretProperties. Zmień nazwę CaretScope na TooltipScope. (Id9a76)
  • Zaktualizowaliśmy interfejs API pod kątem pobierania w tekście linków o tematyce Material. W tym celu usunęliśmy metody z TextDefaults do tworzenia tematycznych LinkAnnotations i analizuj kod HTML za pomocą linków tematycznych. Zamiast tego dodaliśmy klasę TextLinkStyles, która pozwala na określenie stylu linków jako parametr funkcji Text composable. (I31b93)

Wersja 1.3.0-alpha06

1 maja 2024 r.

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

Zmiany najważniejsze

  • Nowe interfejsy API „przeciągnij, aby odświeżyć”:

    • Uprościliśmy interfejs PullToRefreshState, aby używać wartości ułamkowych zamiast jednostek Dp.
    • Stanem isRefreshing zarządza użytkownik, a nie PullToRefreshState.
    • Oddzielono zagnieżdżone połączenie przewijania od PullToRefreshState. Jest obsługiwana przez nowe PullToRefreshBox lub Modifier.pullToRefresh.
    • Ta aktualizacja wprowadza niezmienną zmianę w stosunku do poprzednich eksperymentalnych interfejsów API. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683)

Zmiany interfejsu API

  • Tabela RippleConfiguration#isEnabled została usunięta, a domena LocalRippleConfiguration może mieć wartość null. Aby wyłączyć Echo, zamiast podawać RippleConfiguration z isEnabled = false, podaj null dla LocalRippleConfiguration. (I22725)
  • Gdy funkcja ModalBottomSheet jest włączona, rysowanie grafiki na pasku stanu jest dokładniejsze. Modalna treść planszy dolnej może teraz zajmować wstawki w oknach, co pozwala wyświetlać treści nad paskiem nawigacyjnym. Zmieniono nazwę parametru ModalBottomSheet windowInsets na contentWindowInsets, aby określić, gdzie będą stosowane wstawki. Nie są one już powiązane z logiką okna. Typ contentWindowInsets został zmieniony na funkcję, która zwraca wartość WindowInsets, aby można ją było znaleźć w nowym oknie. (I39630, b/274872542, b/300280229, b/290893168)
  • PrimaryScrollableTabRow i SecondaryScrollableTabRow używają teraz układu niestandardowego zamiast podkompozycji, co powinno zwiększyć skuteczność. (I991e0).
  • Oprócz normalnego stylu, najechania kursorem i zaznaczenia linki tekstowe otrzymały opcję stylizacji stanu naciśniętego. Każda z metod (TextDefaults) otrzymała argument pressedStyle na potwierdzenie. (Ic473f, b/139312671)

Poprawki błędów

  • Reklamy zakotwiczone przeciągania panelu nawigacji mają teraz taką samą szerokość, jak drawerContent. (Ibc72f, b/245355396)
  • OutlinedTextField dopełnienie u góry etykiety uwzględnia teraz systemowy rozmiar czcionki. (Idc781).
  • Poprawiono lokalizację pakietu CalendarLocale. (Ifa235).
  • [Przewidywanie wsteczne] Aktualizacja animacji wstecznych, tak aby korzystały z krzywej interpolacji (0,1, 0,1, 0, 1) (I2591a)

Wersja 1.3.0-alpha05

17 kwietnia 2024 r.

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

Nowe funkcje

  • SearchBar i DockedSearchBar mają nowe przeciążenia, które przyjmują parametr pola tekstowego. Umożliwia to określenie stylu pola tekstowego niezależnie od reszty paska wyszukiwania oraz przekazanie niestandardowych pól tekstowych. Pole tekstowe bieżącej implementacji zostało udostępnione jako SearchBarDefaults.InputField. (I50c73, b/275074248, b/278773336, b/326627700)
  • funkcja lambda drawTick została dodana do publicznego interfejsu API, aby w razie potrzeby dostosować znaczniki (I0c048).

Zmiany interfejsu API

  • Oprócz standardowego stylu, najechania kursorem i zaznaczenia linków tekstowych dostępna jest opcja stylizacji naciśniętych linków (I5f864, b/139312671)
  • Zaktualizowano CarouselItemInfo, aby odsłonić prostokąt maski, przez który przycinany jest element (I785d8)
  • Usunięto interfejs BasicTooltipState z publicznego interfejsu API Material 3. Jego funkcjonalność jest połączona z funkcją TooltipState do czasu ustabilizowania się BasicTooltip fundacji. (Icda29).
  • Dodano obiekt TextDefaults, który zawiera metody tworzenia obiektu LinkAnnotation i analizowania ciągu z tagami HTML, który powoduje zastosowanie parametru MaterialTheme do linków (I98532, b/139312671).
  • ExposedDropdownMenuBoxScope nie zezwala już na podklasy. Widoczne menu zawierają teraz pole MenuAnchorType, które należy przekazać do menuAnchor, aby zapewnić lepsze działanie. Należy go używać zamiast przekazywania focusable do metody ExposedDropdownMenu, która została już wycofana. W elemencie menuAnchor dodano nowy parametr do sterowania stanem enabled. (I55ee6, b/257209915, b/308840226)
  • Naprawiono kolor obramowania elementu OutlinedButton, gdy był wyłączony. Dodano przeciążenie ButtonDefaults.outlinedButtonBorder("enabled"), które przyjmuje stan włączenia. (IE650b, b/318461363)
  • Dodaliśmy nową klasę CarouselItemInfo, aby klienci mogli łatwiej uzyskać informacje o rozmiarach produktów. (I9070C)
  • Konstruktor ColorScheme bez kontenerów powierzchni został wycofany. Przejdź na konstruktor, który zawiera kontenery powierzchni. (I35c11)
  • [Z konturem]TextFieldDefaults ContainerBox został zmieniony na Container. (IE8d3b)

Poprawki błędów

  • Jeśli sheetSwipeEnabled ma wartość fałsz, BottomSheetScaffold nie będzie już przewijać z zagnieżdżonego przewijania. (I5e1c1, b/306464779)
  • Usunięto adnotację ExperimentalMaterial3Api dotyczącą akceptacji w: IconButtonSamples.kt. (I111d1)

Wersja 1.3.0-alfa04

3 kwietnia 2024 r.

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

Nowe funkcje

  • Dodaliśmy 2 eksperymentalne wersje karuzeli Material3HorizontalMultiBrowseCarousel i HorizontalUncontainedCarousel (I88d64).
  • Zaktualizowaliśmy panel tworzenia wiadomości M3 Nav (ModalDrawerSheet i DismissibleDrawerSheet), aby obsługiwać funkcję przewidywania powrotu w U+ w ramach opcji akceptacji (Ie5b0b)
  • Dodaliśmy nowy interfejs API w sekcji Ikona, aby umożliwić przekazywanie odcienia kolorów jako lambda w celu uniknięcia ponownego kompilowania danych. (I5b5a2)
  • Interfejsy API górnego paska aplikacji obsługują teraz niestandardowe wysokości zarówno dla sekcji stałych, jak i zwijanych. (Ib8b0c, b/323403446)

Zmiany interfejsu API

  • Interfejsy API górnego paska aplikacji obsługują teraz niestandardowe wysokości zarówno dla sekcji stałych, jak i zwijanych. Rozwiązaliśmy problem, który powodował, że podczas przewijania treści pasków aplikacji u góry z jednego wiersza zbyt wiele razy były przekomponowane. Rozwiązaliśmy problem, który powodował, że usługa MediumTopAppBar skracała tytuły na urządzeniach z dużymi ustawieniami czcionki i wyświetlania. (Ib8b0c, b/323403446, b/300953236, b/286296147, b/330410290, b/308540676)
  • SegmentedButton i powiązane z nim interfejsy API są teraz stabilne (I8a158)
  • SwipeToDismissBox, SwipeToDismissBoxDefaults, SwipeToDismissBoxState i SwipeToDismissBoxValue są teraz oznaczone jako stabilne. (I5f000)
  • Usunięto wycofane wyliczenia i interfejsy API DismissDirection i DismissValue. (I89ccd)
  • Do obiektu towarzyszącego karuzeli CarouselState został dodany tag eksperymentalny. (I94154)
  • Wycofano interfejs LocalMinimumInteractiveComponentEnforcement i wprowadziliśmy w jego miejsce element LocalMinimumInteractiveComponentSize. (I7a7ac).
  • Konstruktor SearchBarColors jest teraz publiczny. (I769ca)
  • Do usługi SwipeToDismissBox dodano parametr gesturesEnabled. (Idc59f, b/324170119)
  • Usunęliśmy interfejsy API pól tekstowych, które zostały oznaczone jako wycofane i eksperymentalne. (I1305f)

Wersja 1.3.0-alfa03

20 marca 2024 r.

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

Ważne zmiany w wersji wizualnej

  • Zaktualizuj nakładkę stanu ostrości na 0,1f, aby zapewnić wystarczający kontrast kolorów. (I7Ea77)
  • Niewielkie zmiany domyślnych kolorów powierzchni i tła w lightColorScheme i darkColorScheme. (I9db52).

Nowe funkcje

  • Dodano parametry pozwalające dostosować ExposedDropdownMenu. W szczególności menu zawiera teraz parametr focusable (domyślny true), który podczas pracy z edytowalnymi polami tekstowymi powinien mieć wartość false. (I4184c, b/323694447, b/278609042)

Zmiany interfejsu API

  • Flaga ScaffoldSubcomposeInMeasureFix została usunięta. (IE2a4b)
  • NavigationRailItemColors jest teraz oznaczony jako @Immutable. (If6112, b/327660613)
  • NavigationBarItemColors jest teraz oznaczony jako @Immutable. (I42a30, b/298064514)
  • Zmień kolejność parametrów w funkcji kompozycyjnej ścieżki suwaka. (I9f315)
  • Interfejs ExposedDropdownMenu został wdrożony za pomocą tagu Popup. Działanie powinno być takie samo, ale menu z edytowalnymi polami tekstowymi może zostać zamknięte podczas pisania na klawiaturze.

Poprawki błędów

  • Nieznacznie dostosowaliśmy role bazowe kontenera Surface i Powierzchnia, zwiększając odcień w motywach jasnych i ciemnych. (I677a5)
  • Zaktualizowano kolory suwaka i ProgressIndicator, aby były zgodne z nowymi specyfikacjami kontrastu nietekstowego. (I26807)
  • Zaktualizuj nakładkę stanu ostrości na 0,1f, aby zapewnić wystarczający kontrast kolorów. (I7Ea77)
  • Niewielkie zmiany domyślnych kolorów powierzchni i tła w lightColorScheme i darkColorScheme. (I9db52).

Wersja 1.3.0-alfa02

6 marca 2024 roku

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

Zmiany interfejsu API

  • Ustawianie suwaka jako stabilne. Znowu zmienię rolę State.onValueChangeFinished na wartość. Zawijam plik onValueChangeFinished w elemencie rememberUpdatedState. (I82ab2, b/322269951)
  • Komponenty Nawigacja używają teraz nowych ról SurfaceContainer. DrawerDefaults udostępnia teraz różne atrybuty standardContainerColor i modalContainerColor. DrawerDefaults.ModalDrawerElevation to teraz 0.dp. (I7fbac)
  • Usuwam @Stable ze stanów Slider, ponieważ zmieniamy stan state.onValueChangeFinished na var. (Ied34a, b/322269951)
  • Specyfikacja animacji ModalBottomSheet i StandardBottomSheet to teraz TweenSpec, zaktualizowana na podstawie wiosennej animacji. Pozwala to rozwiązać problem z widocznym zbyt długim przecięciem. Usunięto wycofane konstruktory SheetState bez gęstości. (I7babc, b/285847707)

Poprawki błędów

  • SurfaceContainer wariantu jest teraz używane przez komponenty. Komponenty, które formalnie obliczały kolor za pomocą Powierzchnia i TonalElevation, używają teraz domyślnie ról SurfaceContainer, na które nie wpływa uniesienie tonacji. (b/304584161)
  • Naprawiliśmy błąd, który powodował, że niezaznaczony, wyłączony kolor kontenera ElevatedFilterChip jest czarny. (I400e6, b/322407043)
  • Naprawianie nieokreślonego wskaźnika postępu, gdy postęp wynosi 0 (Id6582)
  • Usunięto problem z polami Slider i RangeSlider w układzie od prawej do lewej (Iab0e1).
  • Dodaję SliderRangeTolerance do obliczenia zakresu suwaka, ponieważ zaokrąglanie liczb zmiennoprzecinkowych może być niedokładne. (IC918a, b/324934900)
  • Upewnij się, że DatePickerDialog wyświetla przyciski podczas zagnieżdżania obiektu DateRangePicker lub wyświetlania dowolnego typu selektora daty na małych ekranach z większymi czcionkami. (IE4758, b/325107799, b/277768544)
  • Menu wykorzystuje teraz rolę SurfaceContainer w przypadku koloru kontenera. MenuDefaults.TonalElevation to teraz 0.dp. (I135b7)
  • TextField wykorzystuje teraz rolę SurfaceContainerHighest w przypadku koloru kontenera. (I4dded)
  • Elementy o podwyższonym standardzie korzystają teraz z roli SurfaceContainerLow (I7cd2f)
  • Kolor kontenera DatePicker to teraz SurfaceContainerHigh. DatePickerDefaults.TonalElevation to teraz 0.dp. (Ida753).
  • Zmienia kolor kontenera dolnych arkuszy i kolor uchwytu przeciągania. (I72a0a)
  • Kolor kontenera RichTooltip to teraz SurfaceContainer. (Ia8b45).
  • Kolor kontenera SearchBar to teraz SurfaceContainerHighest. SearchBarDefaults.TonalElevation to teraz 0.dp. (I88604)
  • Przełącznik aktualizacji jest wyłączony, a odznaczone ścieżki/ikony wykorzystują rolę koloru SurfaceContainerHighest. (I7687a)
  • Kolor kontenera AlertDialog to teraz SurfaceContainerHigh. (IE0433)
  • Kolor kontenera BottomAppBar to teraz SurfaceContainer. Kolor TopAppBar (onScroll) to teraz SurfaceContainer. (I41630)
  • Kolor kontenera ElevatedCard to teraz SurfaceContainerLow. FilledCard: kolor kontenera: SurfaceContainerHighest. (I35141)
  • Kolor kontenera ElevatedButton to teraz SurfaceContainerLow. Elementy FilledIconButton niezaznaczone mają teraz kolor kontenera SurfaceContainerHighest. (I792C9)
  • Zmieniono rolę koloru kontenera i tarczy zegara TimePicker na SurfaceContainerHighest. (I43b93)

Wersja 1.3.0-alpha01

21 lutego 2024 r.

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

Nowe funkcje

  • Aktualizacja funkcji Utwórz M3 ModalBottomSheet, aby obsługiwała przewidywania w U+ (Iccf32, b/281967264, b/304850357)
  • Aktualizacja funkcji Utwórz M3 SearchBar, by obsługiwała przewidywania w U+ (I657f8)
  • Zaktualizowaliśmy suwak, aby zwiększyć dostępność przez dodanie przerwy i wskaźnika zatrzymania. (I3058e)
  • Zaktualizowano ProgressIndicator, aby zwiększyć dostępność przez dodanie przerwy i wskaźnika przystanku. (I21451)
  • Dodanie domyślnego kursora dla etykietki sformatowanej umożliwia teraz rysowanie niestandardowego kursora przez kotwicę LayoutCoordinates. (Ifd42c).

Zmiany w działaniu

  • Komponenty materiałowe zostały przeniesione do nowych interfejsów API Ripple i nie są już wysyłane do RippleTheme.

Zmiany interfejsu API

  • Miejsce zabawy „drawStopIndicator” jest teraz dostępne publicznie. (I3f59f)
  • Oznacz funkcję formatWithSkeleton w DatePicker jako wewnętrzną (Ic65dc)
  • DropdownMenu obsługuje teraz niestandardowe kolory, kształty, wysokość i obramowanie. (I8e981, b/289554448, b/301887035, b/283654243)
  • Komponenty Material3 ujawniające wartość MutableInteractionSource w interfejsie API zostały zaktualizowane, aby udostępniać wartość MutableInteractionSource z wartością null, która domyślnie wynosi null. Nie ma tu żadnych zmian semantycznych: przekazanie wartości null oznacza, że nie chcesz podnosić obiektu MutableInteractionSource i w razie potrzeby zostanie on utworzony w komponencie. Zmiana na wartość null umożliwia niektórym komponentom nigdy nie przydzielanie elementu MutableInteractionSource, a innym komponentom można tworzyć tylko leniwe tworzenie instancji tylko wtedy, gdy jest to konieczne, co zwiększa wydajność tych komponentów. Jeśli nie używasz identyfikatora MutableInteractionSource przekazywanego tym komponentom, zalecamy przekazanie wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (I41abb, b/298048146)
  • Dodaje zmienne RippleConfiguration i LocalRippleConfiguration, które pozwalają na dostosowanie fal z wykorzystaniem stałych wartości w przypadku poszczególnych komponentów / drzew podrzędnych. Na przykład w celu zmiany koloru komponentu, którego nie kontrolujesz, lub wyłączenia fali komponentu. W większości przypadków należy użyć wartości domyślnych: te interfejsy API są drogą awaryjną pozwalającą na dostosowanie poszczególnych komponentów lub wybranych drzew podrzędnych. W przypadku szerszych zmian i niestandardowych systemów projektowych warto zamiast tego utworzyć własny zakres za pomocą createRippleModifierNode. (I7b5d6, b/298048146)
  • Dodaje nowy interfejs Ripple API w material3, który zastępuje wycofany interfejs rememberRipple. Dodaje też tymczasowy CompositionLocal (LocalUseFallbackRippleImplementation) w celu przywrócenia komponentów Material3 do wycofanych interfejsów API rememberRipple / RippleTheme. Zostanie ona usunięta w następnej stabilnej wersji. Jest przeznaczona tylko do tymczasowej migracji w przypadku, gdy udostępniasz niestandardowy RippleTheme. (I34cbc, b/298048146)

Poprawki błędów

  • W celu zwiększenia wydajności usunięto składnię wewnątrz elementu ModalBottomSheet. Rozwiązaliśmy problem, który powodował awarię pakietu ModalBottomSheet w określonych sytuacjach w połączeniu z zasadą LookaheadScope. (I2a198).
  • W celu zwiększenia wydajności usunięto składnię wewnątrz elementu BottomSheetScaffold. Rozwiązaliśmy problem, który powodował awarię pakietu BottomSheetScaffold w określonych sytuacjach w połączeniu z zasadą LookaheadScope. (IE6401).
  • Logo zostanie wyrównane tak, aby znajdowało się bliżej środka reklamy zakotwiczonej w stosunku do prawego górnego rogu. (I18a28)
  • Rozwiąż problem 11-y z polem DateRangePicker, który powodował, że tytuł tekstu z miesiąca został przekazany jako aktywny dla czytników ekranu, użytkowników Switch Access i Voice Access. (I2ac55),
  • Naprawiliśmy mediumTopAppBarColors błąd w kolejności parametrów. (Ibe64a).

Wersja 1.2

Wersja 1.2.1

6 marca 2024 roku

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

Poprawki błędów

  • Ponownie ustaw stabilny stan suwaka. Znowu zmienię rolę State.onValueChangeFinished na wartość. Zawijam plik onValueChangeFinished w elemencie rememberUpdatedState. (Ie8fd0, b/322269951)
  • Usuwam @Stable ze stanów Slider, ponieważ zmieniamy stan state.onValueChangeFinished na var. (I82ba1, b/322269951)
  • Popraw NavigationBar kolorów niestandardowych, aby skopiować je z domyślnych. (80a779, b/326894020)
  • Popraw regresję w elemencie ExposedDropdownMenu, aby znów można było go zaznaczyć (3fcec1, b/323694447)
  • Rozwiąż problem z buforowaniem koloru przycisku (3e5bbcb/327371655)

Wersja 1.2.0

7 lutego 2024 r.

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

Znany problem

  • W ramach zmiany dotyczącej zwiększenia wydajności w PrimaryTabRow wprowadziliśmy błąd związany z renderowaniem w ramach współdziałania z View-Compose. Można obejść ten problem, używając metody TabRow z parametrem TabRowDefaults.PrimaryIndicator

Ważne zmiany od wersji 1.1.0

Nowe komponenty Material Design 3

Ulepszenia istniejących komponentów Material Design 3.

Przeniesienie eksperymentalnych interfejsów API do wersji stabilnej

Ulepszenia wydajności

Wersja 1.2.0-rc01

24 stycznia 2024 r.

Usługa androidx.compose.material3:material3-*:1.2.0-rc01 została zwolniona. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiliśmy mediumTopAppBarColors błąd w kolejności parametrów. (Ibe64a).
  • Naprawiliśmy błąd związany z funkcją 1.2.0-beta02 w narzędziu CardDefaults.cardColors, w którym contentColor nie był aktualizowany na podstawie wartości parametru containerColor. (Iee041, b/319671246)
  • Naprawiliśmy błąd w funkcji disabledContentColor wprowadzony w aplikacji 1.2.0-beta02 i dodaliśmy niewielką optymalizację. (I6dda1, b/318428829)

Wersja 1.2.0-beta02

10 stycznia 2024 r.

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

Znany błąd

  • Błąd w IconButtonColors domyślnie przypisze disabledContentColor do wersji alfa (0,38f) LocalContentColor zamiast do contentColor określonej przez użytkownika. Można obejść ten problem, ustawiając właściwość disabledContentColor. Poprawimy to w następnej wersji.

Zmiany interfejsu API

  • Dodano możliwość włączenia karetek etykietki dla interfejsów API zwykłego Tooltip. (IBF767)
  • SwipeToDismissState, rememberSwipeToDismiss i SwipeToDismissValue zostały przemianowane na _SwipeToDismissBox_. (I68d6d)

Poprawki błędów

  • Poprawiono wartość dopełnienia końcowego ListItem, aby dostosować ją do specyfikacji (Ibd68b, b/305342674).
  • Kolor konspektu karty jest teraz prawidłowo mapowany na OutlineVariant. (I75480, b/310979715)
  • Dynamiczny kolor jest teraz pobierany z ról kolorów zdefiniowanych przez system. Zwiększa to kontrast łatwo dostępnych treści i lepiej dopasowuje dynamiczne kolory do specyfikacji Material Design (I1de96).
  • Usunięto obsługę cofania w trybie ModalBottomSheet w Androidzie T/13 i nowszych w wersji android:enableOnBackInvokedCallback="true". (I728dc, b/306196110)

Wersja 1.2.0-beta01

13 grudnia 2023 r.

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

Zmiany interfejsu API

  • Oznacz TabIndicatorScope jako eksperymentalną. (I45c88)
  • Usunięto wycofane, eksperymentalne interfejsy API na potrzeby etykietki. (I438cb)
  • Aby nie używać podkompozycji, zmień nowe przeciążenia funkcji TabRow. W rezultacie w inny sposób tworzy się wskaźniki TabRow z użyciem dostępnych modyfikatorów niestandardowych. (Ife741).
  • Wycofujemy interfejsy API DismissDirection i DismissValue. Zostały one scalone z zasadą SwipeToDismissValue, której wartości wskazują zarówno pozycję, jak i kierunek elementu SwipeToDismissBox. DismissState.progress jest teraz oznaczony jako FloatRange między 0.0 a 1.0. DismissState wycofane narzędzia Zapisz i Konstruktor zostały usunięte. Obiekt SwipeToDismiss, stan i obiekty domyślne zostały oznaczone jako eksperymentalne. (IB54f2)

Poprawki błędów

  • Domyślny wskaźnik dla opcji PullToRefresh to teraz otwarty grot strzałki zamiast pełnego trójkąta. (I67be3).

Wersja 1.2.0-alfa12

29 listopada 2023 r.

Usługa androidx.compose.material3:material3-*:1.2.0-alpha12 została zwolniona. Wersja 1.2.0-alfa12 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • RangeSlider przyjmuje teraz zakres Kotlin (np. 0f..1f) zamiast niestandardowej klasy wartości FloatRange. SnapFlingBehavior.kt używa teraz także zakresu Kotlin. (I025cb)
  • Oznacz funkcje fabryczne modyfikatora jako @Stable. (IB109f).

Wersja 1.2.0-alfa11

15 listopada 2023 r.

Usługa androidx.compose.material3:material3-*:1.2.0-alpha11 została zwolniona. Wersja 1.2.0-alfa11 zawiera te zatwierdzenia.

Nowe funkcje

  • Implementuje PullToRefreshContainer i PullToRefreshState, które razem zapewniają implementację pull do odświeżania w Material3. (I16456, b/261760718)

Zmiany interfejsu API

  • Oznacz SwipeToDismissBox DismissDirection i DismissValue jako eksperymentalne. (I517b0)
  • Zmień nazwę SwipeToDismiss na SwipeToDismissBox. Zmień nazwę kolumny background na backgroundContent, a dismissContent na końcowe content. (I7f4d3)
  • Ustaw konstruktor dla ChipElevation i SelectableChipElevation jako publiczny. (Ie0c48, b/308432421)
  • Dodaję: ModalBottomSheetProperties. Przenoszę element securePolicy do folderu ModalBottomSheetProperties. Dodaję isFocusable i shouldDismissOnBackPress do ModalBottomSheetProperties. Te nowe wartości logiczne pomagają określić, jak modalna plansza dolna powinna obsługiwać zdarzenia IME. (Iea56f, b/278216859)
  • Zaktualizowano stany RangeSlider i Slider, usuwając initialOnValueChange, początkowe prefiksy i odpowiednie dokumenty kdocs. (I57d30)
  • Wycofanie klasy ChipBorder i powiązanych z nią wywołań funkcji. Zalecamy bezpośrednie użycie klasy BorderStroke. (I89cc2).
  • Interfejsy API funkcji Foundation etykiet to teraz @ExperimentalFoundationApi. (I30B0B)
  • Metody TabRow i ScrollableTabRow nie są już wycofane. Nowe warianty, główne i dodatkowe, są oznaczone jako eksperymentalne. (I0def6).
  • Elementy filtra i danych wejściowych używają teraz bezpośrednio BorderStroke. (I07a8d)
  • SegmentedButton korzysta teraz bezpośrednio z usługi BorderStroke. (I89b9b)
  • Zmieniliśmy nazwę ogólnej funkcji AlertDialog na BasicAlertDialog i wycofaliśmy poprzednią. (Idbe52).
  • Zmień nazwę interfejsów API SwipeToDismiss na SwipeDismiss i promuj nowe interfejsy API SwipeDismiss jako stabilne. (I14cbe).
  • Dodano tonalElevation i shadowElevation do interfejsów API etykietek. Dodatkowo przenosimy interfejsy API TooltipBox, PlainTooltip i RichTooltip z powrotem do wersji eksperymentalnej, ponieważ zostały one przypadkowo opublikowane jako stabilne. (If0f66, b/293939035)
  • Zmień eksperymentalne interfejsy API układów na stabilny. (Iea2c3).
  • Usunęliśmy adnotację @ExperimentalMaterial3Api z klikalnych kart Material3. (I88dbf).

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował awarię SwipeToDismiss w niektórych sytuacjach z zagnieżdżonymi układami Lookahead i Leniwy. (Ica8d1, b/297226562)

Wersja 1.2.0-alfa10

18 października 2023 r.

Usługa androidx.compose.material3:material3-*:1.2.0-alpha10 została zwolniona. Wersja 1.2.0-alfa10 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Przenosim Badge i BadgedBox do stabilnej wersji. (I67f16, b/261565132)
  • Dodaję securePolicy jako parametr do ModalBottomSheet, aby użytkownicy mogli definiować działanie funkcji WindowManager.LayoutParams.FLAG_SECURE. (Icdac8, b/296250262)
  • Dodano nowe przeciążenia wartości LinearProgressIndicator i CircularProgressIndicator, które jako lambda przyjmują parametr progress. Powinny one być wydajniejsze niż poprzednie wersje. (I824e6, b/295616656)
  • Zmienia nazwę StandardSizeClasses na AllSizeClasses. (I8cb07)
  • Łączenie funkcji obliczeniowych klas rozmiaru okna. (IAD935).

Poprawki błędów

  • Naprawianie awarii DatePicker polegającej na szybkim kliknięciu przycisków strzałek nawigacji, gdy wyświetlany miesiąc zbliża się do dozwolonego zakresu lat. (I46f36, b/290954897, b/297002119)
  • [Kolejka nawigacyjna/bar] Obsługa przezroczystego koloru wskaźnika. (Ie0a9b, b/267289987)

Wersja 1.2.0-alpha09

4 października 2023 roku

Usługa androidx.compose.material3:material3-*:1.2.0-alpha09 została zwolniona. Wersja 1.2.0-alfa09 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Przeniesiono interfejsy ModalNavigationDrawer i DismissibleNavigationDrawer, aby można było korzystać z nowych interfejsów API AnchoredDraggable. Metoda animateTo funkcji DrawerState została zastąpiona metodami otwarcia i zamknięcia, a przesunięcie jest teraz wyświetlane jako liczba zmiennoprzecinkowa zamiast obiektu stanu. Dostęp do przesunięcia możesz uzyskać bezpośrednio na stronie currentOffset. (I0a72c)
  • Dodano funkcje niekompozycyjne, aby bezpośrednio tworzyć funkcje DatePickerState i DateRangePickerState. Tych funkcji możesz w razie potrzeby używać jako zamienników funkcji rememberDatePickerState i rememberDateRangePickerState funkcji kompozycyjnych. (I70326, b/291524052)
  • Wersje stałe i przewijane TabRows mają teraz warianty główne i dodatkowe. Są one prawidłowo zmapowane na kolor i działanie wskaźników zgodnie z definicją w Material3.
  • PrimaryScrollableTabRow i SecondaryScrollableTabRow udostępniają teraz stan przewijania. (Iec8f5, b/260572337)
  • Dodanie nowego parametru sheetMaxWidth, który deweloperzy mogą ustawić, aby określić maksymalną szerokość arkusza. Dp.Nieokreślony parametr może zostać przekazany jako parametr, jeśli potrzebny jest arkusz rozciągający się na całą szerokość ekranu. (Ifb7c9, b/266697696)
  • Dodano ponownie interfejsy API PlainTooltipBox i RichTooltipBox jako wycofane metody. (I246fa)

Poprawki błędów

  • Naprawa błędu polegającego na zainicjowaniu funkcji DatePicker przy użyciu parametru DatePickerFormatter, który ma określone szkielety dat, które pozostają takie same po konwersji na wzorce daty (np. RR). (I01f29)

Wersja 1.2.0-alpha08

20 września 2023 r.

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

Wyjątkowa zmiana w działaniu

  • Metoda ColorScheme jest teraz stała, co zmniejsza efektywność pojedynczych aktualizacji kolorów, a częstsze używanie kolorów pozwala efektywniej korzystać z tych kolorów. Zmiana ta wynika z faktu, że w większości aplikacji brak aktualizowania poszczególnych kolorów. W dalszym ciągu jest to możliwe, ale nastąpi też ponowne skomponowanie kodu niż wcześniej. To z kolei znacznie zmniejszy liczbę subskrypcji stanu z wykorzystaniem całego kodu Material Design i wpłynie na koszty inicjowania i czasu działania w bardziej standardowych przypadkach użycia. (Ic447d, b/297212873)
  • Wysokość tonalna nie jest już animowana w różnych stanach interakcji zgodnie ze specyfikacją (Icdd12).

Zmiany interfejsu API

  • Dodano nowy parametr BottomAppBar, który przyjmuje jako parametr BottomAppBarScrollBehavior w celu automatycznego ukrywania podczas przewijania treści. Dodano również FabPosition.EndOverlay, dzięki czemu przycisk PPP może nałożyć dolny pasek aplikacji w rusztowaniu, zamiast być zakotwiczony nad nim. (Iecb47).
  • Dodaliśmy prosty komponent Etykieta, który opiera się na elemencie BasicTooltipBox, który nie zamyka się po dotknięciu poza granicami etykiety. (I821f9)

Poprawki błędów

  • W przypadku etykiet nie można już używać atrybutu rememberSaveable. (Icc131, b/299500338)
  • Dodaliśmy tymczasową flagę pozwalającą kontrolować, czy Scaffold powinien mierzyć elementy podrzędne podczas pomiaru czy umieszczania. Domyślnie będzie to mierzone. Jeśli masz problemy z nowym sposobem działania, zgłoś problem. (I0B354)
  • Naprawiono poziomą krawędź do krawędzi w BottomSheet przy użyciu poprawnego pomiaru szerokości ekranu urządzenia. (I1df0c, b/299058752)
  • Naprawiono błąd polegający na tym, że funkcja ModalBottomSheet nie wywoływała elementu onDismissedRequest po zamknięciu go przez przesunięcie palcem w dół po arkuszu. (Idfdd8)

Wersja 1.2.0-alpha07

6 września 2023 r.

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

Nowe funkcje

  • W compose material 1.6.0-alpha05 dodaliśmy obsługę ikon automatycznego odbicia lustrzanego. Szczegółowe informacje o takich ikonach znajdziesz w informacjach o wersji.

Zmiany interfejsu API

  • SliderState implementuje DraggableState (I9b116)
  • Zmień kształt na wymagany parametr. Zmień nazwę position na index w funkcji pomocniczej kształtu. (I34941)
  • Aktualizuje DatePicker formatWithSkeleton, dodając mapę, która będzie używana jako pamięć podręczna do zwiększania wydajności. (I3195F)
  • Dodano element BasicTooltipBox do folderu compose.foundation oraz zaktualizowaliśmy PlainTooltipBox i RichTooltipBox, aby umożliwić użycie funkcji TooltipBox z nowymi kompozycjami PlainTooltip i RichTooltip. (I79e1D)

Poprawki błędów

  • dynamicLightColorScheme i dynamicDarkColorScheme zwracają teraz wyższe kolory kolorów w przypadku ról powierzchni i surfaceContainer. (I5e901)
  • Rozwiązaliśmy problem, który powodował, że niektóre komponenty korzystające z kompozycji podrzędnej (np. BottomSheetScaffold) w Scaffold w LookaheadScope próbowały zbyt wcześnie odczytywać swój rozmiar. (I297b4, I871f1, b/295536718)

Wersja 1.2.0-alpha06

23 sierpnia 2023 r.

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

Poprawki błędów

  • Naprawiono obliczenie offset dla DropdownMenu, więc odsunięcia x zależą wyłącznie od kierunku układu lokalnego. Odsunięcia y nie będą już cofane, gdy menu znajdzie się u dołu ekranu. (Iccc74, b/294103942)
  • Naprawiono obliczenie offset dla DropdownMenu, więc odsunięcia x zależą wyłącznie od kierunku układu lokalnego. Odsunięcia y nie będą już cofane, gdy menu znajdzie się u dołu ekranu. (Ib87a2, b/294103942)

Wersja 1.2.0-alpha05

9 sierpnia 2023 r.

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

Zmiany interfejsu API

  • Zmiany w polu wyboru i kolorach TriStateCheckbox. Element CheckboxDefaults.colors() disabledUncheckedColor ma teraz wpływ tylko na obramowanie pola wyboru. Specjalne sytuacje, w których trzeba ustawić wewnętrzny kolor pola, gdy jest wyłączony lub odznaczony, wymagają niestandardowego utworzenia wystąpienia CheckboxColors z odpowiednimi wartościami koloru. (I77d17, b/291943198)

Wersja 1.2.0-alfa04

26 lipca 2023 r.

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

Nowe funkcje

  • Experimental Segmented Button API (Ifc8fb)
  • Dzielniki mają teraz parametr do sterowania orientacją, który pozwala obsługiwać separatory pionowe. (I4c899, b/288438593)

Zmiany interfejsu API

  • Przenosimy zależność gęstości na poziom komponentu. Dotyczy to komponentów opartych na arkuszu SwipeToDismiss i komponentach opartych na arkuszu. Użyj nowego dostępnego przeciążenia, w którym gęstość jest parametrem. (I1846e)
  • Dodatkowe adnotacje do określania dozwolonych danych wejściowych do elementów kompozycyjnych (Ief234)
  • Dodaj parametr ikony do przycisku z podziałem na segmenty, podziel semantykę, aby umożliwić wybór podzielonego na segmenty w celu zastosowania wyboru pojedynczego, oraz za pomocą przełącznika w celu wdrożenia wyboru wielokrotnego za pomocą poleceń SelectableSegmentedButtonRow i ToggelableSegmentedButtonRow. (I38740)
  • Nazwa separatora została zmieniona na HorizontalDivider. Dodano funkcję VerticalDivider. (I5975C)
  • Zmień korzystanie z interfejsu ClosedFloatingPointRange o mniejszej wadze (FloatRange) w eksperymentalnych interfejsach API Material3, aby zminimalizować autoboxing. (I4aab5).
  • Dodano nowe wyrównanie rozpoczęcia dla języka FabPosition (Ib7aea, b/170592777)

Poprawki błędów

Wersja 1.2.0-alfa03

21 czerwca 2023 r.

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

Zmiany w działaniu

  • includeFontPadding to teraz false domyślnie w typografii Material 3. Domyślny styl wysokości wiersza również został zmieniony na Trim.None i Alignment.Center, a do elementów TextStyle w tabeli Typography dodaliśmy wyraźne lineHeight (w sp). Aby dostosować te wartości, zapoznaj się z dokumentacją interfejsu API, a szczegółowe omówienie tych zmian znajdziesz w poście na blogu. (I6266f, Icabc3)

Nowe funkcje

  • Dodano przeciążenie elementu RangeSlider, które jest wersją stanową komponentu. Utworzono plik RangeSliderState. Zawiera on wszystkie informacje o bieżącej aktywnej ścieżce, dane o pomiarach komponentów RangeSlider oraz funkcje logicznego przeciągania i gestów. (I8c270)
  • Pasek wyszukiwania obsługuje teraz cienie za pomocą nowo dodanego parametru shadowElevation. (Ia5369, b/271040353)
  • ColorScheme obsługuje teraz nowe role: SurfaceContainer.
  • Nakładkę wysokości tonalnej powierzchni można teraz wyłączyć z lokalną kompozycją LocalTonalElevationEnabled. (Ic203c, b/277774590)

Zmiany interfejsu API

  • Otwórz konstruktory kolorów komponentu. (I8c4a6).
  • Dodanie parametru możliwego do zaznaczenia do obu interfejsów API etykietki, aby umożliwić programistom obserwację zdarzeń dotknięcia. Uważaj, ponieważ może to spowodować zakłócenia w automatycznym przemierzaniu stron w ułatwieniach dostępu. (IE32d8).
  • Zoptymalizowany dostęp pod kątem wydajności i alokacji pamięci. (Iede48).
  • Udostępnij DefaultSizeClasses i utwórz StandardSizeClasses dla: WindowSizeClasses (I91838)
  • zmień WindowWidth/HeightSizeClass na klasy wartości zmiennoprzecinkowej (Ie686e)

Poprawki błędów

  • Parametr contentWindowInsets Scaffold uwzględnia teraz wykorzystane wstawki okien. Zwróć uwagę, że po podaniu tych parametrów zachowanie dopełnienia treści na podstawie parametrów topBar i bottomBar pozostaje niezmienione. (I08b73, b/264601542)
  • Popraw wyrównanie położenia pośrodku górnego paska aplikacji, aby długi tytuł nie wyświetlał się nad ikonami działań lub ikoną nawigacji. (I4369f, b/236994621)
  • Pozycje kart mają teraz minimalną szerokość treści 24 dp. Zapewnia to łatwo dostępny docelowy element dotykowy we wskaźnikach kart. (Id8861).
  • Dynamiczne palety kolorów z usług dynamicLightColorScheme i dynamicDarkColorScheme obsługują teraz nowe role powierzchni. (I1252e)
  • Zmieniam wyrównanie powiadomień plakietki, aby nie były przycinane podczas spotkania z dziadkiem/dziadkiem. (Idf75a)

Wersja 1.2.0-alfa02

24 maja 2023 r.

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

Zmiany interfejsu API

  • Dodano parametr insets window do ModalBottomSheet.
    • Rysunek dla ModalBottomSheet może być teraz rysowany za paskiem stanu, gdy windowInsets ma wartość 0
    • Zaktualizowano domyślną funkcję ModalBottomSheet, aby była poza paskami systemowymi i nawigacją
    • W trybie od krawędzi do krawędzi do obsługi wstawki paska stanu służy uchwyt do przeciągania.
    • BottomSheetDefaults zawiera wstawki okna BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275
  • Wycofaj Indicator i dodaj Primary/SecondaryIndicator, aby zapewnić zgodność ze specyfikacją M3. PrimaryIndicator odpowiada szerokości zawartości karty, a SecondaryIndicator obejmuje pełną dostępną szerokość. Parametr SecondaryIndicator jest odpowiednikiem wycofanej funkcji Indicator i może być bezpośrednim zamiennikiem. (I27604).
  • Dodano opcję przekazywania w polu ScrollState podczas tworzenia elementów DropdownMenu lub ExposedDropdownMenu do kontrolowania stanu przewijania w pionie wyświetlanych elementów menu. (Ia0734, b/185304441)
  • Dodano przeciążenie elementu Slider, które jest wersją stanową komponentu. Utworzono plik SliderState. Zawiera on wszystkie informacje o bieżącej aktywnej ścieżce, dane o pomiarach komponentów Slider oraz funkcje logicznego przeciągania i gestów. (I124a5)
  • Zmieniamy nazwę właściwości Semantyka isContainer na isTraversalGroup (I121f6).
  • Dodano zoptymalizowaną wartość TextStyle.merge(...) z pełną listą parametrów. (Iad234, b/246961787)
  • Udostępniono publiczne interfejsy TooltipState, RichTooltipState i PlainTooltipState. Dodano stany domyślne (RichTooltipStateImpl i PlainTooltipStateImpl). Dodano remember*State funkcje, aby uzyskać te zaimplementowane stany. Usunięto: TooltipSync na rzecz: TooltipDefault.GlobalMutatorMutex. (I7813D)
  • Zaktualizowano DatePickerColors, aby uwzględnić dodatkowe opcje dostosowywania kolorów separatora daty, elementów nawigacyjnych i pól do wprowadzania tekstu. (I1a685, b/274626815)
  • DatePickerState i DateRangePickerState są teraz interfejsami publicznymi z domyślnymi implementacjami, które można pobierać przy użyciu interfejsów rememberDatePickerState i rememberDateRangePickerState. (I71c52)
  • Usunęliśmy dateValidator z elementów DatePicker i DateRangePicker oraz wprowadziliśmy interfejs SelectableDates, który można ustawić w stanie, aby kontrolować, które daty lub lata można wybrać w interfejsie. (Ic2fc6)
  • Interfejs TimePicker został usunięty ze stabilnego interfejsu API; w interfejsie API stanu spodziewane są dalsze zmiany (I3f39a)
  • Aplikacja ModalBottomSheet została przeniesiona tylko na Androida. Funkcja ModalBottomSheet nie jest zalecana do użytku na komputerach, a jej funkcjonalność nie jest aktywnie obsługiwana. (IB3778)

Poprawki błędów

  • Naprawiono działanie zamknięcia AlertDialog, które pojawiało się pod działaniem potwierdzenia, gdy działania nakładały się na siebie, by pasowały do szerokości okna. Ta poprawka dopasowuje implementację do specyfikacji Material Design (I029de, b/235454277).
  • Naprawiliśmy błąd w elemencie ListItem z nieprawidłowym dopełnieniem w przypadku 3 elementów zamówienia. (I6e235).
  • ModalBottomSheet może teraz wyświetlać klawiaturę IME (Idc508, b/262140644, b/268380384, b/272483584)

Wersja 1.2.0-alpha01

10 maja 2023 r.

androidx.compose.material3:material3:1.2.0-alpha01 i androidx.compose.material3:material3-window-size-class:1.2.0-alpha01 zostały udostępnione. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.

Wersja 1.1

Wersja 1.1.2

20 września 2023 r.

androidx.compose.material3:material3:1.1.2 i androidx.compose.material3:material3-window-size-class:1.1.2 zostały udostępnione. Wersja 1.1.2 zawiera te zatwierdzenia.

Poprawki błędów

  • Poprawiony modyfikator był nieprawidłowo przekazywany do 2 komponentów. (b/282761472)
  • Naprawiono funkcję TimePickerState zwracającą nieprawidłowe godziny po zainicjowaniu w ciągu 23 godzin. (b/278242122)
  • Poprawiono początkowy stan przełączania dla weryfikacji w południe i minutę. (b/269768197, b/282790635)
  • Naprawiono funkcję state.hour zwracającą nieprawidłową wartość dla godziny 23:00. (b/282761472, b/278242122)

Wersja 1.1.1

21 czerwca 2023 r.

androidx.compose.material3:material3:1.1.1 i androidx.compose.material3:material3-window-size-class:1.1.1 zostały udostępnione. Wersja 1.1.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Dodaje wywołanie funkcji ModalBottomSheet bez parametru windowInset w celu zapewnienia zgodności binarnej. (IB7959)
  • Dodano parametr insets window do ModalBottomSheet.
    • Rysunek dla ModalBottomSheet może być teraz rysowany za paskiem stanu, gdy windowInsets ma wartość 0
    • Zaktualizowano domyślną funkcję ModalBottomSheet, aby była poza paskami systemowymi i nawigacją
    • W trybie od krawędzi do krawędzi do obsługi wstawki paska stanu służy uchwyt do przeciągania.
    • BottomSheetDefaults zawiera wstawki okna BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275

Wersja 1.1.0

10 maja 2023 r.

androidx.compose.material3:material3:1.1.0 i androidx.compose.material3:material3-window-size-class:1.1.0 zostały udostępnione. Wersja 1.1.0 zawiera te zatwierdzenia.

Główne funkcje 1.1.0

Nowe komponenty Material Design 3

Ulepszenia istniejących komponentów Material Design 3.

Przeniesienie eksperymentalnych interfejsów API do wersji stabilnej

Więcej informacji znajdziesz w tym poście na blogu.

Wersja 1.1.0-rc01

19 kwietnia 2023 r.

androidx.compose.material3:material3:1.1.0-rc01 i androidx.compose.material3:material3-window-size-class:1.1.0-rc01 zostały udostępnione. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Interfejs TimePicker został usunięty ze stabilnego interfejsu API; w interfejsie API stanu spodziewane są dalsze zmiany (I3f39a)
  • Aplikacja ModalBottomSheet została przeniesiona tylko na Androida. Funkcja ModalBottomSheet nie jest zalecana do użytku na komputerach, a jej funkcjonalność nie jest aktywnie obsługiwana. (IB3778)

Wersja 1.1.0-beta02

5 kwietnia 2023 r.

androidx.compose.material3:material3:1.1.0-beta02 i androidx.compose.material3:material3-window-size-class:1.1.0-beta02 zostały udostępnione. Wersja 1.1.0-beta02 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Funkcja SheetState ma teraz opcjonalny parametr skipHiddenState
  • Funkcja rememberStandardBottomSheetState ma teraz opcjonalny parametr skipHiddenState
  • BottomSheetScaffold ma teraz zdefiniowaną ukrytą kotwicę, ale jest ona domyślnie wyłączona
  • Dokumentacja SheetState.requireOffset została zaktualizowana
  • Nazwa BottomSheetDefaults.MinimizedShape została zmieniona na BottomSheetDefaults.HiddenShape (I839f4, b/273870234)

Poprawki błędów

  • Nie przełączaj tarczy zegarka z godziny na minuty przy włączonej funkcji czytania dotykiem. (I717d0)
  • Semantyka uchwytu przeciągania ModalBottomSheet i BottomSheetScaffold zostały scalone. (I05Afb)
  • Modyfikator BottomSheetScaffold oraz parametry containerColor i contentColor mają teraz wpływ tylko na treść. (I992cb)
  • Funkcja BottomSheetScaffold nestedScroll na potrzeby zawartości arkusza obsługuje teraz flirty. (I992cb)

Wersja 1.1.0-beta01

22 marca 2023 r.

androidx.compose.material3:material3:1.1.0-beta01 i androidx.compose.material3:material3-window-size-class:1.1.0-beta01 zostały udostępnione. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodaj parametr typu układu do funkcji kompozycyjnej TimePicker. Umożliwia stosowanie różnych układów w zależności od konfiguracji ekranu (Ia0e16).
  • Aplikacja SearchBarDefaults została oznaczona jako eksperymentalna. (I65561)
  • Dodano wysokość cienia do: BottomSheetScaffold (I94e0f)
  • Dodano obsługę wyświetlania selektorów daty bez części nagłówka. Zmiany w interfejsie API umożliwiające przekazywanie nagłówka o wartości null podczas tworzenia selektora dat. Aby wyświetlić selektor bez interfejsu graficznego, możesz teraz przekazać pusty nagłówek, tytuł i element showToggleMode = false. (Id3f3a, b/266132421, b/267194809)

Poprawki błędów

  • Paski wyszukiwania automatycznie usuwają zaznaczenie, gdy są nieaktywne. (I22a7c, b/261444487)
  • Zaktualizowano DateRangePicker, by umożliwić wybór zakresu z tą samą datą rozpoczęcia i zakończenia. (I16529, b/272882497)
  • Pola tekstowe mają teraz prawidłowe położenie elementów tekstowych, gdy rozmiar czcionki jest mniejszy niż oczekiwano. Może to spowodować zmianę o kilka pikseli w aplikacjach w zależności od ustawień czcionki i skryptu. (I8B8D0)
  • Działania semantyczne w dolnym arkuszu mają teraz etykiety. (I277b0)

Wersja 1.1.0-alpha08

8 marca 2023 r.

androidx.compose.material3:material3:1.1.0-alpha08 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha08 zostały udostępnione. Wersja 1.1.0-alfa08 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano obsługę BottomSheetScaffold i BottomSheetScaffoldState. (I063d4)

Zmiany interfejsu API

  • Do DatePickerState i DateRangePickerState dodano funkcję umożliwiającą ustawianie dat po początkowym utworzeniu stanu, a także resetowanie wyboru przez ustawianie null sygnatur czasowych. Zachowaj ostrożność podczas ręcznego ustawiania dat. Nowa funkcja setSelection zgłosi wyjątek, jeśli podana data nie spełni warunku wstępnego (zobacz dokumentację). (Ifa645, b/268609314, b/270427389)
  • Zmieniono nazwę zwiniętych elementów SheetValue na PartiallyExpanded, aby dokładniej i elastycznie odzwierciedlić zachowanie w tym stanie. (IA1491).
  • Nazwy parametrów ListItem zostały zmienione na _content zamiast _text. Domyślne moduły pobierające to teraz ReadOnlyComposables w odpowiednich miejscach. (I69a25)
  • Przejdź z wersji eksperymentalnych interaktywnych interfejsów Surface API. (I90d59, b/261561812)

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że stan elementu ModalBottomSheet (HalfExpanded) był nieprawidłowo obliczany i arkusz wydawał się pływający. (I45e84, b/268411386)
  • Dodaj znacznik confirmValueChange do sprawdzenia dotykiem dla: ModalBottomSheet. (I2311a, b/270425759)
  • Przenieś działania semantyczne BottomSheet, aby przeciągnąć uchwyt. (I158BA)
  • Polecenia ModalBottomSheet koncentrują się na uruchamianiu i obsługują przycisk Wstecz. (I4d2ab)
  • Pole ModalBottomSheet onDismissRequest jest teraz obsługiwane również podczas zagnieżdżonych przesuwania przewijania. (I655c5, b/268433166)

Wersja 1.1.0-alpha07

22 lutego 2023 roku

androidx.compose.material3:material3:1.1.0-alpha07 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha07 zostały udostępnione. Wersja 1.1.0-alfa07 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaj funkcję danych wejściowych dotyczących czasu, która działa z metodą rememberTimePickerState(). Jest ona zgodna ze specyfikacją M3 w zakresie wprowadzania czasu (Ia4fab).
  • Dodano interfejs API Material 3 DateRangePicker do wybierania zakresu dat. (I7a6c3, b/267194809)
  • Dodaliśmy obsługę trybu wprowadzania Material 3 do wybierania zakresów dat przy użyciu interfejsu API DateRangePicker. (Ifdbc4).
  • Możesz teraz dostosować kolory pól tekstowych:
    • Kolory pól do wprowadzania danych i tekstów zastępczych zależne od zaznaczenia i stanu błędu. Nazwa parametru textColor została zmieniona na unfocusedTextColor, a nazwa placeholderColor została zmieniona na unfocusedPlaceholderColor.
    • Kolor kontenera wypełnionych pól tekstowych na podstawie stanu błędu w nowym parametrze errorContainerColor.
  • Kolory pola tekstowego menu widocznego menu zostały zaktualizowane o parametry pozwalające obsługiwać nowy interfejs API prefiksu i sufiksu. (I9c8b4, b/254284181, b/264766350)

Zmiany interfejsu API

  • Przywracanie niektórych wersji interfejsu Slider API i usunięcie zbędnych przeciążeń, które obejmuje nowy eksperymentalny suwak z niestandardową kciukiem i ścieżką. Awansuję wersję RangeSlider jako stabilną. (IE8fbd)
  • Zmieniono nazwę defaultElevation na elevation w funkcjach podniesienia elementu. (I0f872)
  • Te interfejsy API Material 3 pól tekstowych nie są już eksperymentalne: TextField, OutlinedTextField, textFieldWithLabelPadding, textFieldWithoutLabelPadding, outlinedTextFieldPadding. (Ieb5c0, b/261561819)
  • TimePickers is24Hour korzysta z ustawienia systemu (I18856)
  • Usunięto adnotację eksperymentalną z interfejsów API scaffold. (Ibb51e, b/261565765, b/261436953)

Poprawki błędów

  • Domyślny kształt elementu ModalBottomSheet to teraz zawsze SheetDefaults.ExpandedShape. (I0dfca)
  • Ulepszenia ułatwień dostępu w Material 3 DatePicker i DateRangePicker. (I5087e)
  • Naprawiono błąd, który powodował, że ograniczenie maksymalnej wysokości jest rozpowszechniane i może ulec awarii. (I30d8c)
  • Usunęliśmy role semantyczne z platform, które można kliknąć i zaznaczyć, oraz zaktualizowaliśmy komponenty, które korzystały z tych elementów do ustawiania ról za pomocą atrybutu modyfikator.semantics (I793d9).

Wersja 1.1.0-alpha06

8 lutego 2023 r.

androidx.compose.material3:material3:1.1.0-alpha06 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha06 zostały udostępnione. Wersja 1.1.0-alfa06 zawiera te zatwierdzenia.

Nowe funkcje

  • W polach tekstowych jest teraz obsługiwany tekst prefiksu i sufiksu (Ia8578, b/179884561)
  • Dodano funkcję TimePicker do wyświetlania selektora godziny zgodnie ze specyfikacją Material 3, używaną w połączeniu z metodą TimePickerState i metodą wygodną rememberTimePickerState (I71910).
  • Dane wejściowe są teraz trybem wyświetlania w DatePicker. Dodano obsługę przełączania między selektorem daty a trybem wprowadzania daty. (Ieeff7).
  • Dodano interfejs API dla: RichTextTooltips. (I58ef3).
  • Modalna implementacja planszy dolnej dla Material 3, w tym ModalBottomSheet i ModalBottomSheetDefaults. Wprowadziliśmy też funkcje SheetState i rememberSheetState, których można używać w przyszłych komponentach arkusza. (I0853a, b/244189383)

Zmiany interfejsu API

  • Ustabilizuj interfejs API showSnackbar (I195c2, b/261424370)
  • Ustabilizować interfejsy API na potrzeby elementów wspomagających i elementów z sugestią (Ibb67b, b/261424370)
  • Promuje interfejsy API ListItem, ListItemDefaults i ListItemColors do wersji nieeksperymentalnych (I7e7fa, b/261438882)
  • Przeniesienie interfejsów SliderPositions, SliderDefaults.Thumb i SliderDefaults.Track do wersji stabilnej oraz dodanie nieeksperymentalnych interfejsów API Slider i RangeSlider, które zawierają niestandardowe kciuki i ścieżkę. Wycofujemy też poprzednie interfejsy API Slider i RangeSlider. (IE5ea6, b/261566890)
  • Sekcja Modifier.tooltipAnchor() jest teraz publiczna, więc deweloperzy mogą przekazać ją do kotwicy, by wskazać, że po przytrzymaniu powinna wyświetlić się etykietka. Zaktualizowaliśmy interfejs API PlainTooltipBox, aby nie dopuszczał już wartości TooltipState do wartości null i ma teraz wartość domyślną. (IE2fb7)
  • Element ProgressIndicatorDefaults.circularTrackColor został oznaczony jako @Composable ze względu na spójność. (Id29cc)
  • Metoda pobierania właściwości LocalMinimuTouchTargetEnforcement została przywrócona i oznaczona jako wycofana oraz przekierowująca do LocalMinimumInteractiveComponentEnforcement. (I60dd5)

Wersja 1.1.0-alpha05

26 stycznia 2023 r.

androidx.compose.material3:material3:1.1.0-alpha05 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha05 zostały udostępnione. Wersja 1.1.0-alfa05 zawiera te zatwierdzenia.

Nowe funkcje

  • DatePickerDialog i ułatwienia dostępu
  • Dodano niestandardową kciuk i ścieżkę do aplikacji RangeSlider.

Aktualizacje zależności

Wersja 1.1.0-alfa04

11 stycznia 2023 r.

androidx.compose.material3:material3:1.1.0-alpha04 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha04 zostały udostępnione. Wersja 1.1.0-alfa04 zawiera te zatwierdzenia.

Nowe funkcje

  • Początkowy interfejs API DatePicker do wybierania pojedynczej daty w interfejsie kalendarza. W tym interfejsie API wciąż trwają zmiany. (I722b9)
  • Dodano obsługę prostych etykietek w PlainTooltipBox. (I0cdfb)
  • Pasek wyszukiwania (Iad128)
  • SwipeToDismiss (I458a8, b/242889540)

Zmiany interfejsu API

  • Dodano we właściwości semantyki IsContainer na platformach. Ta właściwość zostanie użyta w późniejszej zmianie, która określa kolejność przechodzenia między elementami na podstawie semantycznego znaczenia elementów takich jak powierzchnie. (I63379)
  • Oznacz interfejsy API powiązane z panelem nawigacji jako stabilne. (Iab01e, b/261439597)
  • Dodaliśmy parametr koloru ścieżki dla okrągłych wskaźników postępu oraz parametr limitu kreski dla okrągłych i liniowych wskaźników postępu. (Ie668c, b/216325962, b/222964817)
  • Większa dopuszczalność zwracanych wartości null wycofanych funkcji ukrytych (Ibf7b0)
  • Dodaj Modifier.minimumInteractiveComponentSize. Można go użyć, by zarezerwować rozmiar co najmniej 48 dp, aby jednoznacznie rozróżnić interakcje dotykowe, gdy element byłby mniejszy. (I33f58, b/258495559)
  • Dodano eksperymentalny interfejs API dla funkcji kompozycyjnej AlertDialog, która ma boks na treści. (Iec4a2).

Poprawki błędów

  • Postęp w przypadku wskaźników postępu jest teraz prawidłowo ograniczony do oczekiwanego zakresu. (I8a7eb, b/262262727)

Znany problem

  • Podczas aktualizowania z androidx.compose.foundation:1.4.0-alpha03 do androidx.compose.foundation:1.4.0-alpha04 może wystąpić błąd java.lang.NoSuchFieldError. Tutaj został zgłoszony problem. Poprawka została przesłana i będzie dostępna w następnej aktualizacji Utwórz. Aby obejść ten problem, zaktualizuj biblioteki androidx.compose.material i androidx.compose.material3 do najnowszej wersji(1.1.0-alfa04) lub przywróć pakiet androidx.compose.foundation do wersji 1.4.0-alfa03.

Wersja 1.1.0-alfa03

7 grudnia 2022 r.

androidx.compose.material3:material3:1.1.0-alpha03 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha03 zostały udostępnione. Wersja 1.1.0-alfa03 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Zmieniono nazwę consumedWindowInsets() na consumeWindowInsets(), a withConsumedWindowInsets() na onConsumedWindowInsetsChanged() i upubliczniono modyfikatory. (IE44e1).
  • Dodaj nowe domyślne dopełnienie treści przycisku tekstowego z ikoną. (I8f662)
  • Dodano wyłączone kolory paska nawigacyjnego i paska nawigacyjnego. (Ia7892, b/258867034)
  • Dodano interfejs API modyfikatora do wysyłania zapytań o informacje o przewijaniu elementów nadrzędnych (I2ba9d, b/203141462).
  • Używany w Clickable do prawidłowego opóźnienia interakcji polegającej na naciśnięciu, gdy gesty mogą stać się zdarzeniami przewijania.
  • Naprawiono błąd Clickables w zakresie nieprawidłowego opóźniania echa w przypadku użycia wewnątrz elementu Scrollable ViewGroup.
  • Zaktualizowaliśmy panele i panele, tak aby prawidłowo opóźniały naciśnięcia, gdy gesty mogą stać się zdarzeniami przewijania.

Aktualizacje zależności

  • Funkcje Compose UI i Compose Material zależą teraz od cyklu życia 2.5.1. (I05ab0, b/258038814)

Wersja 1.1.0-alfa02

9 listopada 2022 r.

androidx.compose.material3:material3:1.1.0-alpha02 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha02 zostały udostępnione. Wersja 1.1.0-alfa02 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • awaitFirstDown i waitForUpOrCancellation obsługują teraz PointerEventPass, co zapewnia większą elastyczność (poprawiono też wyświetlanie menu w ExposedDropdownMenuBox podczas przewijania).(I7579a, b/212091796)
  • Dodano parametr minLines do obiektu Material3 Text oraz TextField i OutlinedTextField, który umożliwia ustawienie minimalnej wysokości komponentu w zależności od liczby linii (I4af1d).
  • Zrezygnuj z funkcji TopAppBarDefaults smallTopAppBarColors, zastępując ją nową funkcją topAppBarColors, której należy używać przy tworzeniu funkcji TopAppBar. (IE6cb9)
  • Do komponentów BasicText i BasicTextField dodaliśmy parametr minLines. Pozwala ustawić minimalną wysokość elementów kompozycyjnych w postaci liczby wierszy (I24294, b/122476634).

Poprawki błędów

  • Przytnij zawartość elementów IconButton i IconToggleBotton Material3 do kształtu warstwy stanu komponentu (np. okrągłego kształtu). (I9da8f).
  • Aktualizuje średnie i duże paski aplikacji u góry ekranu Material3, aby zastosować ten sam kolor tła na całej powierzchni i umożliwić zastąpienie kolorów domyślnych wartościami kolorów przezroczystych. (I67659, b/249688556, b/250838918)

Wersja 1.1.0-alpha01

24 października 2022 r.

androidx.compose.material3:material3:1.1.0-alpha01 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha01 zostały udostępnione. Wersja 1.1.0-alfa01 zawiera te zatwierdzenia.

Poprawki błędów

  • Poprawia pozycję na górnym pasku aplikacji po zastosowaniu tytułu za pomocą stylu TextStyle i pędzla. (If667e).

Wersja 1.0

Wersja 1.0.1

9 listopada 2022 r.

androidx.compose.material3:material3:1.0.1 i androidx.compose.material3:material3-window-size-class:1.0.1 zostały udostępnione. Wersja 1.0.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Aktualizuje średnie i duże paski aplikacji u góry ekranu Material3, aby zastosować ten sam kolor tła na całej powierzchni i umożliwić zastąpienie kolorów domyślnych wartościami kolorów przezroczystych. (I67659, b/249688556, b/250838918)

Wersja 1.0.0

24 października 2022 r.

androidx.compose.material3:material3:1.0.0 i androidx.compose.material3:material3-window-size-class:1.0.0 zostały udostępnione. Wersja 1.0.0 zawiera te zatwierdzenia.

Główne funkcje 1.0.0

To pierwsza stabilna wersja Compose Material 3.

Motyw Material Design 3 i dynamiczne kolory Material You

Komponenty Material Design 3

Klasa rozmiaru okna

  • material3-window-size-class to nowa biblioteka, która obsługuje klasy rozmiaru okna – zestaw sprawdzonych punktów przerwania widocznego obszaru, które można projektować, tworzyć i testować w układach aplikacji z możliwością zmiany rozmiaru. Za pomocą calculateWindowSizeClass możesz pobrać instancję klasy rozmiaru okna, która pozwala określić, jak powinien wyglądać interfejs. W przypadku większych okien możesz na przykład wyświetlić szynę nawigacyjną zamiast dolną nawigację. Więcej informacji i przykładowe zastosowanie znajdziesz w dokumentacji interfejsu API WindowSizeClass.

  • Więcej informacji znajdziesz w tym poście na blogu.

Wersja 1.0.0-rc01

5 października 2022 r.

androidx.compose.material3:material3:1.0.0-rc01 i androidx.compose.material3:material3-window-size-class:1.0.0-rc01 zostały udostępnione. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodano parametr przedziału na potrzeby interfejsu API pola tekstowego (Iaac0d, b/227146125)

Wersja 1.0.0-beta03

21 września 2022 r.

androidx.compose.material3:material3:1.0.0-beta03 i androidx.compose.material3:material3-window-size-class:1.0.0-beta03 zostały udostępnione. Wersja 1.0.0-beta03 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • ExposedDropdownMenuDefaults udostępnia teraz wartość dopełnienia pozycji menu. (I34ee1).
  • ExposedDropdownMenuBoxScope ma teraz modyfikator Modifier.menuAnchor(), który należy przekazać do pola tekstowego, aby zapewnić prawidłowe działanie funkcji. (I27fa3).
  • Dodano 2 przeciążone metody do bieżącego interfejsu Slider API, aby umożliwić użytkownikom przekazywanie informacji za pomocą kciuka lub ścieżki w celu wypełnienia suwaka. (I21c00)

Poprawki błędów

  • Zaktualizowano mapowanie kolorów ciemnego motywu na kolor On Error Container na ton 90 (Ic5612)
  • Popraw, aby umożliwić ustawienie przezroczystego tła w małych górnych paskach aplikacji Material 3. (I645e2, b/245575782)

Wersja 1.0.0-beta02

7 września 2022 roku

androidx.compose.material3:material3:1.0.0-beta02 i androidx.compose.material3:material3-window-size-class:1.0.0-beta02 zostały udostępnione. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Domyślne wstawienia komponentów wprowadzone w komponentach m3 w wersji beta01 nie uwzględniają już wstawienia IME.
  • Komponent Scaffold Material3 ma teraz parametr contentWindowInsets umożliwiający określenie liczby wstawienia do boksu treści. (Icf11a, b/243713323)
  • Wycofuje eksperymentalną funkcję SmallTopAppBar Material 3 i wprowadza jej odpowiednik TopAppBar. Przenieś wykorzystanie do nowego konta. (I74404, b/226918634)
  • Dodaje kontrolę nad przesuwaniem i przyciąganiem paska aplikacji u góry. (I15c81)
  • Usuwa wcięcie początkowe z separatora i przenosi kolor do ostatniego parametru. (If7be2).

Poprawki błędów

  • Poproś użytkowników o identyfikację się w oknach, wypowiadając słowo Dialog po wyświetleniu. (I857ef)

Wersja 1.0.0-beta01

24 sierpnia 2022 r.

androidx.compose.material3:material3:1.0.0-beta01 i androidx.compose.material3:material3-window-size-class:1.0.0-beta01 zostały udostępnione. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Dokumentacja API

Najnowsze motywy, komponenty i inne dostępne kompozycje znajdziesz w dokumentacji interfejsu Compose Material 3 API.

Zmiany interfejsu API

  • Zaktualizowaliśmy pasek aplikacji Material 3 u góry, aby w pełni zwinięty do pełnego rozmiaru. Zaktualizowaliśmy też funkcję zachowania TopAppBarDefaults na funkcje kompozycyjne i podaliśmy domyślne wartości dla górnego paska aplikacji oraz specyfikacji animacji (I642b3).
  • Zaktualizowano podpisy komponentów przycisku PPP, aby pasowały do interfejsu API platformy (I3afaa)
  • Dodano wcięcia. Wbudowana obsługa pasków aplikacji, szuflad, paska nawigacyjnego i paska nawigacyjnego. Gdy te komponenty są używane oddzielnie lub ze Scaffold, będą automatycznie obsługiwać wstawki dla programistów. Uwaga: ta zmiana nie doda automatycznej obsługi ikon na pasku stanu ani nie zwiększy przejrzystości pasków stanu i nawigacji. Kontynuuj, robiąc to ręcznie, aby zapewnić jak najlepsze wrażenia użytkowania. (I7e4e6, b/183161866)
  • Zaktualizowaliśmy domyślne ustawienia komponentów, aby ograniczyć powierzchnię interfejsu API i w przyszłości poprawić elastyczność i wydajność. (I31820)
  • Zmieniono kolejność parametrów elementów i arkusza nawigacji w celu zachowania spójności w interfejsie API (I45d0b)
  • Usunięto startIndent z separatora i przeniesiono kolor jako ostatni.(If7be2)

Wersja 1.0.0-alfa16

10 sierpnia 2022 r.

androidx.compose.material3:material3:1.0.0-alpha16 i androidx.compose.material3:material3-window-size-class:1.0.0-alpha16 zostały udostępnione. Wersja 1.0.0-alfa16 zawiera te zatwierdzenia.

Nowe funkcje

  • Obsługa określania niestandardowej szerokości w panelu nawigacji. (Ia7f10).

Zmiany interfejsu API

  • Zmień kolejność parametrów karty i ikony wiodącej, aby zachować spójność w interfejsie API (Ie2637)
  • Element BadgeDefaults został oznaczony jako eksperyment. (I98ef3).
  • Usuń wycofaną funkcję panelu nawigacji. (I4f2db)
  • Zmień kolejność parametrów suwaka w Material 3, aby zachować spójność w interfejsie API (I0aee7).
  • Zmień kolejność parametrów NavigationBar i NavigationRail, aby zachować spójność w interfejsie API (I51cda)
  • Zmień kolejność parametrów w Material 3, aby zachować spójność w całym interfejsie API. (If4ae1).
  • Zmień kolejność parametrów suwaka w Material 3, aby zachować spójność w interfejsie API (I62673).
  • Zmieniliśmy nazwy parametru ikon na działania, aby zapewnić spójność z górnym paskiem aplikacji (Id75be).
  • Oznacz Badge i BadgedBox jako eksperymentalne, ponieważ wyrównanie reklamy zakotwiczonej nadal występuje. (I1712e, b/236524516)
  • Zmień adnotacje @ExperimentalMaterial3Api w wariantach przycisków ikon na @OptIn (I070b5)
  • Rozdzielono zawartość panelu nawigacji na własną funkcję kompozycyjną, aby umożliwić określenie dla niej niestandardowej szerokości. (Ia7f10).
  • Usuwa Divider z: MenuDefaults i TabDefaults (I4e33c)

Wersja 1.0.0-alfa15

27 lipca 2022 roku

androidx.compose.material3:material3:1.0.0-alpha15 i androidx.compose.material3:material3-window-size-class:1.0.0-alpha15 zostały udostępnione. Wersja 1.0.0-alfa15 zawiera te zatwierdzenia.

Nowe funkcje

  • Zezwalaj na przeciąganie górnego paska aplikacji z samego paska. (I65c00, b/205873416)

Zmiany interfejsu API

  • Zaktualizowaliśmy interfejsy API FilterChip i ElevatedFilterChip, aby usunąć przedział selectedIcon i promować ponowne używanie leadingIcon do wyświetlania wybranego stanu. (Ie5dc2).
  • Dodaj role kolorów wariantu scrim i konturu. (Id6d54)
  • Popraw konwencje nazewnictwa domyślnych ustawień kompozycyjnych. (I62b27)
  • Oznacz ListItemDefaults i ListItemColors jako eksperymentalne. (I1f3ec).
  • Zmiany w górnym interfejsie API paska aplikacji, aby lepiej odzwierciedlić znaczenie właściwości stanu. Oznacz też interfejs API górnego paska aplikacji jako eksperymentalny. (Ic0ad8).
  • Dodano kolory zaznaczonego tekstu do TextFieldColors, aby zwiększyć wykrywalność. (IBa1b8).
  • Dodano element ButtonDefault.ButtonWithIconContentPadding, który ma być używany z przyciskami zawierającymi ikonę. (I2bf9c)
  • Pola tekstowe zostały oznaczone jako eksperymentalne, aby zapewnić większą elastyczność przyszłych zmian interfejsu API. (I127b5)
  • Usunięto adnotację @ExperimentalMaterial3Api z funkcji Checkbox. (I5eefc).
  • Usunięto adnotację @ExperimentalMaterial3Api z funkcji RadioButton. (I17e2a)
  • Usunęliśmy adnotację @ExperimentalMaterial3Api z kart nieinteraktywnych. (I9bd49)
  • Aktualizuje domyślne obiekty różnych komponentów, dodając do nich kolory, kształty itp. (I96e11)

Poprawki błędów

  • Z próbek elementów wejściowych usunęliśmy niedziałające ikony końcowe, aby uniknąć dezorientacji użytkowników w aplikacji katalogu (I9846a).

Wersja 1.0.0-alfa14

29 czerwca 2022 r.

androidx.compose.material3:material3:1.0.0-alpha14 i androidx.compose.material3:material3-window-size-class:1.0.0-alpha14 zostały udostępnione. Wersja 1.0.0-alfa14 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano implementację listy M3. Zapoznaj się z dokumentacją przykładowego użycia (Id7a20).

Zmiany interfejsu API

  • Zmień nazwę parametru z wartości na wartość w funkcji RangeSlider (I3b79a)
  • Zmiany interfejsu API w implementacji InputChip wspierające wybór stanu zgodnie ze specyfikacją Material Design. Dodatkowa obsługa kolorów FilterChip dla wybranego stanu wyłączenia. (I55244, b/235792432)
  • Dodaj domyślny przycisk typu FAB (BottomAppBar) (Ida4c8)
  • Dodano ColorScheme.surfaceColorAtElevation (Id41af)
  • Interfejsy w bibliotekach tworzenia wiadomości są teraz tworzone przy użyciu domyślnych metod interfejsu jdk8 (I5bcf1)
  • WindowWidthSizeClass i WindowHeightSizeClass implementują funkcję „Porównywalne”, więc można je porównywać za pomocą operatorów (<, <=, >=, >) oraz innych interfejsów API. (I747d0)

Poprawki błędów

  • Zaktualizuj przykładową plakietkę, aby dodać bardziej opisowy opis treści. (I10b9d)
  • Dodaje opcję używania systemowego rozmiaru czcionki do selektora motywów Material 3 w katalogu Material 3. (I10605).
  • Dodaje przykładowy kod plakietki i nieokreślone wskaźniki postępu. (I8fbe0)

Wersja 1.0.0-alfa13

1 czerwca 2022 r.

androidx.compose.material3:material3:1.0.0-alpha13 i androidx.compose.material3:material3-window-size-class:1.0.0-alpha13 zostały udostępnione. Wersja 1.0.0-alfa13 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Pomaga utrzymać pozycję u góry paska aplikacji po zmianie konfiguracji. (I10459, b/216160958)

Wersja 1.0.0-alfa12

18 maja 2022 r.

androidx.compose.material3:material3:1.0.0-alpha12 i androidx.compose.material3:material3-window-size-class:1.0.0-alpha12 zostały udostępnione. Wersja 1.0.0-alfa12 zawiera te zatwierdzenia.

Poprawki błędów

  • Element nadrzędny suwaka może teraz mieć szerokość 0. (b/231707291)

Wersja 1.0.0-alfa11

11 maja 2022 roku

androidx.compose.material3:material3:1.0.0-alpha11 i androidx.compose.material3:material3-window-size-class:1.0.0-alpha11 zostały udostępnione. Wersja 1.0.0-alfa11 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano element RangeSlider do Material 3 (I18e38)
  • Dodano obsługę Material3 AssistChip i InputChip (I0d25a)
  • Dodano obsługę Material3 FilterChip i SuggestionChip (I9fdf3)

Zmiany interfejsu API

  • Zmieniono nazwę funkcji kompozycyjnej TextFieldDefaults.BorderStroke, która rysuje linię obramowania w OutlinedTextField na TextFieldDefaults.BorderBox. (I5f295)
  • Zmiany wizualne interfejsu Switch M3 (Iab30e)
  • Zezwalaj na przekazywanie kolorów do standardowych przycisków ikon. (IA2445).

Poprawki błędów

  • Dodaj sprawdzanie lin do elementu material3/Scaffold, aby upewnić się, że wewnętrzne dopełnienie zostało zastosowane (I72293, b/226951418).

Wersja 1.0.0-alpha10

20 kwietnia 2022 r.

androidx.compose.material3:material3:1.0.0-alpha10 i androidx.compose.material3:material3-window-size-class:1.0.0-alpha10 zostały udostępnione. Wersja 1.0.0-alfa10 zawiera te zatwierdzenia.

Nowe funkcje

  • material3-window-size-class to nowa biblioteka, która obsługuje klasy rozmiaru okna – zestaw sprawdzonych punktów przerwania widocznego obszaru, które można projektować, tworzyć i testować w układach aplikacji z możliwością zmiany rozmiaru. Za pomocą calculateWindowSizeClass możesz pobrać instancję klasy rozmiaru okna, która pozwala określić, jak powinien wyglądać interfejs. W przypadku większych okien możesz na przykład wyświetlić szynę nawigacyjną zamiast dolną nawigację. Więcej informacji i przykładowe zastosowanie znajdziesz w dokumentacji interfejsu API dla WindowSizeClass. Więcej informacji o definicjach klas rozmiaru okna znajdziesz w publicznych wskazówkach dotyczących obsługi różnych rozmiarów ekranów.

Zmiany interfejsu API

  • Dodaje domyślną wysokość przycisku FAB dla elementu BottomAppBar i usuwa lambdę końcowej z BottomAppBar przy użyciu przycisku PPP. (I92c47)
  • Dodaje Material3 FilledIconButton, FilledTonalIconButton i OutlinedIconButton. (Ib2bda),
  • Aktualizuje interfejs Material 3 Snackbar API, aby akceptować wartości kolorów dla działania opcjonalnego i odrzucenia. (Ibe4b4).
  • Częściowe wykorzystanie (pozycja w dół LUB w pozycji) zostało wycofane w funkcji PointerInputChange. Aby w pełni zastosować zmianę, możesz użyć polecenia consume(). Parametr isConsumed pozwala określić, czy ktoś inny wykorzystał już tę zmianę.
  • Teraz PointerInputChange::copy() zawsze tworzy płytkie kopie. Oznacza to, że po wykorzystaniu jednej z nich kopie tekstu PointerInputChange zostaną zużyte. Jeśli chcesz utworzyć niepowiązany element PointerInputChange, użyj konstruktora. (Ie6be4, b/225669674)
  • Zmiany w interfejsie Cards API dotyczące otrzymywania kolorów kontenera i treści przez interfejs CardColors oraz obsługę stanu wyłączenia w przypadku kart klikalnych. (I927df)
  • Nazwa parametru backgroundColor została zmieniona na containerColor w polach tekstowych Material 3, aby poprawić spójność z innymi komponentami. (I6fbd9)

Poprawki błędów

  • Zaktualizowano standardową wersję IconButton, aby dostosować ją do specyfikacji Material3 (I09eab).
  • Przenieś wysokość górnego paska funkcji Material3 Scaffold do dopełnienia przekazywanego do treści, aby umożliwić wyrenderowanie treści poniżej górnego paska aplikacji. Jeśli PaddingValues zostanie zignorowany, treść może być przysłonięta przez górny pasek. (I83cbc, b/217776202)

Wersja 1.0.0-alpha09

6 kwietnia 2022 roku

Usługa androidx.compose.material3:material3:1.0.0-alpha09 została zwolniona. Wersja 1.0.0-alfa09 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano interfejs Material 3 Switch API (I2c3ad)

Zmiany interfejsu API

  • Dodano obsługę menu z polami tekstowymi (tzn. „ujawnione menu” lub „pola kombi”). (I1b832)
  • Dodano parametr kształtu do podsystemów MaterialTheme i shape. (I37426)
  • Do ExtendedFloatingActionButton dodano rozwinięty parametr, który określa, czy przycisk PPP jest rozwinięty, czy zwinięty, z animacjami między poszczególnymi stanami. Dodano rozszerzone przeładowanie przycisku PPP w przypadku rozszerzonych przycisków PPP z tekstem na końcu dla tych przycisków bez ikony. (Iba7f1).

Wersja 1.0.0-alpha08

23 marca 2022 r.

Usługa androidx.compose.material3:material3:1.0.0-alpha08 została zwolniona. Wersja 1.0.0-alfa08 zawiera te zatwierdzenia.

Nowe funkcje

Zmiany interfejsu API

  • Dodaj domyślny separator menu (I01374)
  • Do klasy ColorScheme dodano parametr koloru surfaceTint. (I2f558)

Poprawki błędów

  • Umieść przycisk na przycisku Material3, aby odczytać jego domyślną wartość stylu tekstu z MaterialTheme. (IE62fc)

Wersja 1.0.0-alpha07

9 marca 2022 r.

Usługa androidx.compose.material3:material3:1.0.0-alpha07 została zwolniona. Wersja 1.0.0-alfa07 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Aktualizacje interfejsu Material 3 Surface API, które przywracają przeciążone funkcje platform, które można kliknąć, oraz dodaliśmy funkcję obsługującą powierzchnie, które można wybrać i przełączać. (I4bf18)
  • Wersje LazyVerticalGrid i LazyHorizontalGrid są teraz stabilne. (I307C0)
  • Pakiet LazyVerticalGrid/LazyHorizontalGrid i wszystkie powiązane interfejsy API zostały przeniesione do podpakietu .grid. Zaktualizuj importy z androidx.compose.foundation.lazy na androidx.compose.foundation.lazy.grid. (I2d446)
  • Cofnięto poprzednią zmianę polegania wyłącznie na widoku danych w WindowInsetsControllerCompat i znowu wymagamy pola Window, które jest wymagane do zarządzania niektórymi flagami okien. Wycofano ViewCompat.getWindowInsetsController na rzecz WindowCompat.getInsetsController, aby zapewnić użycie właściwego okna (np. jeśli widok jest w oknie). (I660ae, b/219572936)
  • Dodano nowy interfejs API LazyVerticalGrid do definiowania rozmiarów osi krzyżowych (I17723)

Poprawki błędów

  • Aktualizacje interfejsu Card API w celu zastosowania zmian w interfejsie Surface API (I3c8b9)

Wersja 1.0.0-alpha06

23 lutego 2022 r.

Usługa androidx.compose.material3:material3:1.0.0-alpha06 została zwolniona. Wersja 1.0.0-alfa06 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodano NavigationDrawerItem, który reprezentuje pojedyncze miejsce docelowe w panelach (Ic396f, b/218286829)
  • PermanentNavigationDrawer i DismissibleNavigationDrawer zostały dodane jako eksperymentalne interfejsy API. Te szuflady sprawdzają się w przypadku urządzeń z dużym ekranem. (I5f8ab, b/218286829)
  • Dodano obsługę paska aplikacji u dołu Material 3 (Ic432a)
  • Nazwa usługi NavigationDrawer została zmieniona na ModalNavigationDrawer (I1807d, b/218286829)
  • Dodano klasę Material 3 Slider i tokeny (I1ccee)
  • Dodano implementację karty. Zobacz dokumentację przykładowego użycia (Ie0146).

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że przy linearnej nawigacji czytnika ekranu w TalkBack wybierał pusty tytuł na górnym pasku aplikacji. (Id4690).
  • Dodano IconSize do listy FloatingActionButtonDefaults. (Ia71cf).
  • Naprawiono błąd ukrytych przycisków AlertDialog po dodaniu długiego tekstu za pomocą znaku LazyColumn. (Ib2cc9, b/216663029)

Wersja 1.0.0-alpha05

9 lutego 2022 r.

Usługa androidx.compose.material3:material3:1.0.0-alpha05 została zwolniona. Wersja 1.0.0-alfa05 zawiera te zatwierdzenia.

Nowe funkcje

Dodano komponenty Material Design 3.

Zmiany interfejsu API

  • Wycofano funkcję Surface, która przyjmuje wywołanie zwrotne onClick. Platformy klikalne należy tworzyć za pomocą właściwości InteractionSource i Modifier.clickable(). (I211C6).
  • Dodano obsługę podniesienia nacisku i zaznaczenia dla przycisku PPP. (Ibb584).
  • Zmieniliśmy interfejs API Surface, aby uzyskać obiekt InteractionSource, który pozwala kontrolować jego wygląd w różnych stanach. (Iafbc8)

Poprawki błędów

  • Dodano brakujące kolory trzeciorzędne w dynamicznych schematach kolorów (I456c4, b/214588434)

Wersja 1.0.0-alpha04

26 stycznia 2022 r.

Usługa androidx.compose.material3:material3:1.0.0-alpha04 została zwolniona. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodano NonRestartableComposable do metod przeciążonych istniejącymi metodami, które nie wymagają skomplikowanej logiki. Zmniejsza to liczbę sprawdzania zapamiętanych przez kompilatora (równa się) wszystkich parametrów, które są powtarzane w wywoływanej funkcji wewnętrznej. (I90490)
  • Dodano separator Materiał 3. (Ica5fc).
  • Zaznacz pole wyboru i opcję RadioButton za pomocą eksperymentalnej adnotacji interfejsu API. (IE44bb)
  • Dodano obsługę wskaźników postępu Material 3. (Iff232, b/205023841)

Poprawki błędów

  • Zaktualizuj kolor wyłączonego kontenera TextButton's na przezroczysty (I6b248, b/213339737)

Wersja 1.0.0-alpha03

12 stycznia 2022 r.

Usługa androidx.compose.material3:material3:1.0.0-alpha03 została zwolniona. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.

Poprawki błędów

Aktualizacje zależności

  • Teraz zależy od Kotlin 1.6.10.

Wersja 1.0.0-alpha02

1 grudnia 2021 r.

Usługa androidx.compose.material3:material3:1.0.0-alpha02 została zwolniona. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano obsługę pól wyboru i opcji.
  • Zaktualizowano, aby była zgodna z platformą Kotlin 1.6.0

Zmiany interfejsu API

  • Usuń panel z rusztowania Material 3. (I04f51)
  • Dodano obsługę Material 3 Checkbox. (Id5542).
  • Dodano obsługę Material 3 RadioButton. (I20334)

Poprawki błędów

  • Zmniejsz promień fali: IconButton z 40 dp do 20 dp. (I68bbe, b/206674345)
  • Szybka ścieżka ciągu znaków portu dla zmiany Text z compose.material (I30b03)
  • Naprawiono, ale zakodowany na stałe przycisk był zawsze włączony. (IEA832, b/205335456)

Wersja 1.0.0-alpha01

27 października 2021 roku

Usługa androidx.compose.material3:material3:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

Motyw Material Design 3 i dynamiczne kolory Material You

Komponenty Material Design 3

Więcej informacji znajdziesz w sekcji dotyczącej Material Design 3 i Material You w przewodniku Ustawianie motywów Material Design w Composer.