Compose Material 3

Twó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. Jest on spójny z nowym stylem wizualnym Androida 12 i interfejsem systemu.
Najnowsza aktualizacja Wersja stabilna Wersja kandydująca do publikacji Wersja Beta Wersja alfa
2 lipca 2025 r. 1.3.2 - - 1.4.0-alpha17

Struktura

Compose to połączenie 7 identyfikatorów grupy Maven w ramach 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ć komfort 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. Jest on spójny z nowym stylem wizualnym Androida 12 i interfejsem 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ć do projektu repozytorium Google Maven. 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.material3:material3:1.3.2"
    implementation "androidx.compose.material3:material3-window-size-class:1.3.2"
    implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha17"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material3:material3:1.3.2")
    implementation("androidx.compose.material3:material3-window-size-class:1.3.2")
    implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha17")
}

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

Compose Material3 Common w wersji 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-alpha01androidx.compose.material3:material3-common-desktop:1.0.0-alpha01 są zwalniane. Wersja 1.0.0-alpha01 zawiera te zmiany.

Nowe funkcje

Komponenty bez motywu, 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-alpha07androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha07 są zwalniane. Wersja 1.0.0-alpha07 zawiera te zmiany.

Zmiany w interfejsie API

  • Udostępnienie interfejsów API pakietu nawigacyjnego w wersji nieeksperymentalnej (If62af)

