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
23 września 2026 r. 1.4.0 - - 1.5.0-alpha29

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 grupy i linki do poszczególnych zestawów informacji o wersji.

GrupaOpis
compose.animationtworzyć animacje w aplikacjach Jetpack Compose, aby wzbogacać wrażenia użytkowników;
compose.compilerPrzekształ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 do Compose, który ma zapewniać komponenty zgodne z 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 Maven Google. 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:

Dynamiczny

dependencies {
    implementation "androidx.compose.material3:material3:1.4.0"
    implementation "androidx.compose.material3:material3-window-size-class:1.4.0"
    implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.5.0-alpha29"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

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

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.

Prześlij opinię

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 oddać głos na istniejący problem, klikając przycisk gwiazdki.

Tworzenie nowego problemu

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

Compose Material3 A2UI w wersji 1.0

Wersja 1.0.0-alpha01

23 września 2026 r.

Publikacja androidx.compose.material3:material3-a2ui:1.0.0-alpha01 Wersja 1.0.0-alpha01 zawiera te zmiany.

Nowe funkcje

Renderowanie Jetpack Compose Agent-to-UI (A2UI) zapewnia implementację protokołu A2UI, dzięki czemu agenty AI mogą generować bogate, interaktywne interfejsy użytkownika, które renderują natywne komponenty Compose bez wykonywania dowolnego kodu. Ta biblioteka zawiera gotową implementację standardowej specyfikacji podstawowego katalogu A2UI, która została utworzona przy użyciu komponentów Material Design 3.

Zmiany w interfejsie API

  • Zaktualizuj kolejność komponentów w A2uiBasicCatalogV, aby dokładnie odpowiadała podstawowej specyfikacji katalogu. (I23093, b/547851648)
  • Dodano ChecksProperty do wszystkich odpowiednich interfejsów komponentów w sekcji A2uiBasicCatalogV1 i udostępniono wartość właściwości za pomocą parametru przekazywanego do TypedContent każdego komponentu. (I9f393, b/547851648)
  • Dodano A2uiBasicCatalogV1.ChoicePicker i MaterialA2uiBasicCatalogV1Defaults.choicePicker. (I875a6, b/547851648)
  • Dodano A2uiBasicCatalogV1.Modal i MaterialA2uiBasicCatalogV1Defaults.modal. (Icd553, b/547851648)
  • Dodano AccessibilityProperty do wszystkich interfejsów komponentów w sekcji A2uiBasicCatalogV1 i udostępniono wartość właściwości za pomocą parametru przekazywanego do TypedContent każdego komponentu. (I76b80, b/547851648)
  • Dodano A2uiBasicCatalogV1.TextField i MaterialA2uiBasicCatalogV1Defaults.textField. (Ifdaec, b/547851648)
  • Dodano A2uiBasicCatalogV1.Video i MaterialA2uiBasicCatalogV1Defaults.video. (I8595c, b/547851648)
  • Dodano A2uiBasicCatalogV1.AudioPlayer i MaterialA2uiBasicCatalogV1Defaults.audioPlayer. (Ida509, b/547851648)
  • Dodano A2uiBasicCatalogV1.Slider i MaterialA2uiBasicCatalogV1Defaults.slider. (Ieb72d, b/547851648)
  • Dodano A2uiBasicCatalogV1.CheckBox i MaterialA2uiBasicCatalogV1Defaults.checkBox. (I84525, b/547851648)
  • Dodano A2uiBasicCatalogV1.Divider i MaterialA2uiBasicCatalogV1Defaults.divider. (I91208, b/547851648)
  • Dodano A2uiBasicCatalogV1.Tabs i MaterialA2uiBasicCatalogV1Defaults.tabs. (Ic33d3, b/547851648)
  • Dodano A2uiBasicCatalogV1.List i MaterialA2uiBasicCatalogV1Defaults.list. (I89f73, b/547851648)
  • Dodano A2uiBasicCatalogV1.Icon i MaterialA2uiBasicCatalogV1Defaults.icon. (I65524, b/547851648)
  • Dodano A2uiBasicCatalogV1.Image i MaterialA2uiBasicCatalogV1Defaults.image. (I673b3, b/547851648)
  • Dodano A2uiBasicCatalogV1.Button i MaterialA2uiBasicCatalogV1Defaults.button. (I5215f, b/547851648)
  • Dodano A2uiBasicCatalogV1.Row/A2uiBasicCatalogV1.Column i MaterialA2uiBasicCatalogV1Defaults.row/ MaterialA2uiBasicCatalogV1Defaults.column. (Ibcbe7, b/547851648)
  • Dodaliśmy element MaterialImageComponent, aby obsługiwać renderowanie obrazów w katalogu A2UI. Test: MaterialImageComponentTest do androidx-main
  • Dodaliśmy element MaterialImageComponent, aby obsługiwać renderowanie obrazów w katalogu A2UI. (I868fe)
  • Dodano A2uiBasicCatalogV1.Card i MaterialA2uiBasicCatalogV1Defaults.card. (Icf604, b/547851648)
  • Wycofano bezstanowe przeciążenia Slider i RangeSlider na rzecz ich stanowych wersji. Zmieniliśmy nazwy interfejsów activeRangeStart i activeRangeEnd w RangeSliderState na startValue i endValue, wycofując starsze, niepromowane i eksperymentalne interfejsy API suwaka z DeprecationLevel.HIDDEN. (If8995)
  • Dodano funkcję kompozycyjną A2uiSurface i A2uiSurfaceDefaults do renderowania platform A2UI. (I6e276, b/544713825)
  • Dodano A2uiTestSurface composable do montowania i testowania powierzchni i komponentów A2UI w izolacji. (I03c8a, b/527415570)

Poprawki błędów

  • compileSdk bibliotek Compose zaktualizowanych do wersji 37.1. Wymaga to przechodniego zaktualizowania compileSdk we wszystkich aplikacjach i bibliotekach korzystających z Compose. (I05b0f)

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-alpha01 i androidx.compose.material3:material3-common-desktop:1.0.0-alpha01 są udostępnione. 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-alpha07 i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha07 są udostępnione. Wersja 1.0.0-alpha07 zawiera te zmiany.

Zmiany w interfejsie API

  • Udostępnienie interfejsów API pakietu nawigacyjnego jako funkcji nieeksperymentalnych (If62af)

Poprawki błędów

  • Domyślne korzystanie z wcięć w treści (50266df)

Wersja 1.0.0-alpha06

17 kwietnia 2024 r.

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha06, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha06 i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha06 są udostępnione. Wersja 1.0.0-alpha06 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodaj containerColor i contentColor do NavigationSuiteScaffoldDefaults. (I64e3a, b/331993720)
  • Dodaliśmy funkcję itemColors do znacznika NavigationSuiteDefaults. (Idf719, b/328480012)
  • Spraw, aby NavigationSuiteScope było zapieczętowane. (Iefa57)

Wersja 1.0.0-alpha05

6 marca 2024 roku

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha05 i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha05 są udostępnione. Wersja 1.0.0-alpha05 zawiera te zmiany.

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-alpha04 i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha04 są udostępnione. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.

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-alpha03 i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03 są udostępnione. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Zaktualizuj nazwę pakietu z navigation-suite na navigationsuite (I7eff7).
  • Komponenty Material3, które w swoim interfejsie API udostępniają MutableInteractionSource, zostały zaktualizowane tak, 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 wewnątrz komponentu. Ustawienie wartości null pozwala niektórym komponentom nigdy nie przydzielać MutableInteractionSource, a innym tworzyć 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-alpha02 i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02 są udostępnione. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Nowe funkcje

Poprawki błędów

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

Wersja 1.0.0-alpha01

15 listopada 2023 r.

Publikacja androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01 Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

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-alpha06 i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha06 są udostępnione. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy dodatkowe opcje działania w przypadku ThreePaneScaffoldNavigator nawigacji wstecz. (I858aa)
  • Dodaliśmy do historii nawigacji opcjonalną treść miejsca docelowego. (Ibd7e6)

Wersja 1.0.0-alpha05

24 stycznia 2024 r.

androidx.compose.material3:material3-adaptive:1.0.0-alpha05, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha05 i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha05 są udostępnione. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.

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-alpha04 i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha04 są udostępnione. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano obsługę od krawędzi do krawędzi w strukturach 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: AnimatedPane nie jest ponownie komponowany (c3f573d)

Wersja 1.0.0-alpha03

13 grudnia 2023 r.

androidx.compose.material3:material3-adaptive:1.0.0-alpha03, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha03 i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03 są udostępnione. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Zmień role szkieletu na aliasy ThreePaneScaffoldRole. (I65bd1)
  • Tworzenie klasy bazowej dla ról szkieletowych (I4784d)
  • Usuń niepotrzebny parametr z treści AnimatedPane (Ibc73b)
  • Zmienia nazwę collectWindowSizeAsState i zwraca zamiast tego wartości surowe (I480f4).

Wersja 1.0.0-alpha02

29 listopada 2023 r.

androidx.compose.material3:material3-adaptive:1.0.0-alpha02, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha02 i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02 są udostępnione. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

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

Poprawki błędów

  • Okienka nie są przełączane, gdy nie jest używana funkcja AnimatedPane (d88f181)

Wersja 1.0.0-alpha01

15 listopada 2023 r.

Publikacja androidx.compose.material3:material3-adaptive:1.0.0-alpha01 Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

Interfejsy API warunków adaptacyjnych Material3:

Interfejsy API dyrektywy rusztowania panelu adaptacyjnego Material3:

Interfejsy API komponentu adaptacyjnego Material3:

Compose Material3 w wersji 1.5

Wersja 1.5.0-alpha29

23 września 2026 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha29 Wersja 1.5.0-alpha29 zawiera te zmiany.

Zmiany w interfejsie API

  • Zmiana powodująca niezgodność: parametr onValueChange jest teraz wymagany w funkcjach Slider i RangeSlider, a jego kolejność na liście parametrów uległa zmianie.

Poprawki błędów

  • DatePicker jest teraz rozwiązywany w 1 klatce przez obliczanie dostępności nawigacji po miesiącach bezpośrednio na podstawie wyświetlanego indeksu miesiąca. (I08db7)
  • TimeInput korzysta teraz wewnętrznie z nowych interfejsów API pól tekstowych TextFieldState. (Ia7492, b/353692863)
  • DateInput korzysta teraz wewnętrznie z nowych interfejsów API pól tekstowych TextFieldState. (I5ad3d, b/353692863)
  • Slider i RangeSlider obsługują teraz onValueChange i onValueChangeFinished bezpośrednio w swoich implementacjach, zamiast przekazywać je do SliderState i RangeSliderState. (I959ac)

Wersja 1.5.0-alpha28

9 września 2026 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha28 Wersja 1.5.0-alpha28 zawiera te zmiany.

Zmiany w interfejsie API

  • Zmieniliśmy nazwę i uprościliśmy interfejs API karuzeli z wieloma aspektami, aby utworzyć globalny modyfikator carouselParallaxScrollEffect (I46b17).
  • Usunięto wycofane przeciążenia funkcji ToggleButton. Dodaliśmy funkcje narzędziowe (contentPaddingFor, shapesFor) i stałe wartości domyślne (m.in. size) do ToggleButtonDefaults, ElevatedToggleButtonDefaults, FilledTonalToggleButtonDefaults i OutlinedToggleButtonDefaults. (I998cf)
  • Wycofano bezstanowe przeciążenia Slider i RangeSlider na rzecz ich stanowych wersji. Zmieniliśmy nazwy interfejsów activeRangeStart i activeRangeEnd w RangeSliderState na startValue i endValue, wycofując starsze, niepromowane i eksperymentalne interfejsy API suwaka z DeprecationLevel.HIDDEN. (If8995)

    Aby przenieść Slider, z:kotlin var value by remember { mutableFloatStateOf(0.5f) } Slider(value = value, onValueChange = { value = it }) do:kotlin val state = remember { SliderState(value = 0.5f) } Slider(state = state)

    Aby przenieść RangeSlider, z:kotlin var range by remember { mutableStateOf(0.2f..0.8f) } RangeSlider(value = range, onValueChange = { range = it }) do:kotlin val state = remember { RangeSliderState(startValue = 0.2f, endValue = 0.8f) } RangeSlider(state = state)

  • Dodanie do ScrollField parametrów logicznych włączonych i wyłączonych kolorów (Iab612)

Poprawki błędów

  • Dodaj obsługę pierścienia ostrości dla ScrollField. (If21d6)
  • Wprowadzaj zmiany w opiniach dotyczących projektu w przypadku ekspresyjnych TimePicker w trybie wybierania numeru. (I8795e)
  • Dostosuj dopełnienie w trybie przewijania i wpisywania w przypadku ekspresyjnych TimePicker. (Iddb33)
  • Aktualizuje obliczenia wysokości/układu przełącznika na podstawie liczby elementów w przypadku ekspresywnych TimePicker.kt w trybie bez kontenera. (I30700)
  • Rozwiązaliśmy problem, który powodował, że elementy sterujące AM/PM były obcięte w TimePicker, gdy włączono duży tekst lub skalowanie czcionki. (Iaca60)
  • Zaktualizowano komponenty SecureTextField i OutlinedSecureTextField (a także wycofane przeciążenia BasicSecureTextField), aby jako domyślny tryb zaciemniania używać TextObfuscationMode.System zamiast TextObfuscationMode.RevealLastTyped. (I76c7e)

Wersja 1.5.0-alpha27

26 sierpnia 2026 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha27 Wersja 1.5.0-alpha27 zawiera te zmiany.

Zmiany w interfejsie API

  • Zmieniono nazwy RichTimePickerDialog na VibrantTimePickerDialog, richColors na vibrantColors w TimePickerDefaults i TimeInputDefaults, richContainerColor i richShape na vibrantContainerColor i vibrantShape w TimePickerDialogDefaults oraz niezaznaczonych właściwości kolorów na periodSelectorContainerColor, periodSelectorContentColor, timeSelectorContainerColor, timeSelectorContentColor i clockDialContentColor. (Iea5aa)
  • Zaktualizuj interfejs Rich TimePicker API, aby umożliwić wyświetlanie nieograniczonego okna przewijania lub wprowadzania danych. (I2b3b6)
  • Wprowadzono symbole SelectableDropdownMenuItem i CheckableDropdownMenuItem dla elementów menu ekspresyjnego, które można wybrać i zaznaczyć. Zaktualizowano DropdownMenuItem z kształtem, aby używać MenuItemColors, i dodano MenuDefaults.itemVibrantColors(), aby obsługiwać żywe MenuItemColors. (I160ca)
  • Dodano opinie dotyczące wyrażeń ToggleButton, ElevatedToggleButton, FilledTonalToggleButton i OutlinedToggleButton z przeciążeniami z miejscami na ButtonSize i icon. Uproszczono nazwy metod ToggleButtonDefaults, ElevatedToggleButtonDefaults, FilledTonalToggleButtonDefaults i OutlinedToggleButtonDefaults do colors() i border(). (Iab484)
  • Usunięto z funkcji TopAppBarDefaults przestarzałe przeciążenia funkcji pinnedScrollBehavior i enterAlwaysScrollBehavior. Zamiast tego użyj przeciążeń, które przyjmują wartość ScrollableState. (Idef9d)
  • Usunięto wycofany eksperymentalny interfejs API LocalMotionScheme z MaterialTheme. Zamiast niej używaj zasady MaterialTheme.motionScheme. (I4b61d)
  • Dodano TimeInputDefaults i TimeInputColors dla TimeInput. (I7534e)

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że ScrollDisplayModeToggle w trybie przewijania ogłaszał „Przełącz na tryb przewijania”. (I2d588)
  • Rozwiązaliśmy problem, który powodował, że element DropdownMenuItem bez ikony początkowej nie wyrównywał ikon końcowych do końca elementu menu. (Ia24ff, b/542873381)

Wersja 1.5.0-alpha26

12 sierpnia 2026 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha26 Wersja 1.5.0-alpha26 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodano atrybuty ElevatedToggleButtonDefaults, FilledTonalToggleButtonDefaults i OutlinedToggleButtonDefaults oraz usunięto właściwości kształtu niezwiązane z semantyką w ToggleButtonDefaults. (Ia0a85)
  • Rozwiązano problem z kontrastem ułatwień dostępu w przypadku etykiety poziomego znaku NavigationItem w motywach o wysokim kontraście. Kolor etykiety jest teraz określany za pomocą selectedTextColorTopIconPosition (kolor etykiety elementu pionowego, który nie uległ zmianie) i selectedTextColorStartIconPosition (kolor etykiety elementu poziomego, który jest teraz ustawiony tak, aby pasował do selectedIconColor). Aby cofnąć tę zmianę, przekaż ShortNavigationBarItemDefaults/WideNavigationRailItemDefaults.colors().copy(selectedTextColorStartIconPosition = MaterialTheme.colorScheme.secondary) (I85855, b/490910896)
  • Zmienne przesunięcia przewijania zostały usunięte z SearchBarScrollBehavior i są teraz dostępne w nowej klasie SearchBarScrollState. (Ib24e4)
  • Przeniesiono do wersji stabilnej promowaną funkcję BottomAppBar i powiązane z nią metody. Te interfejsy API nie wymagają już zgody na @ExperimentalMaterial3Api. (I42c61)
  • Zapisany aktywny tryb wyboru w TimePickerState w przypadku przywracania stanu i dodany parametr initialSelection do funkcji fabrycznej TimePickerState. (Iad905)
  • ExposedDropdownMenu jest teraz funkcją rozszerzenia w ExposedDropdownMenuBoxScope, a nie elementem członkowskim. Może być konieczne zaktualizowanie kodu za pomocą nowego importu. (Ie8a65, b/356452026)

Poprawki błędów

  • Rozwiązaliśmy problem polegający na tym, że częściowa personalizacja kolorów w MenuDefaults.itemColors zastępowała niepodane kolory kolorem Color.Unspecified. (Iea847)
  • Poprawiono TalkBack powiadomienia, aby odczytywać sformatowane wartości czasu w przewijanym TimePicker. (Ice981)
  • Naprawiono błąd w ExposedDropdownMenu, który występował, gdy wysokość ekranu była mniejsza niż wysokość menu. (I6adf1)
  • Poprawiono nieprawidłowy odstęp od treści w przypadku szerokiej kolumny nawigacji. Dopełnienie na dole wynosi teraz 0. Aby cofnąć tę aktualizację, możesz ustawić contentPadding = PaddingValues(0.dp,44.dp,0.dp,44.dp). (I572bb)
  • Zaktualizowano publiczny interfejs API, aby dostosować go do ostatnich opinii na temat interfejsu API. (I71aff, b/532657001)

Wkład zewnętrzny

  • Rozwiązaliśmy problem polegający na tym, że element Slider Label Material3 nie wyświetlał się podczas przeciągania suwaka za pomocą myszy. (I97a6d, b/533483487)

Wersja 1.5.0-alpha25

29 lipca 2026 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha25 Wersja 1.5.0-alpha25 zawiera te zmiany.

Zmiany w interfejsie API

  • Zmieniono nazwę parametru trailingIcon na trailingContent w kształcie, zaznaczono i wybrano przeciążenia DropdownMenuItem przy zachowaniu zgodności binarnej. (I2ecbd)
  • Dodano nowe właściwości koloru zaznaczenia i kontenera do MenuItemColors, a w konstruktorze nowych kolorów zmieniono nazwę trailingIcon na trailingContent przy zachowaniu zgodności binarnej. (I20b92)
  • Ulepszone ułatwienia dostępu ScrollField i obsługa nawigacji za pomocą klawiatury. (If7477)
  • Usunięto interfejsy API ComponentOverride (I3784b)
  • Wycofano 2-parametrowe funkcje SliderState.Saver i RangeSliderState.Saver na rzecz nowych przeciążeń, które wykonują kroki. SliderState nie implementuje już publicznie DraggableState. (I7c91b)
  • Przeniesienie interfejsu BasicAlertDialog API z wersji eksperymentalnej (If157c)
  • Zmieniono ButtonGroupScope w ButtonGroup na sealed interface. Podzielono funkcję Modifier.animateWidth na 2 przeciążenia, aby umożliwić pomijanie parametru compressionLimit i dynamiczne określanie kierunku układu. Zmieniono też typ parametru compressionLimit z PaddingValues na Dp. (I8ef39)
  • Zmieniono nazwę TonalToggleButton na FilledTonalToggleButton. Dodano animacje płynnego obramowania do OutlinedToggleButton. Wycofano ToggleButtonDefaults.shapes na rzecz shapesFor. (Icb433)
  • Promuj wersje LinearTrackStopIndicatorSize, LinearIndicatorTrackGapSize i CircularIndicatorTrackGapSize do wersji stabilnej. (I794d0)
  • Wycofany interfejs API SplitButtonLayout, zamiast niego użyj interfejsu SplitButton (Ic9840)

Poprawki błędów

  • Zaktualizuj przełączanie fokusu w przypadku błędu w polu TimePickerTextField w TimePicker.kt. (Ieceec)
  • Poprawiono kształt elementu listy segmentowanej, gdy lista zawiera tylko 1 element. (I2ea1c, b/479721696)
  • Zaktualizuj dokumentację KDocs dla TimePickerDialog.kt. (Ia5fb8)

Wersja 1.5.0-alpha24

15 lipca 2026 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha24 Wersja 1.5.0-alpha24 zawiera te zmiany.

Funkcje

  • Dodano nowy wariant przewijania dla ekspresywnego TimePicker (I46f6b)
  • Dodano nową bibliotekę material3-ripple (I1b3a3), która obsługuje rysowanie efektów falowania wizualnie wskazujących fokus za pomocą pierścieni fokusu zamiast warstwy krycia. Ta nowa biblioteka zastępuje material-ripple, a jej użycie jest podobne:
    • Jeśli używasz samego material3, skorzystaj z wbudowanej konfiguracji efektu material3, która jest zintegrowana z motywem i wewnętrznie używa material3-ripple jako szczegółu implementacji.
    • Jeśli używasz material-ripple bezpośrednio lub chcesz obsługiwać pierścienie ostrości bez zależności od material3, użyj bezpośrednio nowej biblioteki material3-ripple.

Zmiany w interfejsie API

  • Zmiana parametru ScrollIndicatorState paska przewijania na wartość niepustą. (Iab7c7, b/529445739)
  • Ponownie dodaj adnotację @ExperimentalMaterial3Api do interfejsów API AppBarWithSearch. (I0b61a)
  • Promowane interfejsy API SearchBarState i interfejsy API oparte na slotach SearchBar zostały przeniesione do wersji stabilnej. Wycofane starsze interfejsy API SearchBar korzystające z rozszerzonego/onExpandedChange. (Ia3793)

Poprawki błędów

  • Rozwiązaliśmy problem z opóźnieniem renderowania, który powodował, że znaki wstawiania RichTooltip i PlainTooltip pojawiały się z opóźnieniem podczas animacji wejścia. (I874b6, b/395753083)
  • Zaktualizuj wartości marginesów w przypadku wariantu TimePicker Input/Scroll. (I83f00)
  • SplitButton najpierw zmierz przycisk końcowy, aby zagwarantować miejsce; (Id3a1e)
  • Rozwiązaliśmy problem z ułatwieniami dostępu, który uniemożliwiał użytkownikom korzystającym z funkcji Switch Access aktywowanie edytowalnych pól tekstowych wewnątrz elementu ExposedDropdownMenuBox. (I0ea17)
  • Poprawiono kolejność odczytywania przez funkcję TalkBack w przypadku symboli TextField i OutlinedTextField, gdy występuje przedrostek lub przyrostek. (Ie79e7)
  • Aktualizacja marginesów TimePicker i umiejscowienia dwukropka (I6bfeb)
  • Popraw kolejność zaznaczania w TalkBacku w przypadku elementu ScrollField. (I4ca9f, b/526870141)
  • Zaktualizowano zależności Compose w Material 3 do wersji 1.12.0-beta01. (Ie9417)
  • Etykietki są teraz przycinane do granic okna, aby nie były ucinane na małych ekranach lub przy dużych konfiguracjach czcionek. (I421ff)
  • Zaktualizowano ScrollField, aby zawierał bardziej wyraziste przejścia między liczbami, oraz dostosowano rozmiar i typografię (Ic1614).

Wersja 1.5.0-alpha23

1 lipca 2026 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha23 Wersja 1.5.0-alpha23 zawiera te zmiany.

Funkcje - komponent ekspresywnego selektora czasu (Iaa45f) - Dodano nowe nieinteraktywne warianty standardowej pozycji na liście i pozycji na liście z segmentami, które są zgodne ze specyfikacjami Material Expressive. Wersja nieekspresywna została wycofana. (Ide4de, b/491994186)

Zmiana zachowania - Rozwiązaliśmy problem polegający na tym, że minimalna wysokość elementów listy rozszerzonej nie zmieniała się w zależności od liczby wierszy treści. Aby ułatwić migrację, wprowadziliśmy flagę funkcji isExpressiveListItemHeightBasedOnTextLinesFixEnabled. (Ibbb91, b/484693233)

Zmiany w interfejsie API

  • Interfejsy API elementów listy z bogatymi funkcjami nie są już eksperymentalne. (I2836a)
  • Usuwanie interfejsów API ComponentOverride (I820c4)
  • Usuń nieużywany parametr przesunięcia z funkcji DropdownMenuPopup. Dodano domyślne właściwości menu do domyślnych ustawień menu. Zmieniono nazwę etykiety grup z MenuDefaults.Label na MenuDefaults.DropdownMenuGroupLabel. Dodano disabledContainerColor do MenuDefaults.selectableItemColors i MenuDefaults.selectableItemVibrantColors. Dodano parametr Modifier do funkcji kompozycyjnych w MenuDefaults, które zwracają układ. (I3d2b1)
  • Dodano publiczny getter flingAnimationSpec do TopAppBarDefaults, aby udostępnić domyślną specyfikację animacji szybkiego przesunięcia. (Ic1daa)
  • Wersje TopAppBar, MediumFlexibleTopAppBar,LargeTopAppBar,LargeFlexibleTopAppBar,TwoRowsTopAppBar,FlexibleBottomAppBar,FlexibleContentPadding,FlexibleBottomAppBarHeight,FlexibleHorizontalArrangement,FlexibleFixedHorizontalArrangement nie są eksperymentalne. Te interfejsy API i zmienne nie wymagają już zgody użytkownika na @ExperimentalMaterial3ExpressiveApi. (Ia4af6)
  • Przekształć eksperymenty ExpandedDockedSearchBarWithGap i ExpandedFullScreenContainedSearchBar w kampanie nieeksperymentalne (Ie152d)

Poprawki błędów

  • Czyszczenie informacji o interfejsie API (Ia8066)
  • Popraw kolejność nawigacji za pomocą klawiatury w Scaffold. (I77194, b/462577176)
  • Usuń wymaganie dotyczące compileSdk 37 (If78b4)
  • Dodano obsługę ułatwień dostępu w komponencie ScrollField. W szczególności ScrollField obsługuje teraz możliwość zaznaczania i animuje kliknięcie zaznaczonego elementu z komunikatami o zaznaczeniu/odznaczeniu w Talkbacku. (I7bdb7)
  • Rozwiązanie problemu polegającego na tym, że w przypadku, gdy treść struktury pakietu nawigacyjnego ma ustawione dopełnienie IME, występuje dodatkowe dopełnienie u dołu. (I86d9d, b/389467593)

Wersja 1.5.0-alpha22

17 czerwca 2026 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha22 Wersja 1.5.0-alpha22 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodano publiczny getter snapAnimationSpec do TopAppBarDefaults, aby udostępnić domyślną specyfikację animacji przyciągania. (Ic7b37, b/519193808)
  • Dodanie kształtów do wewnętrznych i prywatnych metod interfejsu TimePicker.kt API (I9d09e, b/441573791)
  • Obsługa kształtów w AnimatedPane (Ie7c60, b/470517507)
  • Poprawienie kontrastu przycisków przełączania AM/PM w selektorze czasu (Ifc0b7, b/339079853)
  • Przeniesienie interfejsów API Expressive FloatingToolbar do wersji nieeksperymentalnej. (I5a4d8, b/497887216)
  • Usuń wycofane pole transformOriginState z konta DropdownMenuPopupPositionProvider. (I0d5b0, b/505481611)
  • Zaktualizowano funkcje pinnedScrollBehavior i enterAlwaysScrollBehavior, aby akceptowały parametr ScrollableState, który automatycznie obsługuje przypadki brzegowe, takie jak odwrócone układy i wstępnie przewinięte treści. Starsze przeciążenia zostały wycofane. Przenieś użycia funkcji isScrollingContentAtStart do nowych przeciążeń z parametrem scrollableState. Promowanie TopAppBarScrollBehavior i powiązanych interfejsów API do wersji stabilnej. (Ib83cf, b/519193808)
  • Zaktualizowano funkcje pinnedScrollBehavior i enterAlwaysScrollBehavior, aby akceptowały parametr ScrollableState, który automatycznie obsługuje przypadki brzegowe, takie jak odwrócone układy i wstępnie przewinięte treści. Promowanie TopAppBarScrollBehavior i powiązanych interfejsów API do wersji stabilnej. (Ieda4b, b/405129274)
  • Zaktualizuj DropdownMenuPositionProvider, aby usunąć MutableState z transformOrigin. Zwiń MenuAnchorPosition z zamkniętego interfejsu do jednej klasy. Wprowadza MenuAnchorPositionScope, który zawiera informacje, których można użyć do utworzenia niestandardowych kandydatów na osiach X i Y. (I21f2b, b/505481611)
  • Promowanie interfejsów API ButtonGroup do wersji stabilnej. Usunięcie wycofanych eksperymentalnych interfejsów API wprowadzonych w wersji 1.5.0-alpha. (Idaf96, b/497876828)

Poprawki błędów

  • Naprawiliśmy błąd, który powodował, że animacja kompresji ButtonGroup nie obsługiwała prawidłowo asymetrycznych odstępów przycisków ani kierunków układu od prawej do lewej i mogła powodować awarię IllegalArgumentException przy określonych gęstościach wyświetlania. (I35074, b/516743181)
  • Poprawiono mechanizm obsługi błędów w trybie wpisywania tekstu w selektorze czasu (If4541, b/405054265)

Wersja 1.5.0-alpha21

3 czerwca 2026 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha21 Wersja 1.5.0-alpha21 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodawanie kształtów do interfejsu komponentu wyboru czasu (I57f28, b/441573791)
  • Dodano compressionLimit do animateWidth, które określa dopełnienie kompresowanego elementu, co wskazuje maksymalną kompresję, jaką można zastosować w przypadku tego elementu. Wycofanie interfejsu API animateWidth bez tego parametru compressionLimit. (I4a725, b/418822334, b/403281052)
  • BottomSheet i ModalBottomSheet PartiallyExpanded nie są już usuwane automatycznie na podstawie warunków układu. Użytkownicy mogą teraz wyraźnie kontrolować ten element za pomocą rememberBottomSheetState. Starsze działanie tych komponentów można włączyć, wyłączając flagę funkcji isBottomSheetPartiallyExpandedDeterministicEnabled lub korzystając z wycofanych funkcji rememberModalBottomSheetState i rememberStandardBottomSheetState. Flaga funkcji isAnchoredDraggableComponentsAnchorRecoveryEnabled została usunięta. (Ia4167, b/478210200, b/512076811)
  • Ponowne wprowadzenie eksperymentalnego tagu dla PullToRefreshDefaults.loadingIndicatorColor i PullToRefreshDefaults.loadingIndicatorContainerColor (Ib9d15, b/513225663)
  • Zaktualizowano parametry SelectableChipColors, aby były publiczne (I559e0, b/512576750)
  • Dodaj parametr horizontalArrangement do MenuItems (Ie8088, b/497891817)
  • Ponownie oznacz funkcję contentPaddingFor przycisku jako eksperymentalną. (I07d3e, b/500355872)
  • Wprowadziliśmy roundedShape i tonalColors() w TextFieldDefaults i OutlinedTextFieldDefaults, które są konfiguracjami wizualnymi stylu ekspresyjnego. (Id9185, b/448728288)
  • Wycofaliśmy typ TextFieldLabelPosition.Attached i wprowadziliśmy podtypy Inside i Cutout, które umożliwiają większe dostosowanie, np. umieszczenie OutlinedTextField z etykietą wewnętrzną. Zostały też wycofaneOutlinedTextFieldDefaults.contentPadding(), a wprowadzonoOutlinedTextFieldDefaults.contentPaddingWithLabel() i OutlinedTextFieldDefaults.contentPaddingWithoutLabel(), aby obsługiwać obie pozycje etykiet. (I40f62, b/448728288)

Poprawki błędów

  • Rozwiązaliśmy problem z ułatwieniami dostępu w TimePicker, który powodował utratę zaznaczenia klawiatury podczas przełączania z godzin na minuty na tarczy. Ulepszone ułatwienia dostępu w zakresie zaznaczenia klawiatury. (I7dd81, b/498361169)

Wkład zewnętrzny

  • Ulepszona fizyka gestu zamykania arkusza u dołu, która zapewnia płynniejsze działanie. (I21df5)

Wersja 1.5.0-alpha20

19 maja 2026 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha20 Wersja 1.5.0-alpha20 zawiera te zmiany.

Zmiany w interfejsie API

  • Usunięto funkcję shouldUsePrecisionPointerComponentSizing (I882c3, b/498698039)
  • Rozwiązaliśmy problem, który powodował, że po odwróceniu etykietki z powodu krawędzi ekranu kursor etykietki pojawiał się po niewłaściwej stronie. (Idc314, b/479224210)
  • Wprowadziliśmy rememberBottomSheetState jako ujednolicony interfejs API stanu BottomSheet. Wycofano interfejsy API rememberModalBottomSheetState i rememberStandardBottomSheetState na rzecz nowego ujednoliconego interfejsu API. (I2724e, b/500005697)
  • Usunięto wycofane eksperymentalne interfejsy API WideNavigationRail (Iaadd6, b/497891040)
  • Przenieś interfejsy API SplitButton do wersji nieeksperymentalnej. (I4d395, b/497876691)
  • Wycofaj interfejsy API DropdownMenuItem z zaznaczonymi i wybranymi parametrami, które mają supportingText jako końcową lambdę. Przeniesiono parametr supportingText, aby znajdował się bezpośrednio po parametrze trailingIcon. (Icaf79, b/503047115)

Poprawki błędów

  • Zaktualizuj moduł obsługi przewidywanego przejścia wstecz w panelu nawigacji, aby umożliwić powrót podczas otwierania panelu, a nie tylko po jego pełnym otwarciu (I714ae, b/418556231)

Wersja 1.5.0-alpha19

6 maja 2026 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha19 Wersja 1.5.0-alpha19 zawiera te zmiany.

Nowe funkcje

  • Typografia obsługuje teraz domyślną rodzinę czcionek, która zostanie scalona z podanymi stylami tekstu, jeśli nie mają one jawnie ustawionej rodziny czcionek. (I2e305, b/500356360)

Zmiany w interfejsie API

  • Usuwa supportingText jako końcową funkcję lambda dla DropdownMenuItem. Zamiast tego przenieś go bezpośrednio po znaku trailingIcon. (I5694b, b/503047115)
  • Promuj ToggleButtons do wersji stabilnej. (I8a771, b/497876827)
  • Promuj interfejsy API menu z rozbudowanymi funkcjami. Usuń DropdownMenuItem, ponieważ jest to wycofany eksperymentalny interfejs API, który był częścią wersji 1.5.0-alpha. (I1d556, b/497885285)
  • Przeniesienie interfejsów API FAB i FAB Menu z fazy eksperymentalnej do fazy ekspresywnej (Ie509c, b/497892373)
  • Promowanie interfejsów API przycisków ekspresyjnych. Usunięto wycofany eksperymentalny interfejs API SmallButtonContentPadding, który został wprowadzony w wersji 1.5.0-alpha. (Iee31e, b/497873833)
  • Przywrócenie eksperymentalnego stanu interfejsów API zamówień na platformie (I01492, b/489424245)
  • Dodaj kolejne przeciążenie konstruktora Typografia (I8b3b3, b/500356360)
  • Przywróć promocje MaterialShapes i LoadingIndicator do wersji stabilnej. (I30e69, b/497876695, b/497877850)

Poprawki błędów

  • Naprawienie błędu w implementacji suwaka, który powodował, że do ścieżki i suwaka stosowano dopełnienie z wewnętrznych pierścieni zaznaczenia, gdy komponent nie był zaznaczony. (I16315, b/506158497)
  • Rozwiązaliśmy problem w ModalBottomSheet, który powodował, że imePadding było stosowane bezwarunkowo, co uniemożliwiało kontrolowanie działania edytora IME za pomocą contentWindowInsets. (Ied801, b/289824811)
  • [FAB] Naprawiono błąd powodujący awarię w Modifier.animateFloatingActionButton, który był spowodowany zaokrąglaniem wartości int i float gęstości (I2d25f, b/489769219)
  • Naprawiono problem z zablokowaniem fokusu w selektorze zakresu dat. Naciśnięcie klawisza Tab powoduje przeniesienie zaznaczenia do dat i z dat, a klawisze strzałek umożliwiają przechodzenie między datami. (I7f3ea, b/498332749)
  • Przywrócenie zmian w przypadku średnich i dużych przycisków w trybie precyzyjnego wskaźnika oraz domyślnego rozmiaru ikony okna w tym trybie (I58d8c, b/496938250, b/500356640)
  • Rozwiązaliśmy problem z blokowaniem zaznaczenia klawiatury w selektorze daty, który nie jest oknem. Naprawiono też kolejność zaznaczania przycisków odrzucania i potwierdzania, która nie była zgodna z ich kolejnością wizualną. (Ibbe2e, b/500454457)

Wersja 1.5.0-alpha18

22 kwietnia 2026 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha18 Wersja 1.5.0-alpha18 zawiera te zmiany.

Nowe funkcje

  • Dodaj przeciążenia FilterChip, ElevatedFilterChip i InputChip z przekształcaniem kształtu. Dodaj nowe domyślne kształty, odstępy i kolory dla tych przeciążeń. (I84717, b/442678355)
  • Dodaje obsługę pierścienia ostrości wstawki za pomocą interfejsu API, który można włączyć, korzystając z nowego lokalnego komponentu LocalRippleThemeConfiguration. (I0551a, b/282184440).

Zmiany w interfejsie API

  • Zmieniono nazwę rememberWithGapSearchBarState na rememberSearchBarWithGapState. (I5f54b, b/498697243)
  • Interfejsy API RippleThemeConfiguration i LocalRippleThemeConfiguration zostały przeniesione do wersji stabilnej. Dodaliśmy możliwość konfigurowania efektów falowania, które będą rysowane z wyglądem pierścienia ostrości z wcięciem zamiast wskaźnika ostrości opartego na kryciu. Interfejsy API korzystające z interfejsów API konfiguracji efektu falowania materiału zostały wycofane. (Ide5d0, b/485893129)
  • Promowanie interfejsów API WavyProgressIndicator (Id72a3, b/497877853)
  • Promuj materialExpressTheme, expressiveLightColorScheme (I40eab, b/497876844)
  • Funkcja BottomSheet została przeniesiona do BottomSheet.kt (If7e33, b/500091309)
  • Dodaj adnotację Material3ExpressiveApi, która nie wymaga OptIn. (Ib9f2e, b/499994043)
  • Dodaje DropdownMenuPopupPositionProviders do DropdownMenuPopup, dzięki czemu deweloperzy mogą teraz konfigurować położenie menu względem elementu zakotwiczonego. Umożliwia to obsługę podmenu w menu. Możesz teraz tworzyć kaskadowe podmenu za pomocą nowych pozycji względnych względem elementu zakotwiczonego. Przekaż te nowe opcje pozycjonowania do rememberDropdownMenuPopupPositionProvider, aby skonfigurować menu. Pełną implementację znajdziesz w przykładzie menu katalogu. (Ic1ace, b/476161294)

Poprawki błędów

  • Aktualizacja komponentów material3 w celu obsługi wskazań pierścienia ostrości w przypadku wstawki (I88006, b/498610244, b/467984300, b/498281359)
  • Rozwiązaliśmy problem w przykładach TimePicker, w których przenosił się fokus TalkBack, co umożliwiało wprowadzanie nieprawidłowych wartości czasu (I51690, b/498364606).

Wersja 1.5.0-alpha17

8 kwietnia 2026 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha17 Wersja 1.5.0-alpha17 zawiera te zmiany.

Zmiany w interfejsie API

  • Przeniesiono promowaną funkcję TopAppBarScrollBehavior i powiązane z nią metody do wersji stabilnej. Te interfejsy API nie wymagają już @ExperimentalMaterial3Api zgody. (Ieb2d1, b/496918628)

Wersja 1.5.0-alpha16

25 marca 2026 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha16 Wersja 1.5.0-alpha16 zawiera te zmiany.

Nowe funkcje

  • Promowanie konstruktorów Typography i atrybutów. Dodano konstruktora Typography, który akceptuje domyślny atrybut FontFamily, który ma być stosowany do wszystkich elementów TextStyles w skali. (I3f6f1, b/236358112)
  • Promowanie eksperymentalnych interfejsów API suwaków do wersji stabilnej. (I5efb3, b/304811984)

Zmiany w interfejsie API

  • Wprowadzono flagę funkcji isAnchoredDraggableComponentsAnchorRecoveryEnabled dla komponentów, które można przeciągać i w przypadku których występują niejednoznaczne błędy docelowe. Komponenty obejmują ModalBottomSheet, BottomSheetScaffold, SwipeToDismissBox i WideNavigationRail (I5b0e5, b/487941042, b/478210200, b/477038695)
  • Dodano DropdownMenuItemTrailingLabel domyślną funkcję i zoptymalizowane pod kątem wskaźnika wypełnienia interfejsu w przypadku menu segmentowych (I28977, b/485937388).
  • Dodaliśmy do okien dialogowych dopełnienie, gdy wartość ComposeMaterial3Flags.isPrecisionPointerComponentSizingEnabled jest prawdziwa, oraz dodaliśmy AlertDialogDefaults.IconSize dla ikony. (Ib9652, b/485932651)
  • Zoptymalizowano wewnętrzne obliczenia minimalnego rozmiaru w przypadku BasicTextField. W razie potrzeby możesz je wyłączyć w sekcji ComposeFoundationFlags#isBasicTextFieldMinSizeOptimizationEnabled. (I70ade)
  • Zaktualizowano kolejność parametrów w SearchBarDefaults.InputField, aby zachować zgodność z kodem źródłowym. (I20e3b, b/486964336)
  • Usunięto wycofane interfejsy API FilterChip i AssistChip, które mają parametr horizontalSpacing (Iec623, b/483762893)
  • Parametr isAtTop w usługach TopAppBarDefaults.pinnedScrollBehavior i TopAppBarDefaults.enterAlwaysScrollBehavior został zmieniony na isAtStart (If7323, b/405129274).

Poprawki błędów

  • Komponenty BottomSheet uwzględniają teraz wartość MaterialTheme.motionScheme podczas zagnieżdżonego przewijania i gestów przeciągania. (I5fe22, b/452071842, b/384959324)
  • Naprawiono problem z dopełnieniem ikony i etykiety, które było stosowane, gdy element zawierał ikonę selectedLeadingIcon, która nie była obecnie wyświetlana (Iba820).

Wersja 1.5.0-alpha15

25 lutego 2026 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha15 Wersja 1.5.0-alpha15 zawiera te zmiany.

Nowe funkcje

Zmiany w interfejsie API

  • MaterialTheme zostało przekształcone tak, aby używać pojedynczego elementu CompositionLocal do danych motywu. Lokalizacje kompozycji są teraz dostępne w MaterialTheme.LocalMaterialTheme.current lub currentValueOf(MaterialTheme.LocalMaterialTheme) w CompositionLocalAccessorScope (Idee2e, b/483676974).
  • Zaktualizuj domyślny odstęp od treści w przypadku przycisku z tekstem ekspresyjnym, aby był zgodny ze specyfikacją. Usunięto też wycofanie funkcji TextButtonContentPadding i TextButtonWithIconContentPadding. (I67283)
  • Wprowadzenie parametru wyłączającego obsługę przycisku „Wstecz” z BottomSheet (Iff81e, b/483763626)
  • Wycofanie schematu ruchu z wersji eksperymentalnej (If822f, b/484003769)
  • Dodaliśmy parametry „enabled” i „threshold” do elementu PullToRefreshBox w Material3. (I5610b, b/369044003)
  • Zastąp horizontalSpacing tekstem horizontalArrangement w polach FilterChip i ElevatedFilterChip. Dodano domyślne ustawienia horizontalArrangement do FilterChipDefaults. (If3d6a, b/304853782)
  • Ulepszono dokumentację KDoc dla TopAppBarDefaults zachowań przewijania, aby lepiej wyjaśnić użycie w przypadku odwróconych i wstępnie przewiniętych treści. (I247dd, b/405129274)
  • Zastąp parametr horizontalSpacing parametrem horizontalArrangmenet. Dodano domyślne ustawienia horizontalArrangement do AssistChipDefaults. (I15cec, b/304853782)
  • Dodaj funkcję pobierającą wartość dla shouldUsePrecisionPointerComponentSizing (I234ce)
  • Dodaliśmy przeciążenia do funkcji TopAppBarDefaults.enterAlwaysScrollBehavior i TopAppBarDefaults.pinnedScrollBehavior, które akceptują parametr isAtTopState. Umożliwia to niestandardowe wykrywanie at top state podczas korzystania z zachowań związanych z przewijaniem. (I785b9, b/405129274)
  • Dodaj parametry contentPadding i horizontalArrangement do parametrów InputChip i ElevatedInputChip. Dodaj domyślne wartości horizontalArrangement i contentPadding do InputChipDefaults. (Iae39c, b/304853782)
  • Dodano precyzyjne określanie rozmiaru wskaźnika i wypełnienia w przypadku przycisków oraz wycofano przestarzałą wartość TextButtonContentPadding. (I6d7b6, b/479879803)
  • Dodano rememberWithGapSearchBarState do użycia z ExpandedDockedSearchBarWithGap. (Ia3361)

Poprawki błędów

  • Rozwiązuje problem z niewyświetlaniem cieni w przypadku paneli lewitujących (Ie6108, b/470517507).
  • Zaktualizuj TextButtons, aby zawierał prawidłowe specyfikacje dopełnienia Material 3. Aby zrezygnować i przywrócić stare działanie, ustaw w aplikacji wartość isTextButtonContentPaddingFixEnabled na false. (I66c8e)

Wersja 1.5.0-alpha14

11 lutego 2026 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha14 Wersja 1.5.0-alpha14 zawiera te zmiany.

Obejście

  • Dodano: isAnchoredDraggableComponentsStrictOffsetCheckEnabled. Ta flaga określa, czy ścieżki BottomSheetScaffold, ModalBottomSheet, SwipeToDismissBox i WideNavigation wymagają ścisłego inicjowania wewnętrznych przesunięć. Gdy ta opcja jest wyłączona, komponenty nie umieszczają treści, dopóki nie zostanie zainicjowane przesunięcie. Ta flaga może pomóc w tymczasowym obejściu błędu, w którym te komponenty zgłaszają wyjątek z powodu niezainicjowanego przesunięcia. (I36870, b/477038695, b/478210200, b/471818801, b/475249572, b/475598146)

Zmiany w interfejsie API

  • Dodaj isTextButtonContentPaddingFixEnabled, które po spełnieniu warunku TextButton zapewni prawidłowe specyfikacje dopełnienia. (Ib986e)
  • Dodano parametr indicatorPadding dla WideNavigationRailItem. (I3d5dc)
  • Dodaj parametry contentPadding i horizontalArrangement do SuggestionChip i ElevatedSuggestionChip. Dodaj domyślne wartości horizontalArrangement i ContentPadding do SuggestionChipDefaults. Utwórz zajęcia ChipArrangement. (Ida874, b/304853782)
  • Zaktualizuj pozycje menu, które można wybrać, aby zawierały parametr tekstu pomocniczego. Wycofanie poprzednich interfejsów API, które nie zawierały parametru tekstu pomocniczego. Dodaj też zalecane domyślne rozmiary ikon początkowej i końcowej. (I89e4b, b/417731599)
  • Zaktualizowano układ paska powiadomień, aby poprawić wyrównanie tekstu wielowierszowego. Aby zminimalizować zakłócenia w interfejsie, wprowadziliśmy flagę isSnackbarStylingFixEnabled, która ułatwia migrację. Włącz tę flagę ręcznie w aplikacji. Zostanie ona usunięta w kolejnej wersji. (I37d63, b/322866101)
  • Naprawiliśmy błąd w BottomSheetScaffold, ModalBottomSheet, SwipeToDismissBox i WideNavigationRail, który powodował, że w niektórych przypadkach nie były ponownie obliczane punkty zakotwiczenia. Ta poprawka jest ukryta za flagą funkcji ComposeMaterial3Flags#isAnchoredDraggableComponentsInvalidationFixEnabled. (I9acb1, b/478210200)
  • Dodaj parametr dopełnienia treści do tagów WideNavigationRail i ModalWideNavigationRail, aby można było dostosowywać domyślne dopełnienia. (I49106)

Poprawki błędów

  • Ustawienie wartości 0 w przypadku parametru BottomSheetScaffold sheetPeekHeight wyłącza kotwicę partiallyExpanded. PartiallyExpanded jest zachowywany w pierwszym przebiegu układu, aby umożliwić obliczenie układu. (Ia33a4, b/465158677)
  • SheetState#targetValue woli bieżący punkt zakotwiczenia, jeśli bieżące przesunięcie jest prawidłowe. Zapobiega to natychmiastowej aktualizacji wartości initialValue. (Ied2c4, b/477279704)
  • Naprawiono problem z brakiem pionowego wyśrodkowania ikony elementu WideNavigationRailItem, jeśli zmieni się wysokość elementu. (Ib8c83)

Wersja 1.5.0-alpha13

28 stycznia 2026 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha13 Wersja 1.5.0-alpha13 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodaliśmy obsługę pasków wyszukiwania animationSpecForContentExpand i animationSpecForContentCollapse. (I033a5)

Poprawki błędów

  • Rozwiązaliśmy problem polegający na tym, że treść rozwiniętego elementu SearchBar nie używała koloru dostosowanego do motywu (I878e0, b/379441904).
  • Usunęliśmy błąd, który powodował, że BottomSheetScaffold wywoływał wywołanie zwrotne confirmValueChange w SheetState z nieprawidłowymi wartościami podczas przekazywania do BottomSheetScaffold uchwytu przeciągania. Pamiętaj, że confirmValueChange należy używać tylko do odrzucania zmian stanu. Użyj snapshotFlow, aby obserwować zmiany stanu. (Ice9ee, b/465824174, b/477031833)

Wersja 1.5.0-alpha12

14 stycznia 2026 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha12 Wersja 1.5.0-alpha12 zawiera te zmiany.

Zmiany w interfejsie API

  • Aktualizacje TopAppBarDefaults (enterAlways i przypięte zachowania) w celu obsługi lazyListState, scrollState i reverseScrolling. Rozwiązuje to problemy z kierunkiem układu i prawidłowo obsługuje początkowo przewinięte treści. (I9d5c2, b/262234750)
  • Dodaj parametry contentPadding i horizontalSpacing do parametrów AssistChip i ElevatedAssistChip. Dodaj domyślne wartości HorizontalSpacing i ContentPadding do AssistChipDefaults. (I2ac90, b/304853782)
  • Interfejsy DatePicker API korzystające z klas Java Time nie są już oznaczane jako eksperymentalne. (I5039c, b/457537971)

Poprawki błędów

  • Naprawiono błąd formatowania daty DatePicker w interfejsie API 23 (I67a94, b/452713222).
  • Rozwiązaliśmy problem z wyrównaniem wizualnym w przykładzie animowanego wskaźnika, gdy jest on używany z wierszami kart, które można przewijać. (Iae0f3, b/466790304)
  • Rozwiązaliśmy problem polegający na tym, że selektor AM/PM w TimePicker nie używał stylu tekstu zdefiniowanego w specyfikacji Material Design. (Ie908a, b/469788786)
  • Naprawiono błąd w HorizontalFloatingToolbar, który mógł występować w trybie poziomym, gdy była wyświetlana klawiatura ekranowa. (Ia13c1, b/466692323)
  • Rozwiązaliśmy problem polegający na tym, że TopAppBar mógł się nakładać na actions, gdy nie podano navigationIcon. Tytuł jest teraz prawidłowo ograniczony do dostępnego miejsca. (I2ba97, b/428697836)
  • Obsługa języków pisanych od prawej do lewej za pomocą kotwic rozwijających panel (I0770b, b/467775639)

Wersja 1.5.0-alpha11

17 grudnia 2025 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha11 Wersja 1.5.0-alpha11 zawiera te zmiany.

Nowe funkcje

  • Dodano: ExpandedFullScreenContainedSearchBar. (Ie472d,b/454658635)
  • Dodaliśmy obsługę tworzenia karuzel w różnych formatach za pomocą leniwych siatek. (I2b109, b/462137656)
  • Dostępne są teraz elementy listy Material Expressive, które obsługują interakcje i stylizację segmentową. Do elementu ListItemColors dodano dodatkowe pola koloru. (I54057, b/441569230)
  • Interfejsy API karuzeli z wieloma przeglądarkami i bez kontenera są już stabilne. (I7a558, b/401537465)
  • Dodaj parametry contentPadding i horizontalSpacing do parametrów FilterChip i ElevatedFilterChip. Dodaj domyślne wartości HorizontalSpacing i ContentPadding do FilterChipDefaults. (Iec6e3, b/455596578)

Poprawki błędów

  • Ustawienie wartości 0 w przypadku parametru BottomSheetScaffold sheetPeekHeight wyłącza kotwicę partiallyExpanded. (I52dc9, b/465158677)

Wersja 1.5.0-alpha10

3 grudnia 2025 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha10 Wersja 1.5.0-alpha10 zawiera te zmiany.

Nowe funkcje

Zmiany w interfejsie API

  • Flaga funkcji isCheckboxStylingFixEnabled jest teraz dostępna w obiekcie ComposeMaterial3Flags. (I97baf, b/457504316)
  • Parametr disabledCheckmarkColor w CheckboxColors został przeniesiony na koniec listy parametrów, aby zapewnić zgodność binarną. (I734d8, b/457504316)

Poprawki błędów

  • Przywrócono działanie wszystkich klawiszy strzałek zmieniających wartości suwaka, aby rozwiązać problem z blokowaniem fokusu na niektórych urządzeniach bez klawisza Tab. (I154dd, b/460912699)

Wersja 1.5.0-alpha09

19 listopada 2025 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha09 Wersja 1.5.0-alpha09 zawiera te zmiany.

Nowe funkcje

  • Dodawanie wyrazistych aktualizacji menu. Obejmuje to nową pozycję menu z możliwością przełączania, pozycję menu z możliwością wyboru, grupy menu i menu wysuwane. Zawiera też nowe domyślne wartości menu ekspresywnego w MenuDefaults. (I5cdd4, b/417731597, b/448646125, b/448646896, b/448646891)
  • Usługa Modifier.minimumInteractiveComponentSize udostępnia teraz 2 nowe publiczne interfejsy API: AlignmentLines: MinimumInteractiveTopAlignmentLine i MinimumInteractiveLeftAlignmentLine. Te linie wyznaczają wizualne krawędzie komponentu przed dodaniem dodatkowego miejsca, aby spełnić minimalne wymagania dotyczące docelowego elementu dotykowego. (I7f485, b/458124197)
  • Dodano: ExpandedDockedSearchBarWithGap. (Idb7f8)

Zmiany w interfejsie API

  • Dodaj weryfikacje, aby umożliwić precyzyjne określanie rozmiaru komponentu wskaźnika. (I8108d)
  • Dodaj Modifier.align do ButtonGroupScope (I03890, b/416590906)
  • Usuń wycofane eksperymentalne interfejsy API ModalBottomSheet, które były dostępne w co najmniej 1 stabilnej wersji. (Ifbe1d, b/449757604)
  • Nowe przeciążenie funkcji ButtonGroup z parametrem verticalAlignment. (I23a37, b/416590906)
  • Usunięto wycofane ukryte eksperymentalne interfejsy API, które były dostępne w co najmniej 1 stabilnej wersji. (I4f68d, b/449754465, b/449749933, b/401311419, b/449749928, b/449756019)

Poprawki błędów

  • Dodaj etykietkę do domyślnego przycisku przepełnienia na pływającym pasku narzędzi. (Ife952, b/422781172)
  • Naprawiono przycinanie wskaźnika WideNavigationRail, gdy jest on ustawiony na większą szerokość za pomocą większego rozmiaru etykiety. (I9d740, b/444728723)
  • Zaktualizuj przyciski końcowe przycisku dzielonego, aby wyśrodkować ikonę optycznie w zależności od danego kształtu, nawet w przypadku języków pisanych od prawej do lewej. (Icab82)

Wersja 1.5.0-alpha08

5 listopada 2025 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha08 Wersja 1.5.0-alpha08 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodano właściwości hourInput i minuteInput do interfejsu TimePickerState. Te właściwości mają zawierać nieprzetworzone, niezweryfikowane dane wejściowe od użytkownika. Istniejące właściwości godziny i minuty pozostają i reprezentują ostatni znany prawidłowy czas. (I09d74, b/394612017)

Poprawki błędów

  • Usunęliśmy błąd, który powodował, że przełącznika nie można było używać z ReusableContent bez animacji. (I61093, b/455909150)

Wersja 1.5.0-alpha07

22 października 2025 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha07 Wersja 1.5.0-alpha07 zawiera te zmiany.

Zmiany w interfejsie API

  • Ulepszone SearchBar.InputField z parametrem keyboardOptions, który umożliwia optymalizację wprowadzania tekstu przez określanie opcji klawiatury, oraz parametrem lineLimits, który umożliwia określanie przewijania zawijania tekstu (Id08a4, b/416991049).

Poprawki błędów

  • Usunęliśmy błąd w suwaku, który powodował, że interakcje naciśnięcia nie były emitowane po dotknięciu. Ta zmiana sprawia, że sygnał PressInteraction.Press jest emitowany natychmiast po kliknięciu awaitFirstDown, co zapewnia natychmiastową informację wizualną. (If9e25, b/308501482)
  • Rozwiązaliśmy problem polegający na tym, że podczas przewijania Tooltip nie zmieniał kierunku. Funkcja TooltipBox teraz wywołuje rekompozycję za każdym razem, gdy wyskakujące okienko z etykietką zmienia stronę, co zapewnia prawidłową aktualizację kierunku kursora. (I5ad1e, b/438875827)

Wersja 1.5.0-alpha06

8 października 2025 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha06 Wersja 1.5.0-alpha06 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodano przewijane kolory dla AppBarWithSearch. Dodatkowo kolor kontenera pola do wprowadzania danych paska wyszukiwania jest teraz domyślnie przezroczysty. Domyślny kolor kontenera paska wyszukiwania pozostaje niezmieniony. (I4fe32)
  • Dodaliśmy domyślny element kompozycyjny wskaźnika przepełnienia do FloatingToolbar. (I6a6f8, b/415833723)
  • Zaktualizuj isExpanded na isShowing w przypadku interfejsów API menu w grupie przycisków. (I86309, b/412419514)
  • Zaktualizowano initialIsExpanded do initialIsShowing i dodano domyślny komponent wskaźnika przepełnienia w ButtonGroupDefaults. (I6e67c, b/412419514)
  • Usunięcie funkcji przeciągania w celu zmiany rozmiaru z publicznego interfejsu API (Ic85ba, b/437953743, b/442636084)

Poprawki błędów

  • Poprawiono kolejność zaznaczania klawiszy podczas nawigacji za pomocą klawiatury, a także w przypadku języków pisanych od prawej do lewej. (Ibba27, b/422220597)
  • Poprawiono nawigację za pomocą klawiatury w siatce wyboru roku w selektorze daty. (I02363, b/422425720, b/446814683)
  • Poprawiona nawigacja za pomocą klawiatury w siatce wyboru daty w selektorach daty. (I594ef, b/422220597, b/422223115)
  • Usunęliśmy błąd polegający na tym, że pasek narzędzi poza ekranem otrzymywał fokus klawiatury. (I01a73, b/422786812)
  • Poprawiono nawigację za pomocą klawiatury w przypadku klawiatury RangeSlider i suwaka. (Ib6bcf, b/424845268, b/422942624)

Wersja 1.5.0-alpha04

10 września 2025 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha04 Wersja 1.5.0-alpha04 zawiera te zmiany.

Nowe funkcje

  • Dodano przeciążenia funkcji Text z możliwością komponowania, które akceptują lambdę ColorProducer umożliwiającą wydajne zmiany kolorów bez wywoływania pełnej rekompozycji. (I9ff25, b/407055128)

Zmiany w interfejsie API

  • Zmień nazwę Scrim() na LevitatedPaneScrim() i ukryj właściwości klas Levitated i Reflowed. (I090e1, b/427953101)
  • Ukrywanie interfejsu API calculatePosture() jako wewnętrznego (Ie7227, b/424442112)
  • Udostępnij PaneScaffoldHorizontalOrder jako zamknięty publiczny interfejs API (Ia4ebe)
  • Oznacz interfejsy API związane z rozmiarem okna i postawą jako eksperymentalne. (I4ee96)

Poprawki błędów

  • Poprawiliśmy kolejność nawigacji za pomocą klawiatury, aby zaznaczenie przechodziło z przycisku FAB do pierwszego elementu u góry. (Icaaa1, b/422762939)
  • Ulepszenie ułatwień dostępu do menu nawigacyjnego za pomocą klawiatury: menu nie jest już dostępne po zamknięciu, można je zamknąć klawiszem Esc, a po otwarciu jego zawartość jest zaznaczana. (Idb995, b/422793544, b/422793651, b/422797424)
  • Tarcza zegara w selektorze czasu reaguje teraz na nawigację i wprowadzanie danych za pomocą klawiatury. (I9d5d9, b/425710631)
  • Używaj nowej kotwicy początkowej, gdy zmieni się lista kotwic rozwijania panelu (I91cd1, b/438829477)

Wersja 1.5.0-alpha03

27 sierpnia 2025 roku

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha03 Wersja 1.5.0-alpha03 zawiera te zmiany.

Zmiana zachowania

  • Rozmiar pola wyboru i kolory wskaźników zostały dostosowane do specyfikacji. Aby zminimalizować zakłócenia w interfejsie, dodaliśmy flagę isCheckboxStylingFixEnabled, która ułatwia migrację. Włącz ją ręcznie w aplikacjach. W przyszłej wersji ten flag zostanie usunięty. (I5bcd3, b/304300693)

Zmiany w interfejsie API

  • Dodano parametr contentPadding dla TopAppBar (Ia5fea)
  • Dodaj zastąpienie komponentu dla szkieletu pakietu nawigacyjnego (I85312)

Poprawki błędów

  • Parametr containerColor w TimePickerDialog jest teraz prawidłowo stosowany, co umożliwia dostosowywanie koloru tła okna. (I47f89, b/403183883)
  • Pasek nawigacyjny w oknie modalnym nie traci już zaznaczenia po zwinięciu i zamyka się po naciśnięciu klawisza ESC. (4255257)
  • Snackbar ma teraz prawidłową kolejność zaznaczania klawiatury w przypadku przycisków działania i zamykania. Przycisk zamykania obsługuje też wyświetlanie etykietki. (11fa13d)

Wersja 1.5.0-alpha02

13 sierpnia 2025 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha02 Wersja 1.5.0-alpha02 zawiera te zmiany.

Zmiany w interfejsie API

  • W PullToRefreshDefaults zmieniliśmy nazwy shape na indicatorShape i containerColor na indicatorContainerColor oraz dodaliśmy indicatorMaxDistance do użycia jako wskaźnik. (Ib6cbe)
  • Usuń tag wycofania z PullToRefreshDefaults.indicatorColor (Iaaee2)
  • Dodano AppBarWithSearch, zastępując TopSearchBar i obsługując ikony nawigacji/działań. (I213a5)

Poprawki błędów

  • Naprawiono błąd, który powodował, że naciśnięcie przycisku Wstecz nieprawidłowo aktualizowało przesunięcie szuflady. (I85624, b/427778135)
  • SwipeToDismissBox teraz wraca do ustalonego targetValue, jeśli nie ma innych punktów zakotwiczenia. BottomSheetScaffold teraz wraca do rozwiniętego targetValue, jeśli nie ma innych punktów kotwiczenia. (I73d5e, b/428856426)
  • Poprawiono odstęp przycisku w AlertDialog, gdy jest on ułożony w pionie. (Ia2118)
  • [FAB] Naprawiono błąd, w którym pływający przycisk działania nadal można było kliknąć po jego ukryciu przez Modifier.animateFloatingActionButton (I8ea6c, b/430336834)
  • [Suwak] Naprawiono nawigację za pomocą klawiatury w przypadku suwaka (I3a405)

Wersja 1.5.0-alpha01

30 lipca 2025 r.

Publikacja androidx.compose.material3:material3-*:1.5.0-alpha01 Wersja 1.5.0-alpha01 zawiera te zmiany.

Nowe funkcje

  • Dodaliśmy więcej dostawców pozycji dla etykietek, dzięki czemu deweloperzy mogą teraz określać, czy etykietka ma być umieszczana nad, pod, po lewej czy po prawej stronie elementu zakotwiczonego. Dodaj interfejs API, który przyjmuje kształt karetki, aby można było podać więcej niestandardowych kształtów. (Ie513c)

Zmiany w interfejsie API

  • TextFieldColors metody obliczania kolorów komponentów na podstawie stanu są teraz publiczne. (I03165)
  • Adnotacja zawieszenia została usunięta z wywołania zwrotnego onDismiss. (Ie3166)
  • Funkcje DatePickerState.getDisplayedMonth(): YearMonth? i DateRangePickerState.getDisplayedMonth(): YearMonth? zostały zaktualizowane, aby zwracać wartość inną niż null. (Ice09c, b/427952972)
  • Usuń ModalWideNavigationRailDefaults, przenieś jego zawartość do WideNavigationRailDefaults i zmień nazwy powiązane z jego kształtem. (Ic5e61)
  • WideNavigationRailItem’s colors and copy deprecated functions should be level Hidden. (Id7e82)
  • Zmień poziom wycofanych interfejsów API WideNavigationRail na „Ostrzeżenie” i oznacz je jako eksperymentalne. (I89085)

Poprawki błędów

  • Zapewnia, że DatePicker używa własnego języka do formatowania liczb. Wcześniej, jeśli DatePicker był skonfigurowany dla języka arabskiego, mógł nieprawidłowo renderować cyfry łacińskie, jeśli ustawienia regionalne systemu urządzenia używały innego systemu liczbowego. (Iccf76, b/432616196)
  • Rozwiązaliśmy problem LinearProgressIndicator, który powodował, że wskaźnik zatrzymania nie był prawidłowo renderowany w układach od prawej do lewej. (I0734c)
  • Linie podziału PrimaryScrollableTabRow i SecondaryScrollableTabRow rozciągają się teraz na cały ekran, nawet jeśli zawartość karty nie rozciąga się do końca ekranu. (Ic1e9c, b/261741384)

Compose Material3 w wersji 1.4

Wersja 1.4.0

24 września 2025 r.

Publikacja androidx.compose.material3:material3-*:1.4.0 Wersja 1.4.0 zawiera te zmiany.

Ważne zmiany od wersji 1.3.0:

Ogłoszenia o zmianach w bibliotece

Biblioteka androidx.compose.material.icons nie jest już zalecana do wyświetlania ikon Material w Compose, ponieważ symbole Material to nowa metoda. Przestaliśmy publikować aktualizacje tej biblioteki i została ona usunięta z najnowszej wersji biblioteki Material 3. Jeśli nie możesz jeszcze przeprowadzić migracji, nadal możesz się do niej odwoływać ręcznie.

Zamiast tego zalecamy pobranie pliku XML z grafiką wektorową z karty Android na stronie https://fonts.google.com/icons, aby uzyskać dostęp do najnowszych ikon stylizowanych: symboli Material.

Dlaczego nie polecamy już biblioteki? Biblioteka ikon („Material Icons”) została zastąpiona nowszymi ikonami Material Symbols. Zauważyliśmy, że biblioteka może znacznie wydłużyć czas kompilacji aplikacji, ponieważ zawiera wszystkie różne ikony, które mogą nie być potrzebne.

Więcej informacji znajdziesz na stronie https://developer.android.com/develop/ui/compose/graphics/images/material

Zmiany w zachowaniu

  • Ta biblioteka nie dodaje już zależności do material-icons-core, więc jeśli Twój projekt na niej polegał, musisz jawnie dodać tę zależność w plikach build.gradle[.kts]. (I735ff, b/349894318)

  • NavigationBarItem i NavigationRailItem zmieniają kolor aktywnej etykiety z onSurface na kolor dodatkowy, aby zwiększyć użyteczność i kontrast kolorów oraz poprawić 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 używają teraz nowego parametru MotionScheme do określania ruchu. (Ie0f93)

  • Zmiany ruchu nieokreślonego kołowego wskaźnika postępu (I3c07e)

Nowe komponenty Material Design 3

Ulepszenia istniejących komponentów Material Design 3

  • Tekst obsługuje teraz autoSize
  • Dodano dekoratory Material 3 dla BasicTextField2
  • Dodaliśmy interfejs API TimePickerDialog, którego można używać w przypadku TimePicker, TimeInput lub w wersji z możliwością przełączania.
  • Nowe interfejsy API paska wyszukiwania:
    • Zwinięte paski wyszukiwania i rozwinięte „widoki” wyszukiwania są teraz osobnymi komponentami:
    • SearchBar – pasek wyszukiwania w stanie zwiniętym.
    • ExpandedFullScreenSearchBar i ExpandedDockedSearchBar oznaczają pasek wyszukiwania w stanie rozwiniętym. Otwierają się w nowym oknie.
    • SearchBarState – sterowanie stanem paska wyszukiwania.
  • Przeniesiono eksperymentalne interfejsy API do wersji stabilnej.
  • Poprawa wydajności.

Wersja 1.4.0-rc01

10 września 2025 r.

Publikacja androidx.compose.material3:material3-*:1.4.0-rc01 Wersja 1.4.0-rc01 zawiera te zmiany.

Wersja 1.4.0-beta03

27 sierpnia 2025 roku

Publikacja androidx.compose.material3:material3-*:1.4.0-beta03 Wersja 1.4.0-beta03 zawiera te zmiany.

Wersja 1.4.0-beta02

13 sierpnia 2025 r.

Publikacja androidx.compose.material3:material3-*:1.4.0-beta02 Wersja 1.4.0-beta02 zawiera te zmiany.

Zmiany zależności

Zmiany w interfejsie API

  • W PullToRefreshDefaults zmieniliśmy nazwy shape na indicatorShape i containerColor na indicatorContainerColor oraz dodaliśmy indicatorMaxDistance do użycia jako wskaźnik. (Ib6cbe)
  • Usuń tag wycofania z PullToRefreshDefaults.indicatorColor (Iaaee2)
  • BasicAlertDialogOverrideScope został przypadkowo przeniesiony do wersji stabilnej, a jego eksperymentalna adnotacja została usunięta w aosp/3701846. Oznaczanie go jako wewnętrznego. W wersji 1.5.0-alpha (I9182a) pozostanie w stanie publicznego eksperymentu.

Poprawki błędów

  • Naprawiono błąd, który powodował, że naciśnięcie przycisku Wstecz nieprawidłowo aktualizowało przesunięcie szuflady. (I85624, b/427778135)

Wersja 1.4.0-beta01

30 lipca 2025 r.

Publikacja androidx.compose.material3:material3-*:1.4.0-beta01 Wersja 1.4.0-beta01 zawiera te zmiany.

Zmiany powodujące niezgodność

  • Wszystkie publiczne interfejsy API oznaczone tagiem ExperimentalMaterial3ExpressiveApi lub ExperimentalMaterial3ComponentOverrideApi zostały usunięte. Aby nadal korzystać z tych funkcji, przejdź na 1.5.0-alpha. (Ie4ae0)
  • W najbliższej wersji te interfejsy API pullToRefresh zostaną zmienione. (Ib6cbe)

Nowe funkcje

  • Tooltip obsługuje teraz niestandardowy kształt kursora i niestandardową pozycję kursora (nad, pod, po lewej lub po prawej stronie kotwicy). (Ie513c)

Zmiany w interfejsie API

  • Adnotacja zawieszenia została usunięta z wywołania zwrotnego onDismiss. (Ie3166)
  • Funkcje DatePickerState.getDisplayedMonth(): YearMonth? i DateRangePickerState.getDisplayedMonth(): YearMonth? zostały zaktualizowane, aby zwracać wartość inną niż null. (Ice09c, b/427952972)
  • Usuń ModalWideNavigationRailDefaults, przenieś jego zawartość do WideNavigationRailDefaults i zmień nazwy powiązane z jego kształtem. (Ic5e61)

Poprawki błędów

  • Zapewnia, że DatePicker używa własnego języka do formatowania liczb. Wcześniej, jeśli w przypadku ustawień regionalnych w języku arabskim skonfigurowano DatePicker, mogło to powodować nieprawidłowe renderowanie cyfr łacińskich, jeśli ustawienia regionalne systemu urządzenia używały innego systemu liczbowego. (Iccf76, b/432616196)
  • Rozwiązaliśmy problem LinearProgressIndicator, który powodował, że wskaźnik zatrzymania nie był prawidłowo renderowany w układach od prawej do lewej. (I0734c)
  • Linie podziału PrimaryScrollableTabRow i SecondaryScrollableTabRow rozciągają się teraz na cały ekran, nawet jeśli zawartość karty nie rozciąga się do końca ekranu. (Ic1e9c, b/261741384)

Wersja 1.4.0-alpha18

16 lipca 2025 r.

Publikacja androidx.compose.material3:material3-*:1.4.0-alpha18 Wersja 1.4.0-alpha18 zawiera te zmiany.

Nowe funkcje

  • ModalBottomSheetProperties udostępnia teraz opcję wyłączenia dismissRequest po kliknięciu zasłony. (I8e715)
  • Dodaj obsługę trackCornerSize do ścieżki RangeSlider. (Iec529)

Zmiany w interfejsie API

  • Ustawiliśmy railExpanded jako wymagany parametr w przypadku WideNavigationRailItem, dodaliśmy modalContentColor w przypadku WideNavigationRailColors i przenieśliśmy WideNavigationRailDefaults.modalContainerShape do ModalWideNavigationRailDefaults.containerShape. (Id60c5)
  • Przenieś parametr nowej funkcji kolorów WideNavigationRail na ostatnie miejsce i wycofaj starą funkcję. (Iac7f7)
  • PullToRefresh to teraz stabilny interfejs API (I18537)
  • Aktualizacje interfejsu DatePickers API. Usunęliśmy domyślną datę zakończenia o wartości null dla DateRangePicker i wprowadziliśmy obowiązek jej przekazywania. W dokumentacji API wyjaśniliśmy też, jak w przypadku reprezentacji daty używana jest północ czasu UTC, a najnowsze metody pobierania i ustawiania, które korzystają z interfejsów API java.time, oznaczyliśmy na razie jako eksperymentalne. (I121b3, b/427952972)
  • Przekształć interfejs API parametru ikony tint: ColorProducer w interfejs nieeksperymentalny. (Ia0133)
  • Usunięto eksperymentalne adnotacje z DatePicker, DateRangePicker oraz powiązanych z nimi stanów, klas i typów. (I0e4e0, b/391848485)
  • Zmieniono domyślną wartość parametru focusable na false, aby poprawić dostępność, i dodano parametr hasAction do TooltipBox. (I62998)
  • Wprowadzenie do powszechnego użytku eksperymentalnych interfejsów API WideNavigationRail, ShortNavigationBar i NavigationItem. (I3ca3c)
  • Usunięto adnotacje @ExperimentalMaterial3Api z niektórych funkcji górnego paska aplikacji, klas pomocniczych i obiektów. (I0a9b7)

Wersja 1.4.0-alpha17

2 lipca 2025 r.

Publikacja androidx.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 obliczeń układu, co powodowało ucięcie całego widżetu. (I1c3d7, b/397489534)
  • Naprawiono przeskakiwanie 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 obserwowała stan rozliczenia zamiast bieżącego. Przywraca dotychczasowe działanie, w którym zachowanie elementu kotwiczącego jest wyłączane tylko wtedy, gdy komponent jest w stanie zamkniętym. (3844e07, b/425006844)
  • Menu wyskakujące ExposedDropdownMenu można teraz otwierać za pomocą klawiatury. Poprawiliśmy też dostępność menu za pomocą klawiatury w przypadku odmiany, którą można edytować. (46ead03)

Wersja 1.4.0-alpha16

18 czerwca 2025 r.

Publikacja androidx.compose.material3:material3-*:1.4.0-alpha16 Wersja 1.4.0-alpha16 zawiera te zmiany.

Nowe funkcje

  • Dodano komponent karuzeli hero wyśrodkowanej (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 za ModalWideNavigationRail (I4f440)
  • Dodawanie ComponentOverride do subskrypcji WideNavigationRail (I6354f)
  • Tworzę klucz ComponentOverride dla chmury HorizontalFloatingToolbar (I51116)
  • Tworzę klucz ComponentOverride dla chmury ShortNavigationBar (I30e24)
  • SwipeToDismissBoxState odwołania do confirmValueChange zostały oznaczone jako wycofane. Użytkownicy powinni zamiast tego korzystać z wywołania zwrotnego SwipeToDismissBox interfejsu API onDismissed. (Iee780)
  • Dodaliśmy parametr userScrollEnabled do funkcji kompozycyjnych Carousel. (I1d4d2)
  • Karuzelę currentItem można teraz obserwować z poziomu CarouselState. (Ie87e9)

Poprawki błędów

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

Wersja 1.4.0-alpha15

20 maja 2025 r.

Publikacja androidx.compose.material3:material3-*:1.4.0-alpha15 Wersja 1.4.0-alpha15 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodano MotionTheme.LocalMotionScheme, lokalizację kompozycji. Umożliwia to dostęp do schematu ruchu motywu z 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, który powodował nieprawidłowe położenie znaków Snackbar i FloatingActionButton, gdy włączona była opcja od krawędzi do krawędzi. Komponent Scaffold prawidłowo stosuje teraz do tych komponentów poziome wstawki. (Ib7c30, b/244400727)
  • Popraw BottomSheet z pełnego rozwinięcia do częściowego rozwinięcia. BottomSheet używa teraz efektu szybkiego MotionScheme podczas ukrywania lub zwijania oraz domyślnego efektu przestrzennego podczas rozwijania. (Ifa46f, b/416063171)
  • ColorScheme Konstruktor bez ról kontenera powierzchniowego został oznaczony jako ukryty i nie jest już zalecany do użycia. (Ia7237)
  • Usunęliśmy wymaganie dotyczące 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, który powodował, że funkcja toShape() w RoundedPolygon buforowała ścieżkę i powodowała problem, gdy wykonywano wiele wywołań createOutline z różnymi rozmiarami. (I4026d)

Wersja 1.4.0-alpha14

7 maja 2025 r.

Publikacja androidx.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 niezbędne do prawidłowego wdrożenia specyfikacji materiału dla górnych pasków aplikacji. (I92ce4)
  • Dodaliśmy w TooltipScope metodę uzyskiwania layoutCoordinates kotwicy. Wycofujemy metodę drawCaret, ponieważ deweloperzy mogą używać tej nowej metody do uzyskiwania granic elementu zakotwiczonego layoutCoordinates i tworzenia odpowiedniego kształtu zawierającego karet. (Ia2e12, b/329470609)
  • Dodano java.time obsługę selektorów daty: wprowadzono przeciążenia rememberDatePickerState/rememberDateRangePickerState, 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 LocalDate i YearMonth. 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

  • Zwiększyliśmy wydajność wskaźników postępu w formie fal: wskaźniki liniowe wczytują się teraz o ok. 8,5% szybciej i mają o ok. 11% mniej alokacji, a wskaźniki 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.

Publikacja androidx.compose.material3:material3-*:1.4.0-alpha13 Wersja 1.4.0-alpha13 zawiera te zmiany.

Zmiany w interfejsie API

  • isAppearanceLightStatusBars i isAppearanceLightNavigationBars 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 DatePicker i DateRangePicker, 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, które można kliknąć i przełączać. 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 rozwijane. (I7b88b)

Poprawki błędów

  • Arkusz u dołu ekranu wykorzystuje teraz górne wcięcia, gdy jest mniejszy niż bieżące przesunięcie. Umożliwia to użytkownikom podawanie górnych wcięć w przypadku rozwiniętego działania. 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/awatarów na początku i na końcu chipa, gdy są 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ę u dołu ekranu AppBar związaną z przewijaniem przy ukrytym interfejsie systemu. (Ic6140, b/405996228)

Wersja 1.4.0-alpha12

9 kwietnia 2025 r.

Publikacja androidx.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 do przeciągania (I0ed0d)
  • Dodano nowe funkcje NavigationSuiteScaffold i NavigationSuiteScaffoldLayout, które obsługują nowe typy układów, oraz opcjonalną treść działania głównego. (Ib262a, b/353144478)
  • Wycofaj parametr Modifier.weight z parametrem wypełnienia w pliku ButtonGroup. Dodawanie wersji bez wypełnienia. (Id32bb)
  • W przypadku komponentu IconButton domyślnie używane są nazwy xSmall- i xLarge-, a nie extra. (Ib6e0f)
  • Dodanie nowych funkcji NavigationSuite, NavigationSuiteItem i NavigationSuiteColors, które obsługują nowe typy układów. (I203d6)
  • Dodaj nowe funkcje NavigationSuiteTypes i navigationSuiteType, 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 pole do wprowadzania danych nie odzwierciedlało daty ustawionej programowo. (I6c8d1, b/401143451)
  • Poprawiono kolejność skupienia funkcji TalkBack w przypadku kolumny nawigacji i szerokiej kolumny nawigacji (I6cf6f, b/407048224).

Wersja 1.4.0-alpha11

26 marca 2025 r.

Publikacja androidx.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 przycisku i przycisku przełączania. Dodaj metody w ToggleButtonDefaults i ButtonDefaults, aby określić zalecane dopełnienie treści, kształty, rozmiar ikony, odstępy między ikonami i styl tekstu w zależności od wysokości kontenera. (Iea69e)
  • Usunięto z funkcji FloatingToolbar wycofane eksperymentalne funkcje i stałe. (I8f339)
  • Komponenty Elevation mają teraz wspólny interfejs oraz publiczne konstruktory i właściwości. (Ibb172)
  • Dodanie modyfikatora animateWidth w ButtonGroupScope, 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.

Publikacja androidx.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ących małego dopełnienia treści. (I19bfe)
  • Metody TabRow i ScrollableTabRow zostały wycofane na rzecz ich wersji podstawowych i dodatkowych. Wiersze kart 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 tej funkcji 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.

Publikacja androidx.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 lambda expanded i dodaliśmy osobne parametry dla wysokości rozwiniętej i zwiniętej. (Idd677, b/306697446, b/229134133, b/268068946)

Poprawki błędów

  • Dolne paski aplikacji obsługują teraz usługę eksploracji dotykowej (np. TalkBack) i są widoczne, gdy jest ona włączona. (I4b34d)

Wersja 1.4.0-alpha08

12 lutego 2025 r.

Publikacja androidx.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 – pasek wyszukiwania w stanie zwiniętym.
    • ExpandedFullScreenSearchBar i ExpandedDockedSearchBar oznaczają pasek wyszukiwania w stanie rozwiniętym. Otwierają się w nowym oknie.
    • SearchBarState, aby kontrolować stan paska wyszukiwania.
    • TopSearchBar, aby dodać obsługę wcięć i zachowanie przewijania.
    • Nowe przeciążenie funkcji InputField, która 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łączonej wersji ButtonGroup. (I5c8ce)
  • Ustaw parametr state jako ostatni w przypadku NavigationSuiteScaffold i NavigationSuiteScaffoldLayout. (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 – do głównej treści. (I26420)
  • FloatingToolbars będą teraz obserwować usługę eksploracji dotykowej (np. TalkBack) i utrzymywać pasek narzędzi rozwinięty i widoczny, gdy usługa jest włączona. (I02172)
  • Rozwiązaliśmy problem z 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.

Publikacja androidx.compose.material3:material3-*:1.4.0-alpha07 Wersja 1.4.0-alpha07 zawiera te zmiany.

Nowe funkcje

  • Dodano większą elastyczność w dostosowywaniu wyglądu pól wyboru za pomocą nowego interfejsu API. Ten interfejs API udostępnia parametry Stroke, które pozwalają precyzyjniej kontrolować sposób renderowania znacznika wyboru i konturu pola wyboru. (I65a88)
  • Dodano interfejs TwoRowsTopAppBar API, który jest bardziej konfigurowalną alternatywą dla średnich i dużych pasków aplikacji do tworzenia dwuwierszowych pasków aplikacji u góry. 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 nazewnictwo 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 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 publiczna, aby zapewnić użytkownikowi większą kontrolę (I104eb).
  • Wprowadź NavigationSuiteScaffoldState, aby umożliwić animację komponentu nawigacji. Wprowadź też przeciążenia funkcji NavigationSuiteScaffold i NavigationSuiteScaffoldLayout, które mają parametr stanu. (I6a8c9, b/328674235)

Poprawki błędów

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

Wkład zewnętrzny

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

Wersja 1.4.0-alpha06

15 stycznia 2025 r.

Publikacja androidx.compose.material3:material3-*:1.4.0-alpha06 Wersja 1.4.0-alpha06 zawiera te zmiany.

Zmiana zachowania

  • Dodano displayCutout do grupy wcięć, które komponenty Material domyślnie uwzględniają, aby uniknąć nakładania się treści z wycięciem w ekranie. 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 w ekranie. 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 zarówno Material 2, jak 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 napisem na *FlexibleTopAppBar. Ujednoliciliśmy warianty kolorów w jednej funkcji TopAppBarDefault.topAppBarColors() i dodaliśmy parametr koloru subtitle, który będzie stosowany w przypadku podanego komponentu kompozycyjnego z napisami (I41b65).
  • Usunięto interfejs API WideNavigationRailArrangement na rzecz interfejsu 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 pojedynczego koloru kontenera. (I9a054)
  • Dodawanie i używanie nowej eksperymentalnej adnotacji ExperimentalMaterial3ComponentOverrideApi (Ia1eaf)
  • Modifier.indicatorLine ma teraz kształt pola tekstowego, aby obsługiwać przycinanie. (I8c5f3, b/380704151)
  • Zmiana nazw 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 oferuje 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 powiadomień, który powodował, że po zamknięciu paska powiadomień, gdy włączona była funkcja TalkBack, odczytywano komunikat o zamknięciu. (/I9db53)

Wkład zewnętrzny

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

Wersja 1.4.0-alpha05

12 grudnia 2024 r.

Publikacja androidx.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 wyliczeniem, 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 logicznej. (Idfa29, b/356039090)
  • Dodaj NavigationBarItemComponentOverride. (I3a06a)

Poprawki błędów

  • Popraw działanie górnego i dolnego paska aplikacji, aby kolor zmieniał się niezawodnie, gdy zawartość 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 paska nawigacyjnego w przypadku właściwości okien. (Ie674d, b/362539765)
  • Przenieś parametr modyfikatora do katalogu głównego szkieletów zgodnie z dokumentacją. Dzięki temu implementacja jest zgodna z M2. (I0235e, b/372311595)

Wkład zewnętrzny

  • Ujednolicona funkcja DatePickerDialog. (I7dced)

Wersja 1.4.0-alpha04

13 listopada 2024 r.

Publikacja androidx.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, outlinedIconToggleButtonColors i outlinedIconToggleButtonBorder. Przeniesiono 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 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 kolumny bocznej, zezwól na zamykanie ModalWideNavigationRail i usuń DismissibleModalWideNavigationRail. (I88568)
  • Dodaj domyślne rozmiary xSmall, medium, large i xLarge do domyślnych ustawień przycisku przełącznika. (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 ikony filtra został zmieniony z Podstawowy na OnSurfaceContainer zgodnie ze specyfikacją. Wszystkie kolory konturów ikon zostały zmienione z Kontur na Wariant konturu zgodnie ze specyfikacją. (I68bd4)

Wersja 1.4.0-alpha03

30 października 2024 r.

Publikacja androidx.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. Wycofane rememberPlainTooltipPositionProvider i rememberRichTooltipPositionProvider. (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 dodaje parametr requestFocus do parametrów DatePicker i DateRangePicker. 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 dla 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ę elementu TextFieldLabelScope progress na labelMinimizedProgress
  • TextFieldLabelPosition Default zmieniono nazwę na Attached. Elementy interfejsu zostały usunięte. (If75c6)
  • Rozwiązaliśmy problem z DatePicker w trybie wprowadzania, 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.

Publikacja androidx.compose.material3:material3-*:1.4.0-alpha02 Wersja 1.4.0-alpha02 zawiera te zmiany.

Zmiany w interfejsie API

  • Aktualizacje selektorów dat, które zapewniają spójne użycie ustawień regionalnych w przypadku elementów DatePicker i DateRangePicker podczas ustawiania ich bezpośrednio za pomocą elementów DatePickerState lub DateRangePickerState. Pamiętaj, że jeśli ustawisz regiony bezpośrednio w stanie, musisz zadbać o to, aby teksty tytułu i nagłówka były odpowiednio zlokalizowane, ponieważ ich tekst domyślny będzie nadal stosowany zgodnie z domyślnym regionem 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 udostępnianych przez SplitButtonDefaults. (I44c36)
  • ModalBottomSheet ma teraz parametr sheetGestureEnabled (I856cb, b/288211587)
  • Zmieniliśmy nazwy standardMotionScheme i expressiveMotionScheme na standardowe i ekspresywne. Obie funkcje są teraz dostępne w obiekcie towarzyszącym MotionScheme po wywołaniu MotionScheme.standard() i 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 z elementami rozszerzonymi. (I30ce9)

Poprawki błędów

  • Przyciski DatePicker i DateRangePicker prawidłowo aktualizują wyświetlany miesiąc, gdy są ustawione za pomocą stanu displayedMonthMillis. (If9e47, b/333414302)
  • ModalBottomSheet przenosi teraz treści z 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 DatePicker i DateRangePicker, gdy minimalny rok do wyboru jest ustawiony na rok w przyszłości. (I78656, b/319395747)
  • Rozwiązaliśmy problem 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.

Publikacja androidx.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 jawnie dodać tę zależność w plikach build.gradle[.kts]. (I735ff, b/349894318)
  • NavigationBarItem i NavigationRailItem zmienią kolor aktywnej etykiety z onSurface na secondary, aby zwiększyć użyteczność i kontrast kolorów oraz poprawić 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 używają teraz nowego parametru MotionScheme do określania ruchu. (Ie0f93)
  • Zmiany ruchu nieokreślonego kołowego wskaźnika postępu (I3c07e)
  • Zaktualizuj kolory OutlinedIconButtonColors i OutlinedIconToggleButtonColors, aby uzyskać lepszy kontrast. (I2743d)
  • Zaktualizowano kolor kontenera i treści dla FilledIconToggleButtonColors i FilledTonalIconToggleButtonColors. (Ic5d0f)
  • Zaktualizowano kolor obramowania OutlinedButton z outline na outlineVariant. (057f00)

Zmiany w interfejsie API

  • Dodaliśmy opcjonalny parametr reverseLayout do funkcji TopAppBar w enterAlwaysScrollBehavior, aby lepiej obsługiwać treści, które zostały ustawione za pomocą parametru 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 pól dekoracyjnych 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 komponenty Material SecureTextField i OutlinedSecureTextField do pól wpisywania hasła. (I7e22d)
  • Dodano zakres do etykiet pól tekstowych, aby można było sprawdzać postęp animacji. (If5ec8)
  • Dodaje obsługę właściwości MotionEvent.CLASSIFICATION_DEEP_PRESS do etykietek. (I62e6a)
  • isAfternoon w TimePickerState 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)
  • Dodano interfejs API ModalWideNavigationRail i zmieniono 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 amplitude i waveSpeed do nieokreślonych odmian parametrów LinearWavyProgressIndicator i CircularWavyProgressIndicator. (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 stanu po naciśnięciu. Usunięto interfejs API AnimatedTrailingButton, ponieważ interfejs API TrailingButton może oferować te same opcje dostosowywania (I95066).
  • Dodaj modyfikator, aby animować wyświetlanie i ukrywanie FAB, 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ładowym pliku. (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 elementów kompozycyjnych podrzędnych. Kolejność to topBar, bottomBar, fab, content, snackbar. (I5936b)
  • Rozwiązaliśmy problem w przypadku formatów DatePicker i DateRangePicker, który polegał na tym, że w niektórych językach i wzorcach formatu 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 niepełnym znikaniem dolnego paska aplikacji 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.

Publikacja androidx.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.

Publikacja androidx.compose.material3:material3-*:1.3.1 Wersja 1.3.1 zawiera te zmiany.

Poprawki błędów

  • Przyciski DatePicker i DateRangePicker prawidłowo aktualizują wyświetlany miesiąc, gdy są ustawione za pomocą stanu displayedMonthMillis. (If9e47, b/333414302)
  • Naprawiono awarie w DatePicker i DateRangePicker, gdy minimalny rok do wyboru jest ustawiony na rok w przyszłości. (I78656, b/319395747)
  • Rozwiązaliśmy problem 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żywany przez arkusze dolne na PRIORITY_DEFAULT, aby umożliwić najpierw zamknięcie klawiatury IME. (I447fb)

Wersja 1.3.0

4 września 2024 r.

Publikacja androidx.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 wersji U+ (I657f8).
  • Panel nawigacyjny (ModalDrawerSheet i DismissibleDrawerSheet) obsługuje teraz przewidywane przejście wstecz w przypadku U+ jako opcję (Ie5b0b)
  • DropdownMenu obsługuje teraz niestandardowy kolor, kształt, 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 wskaźnika przerwy i zatrzymania. (I21451)
  • Dodano domyślny karet do rozbudowanego dymku. Obsługuje on rysowanie niestandardowego karetu na podstawie elementu zakotwiczenia LayoutCoordinates. (Ifd42c) Zmiany powodujące niezgodność
  • Nowe interfejsy API do odświeżania przez przeciągnięcie:
    • Uproszczony PullToRefreshState, który używa 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 elementu PullToRefreshState. Zajmuje się tym nowy PullToRefreshBox lub Modifier.pullToRefresh.
    • Ta aktualizacja wprowadza zmiany, które mogą spowodować problemy 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,1 f, aby zapewnić wystarczający kontrast kolorów. (I7ea77)
  • Drobne korekty domyślnych kolorów powierzchni i tła w przypadku lightColorScheme i darkColorScheme. (I9db52)
  • Zaktualizowano kolory suwaka i ProgressIndicator zgodnie z nową specyfikacją kontrastu elementów nietekstowych. (I26807)
  • Komponenty korzystają teraz z wariantów SurfaceContainer. Komponenty, które wcześniej obliczały kolor za pomocą funkcji Surface i TonalElevation, domyślnie używają teraz ról SurfaceContainer, na które nie ma wpływu podniesienie tonalne. (b/304584161)
  • Role podstawowe Surface i Surface container zostały nieznacznie zmodyfikowane, dzięki czemu w motywach jasnym i ciemnym mają więcej odcieni. (I677a5)
  • Przeniesiono eksperymentalne interfejsy API do wersji stabilnej.
  • Poprawa wydajności.

Wersja 1.3.0-rc01

21 sierpnia 2024 r.

Publikacja androidx.compose.material3:material3-*:1.3.0-rc01 Wersja 1.3.0-rc01 zawiera te zmiany.

Poprawki błędów

  • ModalBottomSheet jest teraz pierwsze w kolejności przechodzenia semantycznego, a za nim znajduje się warstwa przyciemniająca. (I436f9, b/358594665)

Wersja 1.3.0-beta05

24 lipca 2024 r.

Publikacja androidx.compose.material3:material3-*:1.3.0-beta05 Wersja 1.3.0-beta05 zawiera te zmiany.

  • Rozwiązaliśmy problem polegający na tym, że w 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.

Publikacja androidx.compose.material3:material3-*:1.3.0-beta04 Wersja 1.3.0-beta04 zawiera te zmiany.

Wersja 1.3.0-beta03

12 czerwca 2024 r.

Publikacja androidx.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.

Publikacja androidx.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 Pull To Refresh, aby włączanie było wartością logiczną zamiast funkcji lambda. Obsługa dopasowania treści w języku PullToRefreshBox (I75679)
  • Utworzenie TooltipScope jako zapieczętowanego interfejsu i utworzenie wewnętrznej implementacji do użycia w TooltipBox i Label. (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 paska nawigacyjnego ModalBottomSheet reagują teraz na stan ciemnego motywu. (Ie1fe7, b/338342149)
  • Dodano semantykę zamykania arkusza do elementu ModalBottomSheet. (0e61cb,b/328801864)

Wkład zewnętrzny

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

Wersja 1.3.0-beta01

14 maja 2024 r.

Publikacja androidx.compose.material3:material3-*:1.3.0-beta01 Wersja 1.3.0-beta01 zawiera te zmiany.

Zmiany w interfejsie API

  • Używanie 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 klasę TextLinkStyles, która umożliwia stylowanie linków jako parametru funkcji kompozycyjnej Text. (I31b93)

Wersja 1.3.0-alpha06

1 maja 2024 r.

Publikacja androidx.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 PullToRefreshState, który używa 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 elementu PullToRefreshState. Zajmuje się tym nowy PullToRefreshBox lub Modifier.pullToRefresh.
    • Ta aktualizacja wprowadza zmiany, które mogą spowodować problemy z poprzednimi eksperymentalnymi interfejsami API. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683)

Zmiany w interfejsie API

  • Usunięto pole RippleConfiguration#isEnabled, a pole LocalRippleConfiguration może teraz przyjmować wartość null. Aby wyłączyć efekt fali, zamiast podawać RippleConfiguration z wartością isEnabled = 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 dolnym mogą teraz wykorzystywać wcięcia okna, dzięki czemu treść będzie widoczna 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)
  • PrimaryScrollableTabRow i SecondaryScrollableTabRow korzystają teraz z układu niestandardowego zamiast z kompozycji podrzędnej, co powinno zwiększyć wydajność. (I991e0)
  • Linki tekstowe mają teraz opcję stylu stanu naciśnięcia oprócz normalnego stylu, stylu po najechaniu kursorem i stylu po zaznaczeniu. TextDefaults metody otrzymały argument pressedStyle, aby to umożliwić. (Ic473f, b/139312671)

Poprawki błędów

  • Uchwyty przeciągania w panelu nawigacyjnym mają teraz szerokość drawerContent. (Ibc72f, b/245355396)
  • OutlinedTextField Górny odstęp etykiety uwzględnia teraz rozmiar czcionki systemowej. (Idc781)
  • Lokalizacja pakietu z poprawką: CalendarLocale. (Ifa235)
  • [Przewidywane przejście wstecz] Zaktualizowano 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.

Publikacja androidx.compose.material3:material3-*:1.3.0-alpha05 Wersja 1.3.0-alpha05 zawiera te zmiany.

Nowe funkcje

  • SearchBar i DockedSearchBar 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

  • Oprócz normalnego stylu, stylu po najechaniu kursorem i stylu po zaznaczeniu linki tekstowe mają teraz styl po kliknięciu (I5f864, b/139312671).
  • Zaktualizowano CarouselItemInfo, aby udostępnić maskę Rect, przez którą element jest przycinany (I785d8)
  • Usunięto BasicTooltipState z publicznego interfejsu API Material 3. Jego funkcjonalność jest połączona z TooltipState, dopóki BasicTooltip Fundacji 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ą 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 OutlinedButton, gdy jest 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 jest teraz wycofywany. Przejdź na konstruktor, który zawiera kontenery powierzchni. (I35c11)
  • [Kontur]TextFieldDefaults ContainerBox zmienił(-a) 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.

Publikacja androidx.compose.material3:material3-*:1.3.0-alpha04 Wersja 1.3.0-alpha04 zawiera te zmiany.

Nowe funkcje

  • Dodano 2 eksperymentalne wersje karuzeli Material3 – HorizontalMultiBrowseCarousel i HorizontalUncontainedCarousel (I88d64).
  • Zaktualizowano komponent Compose M3 Nav Drawer (ModalDrawerSheet i DismissibleDrawerSheet), aby obsługiwał przewidywane przejście wstecz na urządzeniach z Androidem U+ jako funkcję opcjonalną (Ie5b0b).
  • Dodano nowy interfejs API w komponencie Icon, 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 pasków aplikacji u góry ekranu podczas przewijania treści. Rozwiązaliśmy problem z MediumTopAppBar obcinaniem tytułów 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)
  • Wersje SwipeToDismissBox, SwipeToDismissBoxDefaults, SwipeToDismissBoxState i SwipeToDismissBoxValue są teraz oznaczone jako stabilne. (I5f000)
  • Usunęliśmy wycofane wyliczenia i interfejsy API DismissDirection i DismissValue. (I89ccd)
  • Dodano tag eksperymentalny do CarouselStateobiektu towarzyszącego karuzeli. (I94154)
  • Wycofaliśmy LocalMinimumInteractiveComponentEnforcement i wprowadziliśmy LocalMinimumInteractiveComponentSize, aby je zastąpić. (I7a7ac)
  • Konstruktor SearchBarColors jest teraz publiczny. (I769ca)
  • Dodano parametr gesturesEnabled do SwipeToDismissBox. (Idc59f, b/324170119)
  • Usunięto interfejsy API pól tekstowych, które były oznaczone jako wycofane i eksperymentalne. (I1305f)

Wersja 1.3.0-alpha03

20 marca 2024 r.

Publikacja androidx.compose.material3:material3-*:1.3.0-alpha03 Wersja 1.3.0-alpha03 zawiera te zmiany.

Zmiany powodujące problemy wizualne

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

Nowe funkcje

  • Dodano parametry, aby dostosować ExposedDropdownMenu. W szczególności menu mają teraz parametr focusable (domyślnie true), który w przypadku pracy z edytowalnymi polami tekstowymi należy ustawić na false. (I4184c, b/323694447, b/278609042)

Zmiany w interfejsie API

  • Oznaczenie ScaffoldSubcomposeInMeasureFix zostało usunięte. (Ie2a4b)
  • NavigationRailItemColors jest teraz oznaczony jako @Immutable. (If6112, b/327660613)
  • NavigationBarItemColors jest teraz oznaczony jako @Immutable. (I42a30, b/298064514)
  • Zmień kolejność parametrów w kompozycji Slider Track. (I9f315)
  • ExposedDropdownMenu jest teraz wdrażana przy użyciu usługi Popup. Działanie powinno być takie samo, z wyjątkiem tego, że menu, na których można się skupić i które zawierają edytowalne pola tekstowe, mogą być zamykane podczas pisania na klawiaturze.

Poprawki błędów

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

Wersja 1.3.0-alpha02

6 marca 2024 roku

Publikacja androidx.compose.material3:material3-*:1.3.0-alpha02 Wersja 1.3.0-alpha02 zawiera te zmiany.

Zmiany w interfejsie API

  • przywrócenie stabilności stanów suwaka. Ustawiam folder State.onValueChangeFinished jako aktualny… Zawijanie elementu onValueChangeFinished w element rememberUpdatedState. (I82ab2, b/322269951)
  • Komponenty Navigation używają teraz 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 ModalBottomSheet i StandardBottomSheet jest teraz TweenSpec, a nie animacją sprężynową. 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 wariantów SurfaceContainer. Komponenty, które wcześniej obliczały kolor za pomocą funkcji Surface i TonalElevation, domyślnie używają teraz ról SurfaceContainer, na które nie ma wpływu podniesienie tonalne. (b/304584161)
  • Naprawiliśmy błąd, który powodował, że niezaznaczony, wyłączony kolor kontenera ElevatedFilterChip był czarny. (I400e6, b/322407043)
  • Naprawianie wskaźnika postępu bez określenia czasu oczekiwania, gdy postęp wynosi 0 (Id6582)
  • Rozwiązaliśmy problem z znakami Slider i RangeSlider 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 DatePickerDialog wyświetla przyciski, gdy zawiera element DateRangePicker lub gdy wyświetla selektor 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)
  • Elementy podniesione korzystają teraz 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 wybiera niewybrane ś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. FilledCardkolor kontenera SurfaceContainerHighest. (I35141)
  • Kolor kontenera ElevatedButton to teraz SurfaceContainerLow. FilledIconButton, gdy nie są zaznaczone, mają teraz kolor kontenera SurfaceContainerHighest. (I792c9)
  • Aktualizuje kolor kontenera TimePicker i rolę koloru tarczy zegara na SurfaceContainerHighest. (I43b93)

Wersja 1.3.0-alpha01

21 lutego 2024 r.

Publikacja androidx.compose.material3:material3-*:1.3.0-alpha01 Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

  • Aktualizacja Compose M3 ModalBottomSheet, aby obsługiwać przewidywanie powrotu na urządzeniach z Androidem U+ (Iccf32, b/281967264, b/304850357)
  • Zaktualizowano Compose M3 SearchBar, aby obsługiwał przewidywane przejście wstecz w wersji 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 wskaźnika przerwy i zatrzymania. (I21451)
  • Dodano domyślny znak wstawienia do rozbudowanej etykietki. Nowy interfejs API rozbudowanej etykietki umożliwia teraz rysowanie niestandardowego znaku wstawienia na podstawie elementu zakotwiczonego 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

  • Zabawa drawStopIndicator jest teraz publiczna. (I3f59f)
  • Oznacz funkcję DatePicker formatWithSkeleton jako wewnętrzną (Ic65dc).
  • DropdownMenu obsługuje teraz niestandardowy kolor, kształt, 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 i teraz udostępniają 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 wewnątrz komponentu. Ustawienie wartości null pozwala niektórym komponentom nigdy nie przydzielać MutableInteractionSource, a innym tworzyć 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 RippleConfiguration i LocalRippleConfiguration, aby umożliwić dostosowywanie efektów falowania w poszczególnych komponentach lub poddrzewach za pomocą stałych wartości. Może to być na przykład zmiana koloru komponentu, nad którym nie masz kontroli, lub wyłączenie efektu fali w komponencie. 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ą elementu 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 on usunięty w kolejnej stabilnej wersji i ma być tylko tymczasowym ułatwieniem migracji w przypadkach, gdy podajesz niestandardowy znak 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 względem prawego górnego rogu. (I18a28)
  • Rozwiązaliśmy problem z ułatwieniami dostępu w DateRangePicker, polegający na tym, że tekst „Miesiąc–Rok” był przekazywany użytkownikom czytnika ekranu, Switch Access i Voice Access jako element, którego można użyć. (I2ac55)
  • Naprawiono błąd kolejności parametru mediumTopAppBarColors. (Ibe64a)

Wersja 1.2

Wersja 1.2.1

6 marca 2024 roku

Publikacja androidx.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 elementu onValueChangeFinished w element rememberUpdatedState. (Ie8fd0, b/322269951)
  • Usuwamy @Stable ze stanów Slider, ponieważ zmieniamy state.onValueChangeFinished na var. (I82ba1, b/322269951)
  • Popraw NavigationBar spersonalizowane kolory, aby można było je kopiować z domyślnych. (80a779, b/326894020)
  • Napraw regresję w ExposedDropdownMenu, aby ponownie można było ustawić na nim fokus (3fcec1, b/323694447)
  • Naprawiliśmy problem z buforowaniem koloru przycisku (3e5bbcb/327371655).

Wersja 1.2.0

7 lutego 2024 r.

Publikacja androidx.compose.material3:material3-*:1.2.0 Wersja 1.2.0 zawiera te zatwierdzenia.

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 problemu polega na użyciu 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 stabilnej

Usprawnienia wydajności

Wersja 1.2.0-rc01

24 stycznia 2024 r.

Publikacja androidx.compose.material3:material3-*:1.2.0-rc01 Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

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

Wersja 1.2.0-beta02

10 stycznia 2024 r.

Publikacja androidx.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 wartości alfa (0,38f) LocalContentColor zamiast do wartości contentColor określonej przez użytkownika. Obejście tego problemu polega na wyraźnym ustawieniu parametru disabledContentColor. Naprawimy to w kolejnej wersji.

Zmiany w interfejsie API

  • Dodanie możliwości włączania karetki podpowiedzi w przypadku interfejsów API Plain Tooltip. (Ibf767)
  • Nazwy SwipeToDismissState, rememberSwipeToDismiss i SwipeToDismissValue zostały zmienione na _SwipeToDismissBox_. (I68d6d)

Poprawki błędów

  • Stała wartość dopełnienia na końcu ListItem, aby była zgodna ze specyfikacją. (Ibd68b, b/305342674)
  • Kolor konturu karty z konturem jest teraz prawidłowo mapowany na kolor OutlineVariant. (I75480, b/310979715)
  • Dynamiczne kolory są teraz pobierane z ról kolorów zdefiniowanych przez system. 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)
  • Naprawiono obsługę przycisku ModalBottomSheet na Androidzie T/13+, gdy android:enableOnBackInvokedCallback="true". (I728dc, b/306196110)

Wersja 1.2.0-beta01

13 grudnia 2023 r.

Publikacja androidx.compose.material3:material3-*:1.2.0-beta01 Wersja 1.2.0-beta01 zawiera te zatwierdzenia.

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. W rezultacie wskaźniki TabRow są tworzone w inny sposób z użyciem podanych modyfikatorów niestandardowych. (Ife741)
  • Wycofaj interfejsy API DismissDirection i DismissValue. Zostały one scalone w SwipeToDismissValue, którego wartości wskazują zarówno pozycję, jak i kierunek SwipeToDismissBox. DismissState.progress jest teraz oznaczony jako FloatRange z zakresu od 0.0 do 1.0. Wycofane funkcje DismissState Saver i Constructor zostały usunięte. Komponent SwipeToDismiss, obiekt stanu i obiekt domyślny zostały oznaczone jako eksperymentalne. (Ib54f2)

Poprawki błędów

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

Wersja 1.2.0-alpha12

29 listopada 2023 r.

Publikacja androidx.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 korzysta teraz również z zakresu Kotlin. (I025cb)
  • Oznacz funkcje fabryczne Mark Modifier jako @Stable. (Ib109f)

Wersja 1.2.0-alpha11

15 listopada 2023 r.

Publikacja androidx.compose.material3:material3-*:1.2.0-alpha11 Wersja 1.2.0-alpha11 zawiera te zmiany.

Nowe funkcje

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

Zmiany w interfejsie API

  • Oznacz SwipeToDismissBox DismissDirection i DismissValue 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 konstruktor dla ChipElevation i SelectableChipElevation. (Ie0c48, b/308432421)
  • Dodaję ModalBottomSheetProperties. Przenoszę element 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 RangeSlider i Slider, aby usunąć initialOnValueChange, początkowe prefiksy i odpowiednie dokumenty kdoc. (I57d30)
  • Wycofaj klasę ChipBorder i powiązane z nią wywołania funkcji. Zamiast tego zalecamy bezpośrednie używanie klasy BorderStroke. (I89cc2)
  • Interfejsy Foundation Tooltip API są teraz @ExperimentalFoundationApi. (I30b0b)
  • Atrybuty TabRow i ScrollableTabRow nie są już wycofywane. 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 BorderStroke. (I89b9b)
  • Zmieniliśmy nazwę ogólnej funkcji AlertDialog na BasicAlertDialog i wycofaliśmy poprzednią funkcję. (Idbe52)
  • Zmieniliśmy nazwę interfejsów SwipeToDismiss na SwipeDismiss i przekształciliśmy nowe interfejsy SwipeDismiss w stabilne. (I14cbe)
  • Dodawanie tonalElevation i shadowElevation do interfejsów API etykietek. Dodatkowo interfejsy API TooltipBox, PlainTooltip i RichTooltip zostały przywrócone do wersji eksperymentalnej, ponieważ zostały przypadkowo udostępnione jako stabilne. (If0f66, b/293939035)
  • Promowanie eksperymentalnych interfejsów API 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 aplikacja SwipeToDismiss ulegała awarii. (Ica8d1, b/297226562)

Wersja 1.2.0-alpha10

18 października 2023 r.

Publikacja androidx.compose.material3:material3-*:1.2.0-alpha10 Wersja 1.2.0-alpha10 zawiera te zmiany.

Zmiany w interfejsie API

  • Promowanie wersji Badge i BadgedBox do wersji stabilnej. (I67f16, b/261565132)
  • Dodanie securePolicy jako parametru do ModalBottomSheet, aby użytkownicy mogli określać zachowanie WindowManager.LayoutParams.FLAG_SECURE. (Icdac8, b/296250262)
  • Dodano nowe przeciążenia funkcji LinearProgressIndicator i CircularProgressIndicator, które przyjmują funkcję progress jako lambdę. Powinny one działać lepiej niż poprzednie wersje. (I824e6, b/295616656)
  • Zmienia nazwę StandardSizeClasses na AllSizeClasses. (I8cb07)
  • Połącz funkcje obliczania 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 skraju dopuszczalnego 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

Publikacja androidx.compose.material3:material3-*:1.2.0-alpha09 Wersja 1.2.0-alpha09 zawiera te zmiany.

Zmiany w interfejsie API

  • Przeniesiono ModalNavigationDrawer i DismissibleNavigationDrawer, aby korzystać z nowych interfejsów AnchoredDraggable API. 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ć dostęp do przesunięcia bezpośrednio za pomocą currentOffset. (I0a72c)
  • Dodaliśmy funkcje niekomponowalne, które umożliwiają bezpośrednie tworzenie elementów DatePickerState i DateRangePickerState. W razie potrzeby można ich używać zamiast funkcji rememberDatePickerState i rememberDateRangePickerState. (I70326, b/291524052)
  • Typy stałe i przewijane TabRows mają teraz warianty podstawowe i dodatkowe. Są one prawidłowo mapowane na kolor i zachowanie wskaźnika zgodnie z definicją w Material 3.
  • PrimaryScrollableTabRow i SecondaryScrollableTabRow 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ócenie interfejsów API PlainTooltipBox i RichTooltipBox jako metod wycofanych. (I246fa)

Poprawki błędów

  • Naprawiono błąd powodujący awarię podczas inicjowaniaDatePicker za pomocąDatePickerFormatter, która ma określone szablony dat, które pozostają takie same po przekształceniu w wzorce dat (np. RR). (I01f29)

Wersja 1.2.0-alpha08

20 września 2023 r.

Publikacja androidx.compose.material3:material3-*:1.2.0-alpha08 Wersja 1.2.0-alpha08 zawiera te zmiany.

Zmiana powodująca niezgodność w działaniu

  • ColorScheme jest teraz niezmienny, co sprawia, że aktualizowanie poszczególnych kolorów jest mniej wydajne, ale bardziej wydajne jest częstsze używanie kolorów. Uzasadnieniem tej zmiany jest fakt, że większość aplikacji nie ma aktualizowania poszczególnych kolorów jako głównego przypadku użycia. Jest to nadal możliwe, ale będzie wymagało większej liczby ponownych kompozycji niż wcześniej. W rezultacie 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 przycisku typu FAB na dolny pasek aplikacji w strukturze zamiast zakotwiczenia go nad nim. (Iecb47)
  • Dodaliśmy prosty komponent Etykieta, 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 etykietkach. (Icc131, b/299500338)
  • Wprowadzono tymczasową flagę, która określa, czy komponent Scaffold ma mierzyć swoje 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ła pozioma od krawędzi do krawędzi w BottomSheet przy 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 po zamknięciu go przez przesunięcie arkusza w dół. (Idfdd8)

Wersja 1.2.0-alpha07

6 września 2023 r.

Publikacja androidx.compose.material3:material3-*:1.2.0-alpha07 Wersja 1.2.0-alpha07 zawiera te zmiany.

Nowe funkcje

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

Zmiany w interfejsie API

  • SliderState implementuje DraggableState (I9b116)
  • Zmień kształt na wymagany parametr. Zmień nazwę position na index w funkcji pomocniczej kształtu. (I34941)
  • Aktualizuje DatePicker formatWithSkeleton, aby uwzględnić mapę używaną 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 PlainTooltip i RichTooltip. (I79e1d)

Poprawki błędów

  • dynamicLightColorScheme i dynamicDarkColorScheme zwracają teraz kolory o wyższej chromatyczności w przypadku ról powierzchni i surfaceContainer. (I5e901)
  • Rozwiązaliśmy problem polegający na tym, że niektóre komponenty korzystające z kompozycji podrzędnej (np. BottomSheetScaffold) w komponencie Scaffold w komponencie LookaheadScope próbowały odczytać swój rozmiar zbyt wcześnie. (I297b4, I871f1, b/295536718)

Wersja 1.2.0-alpha06

23 sierpnia 2023 r.

Publikacja androidx.compose.material3:material3-*:1.2.0-alpha06 Wersja 1.2.0-alpha06 zawiera te zmiany.

Poprawki błędów

  • Poprawiliśmy obliczenia DropdownMenu i offset, 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 DropdownMenu i offset, 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.

Publikacja androidx.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. CheckboxDefaults.colors() disabledUncheckedColor wpływa teraz tylko na obramowanie pola wyboru. W szczególnych przypadkach, w których musisz ustawić kolor wewnętrznego pola, gdy jest ono wyłączone i niezaznaczone, wymagane jest utworzenie niestandardowej instancji elementu CheckboxColors z odpowiednimi wartościami kolorów. (I77d17, b/291943198)

Wersja 1.2.0-alpha04

26 lipca 2023 r.

Publikacja androidx.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 umożliwiający kontrolowanie orientacji, dzięki czemu obsługują elementy dzielące w pionie. (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)
  • Separator ma 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.

Publikacja androidx.compose.material3:material3-*:1.2.0-alpha03 Wersja 1.2.0-alpha03 zawiera te zmiany.

Zmiany w zachowaniu

  • includeFontPadding jest teraz domyślnie false w typografii Material 3. Domyślny styl wysokości wiersza został też zmieniony na Trim.None i Alignment.Center, a do TextStyle w Typography 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 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ą wysokości terenu można teraz wyłączyć za pomocą kompozycji lokalnej 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. Uważaj, ponieważ może to spowodować przerwanie automatycznego przechodzenia między elementami dostępności. (Ie32d8)
  • Zoptymalizowana dostępność 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 wykorzystane wstawki okna. Pamiętaj, że działanie dopełnienia treści na podstawie parametrów topBar i bottomBar pozostaje bez zmian, gdy są one podane. (I08b73, b/264601542)
  • Popraw wyrównanie środkowego 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 docelowy element dotykowy dla wskaźników kart. (Id8861)
  • Dynamiczne palety kolorów z dynamicLightColorScheme i dynamicDarkColorScheme obsługują teraz nowe role platformy. (I1252e)
  • Aktualizacja wyrównania powiadomienia z plakietką, aby nie było przycinane w przypadku kolizji z elementem nadrzędnym drugiego stopnia. (Idf75a)

Wersja 1.2.0-alpha02

24 maja 2023 r.

Publikacja androidx.compose.material3:material3-*:1.2.0-alpha02 Wersja 1.2.0-alpha02 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodaj parametr wstawień okna do ModalBottomSheet.
    • Element ModalBottomSheet może być teraz rysowany za paskiem stanu, gdy wartość windowInsets jest ustawiona na zero.
    • Zaktualizowana domyślna funkcja ModalBottomSheet, która nie obejmuje pasków systemowych, w tym paska nawigacyjnego
    • 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ść. SecondaryIndicator jest odpowiednikiem wycofanego już parametru Indicator i może go 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 Semantyka z isContainer na isTraversalGroup (I121f6)
  • Dodano zoptymalizowany element TextStyle.merge(...) z pełną listą parametrów. (Iad234, b/246961787)
  • Udostępniono interfejsy TooltipState, RichTooltipState i PlainTooltipState. Dodano stany domyślne RichTooltipStateImpl i PlainTooltipStateImpl. Dodano funkcje remember*State, aby uzyskać te stany wdrożenia. Usunięto TooltipSync na rzecz TooltipDefault.GlobalMutatorMutex. (I7813d)
  • Zaktualizowano DatePickerColors, aby uwzględnić dodatkowe opcje dostosowywania koloru separatora, nawigacji i pól wpisywania tekstu w selektorze daty. (I1a685, b/274626815)
  • DatePickerState i DateRangePickerState to teraz publiczne interfejsy z domyślnymi implementacjami, które można pobrać za pomocą rememberDatePickerState i rememberDateRangePickerState. (I71c52)
  • Usunęliśmy dateValidator z DatePicker i DateRangePicker oraz wprowadziliśmy interfejs SelectableDates, który można ustawić w stanie, aby kontrolować, które daty lub lata można wybrać w interfejsie. (Ic2fc6)
  • TimePicker usunięto ze stabilnego interfejsu API. W interfejsie API stanu oczekiwane są dalsze zmiany (I3f39a).
  • ModalBottomSheet przeniesiono tylko na Androida. ModalBottomSheet nie jest zalecane do użytku na komputerach, a funkcja nie jest aktywnie aktualizowana. (Ib3778)

Poprawki błędów

  • Naprawiono działanie AlertDialog 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 szerokości okna. Ta poprawka dostosowuje implementację do specyfikacji Material Design. (I029de, b/235454277)
  • Naprawiliśmy błąd w ListItem, który powodował nieprawidłowe dopełnienie 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.

Publikacja androidx.compose.material3:material3:1.2.0-alpha01 i androidx.compose.material3:material3-window-size-class:1.2.0-alpha01 Wersja 1.2.0-alpha01 zawiera te zmiany.

Wersja 1.1

Wersja 1.1.2

20 września 2023 r.

Publikacja androidx.compose.material3:material3:1.1.2 i androidx.compose.material3:material3-window-size-class:1.1.2 Wersja 1.1.2 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiono błąd, który powodował nieprawidłowe przekazywanie modyfikatora do 2 kompozycji. (b/282761472)
  • Rozwiązaliśmy problem z funkcją TimePickerState, która zwracała nieprawidłową liczbę godzin po zainicjowaniu z 23 godzinami. (b/278242122)
  • Poprawiono początkowy stan przełącznika w przypadku weryfikacji południa i minut. (b/269768197, b/282790635)
  • Naprawiono błąd funkcji state.hour, która zwracała nieprawidłową wartość dla godziny 23:00. (b/282761472, b/278242122)

Wersja 1.1.1

21 czerwca 2023 r.

Publikacja androidx.compose.material3:material3:1.1.1 i androidx.compose.material3:material3-window-size-class:1.1.1 Wersja 1.1.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Dodaje wywołanie ModalBottomSheet bez parametru windowInset w celu zapewnienia kompatybilności binarnej. (Ib7959)
  • Dodaj parametr wstawień okna do ModalBottomSheet.
    • Element ModalBottomSheet może być teraz rysowany za paskiem stanu, gdy wartość windowInsets jest ustawiona na zero.
    • Zaktualizowana domyślna funkcja ModalBottomSheet, która nie obejmuje pasków systemowych, w tym paska nawigacyjnego
    • 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.

Publikacja androidx.compose.material3:material3:1.1.0 i androidx.compose.material3:material3-window-size-class:1.1.0 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 stabilnej

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

Wersja 1.1.0-rc01

19 kwietnia 2023 r.

Publikacja androidx.compose.material3:material3:1.1.0-rc01 i androidx.compose.material3:material3-window-size-class:1.1.0-rc01 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. ModalBottomSheet nie jest zalecane do użytku na komputerach, a funkcja nie jest aktywnie aktualizowana. (Ib3778)

Wersja 1.1.0-beta02

5 kwietnia 2023 r.

Publikacja androidx.compose.material3:material3:1.1.0-beta02 i androidx.compose.material3:material3-window-size-class:1.1.0-beta02 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 zdefiniowaną ukrytą kotwicę, ale jest ona domyślnie wyłączona.
  • Zaktualizowano dokumentację SheetState.requireOffset
  • Nazwa usługi BottomSheetDefaults.MinimizedShape została zmieniona na BottomSheetDefaults.HiddenShape (I839f4, b/273870234)

Poprawki błędów

  • Nie przełączaj tarczy z godzin na minuty, gdy włączone jest eksplorowanie przez dotyk. (I717d0)
  • Semantyka uchwytów przeciągania ModalBottomSheet i BottomSheetScaffold została scalona. (I05afb)
  • Modyfikator BottomSheetScaffold oraz parametry containerColor i contentColor mają teraz wpływ tylko na treść. (I992cb)
  • BottomSheetScaffold nestedScroll w przypadku treści arkusza obsługuje teraz szybkie przesunięcia. (I992cb)

Wersja 1.1.0-beta01

22 marca 2023 r.

Publikacja androidx.compose.material3:material3:1.1.0-beta01 i androidx.compose.material3:material3-window-size-class:1.1.0-beta01 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ł oznaczony jako eksperymentalny. (I65561)
  • Dodano wysokość cienia do BottomSheetScaffold (I94e0f)
  • Dodaliśmy obsługę wyświetlania selektorów dat bez części nagłówkowej. Zmiany w interfejsie API umożliwiające przekazywanie nagłówka o wartości null podczas tworzenia selektora daty. Aby wyświetlić selektor bez nagłówka, możesz teraz przekazywać wartości null w przypadku nagłówka, tytułu i showToggleMode = false. (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ć wybór 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. Może to spowodować zmianę o kilka pikseli w aplikacjach w zależności od ustawień czcionki i skryptu. (I8b8d0)
  • Działania semantyczne na planszy dolnej mają teraz etykiety. (I277b0)

Wersja 1.1.0-alpha08

8 marca 2023 r.

Publikacja androidx.compose.material3:material3:1.1.0-alpha08 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha08 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 DatePickerState i DateRangePickerState, 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 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 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 metody pobierania wartości 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 ModalBottomSheetHalfExpanded był obliczany nieprawidłowo, a arkusz wydawał się unosić. (I45e84, b/268411386)
  • Dodaj confirmValueChange do dotknięcia siatki ochronnej w przypadku ModalBottomSheet. (I2311a, b/270425759)
  • Przenieś działania semantyczne BottomSheet na uchwyt 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

Publikacja androidx.compose.material3:material3:1.1.0-alpha07 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha07 Wersja 1.1.0-alpha07 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaj funkcję kompozycyjną Time Input, która współpracuje z rememberTimePickerState() i jest zgodna ze specyfikacją M3 dotyczącą wprowadzania czasu (Ia4fab).
  • Dodano interfejs Material 3 DateRangePicker API 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 do wprowadzania danych 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 pola tekstowego menu z rozwijaną listą zostały zaktualizowane o parametry obsługujące nowy interfejs 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 klastra RangeSlider w celu zapewnienia stabilności. (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 komponentów Material 3 DatePicker i DateRangePicker. (I5087e)
  • Naprawiono błąd, w którym propagowane jest ograniczenie maksymalnej wysokości, co może powodować awarię. (I30d8c)
  • Usunięto role semantyczne z obszarów klikalnych i możliwych do zaznaczenia. 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.

Publikacja androidx.compose.material3:material3:1.1.0-alpha06 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha06 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ą wygody 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 dolnego arkusza modalnego w Material 3, w tym ModalBottomSheet i ModalBottomSheetDefaults. Wprowadza też elementy SheetState i rememberSheetState, które można wykorzystać w przyszłych komponentach arkusza. (I0853a, b/244189383)

Zmiany w interfejsie API

  • Stabilizacja interfejsu API showSnackbar (I195c2, b/261424370)
  • Stabilizacja interfejsów API dla elementu pomocy i elementu z sugestią (Ibb67b, b/261424370)
  • Przeniesiono interfejsy API ListItem, ListItemDefaults i ListItemColors do wersji nieeksperymentalnej (I7e7fa, b/261438882)
  • Promowanie interfejsów SliderPositions, SliderDefaults.Thumb i SliderDefaults.Track do wersji stabilnej oraz dodawanie nieeksperymentalnych interfejsów Slider i RangeSlider API, które zawierają niestandardowe miniatury i ścieżki. Wycofujemy też poprzednie interfejsy API Slider i RangeSlider. (Ie5ea6, b/261566890)
  • Udostępniono właściwość Modifier.tooltipAnchor(), aby programiści mogli przekazywać ją do elementu zakotwiczonego i wskazywać, że po długim naciśnięciu ma się wyświetlić etykietka. Zaktualizowaliśmy interfejs API PlainTooltipBox, aby nie dopuszczał wartości null w przypadku parametru TooltipState. Teraz ma on wartość domyślną. (Ie2fb7)
  • ProgressIndicatorDefaults.circularTrackColor zostało oznaczone jako @Composable, aby zachować spójność. (Id29cc)
  • Przywróć funkcję pobierającą właściwość LocalMinimuTouchTargetEnforcement i oznacz ją jako wycofaną, a następnie przekieruj do LocalMinimumInteractiveComponentEnforcement. (I60dd5)

Wersja 1.1.0-alpha05

26 stycznia 2023 r.

Publikacja androidx.compose.material3:material3:1.1.0-alpha05 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha05 Wersja 1.1.0-alpha05 zawiera te zmiany.

Nowe funkcje

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

Aktualizacje zależności

Wersja 1.1.0-alpha04

11 stycznia 2023 r.

Publikacja androidx.compose.material3:material3:1.1.0-alpha04 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha04 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 nadal ulega zmianom. (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ść semantyki IsContainer na powierzchniach. 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 okrągłych wskaźników postępu oraz parametr zakończenia linii dla okrągłych i liniowych wskaźników postępu. (Ie668c, b/216325962, b/222964817)
  • Większa dopuszczalność wartości null zwracanego typu wycofanych i ukrytych funkcji (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, która ma miejsce 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 pierwotnie zgłoszono problem. Poprawka została przesłana i będzie dostępna w następnej aktualizacji Compose. Aby obejść ten problem, zaktualizuj biblioteki androidx.compose.material i androidx.compose.material3 do najnowszej wersji(1.1.0-alpha04) lub zmień wersję biblioteki androidx.compose.foundation na 1.4.0-alpha03.

Wersja 1.1.0-alpha03

7 grudnia 2022 r.

Publikacja androidx.compose.material3:material3:1.1.0-alpha03 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha03 Wersja 1.1.0-alpha03 zawiera te zmiany.

Zmiany w interfejsie API

  • Zmieniliśmy nazwy interfejsów consumedWindowInsets() na consumeWindowInsets() i withConsumedWindowInsets() na onConsumedWindowInsetsChanged() oraz udostępniliśmy modyfikatory publicznie. (Ie44e1)
  • Dodano nowe domyślne dopełnienie treści dla przycisku tekstowego z ikoną. (I8f662)
  • Dodano wyłączone kolory paska nawigacyjnego i kolumny nawigacji. (Ia7892, b/258867034)
  • Dodano 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 naciśnięcia, gdy gesty mogą stać się zdarzeniami przewijania.
  • Rozwiązaliśmy problem z nieprawidłowym opóźnianiem efektów falowania przez element Clickables, gdy był 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 biblioteki Lifecycle w wersji 2.5.1. (I05ab0, b/258038814)

Wersja 1.1.0-alpha02

9 listopada 2022 r.

Publikacja androidx.compose.material3:material3:1.1.0-alpha02 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha02 Wersja 1.1.0-alpha02 zawiera te zmiany.

Zmiany w interfejsie API

  • awaitFirstDown i waitForUpOrCancellation akceptują teraz PointerEventPass, co zapewnia większą elastyczność (rozwiązuje też problem z ExposedDropdownMenuBox wyświetlającym 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 liczbie wierszy (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 BasicText i BasicTextField. 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 IconButton i IconToggleBotton do kształtu warstwy stanu komponentu (np. okrągłego). (I9da8f)
  • Aktualizuje średnie i duże górne paski aplikacji Material3, 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.

Publikacja androidx.compose.material3:material3:1.1.0-alpha01 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha01 Wersja 1.1.0-alpha01 zawiera te zmiany.

Poprawki błędów

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

Wersja 1.0

Wersja 1.0.1

9 listopada 2022 r.

Publikacja androidx.compose.material3:material3:1.0.1 i androidx.compose.material3:material3-window-size-class:1.0.1 Wersja 1.0.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Aktualizuje średnie i duże paski aplikacji Material3, 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.

Publikacja androidx.compose.material3:material3:1.0.0 i androidx.compose.material3:material3-window-size-class:1.0.0 Wersja 1.0.0 zawiera te zatwierdzenia.

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 okien ma być wyświetlany pasek nawigacyjny zamiast nawigacji u dołu. Więcej informacji i przykłady użycia znajdziesz w dokumentacji interfejsu API dotyczącej WindowSizeClass.

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

Wersja 1.0.0-rc01

5 października 2022 r.

Publikacja androidx.compose.material3:material3:1.0.0-rc01 i androidx.compose.material3:material3-window-size-class:1.0.0-rc01 Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

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.

Publikacja androidx.compose.material3:material3:1.0.0-beta03 i androidx.compose.material3:material3-window-size-class:1.0.0-beta03 Wersja 1.0.0-beta03 zawiera te zatwierdzenia.

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 dla małych pasków aplikacji u góry w Material 3. (I645e2, b/245575782)

Wersja 1.0.0-beta02

7 września 2022 roku

Publikacja androidx.compose.material3:material3:1.0.0-beta02 i androidx.compose.material3:material3-window-size-class:1.0.0-beta02 Wersja 1.0.0-beta02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Domyślne wstawki komponentów wprowadzone w komponentach m3 w wersji beta01 nie uwzględniają już wstawek IME.
  • Komponent Scaffold 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 Divider, przenosi kolor na ostatni parametr. (If7be2)

Poprawki błędów

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

Wersja 1.0.0-beta01

24 sierpnia 2022 r.

Publikacja androidx.compose.material3:material3:1.0.0-beta01 i androidx.compose.material3:material3-window-size-class:1.0.0-beta01 Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Dokumentacja API

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

Zmiany w interfejsie API

  • Zaktualizowaliśmy 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 kolumny nawigacji. 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 pasków stanu i nawigacji. Aby zapewnić najlepsze wrażenia, nadal rób to ręcznie. (I7e4e6, b/183161866)
  • Zaktualizowane ustawienia domyślne komponentu, aby zmniejszyć powierzchnię interfejsu API i zwiększyć elastyczność oraz wydajność w przyszłości. (I31820)
  • Zmieniliśmy kolejność parametrów karty i panelu nawigacyjnego, aby zachować spójność w ramach interfejsu 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.

Publikacja androidx.compose.material3:material3:1.0.0-alpha16 i androidx.compose.material3:material3-window-size-class:1.0.0-alpha16 Wersja 1.0.0-alpha16 zawiera te zatwierdzenia.

Nowe funkcje

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

Zmiany w interfejsie API

  • Zmiana kolejności parametrów kart i ikony wiodącej, 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, aby zachować spójność w interfejsie API (I0aee7)
  • Zmiana kolejności parametrów NavigationBar i NavigationRail w celu zachowania spójności w interfejsie API (I51cda)
  • Zmień 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, aby zachować spójność w interfejsie API (I62673)
  • Zmiana nazwy parametru ikon na akcje, aby zachować spójność z górnym paskiem aplikacji (Id75be)
  • Oznacz Badge i BadgedBox jako eksperymentalne, ponieważ wyrównanie kotwicy jest w trakcie zmian. (I1712e, b/236524516)
  • Zmiana adnotacji @ExperimentalMaterial3Api w wariancie przycisku z ikoną na @OptIn (I070b5)
  • Treści w panelu nawigacyjnym zostały przeniesione do osobnego komponentu, aby można było określić jego niestandardową szerokość. (Ia7f10)
  • Usuwa Divider z MenuDefaults i TabDefaults (I4e33c)

Wersja 1.0.0-alpha15

27 lipca 2022 roku

Publikacja androidx.compose.material3:material3:1.0.0-alpha15 i androidx.compose.material3:material3-window-size-class:1.0.0-alpha15 Wersja 1.0.0-alpha15 zawiera te zatwierdzenia.

Nowe funkcje

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

Zmiany w interfejsie API

  • Aktualizacje interfejsów API FilterChip i ElevatedFilterChip, 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 konturów. (Id6d54)
  • Popraw konwencje nazewnictwa w przypadku domyślnych ustawień kompozycyjnych. (I62b27)
  • Oznacz ListItemDefaults i ListItemColors 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)
  • Dodano ButtonDefault.ButtonWithIconContentPadding do użycia z przyciskami zawierającymi ikonę. (I2bf9c)
  • Pola tekstowe zostały oznaczone jako eksperymentalne, aby zapewnić większą elastyczność w przyszłych zmianach interfejsu API. (I127b5)
  • Usunięto adnotację @ExperimentalMaterial3Api z funkcji Checkbox. (I5eefc)
  • Usunięto adnotację @ExperimentalMaterial3Api z funkcji RadioButton. (I17e2a)
  • Usunęliśmy adnotację @ExperimentalMaterial3Api z 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.

Publikacja androidx.compose.material3:material3:1.0.0-alpha14 i androidx.compose.material3:material3-window-size-class:1.0.0-alpha14 Wersja 1.0.0-alpha14 zawiera te zatwierdzenia.

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 interfejsie API w implementacji InputChip, aby obsługiwać stan, który można wybrać zgodnie ze specyfikacją Material Design. Dodatkowa obsługa koloró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 WindowWidthSizeClass i WindowHeightSizeClass 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 przykładową plakietkę, aby podać bardziej przydatny opis treści. (I10b9d)
  • Dodaje opcję używania rozmiaru czcionki systemowej w selektorze motywów katalogu Material 3. (I10605)
  • Dodaliśmy przykładowy kod do plakietek i wskaźników nieokreślonego postępu. (I8fbe0)

Wersja 1.0.0-alpha13

1 czerwca 2022 r.

Publikacja androidx.compose.material3:material3:1.0.0-alpha13 i androidx.compose.material3:material3-window-size-class:1.0.0-alpha13 Wersja 1.0.0-alpha13 zawiera te zatwierdzenia.

Zmiany w interfejsie API

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

Wersja 1.0.0-alpha12

18 maja 2022 r.

Publikacja androidx.compose.material3:material3:1.0.0-alpha12 i androidx.compose.material3:material3-window-size-class:1.0.0-alpha12 Wersja 1.0.0-alpha12 zawiera te zatwierdzenia.

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

Publikacja androidx.compose.material3:material3:1.0.0-alpha11 i androidx.compose.material3:material3-window-size-class:1.0.0-alpha11 Wersja 1.0.0-alpha11 zawiera te zatwierdzenia.

Nowe funkcje

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

Zmiany w interfejsie API

  • Zmieniono nazwę funkcji kompozycyjnej TextFieldDefaults.BorderStroke, która rysuje obramowanie w OutlinedTextField, na TextFieldDefaults.BorderBox. (I5f295)
  • Przełączanie zmian wizualnych m3 (Iab30e)
  • Zezwalaj na przekazywanie kolorów do standardowych przycisków z ikonami. (Ia2445)

Poprawki błędów

  • Dodanie do komponentu Scaffold w bibliotece material3 sprawdzania za pomocą narzędzia Lint, aby upewnić się, że używane jest wewnętrzne dopełnienie (I72293, b/226951418)

Wersja 1.0.0-alpha10

20 kwietnia 2022 r.

Publikacja androidx.compose.material3:material3:1.0.0-alpha10 i androidx.compose.material3:material3-window-size-class:1.0.0-alpha10 Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.

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 okien ma być wyświetlany pasek nawigacyjny zamiast nawigacji u dołu. Więcej informacji i przykłady użycia znajdziesz w dokumentacji API WindowSizeClass. Więcej informacji o definicjach klas rozmiaru okna znajdziesz w publicznych wskazówkach dotyczących obsługi różnych rozmiarów ekranów.

Zmiany w interfejsie API

  • Dodaje domyślne uniesienie FAB dla BottomAppBar, usuwa końcową lambdę z BottomAppBar z FAB. (I92c47)
  • Dodaje komponenty Material3 FilledIconButton, FilledTonalIconButton i OutlinedIconButton. (Ib2bda)
  • Aktualizuje interfejs API Material 3 Snackbar, aby akceptował wartości kolorów dla opcjonalnego działania i działania zamykającego. (Ibe4b4)
  • Częściowe wykorzystanie (w dół 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ł zmianę.
  • PointerInputChange::copy() zawsze tworzy teraz płytką kopię. Oznacza to, że kopie PointerInputChange zostaną wykorzystane, gdy jedna z nich zostanie wykorzystana. 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ługują stan wyłączony w przypadku kart, które można kliknąć. (I927df)
  • W polach tekstowych Material 3 parametr backgroundColor został zmieniony na containerColor, aby zapewnić większą spójność z innymi komponentami. (I6fbd9)

Poprawki błędów

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

Wersja 1.0.0-alpha09

6 kwietnia 2022 roku

Publikacja androidx.compose.material3:material3:1.0.0-alpha09 Wersja 1.0.0-alpha09 zawiera te zatwierdzenia.

Nowe funkcje

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

Zmiany w interfejsie API

  • Dodaliśmy obsługę rozwijanych menu z polami tekstowymi (tzw. „rozwijane menu z polami tekstowymi” lub „pola kombi”). (I1b832)
  • Dodano parametr kształtu do MaterialTheme i podsystemu kształtu. (I37426)
  • Dodano rozwinięty parametr do ExtendedFloatingActionButton, aby kontrolować, czy FAB jest 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.

Publikacja androidx.compose.material3:material3:1.0.0-alpha08 Wersja 1.0.0-alpha08 zawiera te zatwierdzenia.

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.

Publikacja androidx.compose.material3:material3:1.0.0-alpha07 Wersja 1.0.0-alpha07 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Aktualizacje interfejsu Surface API Material 3, 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 LazyVerticalGrid i LazyHorizontalGrid 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 na androidx.compose.foundation.lazy.grid. (I2d446)
  • Cofnięto poprzednią zmianę polegającą na poleganiu wyłącznie na widoku w przypadku WindowInsetsControllerCompat i 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. jeśli widok znajduje się w oknie dialogowym). (I660ae, b/219572936)
  • Dodaliśmy nowy interfejs LazyVerticalGrid API 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.

Publikacja androidx.compose.material3:material3:1.0.0-alpha06 Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodano element NavigationDrawerItem, który reprezentuje pojedyncze miejsce docelowe w szufladach (Ic396f, b/218286829).
  • Interfejsy PermanentNavigationDrawer i DismissibleNavigationDrawer zostały dodane jako eksperymentalne interfejsy API. Są to szuflady odpowiednie dla urządzeń z dużym ekranem. (I5f8ab, b/218286829)
  • Dodano obsługę dolnego paska aplikacji Material 3 (Ic432a)
  • Nazwa NavigationDrawer została zmieniona 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 polegający na tym, że nawigacja liniowa czytnika ekranu TalkBack wybierała pusty tytuł górnego paska aplikacji. (Id4690)
  • Dodano: IconSize do listy FloatingActionButtonDefaults. (Ia71cf)
  • Rozwiązaliśmy problem z ukrytymi przyciskami AlertDialog, gdy do tekstu dodano długi tekst z symbolem LazyColumn. (Ib2cc9, b/216663029)

Wersja 1.0.0-alpha05

9 lutego 2022 r.

Publikacja androidx.compose.material3:material3:1.0.0-alpha05 Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.

Nowe funkcje

Dodano komponenty Material Design 3

Zmiany w interfejsie API

  • Wycofana funkcja Surface, która przyjmuje wywołanie zwrotne onClick. Elementy klikalne należy tworzyć za pomocą tagów InteractionSource i Modifier.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ędne w schematach kolorów dynamicznych (I456c4, b/214588434)

Wersja 1.0.0-alpha04

26 stycznia 2022 r.

Publikacja androidx.compose.material3:material3:1.0.0-alpha04 Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.

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) dla wszystkich parametrów, które są powtarzane w wywoływanej funkcji wewnętrznej. (I90490)
  • Dodano separator Material 3. (Ica5fc)
  • Oznacz pola wyboru i przyciski opcji adnotacją eksperymentalnego interfejsu API. (Ie44bb)
  • Dodaliśmy obsługę wskaźników postępu Material 3. (Iff232, b/205023841)

Poprawki błędów

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

Wersja 1.0.0-alpha03

12 stycznia 2022 r.

Publikacja androidx.compose.material3:material3:1.0.0-alpha03 Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.

Poprawki błędów

Aktualizacje zależności

  • Teraz zależy od Kotlin 1.6.10.

Wersja 1.0.0-alpha02

1 grudnia 2021 r.

Publikacja androidx.compose.material3:material3:1.0.0-alpha02 Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodanie obsługi pól wyboru i przycisków opcji.
  • Zaktualizowano, aby była zgodna z Kotlinem w wersji 1.6.0

Zmiany w interfejsie API

  • Usuń szufladę z elementu Scaffold Materialu 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 r.

Publikacja androidx.compose.material3:material3:1.0.0-alpha01 Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

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 Material Theming w Compose.