Poprawki błędów

  • Domyślne używanie wstawek w przypadku 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-alpha06androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha06 są zwalniane. Wersja 1.0.0-alpha06 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodaj użytkowników containerColor i contentColor do listy NavigationSuiteScaffoldDefaults. (I64e3a, b/331993720)
  • Dodawanie funkcji itemColors do NavigationSuiteDefaults. (Idf719, b/328480012)
  • Upewnij się, że NavigationSuiteScope jest szczelnie zamknięty. (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-alpha05androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha05 są zwalniane. Wersja 1.0.0-alpha05 zawiera te commity.

Zmiany w interfejsie 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-alpha04androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha04 są zwalniane. Wersja 1.0.0-alpha04 zawiera te zmiany.

Aktualizacje zależności

  • Zaktualizuj zależności adaptacyjne Material3 do nowych ścieżek modułów. (Ibc421)
  • Przejdź na klasy rozmiarów okien w Menedżerze 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-alpha03androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03 są zwalniane. Wersja 1.0.0-alpha03 zawiera te zmiany.

Zmiany w interfejsie API

  • Zmiana nazwy pakietu z navigation-suite na navigationsuite (I7eff7)
  • Komponenty Material3, które w swoim interfejsie API udostępniały MutableInteractionSource, zostały zaktualizowane, aby udostępniać MutableInteractionSource z możliwością 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ć MutableInteractionSource, a w razie potrzeby zostanie on utworzony w komponencie. Ustawienie wartości null powoduje, że niektóre komponenty nigdy nie przydzielają MutableInteractionSource, a inne tworzą instancję tylko wtedy, gdy jest to potrzebne, co zwiększa wydajność tych komponentów. Jeśli nie używasz elementu MutableInteractionSource przekazywanego do tych komponentów, zalecamy przekazywanie zamiast niego 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-alpha02androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02 są zwalniane. Wersja 1.0.0-alpha02 zawiera te zmiany.

Nowe funkcje

Poprawki błędów

  • Naprawiono problem z komponentem nawigacji wypełniającym cały ekran, gdy powierzchnia główna ma wartość modifier.fillMaxSize. (c9cf250, b/312664933)

Wersja 1.0.0-alpha01

15 listopada 2023 r.

Zostanie wycofaneandroidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01 Wersja 1.0.0-alpha01 zawiera te zmiany.

Nowe funkcje

Compose Material3 Adaptive w wersji 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-alpha06androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha06 są zwalniane. Wersja 1.0.0-alpha06 zawiera te zmiany.

Nowe funkcje

  • Dodaliśmy dodatkowe opcje działania dotyczące ThreePaneScaffoldNavigator nawigacji wstecz. (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-alpha05androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha05 są zwalniane. Wersja 1.0.0-alpha05 zawiera te zmiany.

Nowe funkcje

  • Obsługa historii w nawigacji szkieletowej 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-alpha04androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha04 są zwalniane. Wersja 1.0.0-alpha04 zawiera te zmiany.

Nowe funkcje

  • Dodano obsługę od krawędzi do krawędzi w szkieletach paneli (I1b462).

Zmiany w interfejsie API

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

Poprawki błędów

  • Rozwiąż problem z nieprzekształcaniem 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-alpha03androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03 są zwalniane. Wersja 1.0.0-alpha03 zawiera te zmiany.

Zmiany w interfejsie API

  • Zmień role rusztowania na aliasy ThreePaneScaffoldRole. (I65bd1)
  • Utwórz klasę bazową dla ról szkieletowych (I4784d)
  • Usuń niepotrzebny parametr z treści AnimatedPane (Ibc73b)
  • Zmienia nazwę collectWindowSizeAsState i zamiast tego zwraca surowe 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-alpha02androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02 są zwalniane. Wersja 1.0.0-alpha02 zawiera te zmiany.

Zmiany w interfejsie API

  • Oddzielenie interfejsów API nawigacji od interfejsów API adaptacyjnego komponentu. (Ic4045)
  • Usuń zajęcia GutterSize. (I785b3)

Poprawki błędów

  • Panele stałe nie są przełączane, gdy nie jest używany znak AnimatedPane (d88f181)

Wersja 1.0.0-alpha01

15 listopada 2023 r.

Zostanie wycofaneandroidx.compose.material3:material3-adaptive:1.0.0-alpha01 Wersja 1.0.0-alpha01 zawiera te zmiany.

Nowe funkcje

Interfejsy API warunków adaptacyjnych Material3:

Interfejsy API dyrektywy rusztowania panelu adaptacyjnego Material3:

Interfejsy API komponentu adaptacyjnego Material3:

Tworzenie wiadomości w wersji 1.4 Material3

Wersja 1.4.0-alpha17

2 lipca 2025 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha17 Wersja 1.4.0-alpha17 zawiera te zmiany.

Nowe funkcje

  • Zaktualizowano animację grupy przycisków, aby po kliknięciu animacja była odtwarzana w 75% zamiast po naciśnięciu. (593942a, b/423596967)

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że w niektórych przypadkach element karuzeli mógł przekraczać rozmiar dużego elementu podczas obliczania układu, co powodowało ucięcie całego widżetu. (I1c3d7, b/397489534)
  • Rozwiązaliśmy problem z przeskakiwaniem poza beforeContentPadding podczas przewijania karuzel z nakładającymi się przesunięciami początku i końca. (c3d5f3a, b/420618979)
  • Zaktualizowaliśmy działanie funkcji SwipeToDismiss, aby uwzględniała stan rozliczenia zamiast bieżącego stanu. Przywraca dotychczasowe działanie, w którym zachowanie elementu zakotwiczonego jest wyłączane tylko wtedy, gdy komponent jest w stanie zamkniętym. (3844e07, b/425006844)
  • Menu wyskakujące ExposedDropdownMenu można teraz otworzyć za pomocą klawiatury. W przypadku odmiany, którą można edytować, menu jest teraz dostępne z poziomu klawiatury. (46ead03)

Wersja 1.4.0-alpha16

18 czerwca 2025 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha16 Wersja 1.4.0-alpha16 zawiera te zmiany.

Nowe funkcje

  • Dodano komponent karuzeli z wyróżnioną treścią wyśrodkowaną (I6f6d3).

Zmiany w interfejsie API

  • Wdrażanie zastąpień XR na pionowym pasku narzędzi (Ia1604)
  • Dodano funkcje programowego przewijania do CarouselState (I12f8e)
  • Dodaj ComponentOverride do subskrypcji ModalWideNavigationRail (I4f440)
  • Dodaj ComponentOverride do subskrypcji WideNavigationRail (I6354f)
  • Tworzę klucz ComponentOverride dla chmury HorizontalFloatingToolbar (I51116)
  • Tworzę klucz ComponentOverride dla chmury ShortNavigationBar (I30e24)
  • Odwołania SwipeToDismissBoxState do confirmValueChange zostały oznaczone jako nieaktualne. Użytkownicy powinni zamiast tego korzystać z wywołania zwrotnego SwipeToDismissBox API onDismissed. (Iee780)
  • Dodaliśmy parametr userScrollEnabled do funkcji kompozycyjnych Carousel. (I1d4d2)
  • Karuzelę currentItem można teraz obserwować w domenie CarouselState. (Ie87e9)

Poprawki błędów

  • Rozwiązaliśmy problem polegający na tym, że dowolny kształt na przycisku FAB przekazywanym do komponentu FloatingToolbar nie stosował prawidłowo cienia. (Icdcc9, b/423336922)
  • Wszystkie karuzele domyślnie korzystają teraz z roli semantycznej Karuzela. (I7af12)
  • Naprawiono nieprawidłowy ruch kciuka, gdy stan suwaka został zaktualizowany za pomocą funkcji LaunchedEffect (Id9f31, b/302774166).

Wersja 1.4.0-alpha15

20 maja 2025 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha15 Wersja 1.4.0-alpha15 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodano MotionTheme.LocalMotionScheme, lokalna kompozycja. Umożliwia to dostęp do schematu ruchu motywu z poziomu CompositionLocalConsumerModifierNodes za pomocą currentValueOf(MotionTheme.LocalMotionScheme). (I014b1)
  • Konstruktor ColorScheme bez ról kolorów stałych jest teraz wycofany. Przejdź na konstruktor, który zawiera stałe role. (Iad0ee)
  • Komponent M3 Text obsługuje teraz TextAutoSize. (I7f524)
  • Dodaj interfejs API do tworzenia wariantów rozmiaru przycisku dzielonego i przykłady. (Ice30b)

Poprawki błędów

  • Rozwiązaliśmy problem polegający na nieprawidłowym położeniu symboli SnackbarFloatingActionButton, gdy włączona była opcja od krawędzi do krawędzi. Komponent Scaffold prawidłowo stosuje teraz do tych komponentów poziome wcięcia. (Ib7c30, b/244400727)
  • Popraw ruch BottomSheet z pełnego rozwinięcia do częściowego. BottomSheet używa teraz efektu szybkiego MotionScheme podczas ukrywania lub zwijania oraz domyślnego efektu przestrzennego podczas rozwijania. (Ifa46f, b/416063171)
  • Konstruktor ColorScheme bez ról kontenera powierzchni został oznaczony jako ukryty i nie jest już zalecany do użycia. (Ia7237)
  • Usunęliśmy wymaganie CircularWavyProgressIndicator Size.minDimension > 0, które wcześniej powodowało wyjątek, aby zapewnić większą elastyczność. (Ic9418, b/377531195)
  • Hiperlinki w Text(AnnotatedString) mają teraz domyślnie styl Material. (I78288, b/339843816)
  • Rozwiązaliśmy problem z funkcją toShape()RoundedPolygon, która buforuje ścieżkę i powoduje problem, gdy wykonywanych jest wiele wywołań createOutline z różnymi rozmiarami. (I4026d)

Wersja 1.4.0-alpha14

7 maja 2025 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha14 Wersja 1.4.0-alpha14 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodaliśmy nowy komponent AppBarColumn, który działa tak samo jak AppBarRow, ale w przypadku treści ułożonych w kolumnie. (Iaf6bd)
  • Dodano maksymalną liczbę elementów do AppBarRow. Jest to konieczne do prawidłowego wdrożenia specyfikacji materiału dla górnych pasków aplikacji. (I92ce4)
  • Dodano metodę w TooltipScope, aby uzyskać layoutCoordinates kotwicy. Wycofujemy metodę drawCaret, ponieważ deweloperzy mogą używać nowej metody do uzyskiwania granic elementu zakotwiczenia layoutCoordinates i tworzenia odpowiedniego kształtu zawierającego karet. (Ia2e12, b/329470609)
  • Dodano java.time obsługę selektorów daty: wprowadzono rememberDatePickerState/rememberDateRangePickerState przeciążenia, które akceptują obiekty java.time (np. początkowy LocalDate, YearMonth). Dodano też funkcje rozszerzające w obiektach stanu, aby pobierać i ustawiać wartości za pomocą typów takich jak LocalDateYearMonth. Wymaga interfejsu API w wersji 26 lub nowszej albo desugaryzacji. (I70f29, b/266202516, b/281859606)
  • Dodaj komponent CenteredTrack, który umożliwia używanie suwaka ze ścieżką zaczynającą się od środka. (I5b1d6)

Poprawki błędów

  • Poprawiliśmy wydajność wskaźników postępu w formie fal: typy liniowe wczytują się teraz o ok. 8,5% szybciej i mają o ok. 11% mniej alokacji, a typy okrągłe są o ok. 47% szybsze i mają o ok. 39% mniej alokacji. (I595d8)

Wersja 1.4.0-alpha13

23 kwietnia 2025 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha13 Wersja 1.4.0-alpha13 zawiera te zmiany.

Zmiany w interfejsie API

  • isAppearanceLightStatusBarsisAppearanceLightNavigationBars ponownie wprowadzone w ModalBottomSheetProperties jako parametry tylko na Androida. (Id4bc0)
  • Dodaj AppBarRow element kompozycyjny, który obsługuje przepełnienie elementów, które nie mieszczą się w jego granicach. (I742bd)
  • Zaktualizuj interfejsy API DatePickerDateRangePicker, aby wysyłać żądanie ustawienia fokusu podczas przełączania się na tryb wprowadzania daty. Zastąpiliśmy parametr logiczny requestFocus opcjonalnym parametrem focusRequester, który przyjmuje wartość FocusRequester. (I14b69)
  • Usuń modyfikator i źródło interakcji z domyślnych elementów klikalnych i przełączanych. Zamiast tego użyj go jako szczegółu implementacji. (I95ed6)
  • Zaktualizowano ButtonGroup, aby w przypadku zbyt dużej liczby przycisków, które nie mieszczą się na ekranie, wyświetlać menu. (I7b88b)

Poprawki błędów

  • Arkusz dolny wykorzystuje teraz górne wcięcia, gdy jest mniejszy niż bieżące przesunięcie. Umożliwia użytkownikom podawanie górnych wcięć w przypadku rozwiniętego zachowania. BottomSheetDefaults.windowInsets obejmuje teraz WindowInsets.safeDrawing.Top. (I0ab67, b/321877275, b/336962418, b/342093067)
  • Włączono animacje wejścia/wyjścia (przejście/przesunięcie) dla ikon/avatarów na początku i na końcu elementu Chip, gdy są one dodawane lub usuwane. Dotyczy to głównie wybieralnych elementów Chip (filtr, dane wejściowe), ale ma zastosowanie ogólne. (I9af21)
  • Naprawiono nieprawidłowe działanie suwaka RTL spowodowane przez LookaheadScope. (Ieb152, b/408118041)
  • Naprawiono awarię dolnego AppBar związaną z przewijaniem przy ukrytym interfejsie systemu. (Ic6140, b/405996228)

Wersja 1.4.0-alpha12

9 kwietnia 2025 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha12 Wersja 1.4.0-alpha12 zawiera te zmiany.

Zmiany w interfejsie API

  • Usunięto parametry specyficzne dla Androida z ModalBottomSheetProperties (Iab97f, b/362539765)
  • Wprowadzenie funkcji przeciążania domyślnych rozmiarów uchwytów przeciągania (I0ed0d)
  • Dodaliśmy nowe funkcje NavigationSuiteScaffoldNavigationSuiteScaffoldLayout, aby obsługiwać nowe typy układów i opcjonalną treść działania głównego. (Ib262a, b/353144478)
  • Wycofaj parametr Modifier.weight z parametrem wypełnienia w ButtonGroup. Dodawanie wersji bez wypełnienia. (Id32bb)
  • Zmień nazwę komponentu xSmall-xLarge- IconButton, aby domyślnie wymawiać extra. (Ib6e0f)
  • Dodaj nowe funkcje NavigationSuite, NavigationSuiteItemNavigationSuiteColors, aby obsługiwać nowe typy układów. (I203d6)
  • Dodaj nowe funkcje NavigationSuiteTypesnavigationSuiteType, które obejmują te opcje układu (If68f9).

Poprawki błędów

  • ColorScheme.contentColorFor mapuje teraz surfaceDim na onSurface. (I8891a)
  • Zaktualizowaliśmy implementację DateInputTextField, aby rozwiązać problem, który powodował, że w polu wprowadzania nie była odzwierciedlana data ustawiona programowo. (I6c8d1, b/401143451)
  • Poprawiono kolejność zaznaczania w usłudze TalkBack w przypadku paska nawigacyjnego i szerokiego paska nawigacyjnego (I6cf6f, b/407048224).

Wersja 1.4.0-alpha11

26 marca 2025 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha11 Wersja 1.4.0-alpha11 zawiera te zmiany.

Zmiany w interfejsie API

  • Zaktualizowano wielkość liter w przypadku właściwości kompozycyjnych w obiektach domyślnych dla przycisku i przycisku przełączania. Dodaj metody w ToggleButtonDefaultsButtonDefaults dotyczące zalecanego dopełnienia treści, kształtów, rozmiaru ikony, odstępów między ikonami i stylu tekstu w zależności od wysokości kontenera. (Iea69e)
  • Usunięto z FloatingToolbar wycofane eksperymentalne funkcje i stałe. (I8f339)
  • Komponenty wysokości mają teraz wspólny interfejs oraz publiczne konstruktory i właściwości. (Ibb172)
  • Dodanie modyfikatora animateWidthButtonGroupScope, który będzie musiał być używany z elementami podrzędnymi grupy przycisków, aby prawidłowo animować te elementy. (Ia3bb6)

Poprawki błędów

  • Poprawiliśmy dopełnienie pływającego paska narzędzi, aby zapewnić równowagę wizualną podczas zwijania, i zwiększyliśmy elastyczność w przypadku większych treści. (I06c00)

Wersja 1.4.0-alpha10

12 marca 2025 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha10 Wersja 1.4.0-alpha10 zawiera te zmiany.

Zmiany w interfejsie API

  • Środowisko wykonawcze TabRowDefaults.tabIndicatorOffset zostało wycofane na rzecz TabIndicatorScope.tabIndicatorOffset. (Ib36b3)
  • Poprawienie błędu w domyślnych ustawieniach przycisku dotyczącego małego dopełnienia treści. (I19bfe)
  • Wycofano metody TabRowScrollableTabRow na rzecz ich wersji podstawowych i dodatkowych. Wiersze na kartach Podstawowe i Dodatkowe działają wydajniej i są bardziej zgodne ze specyfikacją. (I918e2)
  • Dodano użytkowników rememberSliderState i rememberRangeSliderState. (I8e384)
  • Dodano shouldAutoSnap do SliderState, aby kontrolować mechanizm automatycznego przyciągania. Wyłączenie go może być przydatne w przypadku animacji niestandardowych. (I07745)
  • Minimalna szerokość karty w wierszu kart z możliwością przewijania jest teraz parametrem. Warianty wiersza kart Główna i Dodatkowa nie są już eksperymentalne. (If6f15, b/226665301)
  • Udostępniono klasę ExitAlwaysFloatingToolbarScrollBehavior publicznie, co umożliwia tworzenie bez kompozycji. (Ibf31c)

Wersja 1.4.0-alpha09

26 lutego 2025 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha09 Wersja 1.4.0-alpha09 zawiera te zmiany.

Zmiany w interfejsie API

  • Zmień nazwy pól ustawień DragHandle w stanie domyślnym, rozdziel stany naciśnięcia i przeciągnięcia oraz udostępnij domyślne rozmiary. (I787b9)
  • Aktualizacje interfejsu TowRowsTopAppBar API. Usunęliśmy parametr expanded lambda i dodaliśmy osobne parametry dla wysokości po rozwinięciu i zwinięciu. (Idd677, b/306697446, b/229134133, b/268068946)

Poprawki błędów

  • Dolne paski aplikacji korzystają teraz z usługi eksploracji dotykowej (np. TalkBack) i utrzymywać je w widoku, gdy usługa jest włączona. (I4b34d)

Wersja 1.4.0-alpha08

12 lutego 2025 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha08 Wersja 1.4.0-alpha08 zawiera te zmiany.

Nowe funkcje

  • Dodaliśmy interfejs API TimePickerDialog, którego można używać w przypadku TimePicker, TimeInput lub w wersji z możliwością przełączania. (Id2d83)

  • Nowe interfejsy API paska wyszukiwania:

    • Zwinięte paski wyszukiwania i rozwinięte „widoki” wyszukiwania są teraz osobnymi komponentami.
    • SearchBar oznacza pasek wyszukiwania w stanie zwiniętym.
    • ExpandedFullScreenSearchBarExpandedDockedSearchBar oznaczają pasek wyszukiwania w stanie rozwiniętym. Otwierają się w nowym oknie.
    • SearchBarState, aby kontrolować stan paska wyszukiwania.
    • TopSearchBar – dodanie obsługi wcięć i zachowania przewijania.
    • Nowe przeciążenie funkcji InputField, które używa SearchBarState (Ie0723, b/261496232, b/283311462, b/350916229, b/352872248)

Zmiany w interfejsie API

  • Obsługa przekształcania kształtu rogu przycisków z ikonami po naciśnięciu. (I21843)
  • Interfejsy API dekoratora pola tekstowego i pola dekoracji nie są już eksperymentalne. (I31d95)
  • Dodaliśmy przykłady i wartości domyślne dla połączonego wariantu ButtonGroup. (I5c8ce)
  • Ustaw parametr state jako ostatni w plikach NavigationSuiteScaffoldNavigationSuiteScaffoldLayout. (I9cc7b)

Poprawki błędów

  • Dodano niestandardowe działania związane z ułatwieniami dostępu do FloatingToolbars, dzięki czemu usługi ułatwień dostępu mogą teraz rozwijać lub zwijać wszystkie warianty FloatingToolbar. Wersja z przyciskiem FAB stosuje to do przycisku FAB, a wersja bez przycisku FAB stosuje to do głównej treści. (I26420)
  • FloatingToolbars teraz obserwuj usługę eksploracji dotykowej (np. TalkBack) i utrzymywać pasek narzędzi rozwinięty i widoczny, gdy usługa jest włączona. (I02172)
  • Naprawiono błąd powodujący awarię wskaźników postępu i wczytywania w przypadku przekazania wartości Float.NaN jako postępu. (I4fa96, b/352364576)

Wersja 1.4.0-alpha07

29 stycznia 2025 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha07 Wersja 1.4.0-alpha07 zawiera te zmiany.

Nowe funkcje

  • Dodaliśmy większą elastyczność w dostosowywaniu wyglądu pól wyboru za pomocą nowego interfejsu API. Ten interfejs API udostępnia parametry obrysu, które pozwalają lepiej kontrolować sposób renderowania znacznika wyboru i obrysu pola wyboru. (I65a88)
  • Dodano TwoRowsTopAppBar API, bardziej konfigurowalną alternatywę dla średnich i dużych pasków aplikacji, która umożliwia tworzenie dwuwierszowych pasków aplikacji u góry ekranu. Deweloperzy mają teraz kontrolę nad treścią tytułów i napisów w stanie zwiniętym i rozwiniętym, a także mogą dostosowywać wysokość każdego z tych stanów. (I0be3c, b/306697446, b/229134133, b/268068946)

Zmiany w interfejsie API

  • Zmieniliśmy nazwę wariantu eksperymentalnego BottomAppBar na FlexibleBottomAppBar, co zapewnia większą kontrolę nad rozmieszczeniem i wysokością treści. (Iaa448)
  • Zaktualizuj nazwy właściwości w domyślnym obiekcie grupy przycisków na CapitalCase. Zaktualizuj nazwę animateFraction, aby dokładniej odzwierciedlała zachowanie, które reprezentuje. (I545cd)
  • Dodanie przeciążeń dla popularnych przycisków, które umożliwiają animowane kształty podczas interakcji z naciśnięciem. Dodano kształty przycisków w pamięci podręcznej. (I5ec20)
  • Możesz teraz kontrolować, jak FloatingToolbar z przyciskiem FAB reaguje na przewijanie, podając wartość FloatingToolbarScrollBehavior. W przypadku pasków narzędzi umieszczonych wzdłuż środkowej krawędzi (np. u góry lub u dołu) zalecamy użycie zachowania przewijania, aby ukryć cały komponent podczas przewijania, co zapewni bardziej przejrzysty wygląd. Zapobiega to również przesunięciu FAB poza środek, co może się zdarzyć w przypadku użycia flagi expanded do zwijania. (I33f67)
  • Aktualizuje eksperymentalne interfejsy API TopAppBar, aby podczas ustawiania wyrównania tytułu i podtytułu używać Alignment.Horizontal zamiast niestandardowego TopAppBarTitleAlignment. (I70ca2)
  • SliderState#onValueChange jest teraz publiczny, aby zapewnić użytkownikowi większą kontrolę (I104eb)
  • Wprowadź NavigationSuiteScaffoldState, aby umożliwić animację komponentu nawigacji. Wprowadzamy też przeciążenia funkcji NavigationSuiteScaffoldNavigationSuiteScaffoldLayout, które mają parametr stanu. (I6a8c9, b/328674235)

Poprawki błędów

  • Przenieś zajęcia IconButtonColors i IconToggleButtonColors z IconButtonDefaults.kt z powrotem do IconButton.kt. (I3c233)

Wkład zewnętrzny

  • SliderState#isDragging jest teraz dostępny publicznie. (I8458a)

Wersja 1.4.0-alpha06

15 stycznia 2025 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha06 Wersja 1.4.0-alpha06 zawiera te zmiany.

Zmiana zachowania

  • Dodaliśmy displayCutout do grupy wcięć, które komponenty Material domyślnie uwzględniają, aby uniknąć nakładania się treści z wycięciem na wyświetlaczu. Jest to zmiana w działaniu, która wpłynie na sposób, w jaki komponenty uwzględniające wcięcia będą zachowywać się w pobliżu wycięcia na wyświetlaczu. Obejmuje to wartość domyślną parametru WindowInsets w przypadku komponentów Material 3 uwzględniających wcięcia oraz wartości WindowInsets podane w obiektach Defaults komponentów Material 2 i Material 3. Jeśli ta zmiana spowoduje niepożądane działanie, ręcznie określ parametr WindowInsets dla każdego komponentu. (I43ee9, b/362508045)

Zmiany w interfejsie API

  • Aktualizacje interfejsu TopAppBar API. Zmień nazwy średnich i dużych górnych pasków aplikacji z podtytułem na *FlexibleTopAppBar. Ujednoliciliśmy warianty kolorystyczne w jednej funkcji TopAppBarDefault.topAppBarColors() i dodaliśmy parametr koloru subtitle, który można zastosować w przypadku podanego komponentu kompozycyjnego z napisami (I41b65).
  • Usuń interfejs API WideNavigationRailArrangement na rzecz interfejsu API Arrangement.Vertical (Id0341)
  • Dodaj nowy VerticalSlider @Composable. (I2bfba)
  • Dodano nowy rodzaj ścieżki @Composable, który umożliwia określanie niestandardowych zewnętrznych narożników ścieżki i ikon ścieżki. (I436a4)
  • Zaktualizuj interfejsy API pływającego paska narzędzi, aby używać obiektu FloatingToolbarColors zamiast jednego koloru kontenera. (I9a054)
  • Dodawanie i używanie nowej eksperymentalnej adnotacji ExperimentalMaterial3ComponentOverrideApi (Ia1eaf)
  • Modifier.indicatorLine przyjmuje teraz kształt pola tekstowego, aby obsługiwać przycinanie. (I8c5f3, b/380704151)
  • Zmiana nazwy eksperymentalnych funkcji FloatingAppBar na FloatingToolbar (I1dbf8)
  • Dodano nowy floatingToolbarVerticalNestedScroll, który można dołączyć do kontenera z możliwością przewijania, aby aktualizować stan rozwinięcia pływającego paska narzędzi na podstawie ruchu przewijania, który przekracza próg. (I6d65f)
  • Wprowadzamy nowy interfejs API do tworzenia pływającego paska narzędzi z dołączonym pływającym przyciskiem działania (FAB). Interfejs API udostępnia elastyczne opcje dostosowywania, które umożliwiają ułożenie paska narzędzi w poziomie lub pionie oraz umieszczenie przycisku FAB na początku lub na końcu paska narzędzi. (I9e350)

Poprawki błędów

  • Rozwiązaliśmy problem z dostępnością paska informacyjnego, który powodował, że po zamknięciu paska informacyjnego, gdy włączona była funkcja TalkBack, odczytywano komunikat o jego zamknięciu. (/I9db53)

Wkład zewnętrzny

  • Ujednolicone BasicTooltip w foundation i BasicTooltip/Tooltip w material3. (Ifc2e6)

Wersja 1.4.0-alpha05

12 grudnia 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha05 Wersja 1.4.0-alpha05 zawiera te zmiany.

Zmiany w interfejsie API

  • Zastąp typ w wartości WideNavigationRailState.current/target wyliczenia, aby zwiększyć czytelność (I2d6ab)
  • SplitButton zmiana interfejsu Shape API z klasy danych na klasę w celu zapewnienia zgodności binarnej; (I53812)
  • Dodaliśmy interfejs API etykietki z parametrem onDismissRequest, dzięki czemu twórcy mogą decydować, co się stanie, gdy użytkownik kliknie poza etykietką. Wycofaliśmy stary interfejs API, który nie zawiera tego nowego parametru. (I99aef)
  • Zmień nazwę opticalCentering na horizontalCenterOptically. Ustawienie modyfikatora jako wewnętrznego. Zastąp parametr dopełnienia maksymalnym przesunięciem początku i końca. (I0b904)
  • Zmień WideNavigationRailState, aby zawierał bieżącą lub docelową wartość. Usuń wyliczenia na rzecz wartości logicznych. (Idfa29, b/356039090)
  • Dodaj NavigationBarItemComponentOverride. (I3a06a)

Poprawki błędów

  • Popraw zachowanie górnego i dolnego paska aplikacji, aby kolor zmieniał się niezawodnie, gdy treść jest przewijana do końca. (Idc4e8, b/293665988)
  • Funkcje zachowania przewijania w przypadku górnych i dolnych pasków aplikacji zwracają teraz zapamiętane zachowanie, aby lepiej działać w przypadku ponownych kompozycji. (I0fdbe, b/207957336)
  • Parametr modyfikatora jest teraz stosowany po modyfikatorach wewnętrznych, takich jak zachowanie i semantyka przeciągania, a nie przed nimi. Ma to wpływ na kolejność stosowania modyfikatorów. (I8d83f)
  • Rozwinięta plansza dolna pozostaje rozwinięta po zmianie rozmiaru. (I2870b, b/324934884)
  • Prawidłowe kierowanie flag paska stanu i nawigacji w przypadku usług w oknach. (Ie674d, b/362539765)
  • Przenieś parametr modyfikatora do katalogu głównego szkieletów zgodnie z dokumentacją. Dzięki temu wdrożenie będzie zgodne z M2. (I0235e, b/372311595)

Wkład zewnętrzny

  • Ujednolicona funkcja DatePickerDialog. (I7dced)

Wersja 1.4.0-alpha04

13 listopada 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha04 Wersja 1.4.0-alpha04 zawiera te zmiany.

Zmiany w zachowaniu

  • Przywróć zmiany kolorów wprowadzone w aosp/3212478 w przypadku iconButtonColors, iconToggleButtonColors, outlinedIconButtonColors, outlinedIconToggleButtonColorsoutlinedIconToggleButtonBorder. Przenieśliśmy przywrócone działanie do nowego zestawu funkcji o nazwach iconButtonVibrantColors itd., aby podkreślić zwracane kolory o wysokim kontraście. (Iffd8d)

Nowe funkcje

  • Wprowadzenie do komponentu VerticalDragHandle (I6c770)

Zmiany w interfejsie API

  • Zmień nazwę DismissibleModalWideNavigationRailDefaults na ModalWideNavigationRailDefaults. (I8e877)
  • Dodaj NavigationBarComponentOverrides. (I8a3f3)
  • Dodaj NavigationRailComponentOverride. (I83e13)
  • Wprowadź WideNavigationRailState, aby obsługiwać zwijanie i rozwijanie paska, zezwól na zamykanie ModalWideNavigationRail i usuń DismissibleModalWideNavigationRail. (I88568)
  • Dodaj domyślne rozmiary xSmall, medium, large i xLarge do domyślnych ustawień przycisku przełączania. (Ie95d1)
  • Dodaj domyślne rozmiary xSmall, medium, large i xLarge do domyślnych ustawień przycisku. (If8b6d)

Poprawki błędów

  • Kolor ikony na końcu filtra został zmieniony z podstawowego na OnSurfaceContainer zgodnie ze specyfikacją. Wszystkie kolory obrysu filtra zostały zmienione z obrysu na wariant obrysu zgodnie ze specyfikacją. (I68bd4)

Wersja 1.4.0-alpha03

30 października 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha03 Wersja 1.4.0-alpha03 zawiera te zmiany.

Zmiany w interfejsie API

  • Konstruktor SheetState z gęstością został wycofany na rzecz progów pozycji i prędkości. (Ifd16e)
  • Dodano rememberTooltipPositionProvider, który zawiera zaktualizowaną logikę pozycjonowania. Wycofano rememberPlainTooltipPositionProviderrememberRichTooltipPositionProvider. (Ie66e2)
  • Dodatkowe ModalBottomSheetProperties umożliwiają dostosowanie kolorów paska stanu i paska nawigacyjnego. Domyślnie aktualizują się one na podstawie koloru treści, a nie stanu ciemnego motywu systemu. (Ib874e, b/362539765)
  • Ulepszyliśmy wprowadzanie danych w selektorach daty: w trybie wprowadzania danych pole tekstowe daty będzie aktywne, aby można było od razu wpisać tekst. Zmiana powoduje dodanie parametru requestFocus do parametrów DatePickerDateRangePicker. Aby zapobiec ustawieniu fokusu, przekaż wartość false. (I12d09, b/286399710, b/340102743)
  • Buforowanie domyślnych ustawień kształtu w obiekcie Shape. Ustawianie domyślnych kształtów @Composable przycisku przełączania. Domyślnie kształty są zwijane do jednego kształtu, ponieważ warianty wskazują ten sam plik tokena. (Iaa014)

Poprawki błędów

  • Zoptymalizuj działanie komponentu Scaffold contentPadding, aby uniknąć ciągłego ponownego komponowania treści głównej, gdy zmienia się komponent contentPadding. (I8c8e2, b/373904168)
  • Zmieniono nazwę TextFieldLabelScope progress na labelMinimizedProgress
  • TextFieldLabelPosition Default zmieniono nazwę na Attached. Usunięto elementy interfejsu. (If75c6)
  • Rozwiązaliśmy problem z DatePicker w trybie wprowadzania danych, w którym błędy weryfikacji mogły powodować zmianę wysokości komponentu. (I2e229, b/280462363)
  • Spraw, aby suwak materiału zmieniał wartość po naciśnięciu klawiszy sterujących. (I1c442)

Wersja 1.4.0-alpha02

16 października 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha02 Wersja 1.4.0-alpha02 zawiera te zmiany.

Zmiany w interfejsie API

  • Aktualizacje selektorów daty, które zapewniają spójne używanie ustawień regionalnych w DatePickerDateRangePicker podczas ustawiania ich bezpośrednio za pomocą DatePickerState lub DateRangePickerState. Pamiętaj, że jeśli ustawisz bezpośrednio stan Locales, musisz zadbać o to, aby teksty tytułu i nagłówka były odpowiednio przetłumaczone, ponieważ ich tekst domyślny będzie nadal stosowany zgodnie z domyślnym ustawieniem regionalnym platformy. (I37073, b/326490763, b/321657276)
  • Plakietka SheetState.isAnimationRunning jest teraz widoczna. (I9a3d7)
  • DatePickerColors mają teraz prawidłowy priorytet przed wszystkimi kolorami, które są z nimi sprzeczne i zdefiniowane w stylach tekstu Typografia motywu. Pamiętaj też, że ta aktualizacja dostosowuje pozycję parametru color w funkcjach selektora daty i wprowadza parametr contentColor do dostosowywania kolorów tekstu nagłówka i tytułu. (I30d03, b/347031394)
  • Zmień nazwę SplitButton na SplitButtonLayout i usuń interfejsy API wariantów kolorystycznych SplitButton. Warianty będą osiągane przez ponowne wykorzystanie wariantów przycisków dostarczonych przez SplitButtonDefaults. (I44c36)
  • ModalBottomSheet ma teraz parametr sheetGestureEnabled (I856cb, b/288211587)
  • Zmieniliśmy nazwy standardMotionSchemeexpressiveMotionScheme na standardowe i ekspresywne. Obie funkcje są teraz dostępne w obiekcie towarzyszącym MotionScheme po wywołaniu MotionScheme.standard()MotionScheme.expressive(). (Iceccf)
  • Dodanie parametru maxWidth do zwykłych i rozbudowanych etykietek. Domyślnie jest to 200 dp w przypadku zwykłych etykietek i 320 dp w przypadku etykietek rozbudowanych. (I30ce9)

Poprawki błędów

  • Elementy DatePickerDateRangePicker prawidłowo aktualizują wyświetlany miesiąc, gdy są ustawiane za pomocą stanu displayedMonthMillis. (If9e47, b/333414302)
  • Treści ModalBottomSheet są teraz przesuwane z dala od paska stanu. (I5114c, b/321877275, b/336962418, b/342093067)
  • [Bottom Sheet] Zmień priorytet wywołania zwrotnego na PRIORITY_DEFAULT, aby umożliwić najpierw zamknięcie klawiatury IME. (I447fb)
  • Naprawiono awarie w DatePickerDateRangePicker, gdy minimalny rok do wyboru jest ustawiony na rok w przyszłości. (I78656, b/319395747)
  • Rozwiązanie problemu z selektorem daty, który powodował, że interfejs nie aktualizował się po zastosowaniu zaktualizowanej instancji SelectableDates. (Iad59a, b/290135807, b/339898760)

Wersja 1.4.0-alpha01

2 października 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha01 Wersja 1.4.0-alpha01 zawiera te zmiany.

Zmiany w zachowaniu

  • Biblioteka nie dodaje już zależności do material-icons-core, więc jeśli Twój projekt na niej polegał, musisz dodać tę zależność do plików build.gradle[.kts]. (I735ff, b/349894318)
  • NavigationBarItemNavigationRailItem zmieniają kolor aktywnej etykiety z onSurface na secondary, aby poprawić użyteczność, kontrast kolorów i spójność w systemie (Ibc297). Aby przywrócić poprzednie działanie, skopiuj domyślne kolory i zmień selectedTextColor na MaterialTheme.colorScheme.onSurface.
  • Komponenty Material 3 korzystają teraz z nowej funkcji MotionScheme do definiowania ruchu. (Ie0f93)
  • Zmiany ruchu nieokreślonego kołowego wskaźnika postępu (I3c07e)
  • Zaktualizuj kolory OutlinedIconButtonColorsOutlinedIconToggleButtonColors, aby uzyskać lepszy kontrast. (I2743d)
  • Zaktualizowano kolor kontenera i treści dla FilledIconToggleButtonColorsFilledTonalIconToggleButtonColors. (Ic5d0f)
  • Zaktualizowano kolor obramowania OutlinedButton z outline na outlineVariant. (057f00)

Zmiany w interfejsie API

  • Dodaliśmy opcjonalny parametr reverseLayout do funkcji enterAlwaysScrollBehaviorTopAppBar, aby lepiej obsługiwać treści, które zostały ustawione za pomocą reverseLayout. (I4e0e5)
  • SegmentedButton obsługuje teraz argument contentPadding. (I5ad91, b/358414376)
  • PullToRefreshState nie ma już domyślnej implementacji dla isAnimating (I6a593)
  • Dodaliśmy nowe przeciążenia funkcji Material TextField i OutlinedTextField, które używają funkcji TextFieldState. Dodano interfejsy API pola dekoracji, które są zgodne z TextFieldDecorator. (If13a1)
  • Dodano parametr do sterowania labelPosition pola tekstowego. Użycie alwaysMinimize umożliwia wyświetlanie etykiety i tekstu zastępczego w polu tekstowym jednocześnie, nawet gdy pole nie jest aktywne. (I1ef2c)
  • Dodano Material SecureTextField i OutlinedSecureTextField do pól wpisywania hasła. (I7e22d)
  • Dodano zakres do etykiet pól tekstowych, aby można było wysyłać zapytania o postęp animacji. (If5ec8)
  • Dodaliśmy obsługę właściwości MotionEvent.CLASSIFICATION_DEEP_PRESS w etykietkach. (I62e6a)
  • isAfternoonTimePickerState jest teraz w interfejsie wartością rozszerzenia zamiast zmiennej. Zmieniliśmy jej nazwę na isPm (I89a97).
  • Aktualizacja klasy typografii w celu obsługi podkreślonych skal typów. (Ifa13c)
  • Dodaliśmy interfejs API ModalWideNavigationRail i zmieniliśmy nazwy interfejsów API ModalExpandedNavigationRail na DismissibleModalWideNavigationRail. (Ic9118)
  • Zaktualizowano FloatingAppBarScrollBehavior, aby automatycznie obliczać screenOffset i nie wymagać @Composable. (Idf349)
  • Aktualizacje interfejsu LoadingIndicator API, które poprawiają nazewnictwo w obiekcie domyślnym. Dodano stałą LoadingIndicatorElevation w miejscu PullToRefresh. (I1d72b)
  • Aktualizacje interfejsu LoadingIndicator API, które poprawiają nazewnictwo w obiekcie domyślnym. Dodano stałą LoadingIndicatorElevation w miejscu PullToRefresh. (I1d72b)
  • Dodaliśmy parametry amplitudewaveSpeed do nieokreślonych wariantów parametrów LinearWavyProgressIndicatorCircularWavyProgressIndicator. (I2a0c5)
  • Obsługa zmiany kształtu przycisku przełącznika ikony w zależności od stanu naciśnięcia lub zaznaczenia. (Ibc781)
  • Aktualizacja klasy typografii w celu obsługi podkreślonych skal typów. (Ifa13c)
  • SplitButton przekształcenia kształtu na podstawie stanu domyślnego lub wciśniętego, Usunięto interfejs API AnimatedTrailingButton, ponieważ interfejs API TrailingButton może oferować te same dostosowania (I95066)
  • Dodaj modyfikator, aby animować wyświetlanie i ukrywanie pływającego przycisku działania, np. podczas przewijania treści. (I8338d)
  • Dodawanie połączonych kształtów grupy przycisków i odstępów do ButtonGroupDefaults do wykorzystania w przykładzie. (I68e30)
  • Przycisk dzielony dodaje poziomy odstęp do przycisku końcowego i umożliwia optyczne wyśrodkowanie obliczane na podstawie różnic między początkowym a końcowym rogiem (I122e2).
  • Wprowadzamy nowy materiał MotionScheme, który umożliwia ustawienie schematu ruchu komponentu. Schemat jest ustawiany za pomocą MaterialTheme. (Id50c2)

Poprawki błędów

  • Zastosuj prawidłowy indeks przechodzenia fokusu do Scaffold podrzędnych funkcji kompozycyjnych. Kolejność to topBar, bottomBar, fab, content, snackbar. (I5936b)
  • Rozwiązaliśmy problem w przypadku elementów DatePickerDateRangePicker, który polegał na tym, że w niektórych językach i wzorcach formatowania niektóre elementy daty (np. nazwy miesięcy) nie zaczynały się od wielkiej litery. (I1430f)
  • Integracja tokenów komponentów FAB i FAB Menu (drobne zmiany wizualne dotyczące dopełnień i tekstu) (Ib57f3)
  • ModalBottomSheet jest teraz pierwszym elementem w kolejności przechodzenia semantycznego, a po nim następuje warstwa przyciemniająca. (I436f9, b/358594665)
  • Naprawiono problem z dolnym paskiem aplikacji, który nie znikał całkowicie podczas przewijania pod przyciskiem nawigacyjnym w trybie od krawędzi do krawędzi (I3ee21).

Compose Material3 w wersji 1.3

Wersja 1.3.2

9 kwietnia 2025 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.2 Wersja 1.3.2 zawiera te zmiany.

Poprawki błędów

  • ListItem poprawia obliczanie wysokości wewnętrznej, rezerwując teraz odpowiednią ilość miejsca w układzie.
  • Usuń nadmiarowe dopełnienie etykiety NavigationBarItem, aby prawidłowo dopasować ją do specyfikacji.
  • Poprawia układ TabRow w trybie od prawej do lewej.

Wersja 1.3.1

30 października 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.1 Wersja 1.3.1 zawiera te zmiany.

Poprawki błędów

  • Elementy DatePickerDateRangePicker prawidłowo aktualizują wyświetlany miesiąc, gdy są ustawiane za pomocą stanu displayedMonthMillis. (If9e47, b/333414302)
  • Naprawiono awarie w DatePickerDateRangePicker, gdy minimalny rok do wyboru jest ustawiony na rok w przyszłości. (I78656, b/319395747)
  • Rozwiązanie problemu z selektorem daty, który powodował, że interfejs nie aktualizował się po zastosowaniu zaktualizowanej instancji SelectableDates. (Iad59a, b/290135807, b/339898760)
  • Zmień priorytet wywołania zwrotnego używanego przez arkusze dolne na PRIORITY_DEFAULT, aby umożliwić najpierw zamknięcie klawiatury IME. (I447fb)

Wersja 1.3.0

4 września 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0 Wersja 1.3.0 zawiera te zmiany.

Ważne zmiany od wersji 1.2.0

Główne funkcje wersji 1.3.0

Nowe komponenty Material Design 3

  • Karuzela
  • [ModalBottomSheet] Funkcja przewidywania powrotu jest teraz obsługiwana na urządzeniach U+ (Iccf32, b/281967264, b/304850357)
  • [SearchBar] obsługuje teraz przewidywane przejście wstecz w Androidzie U+ (I657f8)
  • Panel nawigacji (ModalDrawerSheetDismissibleDrawerSheet) obsługuje teraz na urządzeniach U+ funkcję przewidywanego powrotu jako opcjonalną (Ie5b0b).
  • DropdownMenu obsługuje teraz niestandardowe kolory, kształty, wysokość i obramowanie. (I8e981,b/289554448, b/301887035, b/283654243)
  • Zaktualizowano suwak, aby zwiększyć dostępność przez dodanie odstępu i wskaźnika zatrzymania. (I3058e)
  • Zaktualizowaliśmy ProgressIndicator, aby poprawić dostępność przez dodanie odstępu i wskaźnika zatrzymania. (I21451)
  • Dodano domyślny kursor do rozbudowanego dymku. Obsługuje on rysowanie niestandardowego kursora na podstawie elementu zakotwiczonego LayoutCoordinates. (Ifd42c) Zmiany powodujące niezgodność
  • Nowe interfejsy API do odświeżania przez przeciągnięcie:
    • Uproszczony atrybut PullToRefreshState, który umożliwia używanie wartości ułamkowych zamiast jednostek dp.
    • Stan isRefreshing jest kontrolowany przez użytkownika, a nie przez PullToRefreshState.
    • Oddzielono zagnieżdżone połączenie przewijania od PullToRefreshState. Jest on obsługiwany przez nowy interfejs PullToRefreshBox lub Modifier.pullToRefresh.
    • Ta aktualizacja wprowadza zmiany powodujące niezgodność z poprzednimi eksperymentalnymi interfejsami API. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683) Visual Breaking Changes
  • Zaktualizuj nakładkę stanu zaznaczenia do wartości 0,1f, aby zapewnić odpowiedni kontrast kolorów. (I7ea77)
  • Drobne korekty domyślnych kolorów powierzchni i tła w lightColorScheme i darkColorScheme. (I9db52)
  • Zaktualizowaliśmy kolory suwaka i ProgressIndicator zgodnie z nową specyfikacją kontrastu elementów nietekstowych. (I26807)
  • Komponenty korzystają teraz z SurfaceContainer wersji. Komponenty, które wcześniej obliczały kolor za pomocą ról SurfaceTonalElevation, domyślnie używają teraz ról SurfaceContainer, na które nie ma wpływu podniesienie tonalne. (b/304584161)
  • Role podstawowe powierzchni i kontenera powierzchni zostały nieznacznie zmodyfikowane, dzięki czemu w motywach jasnym i ciemnym mają więcej odcieni. (I677a5)
  • Eksperymentalne interfejsy API zostały przekształcone w stabilne.
  • Poprawa wydajności.

Wersja 1.3.0-rc01

21 sierpnia 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-rc01 Wersja 1.3.0-rc01 zawiera te commity.

Poprawki błędów

  • ModalBottomSheet jest teraz pierwszym elementem w kolejności przechodzenia semantycznego, a po nim następuje warstwa przyciemniająca. (I436f9, b/358594665)

Wersja 1.3.0-beta05

24 lipca 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-beta05 Wersja 1.3.0-beta05 zawiera te zmiany.

  • Rozwiązaliśmy problem polegający na tym, że na Androidzie N i O brakuje treści BottomSheet lub są one ucięte (a10a2d).
  • Zwiększono zakres semantyczny suwaka, aby element TalkBack prawidłowo wyświetlał wskaźniki fokusu wokół kciuków. (0b5a1d)

Wersja 1.3.0-beta04

26 czerwca 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-beta04 Wersja 1.3.0-beta04 zawiera te zmiany.

Wersja 1.3.0-beta03

12 czerwca 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-beta03 Wersja 1.3.0-beta03 zawiera te zmiany.

Wkład zewnętrzny

  • Udostępnij androidx.compose.material3.DropdownMenu z typowego zbioru źródeł. (If62c0)

Wersja 1.3.0-beta02

29 maja 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-beta02 Wersja 1.3.0-beta02 zawiera te zmiany.

Zmiany w interfejsie API

  • Modifier.pullToRefreshIndicator obsługuje podniesienie, aktualizuje interfejsy API „Przeciągnij, aby odświeżyć”, aby włączanie było wartością logiczną zamiast funkcji lambda. Obsługa wyrównania treści w PullToRefreshBox (I75679)
  • Utworzenie TooltipScope jako zapieczętowanego interfejsu i utworzenie wewnętrznej implementacji do użycia w TooltipBox i etykiecie. (I3833e)
  • Dodaliśmy 2 nowe modyfikatory do CarouselItemScope – maskClip i maskBorder – aby łatwo dodawać kształt i obramowanie do dowolnego elementu karuzeli (Id67a1).
  • TimePickerState jest teraz interfejsem i umożliwia ustawianie czasu (I88546).
  • Zaktualizowano interfejs API do stylizowania linków: przeniesiono TextLinkStyles do TextStyle i usunięto TextDefaults z materiału. (I5477b)

Poprawki błędów

  • Ikony paska stanu i nawigacji ModalBottomSheet reagują teraz na stan ciemnego motywu. (Ie1fe7, b/338342149)
  • Dodano semantykę zamykania arkusza do ModalBottomSheet warstwy przyciemniającej. (0e61cb,b/328801864)

Wkład zewnętrzny

  • Udostępnij androidx.compose.material3.AlertDialog z typowego zestawu źródeł (Ia33f5)
  • Udostępnij ModalBottomSheet z typowego zbioru źródeł (Id7cc7)

Wersja 1.3.0-beta01

14 maja 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-beta01 Wersja 1.3.0-beta01 zawiera te zmiany.

Zmiany w interfejsie API

  • Używanie znacznika DpSize zamiast CaretProperties. Usuwam CaretProperties. Zmień nazwę CaretScope na TooltipScope. (Id9a76)
  • Zaktualizowano interfejs API do pobierania linków w tekście w motywie Material. W szczególności usunęliśmy metody z TextDefaults do tworzenia tematycznych LinkAnnotations i parsowania kodu HTML z tematycznymi linkami. Zamiast tego dodaliśmy do funkcji kompozycyjnej Text parametr TextLinkStyles, który umożliwia stylowanie linków. (I31b93)

Wersja 1.3.0-alpha06

1 maja 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-alpha06 Wersja 1.3.0-alpha06 zawiera te zmiany.

Zmiany powodujące niezgodność

  • Nowe interfejsy API do odświeżania przez przeciągnięcie:

    • Uproszczony atrybut PullToRefreshState, który umożliwia używanie wartości ułamkowych zamiast jednostek dp.
    • Stan isRefreshing jest kontrolowany przez użytkownika, a nie przez PullToRefreshState.
    • Oddzielono zagnieżdżone połączenie przewijania od PullToRefreshState. Jest on obsługiwany przez nowy interfejs PullToRefreshBox lub Modifier.pullToRefresh.
    • Ta aktualizacja wprowadza zmiany powodujące niezgodność z poprzednimi eksperymentalnymi interfejsami API. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683)

Zmiany w interfejsie API

  • Pole RippleConfiguration#isEnabled zostało usunięte, a pole LocalRippleConfiguration może teraz przyjmować wartość null. Aby wyłączyć efekt fali, zamiast podawać RippleConfigurationisEnabled = false, podaj null do LocalRippleConfiguration. (I22725)
  • ModalBottomSheet dokładniej rysuje zasłonę na pasku stanu, gdy włączony jest tryb od krawędzi do krawędzi; Treści w arkuszu modalnym u dołu mogą teraz wykorzystywać wcięcia okna, co pozwala wyświetlać treści nad paskiem nawigacyjnym. Parametr ModalBottomSheet windowInsets został zmieniony na contentWindowInsets, aby określić, gdzie będą stosowane wcięcia. Nie są one już powiązane z logiką okna. Typ contentWindowInsets został zmieniony na funkcję zwracającą wartość WindowInsets, aby można było ją rozwiązać w nowym oknie. (I39630, b/274872542, b/300280229, b/290893168)
  • Elementy PrimaryScrollableTabRowSecondaryScrollableTabRow korzystają teraz z układu niestandardowego zamiast z kompozycji podrzędnej, co powinno zwiększyć skuteczność. (I991e0)
  • Linki tekstowe mają teraz opcję stylu stanu naciśnięcia oprócz stylów normalnego, najechanej i skupionej. TextDefaults metody otrzymały argument pressedStyle, który je obsługuje. (Ic473f, b/139312671)

Poprawki błędów

  • Punkty zaczepienia panelu nawigacyjnego są teraz zgodne z szerokością drawerContent. (Ibc72f, b/245355396)
  • OutlinedTextField górny odstęp od etykiety uwzględnia teraz rozmiar czcionki systemowej. (Idc781)
  • Lokalizacja pakietu z poprawką: CalendarLocale. (Ifa235)
  • [Przewidywane przejście wstecz] Zaktualizuj animacje przewidywanego przejścia wstecz, aby używać krzywej interpolacji (0,1, 0,1, 0, 1) (I2591a).

Wersja 1.3.0-alpha05

17 kwietnia 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-alpha05 Wersja 1.3.0-alpha05 zawiera te zmiany.

Nowe funkcje

  • SearchBarDockedSearchBar mają nowe przeciążenia, które przyjmują parametr pola tekstowego. Umożliwia to stylowanie pola tekstowego niezależnie od reszty paska wyszukiwania, a także przekazywanie 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 w interfejsie API

  • Linki tekstowe mają teraz opcję stylu stanu naciśnięcia oprócz normalnego stylu, stylu po najechaniu kursorem i stylu po zaznaczeniu (I5f864, b/139312671).
  • Zaktualizowano CarouselItemInfo, aby udostępnić maskę Rect, przez którą element jest przycinany (I785d8)
  • Usunięto BasicTooltipState z publicznego interfejsu Material 3 API. Jego funkcjonalność jest połączona z TooltipState, dopóki BasicTooltip w Foundation nie zostanie ustabilizowany. (Icda29)
  • Dodano obiekt TextDefaults, który zawiera metody tworzenia obiektu LinkAnnotation i parsowania ciągu znaków z tagami HTML, które stosują atrybut MaterialTheme do linków (I98532, b/139312671).
  • ExposedDropdownMenuBoxScope nie zezwala już na podklasy. Menu z opcjami mają teraz element MenuAnchorType, który należy przekazać do elementu menuAnchor, aby zapewnić lepszą dostępność. Zamiast przekazywać wartość focusable do funkcji ExposedDropdownMenu, która została wycofana, należy używać tej metody. menuAnchor ma nowy parametr do kontrolowania stanu enabled. (I55ee6, b/257209915, b/308840226)
  • Naprawiliśmy kolor obramowania elementu OutlinedButton, gdy jest on wyłączony. Dodano przeciążenie ButtonDefaults.outlinedButtonBorder("enabled"), które przyjmuje stan włączony. (Ie650b, b/318461363)
  • Dodaliśmy nową klasę CarouselItemInfo, aby pomóc klientom w uzyskiwaniu informacji o rozmiarach produktów. (I9070c)
  • Konstruktor ColorScheme bez kontenerów powierzchni został wycofany. Przejdź na konstruktor, który zawiera kontenery powierzchni. (I35c11)
  • [Kontur]TextFieldDefaults ContainerBox zmieniono nazwę na Container. (Ie8d3b)

Poprawki błędów

  • BottomSheetScaffold nie będzie już przewijać z zagnieżdżonego przewijania, jeśli sheetSwipeEnabled ma wartość false. (I5e1c1, b/306464779)
  • Usunęliśmy niektóre adnotacje ExperimentalMaterial3Api OptIn w IconButtonSamples.kt. (I111d1)

Wersja 1.3.0-alpha04

3 kwietnia 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-alpha04 Wersja 1.3.0-alpha04 zawiera te commity.

Nowe funkcje

  • Dodano 2 eksperymentalne wersje karuzeli Material3 – HorizontalMultiBrowseCarouselHorizontalUncontainedCarousel (I88d64).
  • Zaktualizowano komponent Compose M3 Nav Drawer (ModalDrawerSheetDismissibleDrawerSheet), aby obsługiwał funkcję Predictive Back na urządzeniach z Androidem U+ jako opcjonalną (Ie5b0b).
  • Dodano nowy interfejs API w ikonie, który umożliwia przekazywanie odcienia koloru jako funkcji lambda, aby uniknąć ponownego komponowania. (I5b5a2)
  • Interfejsy API górnego paska aplikacji obsługują teraz niestandardowe wysokości zarówno w przypadku sekcji stałych, jak i zwijanych. (Ib8b0c, b/323403446)

Zmiany w interfejsie API

  • Interfejsy API górnego paska aplikacji obsługują teraz niestandardowe wysokości zarówno w przypadku sekcji stałych, jak i zwijanych. Rozwiązaliśmy problem, który powodował zbyt częste ponowne komponowanie jednoliniowych górnych pasków aplikacji podczas przewijania treści. Rozwiązaliśmy problem, który powodował, że MediumTopAppBar obcinał tytuły na urządzeniach z dużymi ustawieniami czcionki lub wyświetlacza. (Ib8b0c, b/323403446, b/300953236, b/286296147, b/330410290, b/308540676)
  • SegmentedButton i powiązane interfejsy API są teraz stabilne (I8a158).
  • SwipeToDismissBox, SwipeToDismissBoxDefaults, SwipeToDismissBoxState i SwipeToDismissBoxValue są teraz oznaczone jako stabilne. (I5f000)
  • Usunięto wycofane wyliczenia DismissDirectionDismissValue oraz interfejsy API. (I89ccd)
  • Dodano eksperymentalny tag do CarouselStateobiektu towarzyszącegoCarouselState karuzeli. (I94154)
  • Wycofaliśmy LocalMinimumInteractiveComponentEnforcement i wprowadziliśmy LocalMinimumInteractiveComponentSize, aby je zastąpić. (I7a7ac)
  • Konstruktor SearchBarColors jest teraz dostępny publicznie. (I769ca)
  • Dodano parametr gesturesEnabled do listy SwipeToDismissBox. (Idc59f, b/324170119)
  • Usunięto interfejsy API pól tekstowych, które zostały oznaczone jako wycofane i eksperymentalne. (I1305f)

Wersja 1.3.0-alpha03

20 marca 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-alpha03 Wersja 1.3.0-alpha03 zawiera te zmiany.

Zmiany powodujące niezgodność w wyglądzie

  • Zaktualizuj nakładkę stanu zaznaczenia do wartości 0,1f, aby zapewnić odpowiedni kontrast kolorów. (I7ea77)
  • Drobne korekty domyślnych kolorów powierzchni i tła w lightColorScheme i darkColorScheme. (I9db52)

Nowe funkcje

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

Zmiany w interfejsie API

  • Oznaczenie ScaffoldSubcomposeInMeasureFix zostało usunięte. (Ie2a4b)
  • Urządzenie NavigationRailItemColors zostało oznaczone jako @Immutable. (If6112, b/327660613)
  • Urządzenie NavigationBarItemColors zostało oznaczone jako @Immutable. (I42a30, b/298064514)
  • Zmiana kolejności parametrów w komponencie Slider Track. (I9f315)
  • ExposedDropdownMenu jest teraz zaimplementowane przy użyciu Popup. Działanie powinno być takie samo, z wyjątkiem menu, na których można się skupić i które zawierają edytowalne pola tekstowe – mogą one zostać zamknięte podczas pisania na klawiaturze.

Poprawki błędów

  • Role podstawowe powierzchni i kontenera powierzchni zostały nieznacznie zmodyfikowane, dzięki czemu w motywach jasnym i ciemnym mają więcej odcieni. (I677a5)
  • Zaktualizowaliśmy kolory suwaka i ProgressIndicator zgodnie z nową specyfikacją kontrastu elementów nietekstowych. (I26807)
  • Zaktualizuj nakładkę stanu zaznaczenia do wartości 0,1f, aby zapewnić odpowiedni kontrast kolorów. (I7ea77)
  • Drobne korekty domyślnych kolorów powierzchni i tła w lightColorScheme i darkColorScheme. (I9db52)

Wersja 1.3.0-alpha02

6 marca 2024 roku

Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-alpha02 Wersja 1.3.0-alpha02 zawiera te zmiany.

Zmiany w interfejsie API

  • Przywracanie stabilności stanów suwaka. Ustawiam folder State.onValueChangeFinished jako aktualny… Zawijanie onValueChangeFinishedrememberUpdatedState. (I82ab2, b/322269951)
  • Komponenty Navigation korzystają teraz z nowych ról SurfaceContainer. DrawerDefaults udostępnia teraz osobne atrybuty standardContainerColor i modalContainerColor. DrawerDefaults.ModalDrawerElevation to teraz 0.dp. (I7fbac)
  • Usuwamy @Stable ze stanów Slider, ponieważ zmieniamy state.onValueChangeFinished na var. (Ied34a, b/322269951)
  • Specyfikacja animacji ModalBottomSheetStandardBottomSheet to teraz TweenSpec, która została zaktualizowana z animacji sprężynowej. Rozwiązuje to problem z widocznym przekroczeniem. Wycofane konstruktory SheetState bez gęstości zostały usunięte. (I7babc, b/285847707)

Poprawki błędów

  • Komponenty korzystają teraz z SurfaceContainer wersji. Komponenty, które wcześniej obliczały kolor za pomocą powierzchni i TonalElevation, domyślnie używają teraz ról SurfaceContainer, na które nie ma wpływu podniesienie tonalne. (b/304584161)
  • Naprawiono błąd, który powodował, że kolor niezaznaczonego, wyłączonego kontenera ElevatedFilterChip był czarny. (I400e6, b/322407043)
  • Naprawiono wskaźnik postępu bez określenia czasu oczekiwania, gdy postęp wynosi 0 (Id6582)
  • Rozwiązano problem z elementami SliderRangeSlider w układzie od prawej do lewej (Iab0e1).
  • Dodawanie SliderRangeTolerance do obliczania zakresu suwaka, ponieważ zaokrąglanie liczb zmiennoprzecinkowych może być niedokładne. (Ic918a, b/324934900)
  • Upewnij się, że przyciski urządzenia DatePickerDialog są widoczne podczas zagnieżdżania elementu DateRangePicker lub wyświetlania dowolnego selektora daty na małych ekranach z większymi czcionkami. (Ie4758, b/325107799, b/277768544)
  • Menu korzysta teraz z roli SurfaceContainer w przypadku koloru kontenera. MenuDefaults.TonalElevation to teraz 0.dp. (I135b7)
  • TextField korzysta teraz z roli SurfaceContainerHighest w przypadku koloru kontenera. (I4dced)
  • Podniesione elementy teraz korzystają z roli SurfaceContainerLow (I7cd2f).
  • Kolor kontenera DatePicker to teraz SurfaceContainerHigh. DatePickerDefaults.TonalElevation to teraz 0.dp. (Ida753)
  • Aktualizuje kolor kontenera Bottom Sheets i uchwytu do przeciągania. (I72a0a)
  • Kolor kontenera RichTooltip to teraz SurfaceContainer. (Ia8b45)
  • Kolor kontenera SearchBar to teraz SurfaceContainerHighest. SearchBarDefaults.TonalElevation to teraz 0.dp. (I88604)
  • Wyłącza przełącznik aktualizacji i wyłącza wybrane ścieżki/ikony, aby wykorzystać 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. Kolor kontenera dziecka to FilledCard.SurfaceContainerHighest (I35141)
  • Kolor kontenera ElevatedButton to teraz SurfaceContainerLow. Nieaktywne elementy FilledIconButton mają teraz kolor kontenera SurfaceContainerHighest. (I792c9)
  • Aktualizuje kolor kontenera TimePicker i kolor tarczy zegara na SurfaceContainerHighest. (I43b93)

Wersja 1.3.0-alpha01

21 lutego 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-alpha01 Wersja 1.3.0-alpha01 zawiera te zmiany.

Nowe funkcje

  • Aktualizacja Compose M3ModalBottomSheet, aby obsługiwać przewidywanie powrotu na urządzeniach z Androidem U+ (Iccf32, b/281967264, b/304850357)
  • Zaktualizowano Compose M3 SearchBar, aby obsługiwać przewidywanie powrotu na urządzeniach z Androidem U+ (I657f8)
  • Zaktualizowano suwak, aby zwiększyć dostępność przez dodanie odstępu i wskaźnika zatrzymania. (I3058e)
  • Zaktualizowaliśmy ProgressIndicator, aby poprawić dostępność przez dodanie odstępu i wskaźnika zatrzymania. (I21451)
  • Dodanie domyślnego znaku wstawienia do rozbudowanego podpowiedzi. Nowy interfejs API rozbudowanych podpowiedzi umożliwia teraz rysowanie niestandardowego znaku wstawienia na podstawie punktu zakotwiczenia LayoutCoordinates. (Ifd42c)

Zmiany w zachowaniu

  • Komponenty Material zostały przeniesione, aby korzystać z nowych interfejsów API efektu falowania, i nie wysyłają już zapytań do RippleTheme.

Zmiany w interfejsie API

  • Zabawny post drawStopIndicator jest teraz publiczny. (I3f59f)
  • Oznacz funkcję DatePickerformatWithSkeleton jako wewnętrzną (Ic65dc).
  • DropdownMenu obsługuje teraz niestandardowe kolory, kształty, wysokość i obramowanie. (I8e981, b/289554448, b/301887035, b/283654243)
  • Komponenty Material3, które w swoim interfejsie API udostępniały wartość MutableInteractionSource, zostały zaktualizowane, aby udostępniać wartość MutableInteractionSource z możliwością 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ć MutableInteractionSource, a w razie potrzeby zostanie on utworzony w komponencie. Ustawienie wartości null powoduje, że niektóre komponenty nigdy nie przydzielają MutableInteractionSource, a inne tworzą instancję tylko wtedy, gdy jest to potrzebne, co zwiększa wydajność tych komponentów. Jeśli nie używasz elementu MutableInteractionSource przekazywanego do tych komponentów, zalecamy przekazywanie zamiast niego wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (I41abb, b/298048146)
  • Dodaje RippleConfigurationLocalRippleConfiguration, aby umożliwić dostosowywanie efektów rozchodzenia się fali na poziomie poszczególnych komponentów lub poddrzew za pomocą stałych wartości. Może to być np. zmiana koloru komponentu, nad którym nie masz kontroli, lub wyłączenie efektu fali dla komponentu. W większości przypadków należy używać wartości domyślnych. Te interfejsy API służą do dostosowywania poszczególnych komponentów lub ograniczonych poddrzew. W przypadku większych zmian i niestandardowych systemów projektowania zamiast tego utwórz własny efekt fali za pomocą createRippleModifierNode. (I7b5d6, b/298048146)
  • Dodaje nowy interfejs API efektu falowania w material3, który zastępuje wycofany interfejs rememberRipple. Dodaje też tymczasowe CompositionLocal, LocalUseFallbackRippleImplementation, aby przywrócić komponenty material3 do korzystania z wycofanych interfejsów API rememberRipple / RippleTheme. Zostanie ona usunięta w kolejnej stabilnej wersji i ma być tylko tymczasowym ułatwieniem migracji w przypadkach, gdy podajesz niestandardowy RippleTheme. (I34cbc, b/298048146)

Poprawki błędów

  • Usunięto podkompozycję w ModalBottomSheet, aby zwiększyć wydajność. Rozwiązaliśmy problem, który powodował awarię ModalBottomSheet w określonych scenariuszach w połączeniu z LookaheadScope. (I2a198)
  • Usunięto podkompozycję w BottomSheetScaffold, aby zwiększyć wydajność. Rozwiązaliśmy problem, który powodował awarię BottomSheetScaffold w określonych scenariuszach w połączeniu z LookaheadScope. (Ie6401)
  • Wyrównanie plakietki jest dostosowywane tak, aby była bliżej środka treści kotwicy w stosunku do prawego górnego rogu. (I18a28)
  • Rozwiązaliśmy problem z ułatwieniami dostępu w przypadku elementu DateRangePicker, w którym tytuł tekstowy „Miesiąc–Rok” był przekazywany jako element, z którym można wejść w interakcję, użytkownikom czytnika ekranu, Switch Access i Voice Access. (I2ac55)
  • Naprawiono błąd kolejności parametru mediumTopAppBarColors. (Ibe64a)

Wersja 1.2

Wersja 1.2.1

6 marca 2024 roku

Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.1 Wersja 1.2.1 zawiera te zmiany.

Poprawki błędów

  • Przywróć stabilność stanów suwaka. Ustawiam folder State.onValueChangeFinished jako aktualny… Zawijanie onValueChangeFinishedrememberUpdatedState. (Ie8fd0, b/322269951)
  • Usuwamy @Stable ze stanów Slider, ponieważ zmieniamy state.onValueChangeFinished na var. (I82ba1, b/322269951)
  • Popraw NavigationBar kolorów niestandardowych, aby kopiować je z domyślnych. (80a779, b/326894020)
  • Napraw regresję w ExposedDropdownMenu, aby ponownie można było ustawić na nim fokus (3fcec1, b/323694447)
  • Naprawiono problem z buforowaniem koloru przycisku (3e5bbcb/327371655)

Wersja 1.2.0

7 lutego 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0 Wersja 1.2.0 zawiera te zmiany.

Znany problem

  • W wersji PrimaryTabRow wprowadzono błąd renderowania w ramach interoperacyjności View-Compose. Było to związane ze zmianą mającą na celu poprawę wydajności. Obejście polega na używaniu TabRow z TabRowDefaults.PrimaryIndicator.

Ważne zmiany od wersji 1.1.0

Nowe komponenty Material Design 3

Ulepszenia istniejących komponentów Material Design 3.

Promocja eksperymentalnych interfejsów API do wersji stabilnych

Usprawnienia wydajności

Wersja 1.2.0-rc01

24 stycznia 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-rc01 Wersja 1.2.0-rc01 zawiera te zmiany.

Poprawki błędów

  • Naprawiono błąd kolejności parametru mediumTopAppBarColors. (Ibe64a)
  • Naprawiliśmy błąd wprowadzony w 1.2.0-beta02CardDefaults.cardColors, który nie aktualizował contentColor na podstawie wartości parametru containerColor. (Iee041, b/319671246)
  • Naprawiono błąd w elemencie disabledContentColor wprowadzony w wersji 1.2.0-beta02 i dodano niewielką optymalizację. (I6dda1, b/318428829)

Wersja 1.2.0-beta02

10 stycznia 2024 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-beta02 Wersja 1.2.0-beta02 zawiera te zmiany.

Znany błąd

  • Błąd w IconButtonColors domyślnie przypisuje disabledContentColor do wersji alfa (0,38f) LocalContentColor zamiast do określonego przez użytkownika contentColor. Obejście problemu polega na wyraźnym ustawieniu wartości disabledContentColor. Naprawimy to w kolejnej wersji.

Zmiany w interfejsie API

  • Dodanie możliwości włączania karetki w etykietkach narzędzi dla interfejsów API Plain Tooltip. (Ibf767)
  • Nazwy wszystkich elementów SwipeToDismissState, rememberSwipeToDismissSwipeToDismissValue zostały zmienione tak, aby zawierały _SwipeToDismissBox_. (I68d6d)

Poprawki błędów

  • Naprawiono wartość dopełnienia na końcu ListItem, aby była zgodna ze specyfikacją. (Ibd68b, b/305342674)
  • Kolor obramowania karty z obramowaniem jest teraz prawidłowo mapowany na OutlineVariant. (I75480, b/310979715)
  • Dynamiczne kolory są teraz pobierane z ról kolorów zdefiniowanych w systemie. Poprawia to kontrast w przypadku treści dostępnych dla osób z niepełnosprawnościami i lepiej dopasowuje dynamiczne kolory do specyfikacji Material. (I1de96)
  • Rozwiązano problem z obsługą przycisku ModalBottomSheet na urządzeniach z Androidem T/13+ w przypadku android:enableOnBackInvokedCallback="true". (I728dc, b/306196110)

Wersja 1.2.0-beta01

13 grudnia 2023 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-beta01 Wersja 1.2.0-beta01 zawiera te zmiany.

Zmiany w interfejsie API

  • Oznacz TabIndicatorScope jako eksperymentalne. (I45c88)
  • Usunięcie wycofanych eksperymentalnych interfejsów API dla etykietki. (I438cb)
  • Zmień nowe przeciążenia TabRow, aby nie korzystały z podkompozycji. Dzięki temu wskaźniki TabRow można tworzyć w inny sposób, korzystając z niestandardowych modyfikatorów. (Ife741)
  • Wycofanie interfejsów API DismissDirectionDismissValue. Zostały one scalone w SwipeToDismissValue, którego wartości wskazują zarówno pozycję, jak i kierunek SwipeToDismissBox. Wartość w polu DismissState.progress jest teraz oznaczona jako FloatRange pomiędzy 0.01.0. Wycofane funkcje Saver i Constructor w DismissState zostały usunięte. Komponent SwipeToDismiss, obiekt stanu i obiekt domyślny zostały oznaczone jako eksperymentalne. (Ib54f2)

Poprawki błędów

  • Domyślnym wskaźnikiem dla PullToRefresh jest teraz otwarty grot strzałki zamiast pełnego trójkąta. (I67be3)

Wersja 1.2.0-alpha12

29 listopada 2023 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha12 Wersja 1.2.0-alpha12 zawiera te zmiany.

Zmiany w interfejsie API

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

Wersja 1.2.0-alpha11

15 listopada 2023 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha11 Wersja 1.2.0-alpha11 zawiera te zmiany.

Nowe funkcje

  • Implementuje PullToRefreshContainerPullToRefreshState, które razem zapewniają implementację odświeżania przez przeciągnięcie w Material3. (I16456, b/261760718)

Zmiany w interfejsie API

  • Oznacz SwipeToDismissBox DismissDirectionDismissValue jako eksperymentalne. (I517b0)
  • Zmień nazwę SwipeToDismiss na SwipeToDismissBox. Zmień nazwę background na backgroundContent, a dismissContent na końcowe wyrażenie lambda content. (I7f4d3)
  • Udostępnij publicznie konstruktor dla ChipElevationSelectableChipElevation. (Ie0c48, b/308432421)
  • Dodaję ModalBottomSheetProperties. Przenoszę securePolicy do ModalBottomSheetProperties. Dodawanie isFocusable i shouldDismissOnBackPress do ModalBottomSheetProperties. Te nowe wartości logiczne pomagają określić, jak dolny arkusz modalny powinien obsługiwać zdarzenia IME. (Iea56f, b/278216859)
  • Zaktualizowaliśmy stany RangeSliderSlider, aby usunąć initialOnValueChange, początkowe prefiksy i odpowiednie dokumenty kdoc. (I57d30)
  • Wycofaj klasę ChipBorder i powiązane z nią wywołania funkcji. Zamiast tego zalecaj bezpośrednie używanie klasy BorderStroke. (I89cc2)
  • Interfejsy API etykietek narzędziowych Foundation są teraz @ExperimentalFoundationApi. (I30b0b)
  • Atrybuty TabRow i ScrollableTabRow nie są już wycofane. Nowe warianty „Podstawowy” i „Dodatkowy” są oznaczone jako eksperymentalne. (I0def6)
  • Filtry i elementy wejściowe korzystają teraz bezpośrednio z 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ą funkcję. (Idbe52)
  • Zmień nazwy interfejsów API SwipeToDismiss na SwipeDismiss i przekształć nowe interfejsy API SwipeDismiss w stabilne. (I14cbe)
  • Dodano elementy tonalElevationshadowElevation do interfejsów API etykietek. Dodatkowo interfejsy API TooltipBox, PlainTooltipRichTooltip zostały przywrócone do wersji eksperymentalnej, ponieważ zostały przypadkowo udostępnione jako stabilne. (If0f66, b/293939035)
  • Promowanie eksperymentalnych interfejsów API układu do wersji stabilnej. (Iea2c3)
  • Usunięto adnotację @ExperimentalMaterial3Api z klikanych kart Material3. (I88dbf)

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że w określonych scenariuszach z zagnieżdżonymi układami Lookahead i Lazy dochodziło do awarii SwipeToDismiss. (Ica8d1, b/297226562)

Wersja 1.2.0-alpha10

18 października 2023 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha10 Wersja 1.2.0-alpha10 zawiera te zmiany.

Zmiany w interfejsie API

  • Promowanie wersji BadgeBadgedBox do wersji stabilnej. (I67f16, b/261565132)
  • Dodanie securePolicy jako parametru do ModalBottomSheet, aby użytkownicy mogli określać działanie WindowManager.LayoutParams.FLAG_SECURE. (Icdac8, b/296250262)
  • Dodano nowe przeciążenia funkcji LinearProgressIndicatorCircularProgressIndicator, które przyjmują progress jako lambdę. Powinny one działać lepiej niż poprzednie wersje. (I824e6, b/295616656)
  • Zmienia nazwę StandardSizeClasses na AllSizeClasses. (I8cb07)
  • Łączenie funkcji obliczeniowych klas rozmiarów okien. (Iad935)

Poprawki błędów

  • Naprawiono błąd DatePicker, który występował podczas szybkiego klikania przycisków strzałek nawigacji, gdy wyświetlany miesiąc znajdował się na początku lub na końcu dozwolonego zakresu lat. (I46f36, b/290954897, b/297002119)
  • [Pasek nawigacyjny] Obsługa przezroczystego koloru wskaźnika. (Ie0a9b, b/267289987)

Wersja 1.2.0-alpha09

4 października 2023 roku

Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha09 Wersja 1.2.0-alpha09 zawiera te zmiany.

Zmiany w interfejsie API

  • Przeniesiono ModalNavigationDrawerDismissibleNavigationDrawer, aby korzystać z nowych interfejsów API AnchoredDraggable. DrawerStateanimateTo zostało zastąpione metodami open i close, a przesunięcie jest teraz udostępniane jako liczba zmiennoprzecinkowa zamiast obiektu stanu. Możesz uzyskać do niego dostęp bezpośrednio na stronie currentOffset. (I0a72c)
  • Dodaliśmy funkcje niekomponowalne, które umożliwiają bezpośrednie tworzenie elementów DatePickerStateDateRangePickerState. W razie potrzeby możesz używać tych funkcji zamiast funkcji rememberDatePickerStaterememberDateRangePickerState. (I70326, b/291524052)
  • W przypadku typów stałych i przewijanych TabRows dostępne są 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)
  • Dodaliśmy nowy parametr sheetMaxWidth, który programiści mogą ustawić, aby określić maksymalną szerokość arkusza. Jeśli chcesz, aby arkusz zajmował całą szerokość ekranu, możesz przekazać wartość Dp.Unspecified. (Ifb7c9, b/266697696)
  • Przywrócono interfejsy API PlainTooltipBoxRichTooltipBox jako wycofane metody. (I246fa)

Poprawki błędów

  • Naprawienie problemu z awarią, gdy obiekt DatePicker jest inicjowany za pomocą obiektu DatePickerFormatter, który ma określone szablony dat, które pozostają takie same po przekonwertowaniu na wzorce dat (np. RR). (I01f29)

Wersja 1.2.0-alpha08

20 września 2023 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha08 Wersja 1.2.0-alpha08 zawiera te zmiany.

Zmiana powodująca niezgodność w zachowaniu

  • ColorScheme jest teraz niezmienny, co sprawia, że indywidualne aktualizacje kolorów są mniej wydajne, ale bardziej wydajne jest częstsze używanie kolorów. Powodem tej zmiany jest to, że większość aplikacji nie ma aktualizowania poszczególnych kolorów jako głównego zastosowania. Jest to nadal możliwe, ale będzie wymagało większej liczby ponownych kompozycji niż wcześniej. Znacznie zmniejszymy liczbę subskrypcji stanu w całym kodzie Material, co wpłynie na koszt inicjowania i działania w przypadku bardziej standardowych zastosowań. (Ic447d, b/297212873)
  • Podniesienie tonalne nie jest już animowane w różnych stanach interakcji, aby pasowało do specyfikacji. (Icdd12)

Zmiany w interfejsie API

  • Dodano nowy element BottomAppBar, który przyjmuje jako parametr element BottomAppBarScrollBehavior, aby automatycznie go ukrywać podczas przewijania treści. Dodano też FabPosition.EndOverlay możliwość nakładania pływającego przycisku działania na dolny pasek aplikacji w widoku, zamiast umieszczania go nad nim. (Iecb47)
  • Dodaliśmy prosty komponent Label, który bazuje na BasicTooltipBox i nie zamyka się po kliknięciu poza jego granicami. (I821f9)

Poprawki błędów

  • Usunięto użycie rememberSaveable w przypadku etykietek. (Icc131, b/299500338)
  • Wprowadzono tymczasową flagę, która określa, czy komponent Scaffold ma mierzyć elementy podrzędne podczas pomiaru czy podczas umieszczania. Domyślnie będzie to pomiar. Jeśli masz problemy z nowym działaniem, zgłoś je. (I0b354)
  • Stałe poziome wypełnienie ekranu od krawędzi do krawędzi w BottomSheet dzięki użyciu prawidłowego pomiaru szerokości ekranu urządzenia. (I1df0c, b/299058752)
  • Rozwiązaliśmy błąd polegający na tym, że ModalBottomSheet nie wywoływał onDismissedRequest, gdy użytkownik zamykał go, przesuwając arkusz w dół. (Idfdd8)

Wersja 1.2.0-alpha07

6 września 2023 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha07 Wersja 1.2.0-alpha07 zawiera te zmiany.

Nowe funkcje

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

Zmiany w interfejsie API

  • SliderState implementuje DraggableState (I9b116)
  • Zmień kształt, aby był wymaganym parametrem. Zmień nazwę position na index w funkcji pomocniczej kształtu. (I34941)
  • Aktualizuje DatePicker formatWithSkeleton, aby uwzględnić mapę, która jest używana jako pamięć podręczna w celu zwiększenia wydajności. (I3195f)
  • Dodano BasicTooltipBox do compose.foundation i zaktualizowano PlainTooltipBox oraz RichTooltipBox, aby używać TooltipBox z nowymi komponentami PlainTooltipRichTooltip. (I79e1d)

Poprawki błędów

  • dynamicLightColorSchemedynamicDarkColorScheme zwracają teraz kolory o wyższej chromatyczności 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 komponencie Scaffold w LookaheadScope zbyt wcześnie próbowały odczytać swój rozmiar. (I297b4, I871f1, b/295536718)

Wersja 1.2.0-alpha06

23 sierpnia 2023 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha06 Wersja 1.2.0-alpha06 zawiera te zmiany.

Poprawki błędów

  • Poprawiliśmy obliczenia DropdownMenuoffset, aby przesunięcia wzdłuż osi X zależały wyłącznie od lokalnego kierunku układu, a przesunięcia wzdłuż osi Y nie były już odwracane, gdy menu znajduje się w pobliżu dolnej krawędzi ekranu. (Iccc74, b/294103942)
  • Poprawiliśmy obliczenia DropdownMenuoffset, aby przesunięcia wzdłuż osi X zależały wyłącznie od lokalnego kierunku układu, a przesunięcia wzdłuż osi Y nie były już odwracane, gdy menu znajduje się w pobliżu dolnej krawędzi ekranu. (Ib87a2, b/294103942)

Wersja 1.2.0-alpha05

9 sierpnia 2023 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha05 Wersja 1.2.0-alpha05 zawiera te zmiany.

Zmiany w interfejsie API

  • Aktualizacje kolorów pola wyboru i TriStateCheckbox. Ikona CheckboxDefaults.colors() disabledUncheckedColor wpływa teraz tylko na obramowanie pola wyboru. W przypadku specjalnych przypadków, w których musisz ustawić kolor wewnętrznego pola, gdy jest ono wyłączone i odznaczone, wymagane jest utworzenie niestandardowej instancji CheckboxColors z odpowiednimi wartościami kolorów. (I77d17, b/291943198)

Wersja 1.2.0-alpha04

26 lipca 2023 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha04 Wersja 1.2.0-alpha04 zawiera te zmiany.

Nowe funkcje

  • Eksperymentalny interfejs Segmented Button API (Ifc8fb)
  • Elementy dzielące mają teraz parametr, który umożliwia kontrolowanie orientacji, dzięki czemu obsługują dzielniki pionowe. (I4c899, b/288438593)

Zmiany w interfejsie API

  • Przenosimy zależność od gęstości na poziom komponentu. Dotyczy to tych komponentów: SwipeToDismiss i komponentów opartych na arkuszach. Użyj nowego przeciążenia, w którym gęstość jest parametrem. (I1846e)
  • Dodatkowe adnotacje określające dozwolone dane wejściowe funkcji kompozycyjnych (Ief234)
  • Dodaj parametr ikony do przycisku segmentowego, podziel semantykę, aby przyciski segmentowe można było wybierać w celu implementacji pojedynczego wyboru i przełączać w celu implementacji wielokrotnego wyboru, odpowiednio za pomocą SelectableSegmentedButtonRow i ToggelableSegmentedButtonRow. (I38740)
  • Element dzielący nosi teraz nazwę HorizontalDivider. Dodano funkcję VerticalDivider. (I5975c)
  • Zmień użycie ClosedFloatingPointRange na lżejszy typ FloatRange w eksperymentalnych interfejsach Material3 API, aby zminimalizować automatyczne pakowanie. (I4aab5)
  • Dodano nowe wyrównanie do początku dla FabPosition (Ib7aea, b/170592777)

Poprawki błędów

Wersja 1.2.0-alpha03

21 czerwca 2023 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha03 Wersja 1.2.0-alpha03 zawiera te zmiany.

Zmiany w zachowaniu

  • W typografii Material 3 znak includeFontPadding jest domyślnie zastępowany znakiem false. Domyślny styl wysokości wiersza został też zmieniony na Trim.NoneAlignment.Center, a do TextStyleTypography dodano wyraźne lineHeight (w sp). Jeśli chcesz dostosować te wartości, zapoznaj się z dokumentacją interfejsu API. Szczegółowe wyjaśnienie tych zmian znajdziesz w tym poście na blogu. (I6266f, Icabc3)

Nowe funkcje

  • Dodano przeciążenie funkcji RangeSlider, które jest wersją komponentu z zachowywaniem stanu. Utworzono RangeSliderState, który zawiera wszystkie informacje o bieżącym aktywnym śladzie, pomiary komponentów RangeSlider oraz logikę przeciągania i gestów. (I8c270)
  • Pasek wyszukiwania obsługuje teraz cienie dzięki nowo dodanemu parametrowi shadowElevation. (Ia5369, b/271040353)
  • ColorScheme obsługuje teraz nowe SurfaceContainer role.
  • Nakładkę tonalną z wysokością terenu można teraz wyłączyć za pomocą ustawienia regionalnego kompozycji LocalTonalElevationEnabled. (Ic203c, b/277774590)

Zmiany w interfejsie API

  • Otwórz konstruktory kolorów komponentów. (I8c4a6)
  • Dodanie parametru focusable do obu interfejsów API etykietek, aby deweloperzy mogli określać, czy etykietka ma obsługiwać zdarzenia dotyku. Pamiętaj, że może to spowodować przerwanie automatycznego przechodzenia między elementami dostępności. (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 zmiennoprzecinkowych (Ie686e)

Poprawki błędów

  • Parametr contentWindowInsets komponentu Scaffold uwzględnia teraz wcięcia okna. Pamiętaj, że działanie dopełnienia treści na podstawie parametrów topBarbottomBar pozostaje bez zmian, gdy są one podane. (I08b73, b/264601542)
  • Popraw wyrównanie górnego paska aplikacji, aby długi tytuł nie nakładał się na ikony działań ani ikonę nawigacji. (I4369f, b/236994621)
  • Pozycje kart wymuszają teraz minimalną szerokość treści wynoszącą 24 dp. Zapewnia to dostępny obszar klikalny dla wskaźników kart. (Id8861)
  • Dynamiczne palety kolorów z dynamicLightColorSchemedynamicDarkColorScheme obsługują teraz nowe role platformy. (I1252e)
  • Aktualizacja wyrównania powiadomienia z odznaką, aby nie było przycinane, gdy koliduje z pradziadkiem. (Idf75a)

Wersja 1.2.0-alpha02

24 maja 2023 r.

Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha02 Wersja 1.2.0-alpha02 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodaj parametr wstawień okien do ModalBottomSheet.
    • Warstwa przyciemniająca dla ModalBottomSheet może być teraz rysowana za paskiem stanu, gdy wartość windowInsets jest ustawiona na zero
    • Zaktualizowano domyślną funkcję ModalBottomSheet, aby nie obejmowała pasków systemowych, w tym nawigacji.
    • Obsługa wcięcia paska stanu jest zapewniana przez uchwyt przeciągania w trybie od krawędzi do krawędzi.
    • BottomSheetDefaults zawiera wstawki okien dla BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
  • Wycofaj Indicator i dodaj Primary/SecondaryIndicator, aby dopasować je do specyfikacji M3. PrimaryIndicator dopasowuje się do szerokości treści karty, a SecondaryIndicator zajmuje całą dostępną szerokość. Wartość SecondaryIndicator jest odpowiednikiem wycofanej już wartości Indicator i może ją bezpośrednio zastąpić. (I27604)
  • Dodaliśmy opcję przekazywania wartości ScrollState podczas tworzenia elementu DropdownMenu lub ExposedDropdownMenu, aby kontrolować stan przewijania w pionie wyświetlanych elementów menu. (Ia0734, b/185304441)
  • Dodano przeciążenie funkcji Slider, które jest wersją komponentu z zachowywaniem stanu. Utworzono SliderState, który zawiera wszystkie informacje o bieżącym aktywnym śladzie, pomiary komponentów Slider oraz logikę przeciągania i gestów. (I124a5)
  • Zmiana nazwy usługi Semantics isContainer na isTraversalGroup (I121f6)
  • Dodano zoptymalizowany element TextStyle.merge(...) z pełną listą parametrów. (Iad234, b/246961787)
  • Udostępniono interfejsy TooltipState, RichTooltipStatePlainTooltipState. Dodano stany domyślne RichTooltipStateImplPlainTooltipStateImpl. Dodano funkcje remember*State, aby uzyskać te stany wdrożenia. Usunięto TooltipSync na rzecz TooltipDefault.GlobalMutatorMutex. (I7813d)
  • Zaktualizowaliśmy DatePickerColors, aby dodać dodatkowe opcje dostosowywania kolorów separatora, nawigacji i pól wprowadzania tekstu w selektorze daty. (I1a685, b/274626815)
  • DatePickerStateDateRangePickerState to teraz interfejsy publiczne z domyślnymi implementacjami, które można pobrać za pomocą rememberDatePickerStaterememberDateRangePickerState. (I71c52)
  • Usunęliśmy dateValidatorDatePickerDateRangePicker 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)
  • TimePicker usunięto ze stabilnego interfejsu API, w interfejsie API stanu oczekiwane są dalsze zmiany (I3f39a)
  • ModalBottomSheet Przeniesiono tylko na Androida. Protokół ModalBottomSheet nie jest zalecany do użytku na komputerach, a funkcja nie jest już aktualizowana. (Ib3778)

Poprawki błędów

  • Naprawiliśmy AlertDialog działanie odrzucania, aby pojawiało się pod działaniem potwierdzania, gdy działania były ułożone jeden nad drugim, aby zmieścić się w oknie dialogowym. Ta poprawka dostosowuje implementację do specyfikacji Material Design. (I029de, b/235454277)
  • Rozwiązanie błędu w ListItem, który powodował używanie nieprawidłowego dopełnienia w przypadku elementów zamówienia z 3 wierszami. (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-alpha01androidx.compose.material3:material3-window-size-class:1.2.0-alpha01 zostały opublikowane. Wersja 1.2.0-alpha01 zawiera te zmiany.

Wersja 1.1

Wersja 1.1.2

20 września 2023 r.

androidx.compose.material3:material3:1.1.2androidx.compose.material3:material3-window-size-class:1.1.2 zostały opublikowane. Wersja 1.1.2 zawiera te zmiany.

Poprawki błędów

  • Naprawiono błąd polegający na nieprawidłowym przekazywaniu modyfikatora do 2 kompozycji. (b/282761472)
  • Rozwiązaliśmy problem z funkcją TimePickerState, która zwracała nieprawidłową liczbę godzin po zainicjowaniu z wartością 23 godzin. (b/278242122)
  • Poprawiono początkowy stan przełącznika w przypadku weryfikacji południa i minut. (b/269768197, b/282790635)
  • Naprawiono błąd, w którym funkcja state.hour zwracała nieprawidłową wartość o godzinie 23:00. (b/282761472, b/278242122)

Wersja 1.1.1

21 czerwca 2023 r.

androidx.compose.material3:material3:1.1.1androidx.compose.material3:material3-window-size-class:1.1.1 zostały opublikowane. Wersja 1.1.1 zawiera te zmiany.

Poprawki błędów

  • Dodaje wywołanie ModalBottomSheet bez parametru windowInset, aby zapewnić zgodność binarną. (Ib7959)
  • Dodaj parametr wstawień okien do ModalBottomSheet.
    • Warstwa przyciemniająca dla ModalBottomSheet może być teraz rysowana za paskiem stanu, gdy wartość windowInsets jest ustawiona na zero
    • Zaktualizowano domyślną funkcję ModalBottomSheet, aby nie obejmowała pasków systemowych, w tym nawigacji.
    • Obsługa wcięcia paska stanu jest zapewniana przez uchwyt przeciągania w trybie od krawędzi do krawędzi.
    • BottomSheetDefaults zawiera wstawki okien dla BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)

Wersja 1.1.0

10 maja 2023 r.

androidx.compose.material3:material3:1.1.0androidx.compose.material3:material3-window-size-class:1.1.0 zostały opublikowane. Wersja 1.1.0 zawiera te zmiany.

Główne funkcje wersji 1.1.0

Nowe komponenty Material Design 3

Ulepszenia istniejących komponentów Material Design 3.

Promocja eksperymentalnych interfejsów API do wersji stabilnych

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-rc01androidx.compose.material3:material3-window-size-class:1.1.0-rc01 zostały opublikowane. Wersja 1.1.0-rc01 zawiera te zmiany.

Zmiany w interfejsie API

  • TimePicker usunięto ze stabilnego interfejsu API, w interfejsie API stanu oczekiwane są dalsze zmiany (I3f39a)
  • ModalBottomSheet Przeniesiono tylko na Androida. Protokół ModalBottomSheet nie jest zalecany do użytku na komputerach, a funkcja nie jest już aktualizowana. (Ib3778)

Wersja 1.1.0-beta02

5 kwietnia 2023 r.

androidx.compose.material3:material3:1.1.0-beta02androidx.compose.material3:material3-window-size-class:1.1.0-beta02 zostały opublikowane. Wersja 1.1.0-beta02 zawiera te zmiany.

Zmiany w interfejsie API

  • SheetState ma teraz opcjonalny parametr skipHiddenState
  • rememberStandardBottomSheetState ma teraz opcjonalny parametr skipHiddenState
  • BottomSheetScaffold ma teraz zdefiniowany ukryty element kotwiczący, ale jest on domyślnie wyłączony.
  • Zaktualizowano SheetState.requireOffset dokumentację
  • BottomSheetDefaults.MinimizedShape został zmieniony na BottomSheetDefaults.HiddenShape (I839f4, b/273870234)

Poprawki błędów

  • Gdy włączone jest czytanie dotykiem, nie przełączaj tarczy z godzin na minuty. (I717d0)
  • Semantyka uchwytów przeciągania ModalBottomSheetBottomSheetScaffold została scalona. (I05afb)
  • Parametry modyfikatora BottomSheetScaffold, containerColorcontentColor mają teraz wpływ tylko na treści. (I992cb)
  • BottomSheetScaffold nestedScroll w przypadku treści arkusza obsługuje teraz szybkie przesunięcia. (I992cb)

Wersja 1.1.0-beta01

22 marca 2023 r.

androidx.compose.material3:material3:1.1.0-beta01androidx.compose.material3:material3-window-size-class:1.1.0-beta01 zostały opublikowane. Wersja 1.1.0-beta01 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodaj parametr typu układu do funkcji kompozycyjnej TimePicker. Umożliwia korzystanie z różnych układów w zależności od konfiguracji ekranu (Ia0e16).
  • SearchBarDefaults zostało oznaczone jako eksperymentalne. (I65561)
  • Dodano wysokość cienia do elementu BottomSheetScaffold (I94e0f)
  • Dodaliśmy obsługę wyświetlania selektorów dat bez części nagłówka. Zmiany w interfejsie API umożliwiające przekazywanie nagłówka o wartości null podczas tworzenia selektora daty. Możesz teraz przekazywać wartość null w przypadku nagłówka, tytułu i showToggleMode = false, aby wyświetlać selektor bez nagłówka. (Id3f3a, b/266132421, b/267194809)

Poprawki błędów

  • Paski wyszukiwania automatycznie tracą fokus, gdy stają się nieaktywne. (I22a7c, b/261444487)
  • Zaktualizowaliśmy DateRangePicker, aby umożliwić wybieranie zakresu z tą samą datą rozpoczęcia i zakończenia. (I16529, b/272882497)
  • Pola tekstowe prawidłowo pozycjonują teraz elementy tekstowe, gdy rozmiar czcionki jest mniejszy niż oczekiwano. W zależności od ustawień czcionki i skryptu może to spowodować zmianę o kilka pikseli w aplikacjach. (I8b8d0)
  • Działania semantyczne na planszy dolnej mają teraz etykiety. (I277b0)

Wersja 1.1.0-alpha08

8 marca 2023 r.

androidx.compose.material3:material3:1.1.0-alpha08androidx.compose.material3:material3-window-size-class:1.1.0-alpha08 zostały opublikowane. Wersja 1.1.0-alpha08 zawiera te zmiany.

Nowe funkcje

  • Dodaliśmy obsługę właściwości BottomSheetScaffold i BottomSheetScaffoldState. (I063d4)

Zmiany w interfejsie API

  • Dodaliśmy funkcje do elementów DatePickerStateDateRangePickerState, które umożliwiają ustawianie dat po początkowym utworzeniu stanu, a także resetowanie wyborów przez ustawianie znaczników czasu o wartości null. Daty należy ustawiać ręcznie z zachowaniem ostrożności. Nowa funkcja setSelection zgłosi wyjątek, jeśli podana data nie spełni warunku wstępnego (patrz dokumentacja). (Ifa645, b/268609314, b/270427389)
  • Zmieniliśmy nazwę stanu zwiniętego z SheetValue na PartiallyExpanded, aby dokładniej i bardziej elastycznie opisywać zachowanie w tym stanie. (Ia1491)
  • Zaktualizowaliśmy nazwy parametrów ListItem na _content zamiast _text. Domyślne funkcje pobierające są teraz w odpowiednich przypadkach oznaczone jako ReadOnlyComposables. (I69a25)
  • Wprowadzenie interaktywnych interfejsów API Surface z wersji eksperymentalnej. (I90d59, b/261561812)

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że stan ModalBottomSheet był obliczany nieprawidłowo i arkusz wydawał się unosić.HalfExpanded (I45e84, b/268411386)
  • Dodaj confirmValueChange do dotknięcia siatki ochronnej w przypadku ModalBottomSheet. (I2311a, b/270425759)
  • Przenieś działania semantyczne BottomSheet do uchwytu przeciągania. (I158ba)
  • ModalBottomSheet teraz przejmuje fokus po uruchomieniu i obsługuje przycisk Wstecz. (I4d2ab)
  • ModalBottomSheet onDismissRequest jest teraz obsługiwane również podczas przewijania zagnieżdżonego. (I655c5, b/268433166)

Wersja 1.1.0-alpha07

22 lutego 2023 roku

androidx.compose.material3:material3:1.1.0-alpha07androidx.compose.material3:material3-window-size-class:1.1.0-alpha07 zostały opublikowane. Wersja 1.1.0-alpha07 zawiera te zmiany.

Nowe funkcje

  • Dodaj komponent Time Input, który współpracuje z rememberTimePickerState() i jest zgodny ze specyfikacją M3 dotyczącą wprowadzania czasu (Ia4fab).
  • Dodano interfejs API Material 3 DateRangePicker do wybierania zakresu dat. (I7a6c3, b/267194809)
  • Dodano obsługę trybu wprowadzania Material 3 do wybierania zakresów dat za pomocą interfejsu DateRangePicker API. (Ifdbc4)
  • Kolory pól tekstowych można teraz dostosowywać:
    • Kolory pola wprowadzania i tekstu zastępczego w zależności od stanu zaznaczenia i błędu. Parametr textColor nosi teraz nazwę unfocusedTextColor, a parametr placeholderColor nosi teraz nazwę unfocusedPlaceholderColor.
    • Kolor kontenera wypełnionych pól tekstowych w stanie błędu z nowym parametrem errorContainerColor.
  • Kolory pól tekstowych menu rozwijanego zostały zaktualizowane o parametry obsługujące nowe interfejsy API prefiksu i sufiksu. (I9c8b4, b/254284181, b/264766350)

Zmiany w interfejsie API

  • Cofnięcie niektórych wersji interfejsu Slider API i usunięcie zbędnych przeciążeń suwaka, które są objęte nowym eksperymentalnym suwakiem z niestandardowym elementem sterującym i ścieżką. Promowanie wersji RangeSlider jako stabilnej. (Ie8fbd)
  • Zmieniono nazwę funkcji defaultElevation na elevation w funkcjach wysokości elementu. (I0f872)
  • Te interfejsy API pól tekstowych Material 3 nie są już eksperymentalne: TextField, OutlinedTextField, textFieldWithLabelPadding, textFieldWithoutLabelPadding, outlinedTextFieldPadding. (Ieb5c0, b/261561819)
  • TimePickers is24Hour używa ustawienia systemowego (I18856)
  • Usunięto eksperymentalną adnotację z interfejsów API platformy. (Ibb51e, b/261565765, b/261436953)

Poprawki błędów

  • Domyślny kształt ModalBottomSheet to teraz zawsze SheetDefaults.ExpandedShape. (I0dfca)
  • Ulepszenia ułatwień dostępu w przypadku Material 3 DatePickerDateRangePicker. (I5087e)
  • Naprawiono błąd, w którym ograniczenie maksymalnej wysokości jest propagowane i może powodować awarię. (I30d8c)
  • Usunięto role semantyczne z powierzchni, które można klikać i wybierać. Zaktualizowano komponenty, które ich używały, aby ustawiać role za pomocą modyfikatora semantics (I793d9).

Wersja 1.1.0-alpha06

8 lutego 2023 r.

androidx.compose.material3:material3:1.1.0-alpha06androidx.compose.material3:material3-window-size-class:1.1.0-alpha06 zostały opublikowane. Wersja 1.1.0-alpha06 zawiera te zmiany.

Nowe funkcje

  • Pola tekstowe obsługują teraz tekst przedrostka i przyrostka (Ia8578, b/179884561)
  • Dodano funkcję TimePicker, która wyświetla selektor czasu zgodny ze specyfikacją Material 3. Jest ona używana w połączeniu z funkcją TimePickerState i metodą pomocniczą rememberTimePickerState (I71910).
  • Pole wprowadzania daty jest teraz w trybie wyświetlania w DatePicker. Dodano obsługę przełączania między selektorem daty a trybem wprowadzania daty. (Ieeff7)
  • Dodano interfejs API dla RichTextTooltips. (I58ef3)
  • Implementacja modalnej planszy dolnej w Material 3, w tym ModalBottomSheetModalBottomSheetDefaults. Wprowadzono też elementy SheetStaterememberSheetState, które można wykorzystać w przyszłych komponentach arkusza. (I0853a, b/244189383)

Zmiany w interfejsie API

  • Stabilizacja interfejsu API showSnackbar (I195c2, b/261424370)
  • Ustabilizowanie interfejsów API dla układu wspomagającego i układu sugestii (Ibb67b, b/261424370)
  • Promuje interfejsy API ListItem, ListItemDefaultsListItemColors do wersji nieeksperymentalnej (I7e7fa, b/261438882)
  • Promowanie interfejsów SliderPositions, SliderDefaults.ThumbSliderDefaults.Track do wersji stabilnej oraz dodawanie nieeksperymentalnych interfejsów SliderRangeSlider API, które zawierają niestandardowe miniatury i ścieżki. Wycofujemy też poprzednie interfejsy API SliderRangeSlider. (Ie5ea6, b/261566890)
  • Udostępniono właściwość Modifier.tooltipAnchor(), aby deweloperzy mogli przekazywać ją do elementu zakotwiczonego, aby wskazać, że etykietka ma być wyświetlana po długim naciśnięciu. Zaktualizowano interfejs API PlainTooltipBox, aby nie zezwalał już na wartość null w przypadku TooltipState, i dodano wartość domyślną. (Ie2fb7)
  • ProgressIndicatorDefaults.circularTrackColor zostało oznaczone jako @Composable ze względu na spójność. (Id29cc)
  • Przywróć getter właściwości LocalMinimuTouchTargetEnforcement i oznacz go jako wycofany, a następnie przekieruj do LocalMinimumInteractiveComponentEnforcement. (I60dd5)

Wersja 1.1.0-alpha05

26 stycznia 2023 r.

androidx.compose.material3:material3:1.1.0-alpha05androidx.compose.material3:material3-window-size-class:1.1.0-alpha05 zostały opublikowane. Wersja 1.1.0-alpha05 zawiera te zmiany.

Nowe funkcje

  • DatePickerDialog i pomoc dotycząca ułatwień dostępu.
  • Dodano niestandardowy kciuk i ścieżkę do RangeSlider.

Aktualizacje zależności

Wersja 1.1.0-alpha04

11 stycznia 2023 r.

androidx.compose.material3:material3:1.1.0-alpha04androidx.compose.material3:material3-window-size-class:1.1.0-alpha04 zostały opublikowane. Wersja 1.1.0-alpha04 zawiera te zmiany.

Nowe funkcje

  • Początkowy interfejs DatePicker API do wybierania pojedynczej daty za pomocą interfejsu kalendarza. Ten interfejs API jest nadal zmieniany. (I722b9)
  • Dodaliśmy obsługę zwykłych etykietek za pomocą PlainTooltipBox. (I0cdfb)
  • Pasek wyszukiwania (Iad128)
  • SwipeToDismiss (I458a8, b/242889540)

Zmiany w interfejsie API

  • Dodano właściwość semantyczną IsContainer w przestrzeniach. Ta właściwość zostanie użyta w późniejszej zmianie, która określa kolejność przechodzenia na podstawie znaczenia semantycznego elementów, takich jak powierzchnie. (I63379)
  • Oznaczanie interfejsów API związanych z panelem nawigacyjnym jako stabilnych. (Iab01e, b/261439597)
  • Dodaliśmy parametr koloru ścieżki dla kołowych wskaźników postępu oraz parametr zakończenia linii dla kołowych i liniowych wskaźników postępu. (Ie668c, b/216325962, b/222964817)
  • Większa możliwość zwracania wartości null przez wycofane i ukryte funkcje (Ibf7b0)
  • Dodaj Modifier.minimumInteractiveComponentSize. Można go użyć do zarezerwowania co najmniej 48 dp, aby odróżnić interakcje dotykowe, jeśli element jest mniejszy. (I33f58, b/258495559)
  • Dodano eksperymentalny interfejs API dla funkcji AlertDialog z miejscem na treść. (Iec4a2)

Poprawki błędów

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

Znany problem

  • Podczas aktualizacji z wersji 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 problem został zgłoszony po raz pierwszy. Poprawka została przesłana i będzie dostępna w kolejnej aktualizacji Compose. Aby rozwiązać ten problem, zaktualizuj biblioteki androidx.compose.materialandroidx.compose.material3 do najnowszej wersji(1.1.0-alpha04) lub przywróć androidx.compose.foundation do wersji 1.4.0-alpha03.

Wersja 1.1.0-alpha03

7 grudnia 2022 r.

androidx.compose.material3:material3:1.1.0-alpha03androidx.compose.material3:material3-window-size-class:1.1.0-alpha03 zostały opublikowane. Wersja 1.1.0-alpha03 zawiera te zmiany.

Zmiany w interfejsie API

  • Zmieniliśmy nazwy consumedWindowInsets() na consumeWindowInsets()withConsumedWindowInsets() na onConsumedWindowInsetsChanged() oraz udostępniliśmy modyfikatory. (Ie44e1)
  • Dodaj nowe domyślne dopełnienie treści dla przycisku tekstowego z ikoną. (I8f662)
  • Dodano wyłączone kolory paska nawigacyjnego i paska bocznego. (Ia7892, b/258867034)
  • Dodaliśmy interfejs Modifier API do wysyłania zapytań o informacje o przewijaniu elementów nadrzędnych. (I2ba9d, b/203141462)
  • Używany w Clickable do prawidłowego opóźniania interakcji z naciśnięciem, gdy gesty mogą stać się zdarzeniami przewijania.
  • Rozwiązaliśmy problem z nieprawidłowym opóźnianiem efektów falowania przez element Clickables, gdy jest używany w elemencie Scrollable ViewGroup.
  • Zaktualizowano panele i arkusze, aby prawidłowo opóźniać naciśnięcia w przypadku, gdy gesty mogą stać się zdarzeniami przewijania.

Aktualizacje zależności

  • Compose UI i Compose Material zależą teraz od wersji 2.5.1 biblioteki Lifecycle. (I05ab0, b/258038814)

Wersja 1.1.0-alpha02

9 listopada 2022 r.

androidx.compose.material3:material3:1.1.0-alpha02androidx.compose.material3:material3-window-size-class:1.1.0-alpha02 zostały opublikowane. Wersja 1.1.0-alpha02 zawiera te zmiany.

Zmiany w interfejsie API

  • awaitFirstDownwaitForUpOrCancellation akceptują teraz PointerEventPass, co zapewnia większą elastyczność (rozwiązuje też problem z ExposedDropdownMenuBox, które wyświetlało menu podczas przewijania).(I7579a, b/212091796)
  • Dodano parametr minLines do komponentów tekstowych material i material3, TextField i OutlinedTextField, który umożliwia ustawienie minimalnej wysokości komponentu w wierszach (I4af1d).
  • Wycofaj funkcję TopAppBarDefaults smallTopAppBarColors na rzecz nowej funkcji topAppBarColors, której należy używać podczas tworzenia TopAppBar. (Ie6cb9)
  • Dodano parametr minLines do parametrów BasicTextBasicTextField. Umożliwia ustawienie minimalnej wysokości tych komponentów w liczbie wierszy (I24294, b/122476634).

Poprawki błędów

  • Przycinaj zawartość komponentów Material 3 IconButtonIconToggleBotton do kształtu warstwy stanu komponentu (np. okrągłego). (I9da8f)
  • Aktualizuje średnie i duże górne paski aplikacji Material 3, aby stosować ten sam kolor tła na całej powierzchni i umożliwiać zastępowanie domyślnych kolorów przezroczystymi wartościami kolorów. (I67659, b/249688556, b/250838918)

Wersja 1.1.0-alpha01

24 października 2022 r.

androidx.compose.material3:material3:1.1.0-alpha01androidx.compose.material3:material3-window-size-class:1.1.0-alpha01 zostały opublikowane. Wersja 1.1.0-alpha01 zawiera te zmiany.

Poprawki błędów

  • Poprawki dotyczące górnego paska aplikacji, gdy tytuł jest stosowany z użyciem TextStyle i Brush. (If667e)

Wersja 1.0

Wersja 1.0.1

9 listopada 2022 r.

androidx.compose.material3:material3:1.0.1androidx.compose.material3:material3-window-size-class:1.0.1 zostały opublikowane. Wersja 1.0.1 zawiera te zmiany.

Poprawki błędów

  • Aktualizuje średnie i duże górne paski aplikacji Material 3, aby stosować ten sam kolor tła na całej powierzchni i umożliwiać zastępowanie domyślnych kolorów przezroczystymi wartościami kolorów. (I67659, b/249688556, b/250838918)

Wersja 1.0.0

24 października 2022 r.

androidx.compose.material3:material3:1.0.0androidx.compose.material3:material3-window-size-class:1.0.0 zostały opublikowane. Wersja 1.0.0 zawiera te zmiany.

Główne funkcje wersji 1.0.0

To pierwsza stabilna wersja Compose Material 3.

Motywy 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 opartych na opiniach punktów przerwania widocznego obszaru, które umożliwiają projektowanie, tworzenie i testowanie układów aplikacji o zmiennych rozmiarach. Możesz użyć calculateWindowSizeClass, aby pobrać instancję klasy rozmiaru okna, która pozwala określić, jak powinien wyglądać interfejs, np. czy w przypadku większych rozmiarów okna wyświetlać pasek nawigacyjny zamiast nawigacji u dołu. Więcej informacji i przykłady użycia znajdziesz w dokumentacji interfejsu API dotyczącej parametru 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-rc01androidx.compose.material3:material3-window-size-class:1.0.0-rc01 zostały opublikowane. Wersja 1.0.0-rc01 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodano parametr slotu do obsługi interfejsu API pola tekstowego (Iaac0d, b/227146125)

Wersja 1.0.0-beta03

21 września 2022 r.

androidx.compose.material3:material3:1.0.0-beta03androidx.compose.material3:material3-window-size-class:1.0.0-beta03 zostały opublikowane. Wersja 1.0.0-beta03 zawiera te zmiany.

Zmiany w interfejsie API

  • ExposedDropdownMenuDefaults udostępnia teraz wartość dopełnienia elementów menu. (I34ee1)
  • ExposedDropdownMenuBoxScope ma teraz modyfikator Modifier.menuAnchor(), który należy przekazać do pola tekstowego, aby zapewnić prawidłowe działanie funkcji ułatwień dostępu. (I27fa3)
  • Dodanie 2 przeciążonych metod do bieżącego interfejsu Slider API, aby umożliwić użytkownikom przekazywanie suwaka lub ścieżki w celu wypełnienia suwaka. (I21c00)

Poprawki błędów

  • Zaktualizowano mapowanie kolorów ciemnego motywu dla kontenera błędu na odcień 90 (Ic5612)
  • Poprawka umożliwiająca ustawienie przezroczystego tła w przypadku małych górnych pasków aplikacji Material 3. (I645e2, b/245575782)

Wersja 1.0.0-beta02

7 września 2022 roku

androidx.compose.material3:material3:1.0.0-beta02androidx.compose.material3:material3-window-size-class:1.0.0-beta02 zostały opublikowane. Wersja 1.0.0-beta02 zawiera te zmiany.

Zmiany w interfejsie API

  • Domyślne wstawki komponentów wprowadzone w komponentach m3 w wersji beta01 nie uwzględniają już wstawek IME.
  • Komponent Scaffold w Material3 ma teraz parametr contentWindowInsets, który umożliwia określenie liczby wcięć do obsługi w przypadku miejsca na treść. (Icf11a, b/243713323)
  • Wycofuje eksperymentalną funkcję SmallTopAppBar Material 3 i wprowadza jej odpowiednik TopAppBar. Przenieś swoje użycie na nową. (I74404, b/226918634)
  • Dodaje kontrolę nad zachowaniem paska aplikacji u góry podczas przesuwania i przyciągania. (I15c81)
  • Usuwa startIndent z komponentu Divider i przenosi kolor na ostatni parametr. (If7be2)

Poprawki błędów

  • Okna dialogowe powinny informować użytkowników korzystających z czytnika ekranu o swoim wyświetleniu, wypowiadając słowo „Okno”. (I857ef)

Wersja 1.0.0-beta01

24 sierpnia 2022 r.

androidx.compose.material3:material3:1.0.0-beta01androidx.compose.material3:material3-window-size-class:1.0.0-beta01 zostały opublikowane. Wersja 1.0.0-beta01 zawiera te zmiany.

Dokumentacja API

Aby zobaczyć najnowsze motywy, komponenty i inne funkcje dostępne w Compose, zapoznaj się z omówieniem interfejsu API Compose Material 3.

Zmiany w interfejsie API

  • Zaktualizowano górny pasek aplikacji Material 3, aby można było go w pełni zwinąć lub rozwinąć. Zaktualizowano też funkcję zachowania TopAppBarDefaults, aby była funkcją kompozycyjną i zapewniała wartości domyślne dla stanu górnego paska aplikacji i specyfikacji animacji. (I642b3)
  • Zaktualizowano sygnatury komponentu FAB, aby pasowały do interfejsu API powierzchni (I3afaa).
  • Dodano wstawki. Wbudowana obsługa górnych pasków aplikacji, szuflad, paska nawigacyjnego i paska bocznego. Te komponenty, używane oddzielnie lub z komponentem Scaffold, automatycznie obsługują wcięcia dla programistów. Uwaga: ta zmiana nie dodaje automatycznej obsługi ikon paska stanu ani przezroczystości paska stanu i paska nawigacyjnego. Aby zapewnić najlepsze wrażenia, nadal rób to ręcznie. (I7e4e6, b/183161866)
  • Zaktualizowane domyślne ustawienia komponentu, aby zmniejszyć powierzchnię interfejsu API i zwiększyć elastyczność oraz wydajność w przyszłości. (I31820)
  • Zmiana kolejności parametrów w arkuszu z elementami i w panelu nawigacyjnym, aby zachować spójność w interfejsie API (I45d0b).
  • Usunięto parametr startIndent z komponentu Divider i przeniesiono kolor na ostatni parametr.(If7be2)

Wersja 1.0.0-alpha16

10 sierpnia 2022 r.

androidx.compose.material3:material3:1.0.0-alpha16androidx.compose.material3:material3-window-size-class:1.0.0-alpha16 zostały opublikowane. Wersja 1.0.0-alpha16 zawiera te zmiany.

Nowe funkcje

  • Możliwość określenia niestandardowej szerokości panelu nawigacyjnego. (Ia7f10)

Zmiany w interfejsie API

  • Zmiana kolejności parametrów kart i ikon wiodących, aby zachować spójność w interfejsie API (Ie2637)
  • Oznaczono BadgeDefaults jako eksperymentalne. (I98ef3)
  • Usunięcie wycofanej funkcji panelu nawigacji. (I4f2db)
  • Zmiana kolejności parametrów suwaka w Material 3 w celu zachowania spójności w interfejsie API (I0aee7)
  • Zmiana kolejności parametrów NavigationBarNavigationRail w celu zachowania spójności w interfejsie API (I51cda)
  • Zmieniono kolejność parametrów w Material 3, aby zachować spójność w całym interfejsie API. (If4ae1)
  • Zmiana kolejności parametrów suwaka w Material 3 w celu zachowania spójności w interfejsie API (I62673)
  • Zmiana nazwy parametru ikon na działania, aby zachować spójność z górnym paskiem aplikacji (Id75be)
  • Oznacz BadgeBadgedBox jako eksperymentalne, ponieważ wyrównanie kotwicy jest nadal w trakcie zmian. (I1712e, b/236524516)
  • Zmień adnotacje @ExperimentalMaterial3Api w wariancie przycisku z ikoną na @OptIn (I070b5)
  • Treści w szufladzie nawigacji zostały przeniesione do osobnego komponentu, aby można było określić niestandardową szerokość. (Ia7f10)
  • Usuwa DividerMenuDefaultsTabDefaults (I4e33c)

Wersja 1.0.0-alpha15

27 lipca 2022 roku

androidx.compose.material3:material3:1.0.0-alpha15androidx.compose.material3:material3-window-size-class:1.0.0-alpha15 zostały opublikowane. Wersja 1.0.0-alpha15 zawiera te zmiany.

Nowe funkcje

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

Zmiany w interfejsie API

  • Aktualizacje interfejsów API FilterChipElevatedFilterChip, które usuwają gniazdo selectedIcon i zachęcają do ponownego używania gniazda leadingIcon do wyświetlania wybranego stanu. (Ie5dc2)
  • Dodaj role kolorów wariantów półprzezroczystych i konturowych. (Id6d54)
  • Popraw konwencje nazewnictwa domyślnych ustawień kompozycyjnych. (I62b27)
  • Oznacz ListItemDefaultsListItemColors jako eksperymentalne. (I1f3ec)
  • Zmiany w interfejsie API górnego paska aplikacji, które lepiej odzwierciedlają znaczenie właściwości stanu. Oznacz też interfejs API górnego paska aplikacji jako eksperymentalny. (Ic0ad8)
  • Kolory zaznaczenia tekstu zostały dodane do TextFieldColors, aby zwiększyć wykrywalność. (Iba1b8)
  • Dodawanie ButtonDefault.ButtonWithIconContentPadding do przycisków zawierających ikonę. (I2bf9c)
  • Pola tekstowe zostały oznaczone jako eksperymentalne, aby zapewnić większą elastyczność w przypadku przyszłych zmian w interfejsie API. (I127b5)
  • Usunięto adnotację @ExperimentalMaterial3Api z funkcji Checkbox. (I5eefc)
  • Usunięto adnotację @ExperimentalMaterial3Api z funkcji RadioButton. (I17e2a)
  • Usunęliśmy adnotację @ExperimentalMaterial3Api z nieinteraktywnych kart. (I9bd49)
  • Aktualizuje różne domyślne obiekty komponentów, aby uwzględniały kolory, kształty itp. (I96e11)

Poprawki błędów

  • Usunięto z przykładowych elementów wejściowych nieprawidłowo działające ikony końcowe, aby uniknąć wprowadzania użytkowników w błąd w aplikacji katalogu. (I9846a)

Wersja 1.0.0-alpha14

29 czerwca 2022 r.

androidx.compose.material3:material3:1.0.0-alpha14androidx.compose.material3:material3-window-size-class:1.0.0-alpha14 zostały opublikowane. Wersja 1.0.0-alpha14 zawiera te zmiany.

Nowe funkcje

  • Dodano implementację listy M3. Przykłady użycia znajdziesz w dokumentacji (Id7a20).

Zmiany w interfejsie API

  • Zmiana nazwy parametru z values na value w RangeSlider (I3b79a)
  • Zmiany w API w InputChip, które umożliwiają wybór stanu zgodnie ze specyfikacją Material Design. Dodatkowa obsługa kolorów w FilterChip w przypadku wybranego stanu wyłączonego. (I55244, b/235792432)
  • Dodaj domyślny pływający przycisk działania BottomAppBar (Ida4c8)
  • Dodano element ColorScheme.surfaceColorAtElevation (Id41af)
  • Interfejsy w bibliotekach Compose są teraz tworzone przy użyciu domyślnych metod interfejsu jdk8 (I5bcf1).
  • Klasy WindowWidthSizeClassWindowHeightSizeClass implementują teraz interfejs Comparable, więc można je porównywać za pomocą operatorów (<, <=, >=, >) i innych interfejsów API. (I747d0)

Poprawki błędów

  • Zaktualizuj próbkę plakietki, aby podać bardziej znaczący opis treści. (I10b9d)
  • Dodaje opcję używania rozmiaru czcionki systemowej w selektorze motywów katalogu Material 3. (I10605)
  • Dodaje przykładowy kod do plakietek i wskaźników nieokreślonego postępu. (I8fbe0)

Wersja 1.0.0-alpha13

1 czerwca 2022 r.

androidx.compose.material3:material3:1.0.0-alpha13androidx.compose.material3:material3-window-size-class:1.0.0-alpha13 zostały opublikowane. Wersja 1.0.0-alpha13 zawiera te zmiany.

Zmiany w interfejsie API

  • Obsługuje zachowywanie pozycji górnego paska aplikacji po zmianie konfiguracji. (I10459, b/216160958)

Wersja 1.0.0-alpha12

18 maja 2022 r.

androidx.compose.material3:material3:1.0.0-alpha12androidx.compose.material3:material3-window-size-class:1.0.0-alpha12 zostały opublikowane. Wersja 1.0.0-alpha12 zawiera te zmiany.

Poprawki błędów

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

Wersja 1.0.0-alpha11

11 maja 2022 roku

androidx.compose.material3:material3:1.0.0-alpha11androidx.compose.material3:material3-window-size-class:1.0.0-alpha11 zostały opublikowane. Wersja 1.0.0-alpha11 zawiera te zmiany.

Nowe funkcje

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

Zmiany w interfejsie API

  • Zmieniono nazwę funkcji TextFieldDefaults.BorderStroke, która rysuje obrys w OutlinedTextField, na TextFieldDefaults.BorderBox. (I5f295)
  • Zmiany wizualne dotyczące przełącznika m3 (Iab30e)
  • Zezwalanie na przekazywanie kolorów do standardowych przycisków z ikonami. (Ia2445)

Poprawki błędów

  • Dodanie kontroli lint do elementu material3/Scaffold, aby zapewnić używanie wewnętrznego dopełnienia (I72293, b/226951418)

Wersja 1.0.0-alpha10

20 kwietnia 2022 r.

androidx.compose.material3:material3:1.0.0-alpha10androidx.compose.material3:material3-window-size-class:1.0.0-alpha10 zostały opublikowane. Wersja 1.0.0-alpha10 zawiera te zmiany.

Nowe funkcje

  • material3-window-size-class to nowa biblioteka, która obsługuje klasy rozmiaru okna: zestaw opartych na opiniach punktów przerwania widocznego obszaru, które umożliwiają projektowanie, tworzenie i testowanie układów aplikacji o zmiennych rozmiarach. Możesz użyć calculateWindowSizeClass, aby pobrać instancję klasy rozmiaru okna, która pozwala określić, jak powinien wyglądać interfejs, np. czy w przypadku większych rozmiarów okna wyświetlać pasek nawigacyjny zamiast nawigacji u dołu. Więcej informacji i przykłady użycia znajdziesz w dokumentacji interfejsu API WindowSizeClass. Więcej informacji o definicjach klas rozmiaru okna znajdziesz w publicznym przewodniku dotyczącym obsługi różnych rozmiarów ekranu.

Zmiany w interfejsie API

  • Dodaje domyślne uniesienie FAB dla BottomAppBar, usuwa końcową lambdę z BottomAppBar z FAB. (I92c47)
  • Dodaje komponenty Material3 FilledIconButton, FilledTonalIconButtonOutlinedIconButton. (Ib2bda)
  • Aktualizuje interfejs Material 3 Snackbar API, aby akceptował wartości kolorów w przypadku opcjonalnego działania i działania zamykającego. (Ibe4b4)
  • Częściowe wykorzystanie (obniżenie lub pozycja) zostało wycofane w PointerInputChange. Aby w pełni wykorzystać zmianę, możesz użyć consume(). Możesz użyć isConsumed, aby sprawdzić, czy ktoś inny wcześniej wykorzystał tę zmianę.
  • PointerInputChange::copy() zawsze tworzy teraz płytką kopię. Oznacza to, że po wykorzystaniu jednej kopii PointerInputChange zostaną wykorzystane kolejne kopie. Jeśli chcesz utworzyć niepowiązany element PointerInputChange, użyj konstruktora. (Ie6be4, b/225669674)
  • Zmiany w interfejsie Cards API, które umożliwiają otrzymywanie kolorów kontenera i treści za pomocą interfejsu CardColors oraz obsługę stanu wyłączonego w przypadku kart, w które można kliknąć. (I927df)
  • Parametr backgroundColor został zmieniony na containerColor w polach tekstowych Material 3, aby zapewnić większą spójność z innymi komponentami. (I6fbd9)

Poprawki błędów

  • Aktualizacje standardowego elementu IconButton, aby dostosować go do specyfikacji Material3. (I09eab)
  • Przenieś wysokość górnego paska elementu Scaffold z biblioteki material3 do dopełnienia przekazywanego do treści, aby umożliwić renderowanie treści pod górnym paskiem aplikacji. Jeśli PaddingValues zostaną zignorowane, treść może być zasłonięta przez górny pasek. (I83cbc, b/217776202)

Wersja 1.0.0-alpha09

6 kwietnia 2022 roku

Zostanie wycofaneandroidx.compose.material3:material3:1.0.0-alpha09 Wersja 1.0.0-alpha09 zawiera te zmiany.

Nowe funkcje

  • Dodano interfejs API przełącznika Material 3 (I2c3ad)

Zmiany w interfejsie API

  • Dodaliśmy obsługę menu z polami tekstowymi (tzw. „rozwijane menu z polami tekstowymi” lub „pola kombi”). (I1b832)
  • Dodano parametr kształtu do MaterialTheme i podsystemu Shape. (I37426)
  • Dodaliśmy do komponentu ExtendedFloatingActionButton parametr expanded, który pozwala określić, czy pływający przycisk działania ma być rozwinięty czy zwinięty, z animacjami między poszczególnymi stanami. Dodano przeciążenie rozszerzonego przycisku FAB dla rozszerzonych przycisków FAB z tekstem na końcu w przypadku rozszerzonych przycisków FAB bez ikony. (Iba7f1)

Wersja 1.0.0-alpha08

23 marca 2022 r.

Zostanie wycofaneandroidx.compose.material3:material3:1.0.0-alpha08 Wersja 1.0.0-alpha08 zawiera te zmiany.

Nowe funkcje

Zmiany w interfejsie API

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

Poprawki błędów

  • Poprawka w przypadku przycisku Material3, aby odczytywać domyślną wartość stylu tekstu z motywu MaterialTheme. (Ie62fc)

Wersja 1.0.0-alpha07

9 marca 2022 r.

Zostanie wycofaneandroidx.compose.material3:material3:1.0.0-alpha07 Wersja 1.0.0-alpha07 zawiera te zmiany.

Zmiany w interfejsie API

  • Aktualizacje interfejsu Material 3 Surface API, które przywracają przeciążone funkcje w przypadku klikalnych powierzchni, a także dodają funkcję obsługi powierzchni, które można wybrać i przełączać. (I4bf18)
  • Wartości LazyVerticalGridLazyHorizontalGrid są teraz stabilne. (I307c0)
  • LazyVerticalGrid/LazyHorizontalGrid i wszystkie powiązane interfejsy API zostały przeniesione do podpakietu .grid. Zaktualizuj importy z androidx.compose.foundation.lazy do androidx.compose.foundation.lazy.grid. (I2d446)
  • Cofnięto poprzednią zmianę polegającą na korzystaniu wyłącznie z widoku w przypadku WindowInsetsControllerCompat. Ponownie wymagane jest okno, które jest niezbędne do zarządzania niektórymi flagami okna. Wycofano ViewCompat.getWindowInsetsController na rzecz WindowCompat.getInsetsController, aby mieć pewność, że używane jest prawidłowe okno (np. gdy widok znajduje się w oknie dialogowym). (I660ae, b/219572936)
  • Dodano nowy interfejs API LazyVerticalGrid do określania rozmiarów osi poprzecznej (I17723).

Poprawki błędów

  • Aktualizacje interfejsu Card API w związku ze zmianami w interfejsie Surface API (I3c8b9)

Wersja 1.0.0-alpha06

23 lutego 2022 r.

Zostanie wycofaneandroidx.compose.material3:material3:1.0.0-alpha06 Wersja 1.0.0-alpha06 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodano element NavigationDrawerItem, który reprezentuje pojedyncze miejsce docelowe w szufladach (Ic396f, b/218286829).
  • Dodaliśmy interfejsy PermanentNavigationDrawerDismissibleNavigationDrawer jako eksperymentalne. Są to szuflady odpowiednie dla urządzeń z dużym ekranem. (I5f8ab, b/218286829)
  • Dodano obsługę dolnego paska aplikacji Material 3 (Ic432a)
  • NavigationDrawer zmienił(a) nazwę na ModalNavigationDrawer (I1807d, b/218286829)
  • Dodano klasę i tokeny suwaka Material 3 (I1ccee)
  • Dodano implementację karty. Przykłady użycia znajdziesz w dokumentacji (Ie0146).

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że w przypadku nawigacji liniowej czytnik ekranu TalkBack wybierał pusty tytuł paska aplikacji u góry. (Id4690)
  • Dodano IconSize do FloatingActionButtonDefaults. (Ia71cf)
  • Naprawiliśmy błąd, który powodował ukrywanie przycisków AlertDialog po dodaniu długiego tekstu z symbolem LazyColumn. (Ib2cc9, b/216663029)

Wersja 1.0.0-alpha05

9 lutego 2022 r.

Zostanie wycofaneandroidx.compose.material3:material3:1.0.0-alpha05 Wersja 1.0.0-alpha05 zawiera te zmiany.

Nowe funkcje

Dodano komponenty Material Design 3

Zmiany w interfejsie API

  • Wycofana funkcja Surface, która przyjmuje wywołanie zwrotne onClick. Klikalne obszary należy tworzyć za pomocą tagów InteractionSourceModifier.clickable(). (I211c6)
  • Dodaliśmy obsługę podniesienia po naciśnięciu i skupieniu w przypadku FAB. (Ibb584)
  • Zmieniono interfejs Surface API, aby otrzymywał element InteractionSource, który umożliwia kontrolowanie jego wyglądu w różnych stanach. (Iafbc8)

Poprawki błędów

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

Wersja 1.0.0-alpha04

26 stycznia 2022 r.

Zostanie wycofaneandroidx.compose.material3:material3:1.0.0-alpha04 Wersja 1.0.0-alpha04 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodaliśmy NonRestartableComposable do metod, które są przeciążeniami istniejących metod bez złożonej logiki. Zmniejsza to liczbę sprawdzania przez kompilator zapamiętywania (równości) w przypadku wszystkich parametrów, które powtarzają się w wywoływanej funkcji wewnętrznej. (I90490)
  • Dodano podział Materiał 3. (Ica5fc)
  • Oznacz pola wyboru i przyciski opcji adnotacją eksperymentalnego interfejsu API. (Ie44bb)
  • Dodano obsługę wskaźników postępu Material 3. (Iff232, b/205023841)

Poprawki błędów

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

Wersja 1.0.0-alpha03

12 stycznia 2022 r.

Zostanie wycofaneandroidx.compose.material3:material3:1.0.0-alpha03 Wersja 1.0.0-alpha03 zawiera te zmiany.

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.

Zostanie wycofaneandroidx.compose.material3:material3:1.0.0-alpha02 Wersja 1.0.0-alpha02 zawiera te zmiany.

Nowe funkcje

  • Dodano obsługę pól wyboru i przycisków opcji.
  • Zaktualizowano, aby była zgodna z Kotlinem 1.6.0

Zmiany w interfejsie API

  • Usuń szufladę z elementu Scaffold w Material 3. (I04f51)
  • Dodaje obsługę Material 3 Checkbox. (Id5542)
  • Dodaje 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 portu dla Text zmienia się z compose.material (I30b03)
  • Naprawiono problem z przyciskiem, który był zawsze włączony. (Iea832, b/205335456)

Wersja 1.0.0-alpha01

27 października 2021 roku

Zostanie wycofaneandroidx.compose.material3:material3:1.0.0-alpha01 Wersja 1.0.0-alpha01 zawiera te zmiany.

Nowe funkcje

Motywy Material Design 3 i dynamiczne kolory Material You

Komponenty Material Design 3

Więcej informacji znajdziesz w sekcji Material Design 3 i Material You w przewodniku Tworzenie motywów Material w Compose.