Compose Material 3
androidx.compose.material3
Zajrzyj do dokumentacji API wszystkich pakietów tworzenia
Najnowsza aktualizacja | Wersja stabilna | Kandydat do wydania | Wersja Beta | Wydanie alfa |
---|---|---|---|---|
4 września 2024 r. | 1.3.0 | - | - | - |
Struktura
Compose to kombinacja 7 identyfikatorów grup Maven w androidx
. Każda grupa
zawiera docelowy podzbiór funkcji, z których każda ma własny zestaw wersji;
notatek.
W tej tabeli opisano grupy i linki do poszczególnych zestawów informacji o wersji.
Grupa | Opis |
---|---|
compose.animation, | Twórz animacje w aplikacjach Jetpack Compose, aby wzbogacać wrażenia użytkowników. |
compose.buildr | Przekształcaj funkcje @Composable i optymalizuj funkcje za pomocą wtyczki kompilatora Kotlin. |
compose.foundation | Twórz aplikacje w Jetpack Compose, używając gotowych do użycia elementów składowych, i rozbuduj podstawy, aby tworzyć własne elementy systemu. |
compose.material, | Twórz interfejsy Jetpack Compose z gotowymi do użycia komponentami Material Design. Jest to punkt wejścia wyższego poziomu w Composer, który ma dostarczać komponenty pasujące do tych opisanych na www.material.io. |
compose.material3, | Twórz interfejsy Jetpack Compose z komponentami Material Design 3, które stanowią kolejną wersję Material Design. Material 3 ma zaktualizowane motywy i komponenty oraz funkcje personalizacji Material You, takie jak dynamiczne kolory, i został zaprojektowany tak, aby był spójny z nowym stylem wizualnym i interfejsem systemu na Androidzie 12. |
compose.runtime, | Podstawowe elementy składowe modelu programowania i zarządzania stanem w usłudze Compose oraz podstawowe środowisko wykonawcze, na które ma być kierowana wtyczka kompilatora Compose. |
compose.ui, | Podstawowe elementy interfejsu tworzenia wiadomości niezbędne do interakcji z urządzeniem, w tym układ, rysowanie i wprowadzanie tekstu. |
Deklarowanie zależności
Aby dodać zależność w Compose, musisz dodać repozytorium Google Maven do w projektach AI. Zapoznaj się z repozytorium Google Maven. .
Dodaj zależności artefaktów, których potrzebujesz w pliku build.gradle
aplikacji lub modułu:
Odlotowe
dependencies { implementation "androidx.compose.material3:material3:1.3.0" implementation "androidx.compose.material3:material3-window-size-class:1.3.0" implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.3.0" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material3:material3:1.3.0") implementation("androidx.compose.material3:material3-window-size-class:1.3.0") implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.3.0") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli odkryjesz nowe problemy jak ulepszyć tę bibliotekę. Przyjrzyj się istniejące problemy w tej bibliotece, zanim utworzysz nową. Możesz zagłosować nad istniejącym problemem przez klikając przycisk gwiazdki.
Zobacz dokumentację narzędzia Issue Tracker. .
Compose Material3 – wspólna wersja 1.0
Wersja 1.0.0-alpha01
17 kwietnia 2024 r.
androidx.compose.material3:material3-common:1.0.0-alpha01
, androidx.compose.material3:material3-common-android:1.0.0-alpha01
i androidx.compose.material3:material3-common-desktop:1.0.0-alpha01
zostały udostępnione. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
Komponenty bezmotywowe, których można używać do tworzenia komponentów Material Design:
- Paleta tonalna
- Ikona
- Rozmiar docelowego elementu dotykowego
Compose Material3 Adaptive Navigation Suite w wersji 1.0
Wersja 1.0.0-alpha07
1 maja 2024 r.
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha07
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha07
i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha07
zostały udostępnione. Wersja 1.0.0-alfa07 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Ustaw interfejsy API pakietu nawigacyjnego jako nieeksperymentalne (If62af)
Poprawki błędów
- Domyślnie stosuj wstawki dla treści (50266df)
Wersja 1.0.0-alpha06
17 kwietnia 2024 r.
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha06
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha06
i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha06
zostały udostępnione. Wersja 1.0.0-alfa06 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodaj
containerColor
icontentColor
doNavigationSuiteScaffoldDefaults
. (I64e3a, b/331993720) - Dodaję funkcję
itemColors
do zakresuNavigationSuiteDefaults
. (Idf719, b/328480012) - Zabezpiecz pole
NavigationSuiteScope
. (Iefa57).
Wersja 1.0.0-alpha05
6 marca 2024 roku
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha05
i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha05
zostały udostępnione. Wersja 1.0.0-alfa05 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Ustaw konstruktor
NavigationSuiteItemColors
jako publiczny. (Ica83a, b/324886877)
Wersja 1.0.0-alpha04
21 lutego 2024 r.
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha04
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha04
i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha04
zostały udostępnione. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.
Aktualizacje zależności
- Zaktualizuj zależności adaptacyjne Material3 do nowych ścieżek modułów. (IBc421)
- Przejdź na wersję klas rozmiarów okien z Menedżera okien. (I3794D)
Wersja 1.0.0-alpha03
7 lutego 2024 r.
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha03
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha03
i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03
zostały udostępnione. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Aktualizacja nazwy pakietu z pakietu nawigacji (I7eff7) na pakiet nawigacyjny
- Komponenty Material3 ujawniające wartość
MutableInteractionSource
w interfejsie API zostały zaktualizowane, aby teraz udostępniać wartośćMutableInteractionSource
z wartością null, która domyślnie ma wartość null. Nie ma tu żadnych zmian semantycznych: przekazanie wartości null oznacza, że nie chcesz podnosić obiektuMutableInteractionSource
i w razie potrzeby zostanie on utworzony w komponencie. Zmiana na wartość null umożliwia niektórym komponentom nigdy nie przydzielanie elementuMutableInteractionSource
, a innym komponentom można tworzyć tylko leniwe tworzenie instancji tylko wtedy, gdy jest to konieczne, co zwiększa wydajność tych komponentów. Jeśli nie używasz identyfikatoraMutableInteractionSource
przekazywanego tym komponentom, zalecamy przekazanie wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (I41abb, b/298048146)
Wersja 1.0.0-alpha02
13 grudnia 2023 r.
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02
i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02
zostały udostępnione. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaj „Brak”
NavigationSuiteType
(If8cb1, b/313688598)
Poprawki błędów
- Naprawianie problemu z nawigacją, która wypełnia cały ekran, gdy w poziomie głównym jest
modifier.fillMaxSize
. (c9cf250, b/312664933)
Wersja 1.0.0-alpha01
15 listopada 2023 r.
Usługa androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01
została zwolniona. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
- Scaffoldnawigacji
Compose Material3 w wersji adaptacyjnej 1.0
Wersja 1.0.0-alpha06
7 lutego 2024 r.
androidx.compose.material3:material3-adaptive:1.0.0-alpha06
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha06
i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha06
zostały udostępnione. Wersja 1.0.0-alfa06 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano dodatkowe opcje zachowania podczas przechodzenia wstecz w
ThreePaneScaffoldNavigator
. (I858aa). - Dodano opcjonalną treść miejsca docelowego do historii nawigacji. (Ibd7e6).
Wersja 1.0.0-alpha05
24 stycznia 2024 r.
androidx.compose.material3:material3-adaptive:1.0.0-alpha05
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha05
i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha05
zostały udostępnione. Wersja 1.0.0-alfa05 zawiera te zatwierdzenia.
Nowe funkcje
- Obsługa świadomości historii w nawigacji po scaffold i obliczaniu wartości (I71d46)
Wersja 1.0.0-alpha04
10 stycznia 2024 r.
androidx.compose.material3:material3-adaptive:1.0.0-alpha04
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha04
i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha04
zostały udostępnione. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano obsługę od krawędzi do krawędzi w rusztowaniach panelu (I1b462)
Zmiany interfejsu API
- Przeniesiono właściwości granic zawiasu w Stanach do listy informacji o zawiasie (I24f90)
Poprawki błędów
- Nie utworzono ponownie poprawki
AnimatedPane
(c3f573d)
Wersja 1.0.0-alpha03
13 grudnia 2023 r.
androidx.compose.material3:material3-adaptive:1.0.0-alpha03
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha03
i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03
zostały udostępnione. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Zmień role rusztowania na aliasy organizacji
ThreePaneScaffoldRole
. (I65bd1) - Utwórz klasę bazową dla ról rusztowania (I4784d)
- Usuń zbędny parametr z treści
AnimatedPane
(Ibc73b) - Zmienia nazwę parametru
collectWindowSizeAsState
i zwraca nieprzetworzone wartości (I480f4)
Wersja 1.0.0-alpha02
29 listopada 2023 r.
androidx.compose.material3:material3-adaptive:1.0.0-alpha02
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha02
i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02
zostały udostępnione. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Podziel interfejsy API do nawigacji z adaptacyjnych interfejsów API scaffold. (IC4045).
- Usuń zajęcia
GutterSize
. (I785b3)
Poprawki błędów
- Panele poprawek nie są przełączane, gdy nie jest używany interfejs
AnimatedPane
(d88f181)
Wersja 1.0.0-alpha01
15 listopada 2023 r.
Usługa androidx.compose.material3:material3-adaptive:1.0.0-alpha01
została zwolniona. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
Interfejsy API warunków adaptacyjnych Material3:
Interfejsy API dyrektywy scaffold panelu adaptacyjnego Material3:
Interfejsy API scaffold panelu adaptacyjnego Material3:
- Podstawowe interfejsy API scaffold w panelu
Compose Material3 w wersji 1.3
Wersja 1.3.0
4 września 2024 r.
Usługa androidx.compose.material3:material3-*:1.3.0
została zwolniona. Wersja 1.3.0 zawiera te zatwierdzenia.
Ważne zmiany wprowadzone od wersji 1.2.0
Główne funkcje wersji 1.3.0
Nowe komponenty Material Design 3
- Karuzela
HorizontalMultiBrowseCarousel
iHorizontalUncontainedCarousel
Ulepszenia istniejących komponentów Material Design 3.
- [
ModalBottomSheet
] obsługuje teraz Predictive Back on U+ (Iccf32, b/281967264, b/304850357) - [
SearchBar
] obsługuje teraz Przewidywanie powrotu w U+ (I657f8) - Panel nawigacji (
ModalDrawerSheet
iDismissibleDrawerSheet
) obsługuje teraz funkcję przewidywania w U+ (Ie5b0b) DropdownMenu
obsługuje teraz niestandardowe kolory, kształty, wysokość i obramowanie. (I8e981,b/289554448, b/301887035, b/283654243)- Zaktualizowaliśmy suwak, aby zwiększyć dostępność przez dodanie przerwy i wskaźnika zatrzymania. (I3058e)
- Zaktualizowano
ProgressIndicator
, aby zwiększyć dostępność przez dodanie przerwy i wskaźnika przystanku. (I21451) - Dodano domyślny daszek na etykietkę rozszerzoną. Obsługuj niestandardowy kursor przy rysowaniu kotwicy
LayoutCoordinates
. (Ifd42c). Niezbędne zmiany - Nowe interfejsy API „przeciągnij, aby odświeżyć”:
- Uprościliśmy interfejs
PullToRefreshState
, aby używać wartości ułamkowych zamiast jednostek Dp. - Stanem
isRefreshing
zarządza użytkownik, a niePullToRefreshState
. - Oddzielono zagnieżdżone połączenie przewijania od
PullToRefreshState
. Jest obsługiwana przez nowePullToRefreshBox
lubModifier.pullToRefresh
. - Ta aktualizacja wprowadza niezmienną zmianę w stosunku do poprzednich eksperymentalnych interfejsów API. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683) Przełomowe zmiany wizualne
- Uprościliśmy interfejs
- Zaktualizuj nakładkę stanu ostrości na 0,1f, aby zapewnić wystarczający kontrast kolorów. (I7Ea77)
- Niewielkie zmiany domyślnych kolorów powierzchni i tła w
lightColorScheme
idarkColorScheme
. (I9db52). - Zaktualizowano kolory suwaka i
ProgressIndicator
, aby były zgodne z nowymi specyfikacjami kontrastu nietekstowego. (I26807) SurfaceContainer
wariantu jest teraz używane przez komponenty. Komponenty, które formalnie obliczały kolor za pomocą funkcjiSurface
iTonalElevation
, używają teraz domyślnie rólSurfaceContainer
, na które nie wpływa uniesienie tonacji. (b/304584161)- Nieznacznie dostosowaliśmy role bazowe kontenera Surface i Powierzchnia, zwiększając odcień w motywach jasnych i ciemnych. (I677a5)
- Oznaczono eksperymentalne interfejsy API do wersji stabilnej.
- Poprawa wydajności.
Wersja 1.3.0-rc01
21 sierpnia 2024 r.
Usługa androidx.compose.material3:material3-*:1.3.0-rc01
została zwolniona. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
ModalBottomSheet
jest teraz na pierwszym miejscu w kolejności przemierzania semantycznego, a za nim jest próbka. (I436f9, b/358594665)
Wersja 1.3.0-beta05
24 lipca 2024 r.
Usługa androidx.compose.material3:material3-*:1.3.0-beta05
została zwolniona. Wersja 1.3.0-beta05 zawiera te zatwierdzenia.
- Rozwiązaliśmy problem polegający na tym, że na Androidzie N i O (a10a2d) brakuje treści
BottomSheet
lub są one ucinane - Zwiększono granice semantyki suwaka, aby umożliwić
TalkBack
prawidłowe wyświetlanie wskaźników ostrości wokół kciuków. (0B5a1d)
Wersja 1.3.0-beta04
26 czerwca 2024 r.
Usługa androidx.compose.material3:material3-*:1.3.0-beta04
została zwolniona. Wersja 1.3.0-beta04 zawiera te zatwierdzenia.
Wersja 1.3.0-beta03
12 czerwca 2024 r.
Usługa androidx.compose.material3:material3-*:1.3.0-beta03
została zwolniona. Wersja 1.3.0-beta03 zawiera te zatwierdzenia.
Treści tłumaczone przez użytkowników zewnętrznych
- Udostępnij element
androidx.compose.material3.DropdownMenu
ze wspólnego zestawu źródeł. (If62c0).
Wersja 1.3.0-beta02
29 maja 2024 r.
Usługa androidx.compose.material3:material3-*:1.3.0-beta02
została zwolniona. Wersja 1.3.0-beta02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Funkcja
Modifier.pullToRefreshIndicator
obsługuje podwyższenie, zaktualizuj interfejsy API pull do odświeżania, tak aby korzystała z wartości logicznej zamiast lambda. Obsługuj wyrównywanie treści wPullToRefreshBox
(I75679) - Przekształcanie uszczelnionego interfejsu w interfejsie
TooltipScope
i tworzenie wewnętrznej implementacji do użytku wTooltipBox
i Etykietach. (I3833e) - Dodaliśmy 2 nowe modyfikatory do elementów
CarouselItemScope
–maskClip
imaskBorder
– aby łatwo dodać kształt i obramowanie do dowolnego elementu karuzeli (Id67a1). TimePickerState
to teraz interfejs umożliwiający ustawienie godziny (I88546)- Zaktualizowany interfejs API do określania stylu linków: przenieś
TextLinkStyles
doTextStyle
i usuniętoTextDefaults
z materiału. (I5477b)
Poprawki błędów
- Ikony stanu i paska nawigacyjnego w
ModalBottomSheet
odpowiadają teraz na stan ciemnego motywu. (Ie1fe7, b/338342149) - Dodano semantykę zamknięcia arkusza do wykresu
ModalBottomSheet
. (0E61cb,B/328801864)
Treści tłumaczone przez użytkowników zewnętrznych
- Udostępnij element
androidx.compose.material3.AlertDialog
ze wspólnego zestawu źródłowego (Ia33f5) - Udostępnij element
ModalBottomSheet
ze wspólnego zestawu źródeł (Id7cc7)
Wersja 1.3.0-beta01
14 maja 2024 r.
Usługa androidx.compose.material3:material3-*:1.3.0-beta01
została zwolniona. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Używam
DpSize
zamiastCaretProperties
. Usuwam aplikacjęCaretProperties
. Zmień nazwęCaretScope
naTooltipScope
. (Id9a76) - Zaktualizowaliśmy interfejs API pod kątem pobierania w tekście linków o tematyce Material. W tym celu usunęliśmy metody z
TextDefaults
do tworzenia tematycznychLinkAnnotations
i analizuj kod HTML za pomocą linków tematycznych. Zamiast tego dodaliśmy klasęTextLinkStyles
, która pozwala na określenie stylu linków jako parametr funkcji Text composable. (I31b93)
Wersja 1.3.0-alpha06
1 maja 2024 r.
Usługa androidx.compose.material3:material3-*:1.3.0-alpha06
została zwolniona. Wersja 1.3.0-alfa06 zawiera te zatwierdzenia.
Zmiany najważniejsze
Nowe interfejsy API „przeciągnij, aby odświeżyć”:
- Uprościliśmy interfejs
PullToRefreshState
, aby używać wartości ułamkowych zamiast jednostek Dp. - Stanem
isRefreshing
zarządza użytkownik, a niePullToRefreshState
. - Oddzielono zagnieżdżone połączenie przewijania od
PullToRefreshState
. Jest obsługiwana przez nowePullToRefreshBox
lubModifier.pullToRefresh
. - Ta aktualizacja wprowadza niezmienną zmianę w stosunku do poprzednich eksperymentalnych interfejsów API. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683)
- Uprościliśmy interfejs
Zmiany interfejsu API
- Tabela
RippleConfiguration#isEnabled
została usunięta, a domenaLocalRippleConfiguration
może mieć wartość null. Aby wyłączyć Echo, zamiast podawaćRippleConfiguration
zisEnabled = false
, podajnull
dlaLocalRippleConfiguration
. (I22725) - Gdy funkcja
ModalBottomSheet
jest włączona, rysowanie grafiki na pasku stanu jest dokładniejsze. Modalna treść planszy dolnej może teraz zajmować wstawki w oknach, co pozwala wyświetlać treści nad paskiem nawigacyjnym. Zmieniono nazwę parametruModalBottomSheet
windowInsets
nacontentWindowInsets
, aby określić, gdzie będą stosowane wstawki. Nie są one już powiązane z logiką okna. TypcontentWindowInsets
został zmieniony na funkcję, która zwraca wartośćWindowInsets
, aby można ją było znaleźć w nowym oknie. (I39630, b/274872542, b/300280229, b/290893168) PrimaryScrollableTabRow
iSecondaryScrollableTabRow
używają teraz układu niestandardowego zamiast podkompozycji, co powinno zwiększyć skuteczność. (I991e0).- Oprócz normalnego stylu, najechania kursorem i zaznaczenia linki tekstowe otrzymały opcję stylizacji stanu naciśniętego. Każda z metod (
TextDefaults
) otrzymała argumentpressedStyle
na potwierdzenie. (Ic473f, b/139312671)
Poprawki błędów
- Reklamy zakotwiczone przeciągania panelu nawigacji mają teraz taką samą szerokość, jak
drawerContent
. (Ibc72f, b/245355396) OutlinedTextField
dopełnienie u góry etykiety uwzględnia teraz systemowy rozmiar czcionki. (Idc781).- Poprawiono lokalizację pakietu
CalendarLocale
. (Ifa235). - [Przewidywanie wsteczne] Aktualizacja animacji wstecznych, aby używać krzywej interpolacji (0,1, 0,1, 0, 1) (I2591a)
Wersja 1.3.0-alpha05
17 kwietnia 2024 r.
Usługa androidx.compose.material3:material3-*:1.3.0-alpha05
została zwolniona. Wersja 1.3.0-alfa05 zawiera te zatwierdzenia.
Nowe funkcje
SearchBar
iDockedSearchBar
mają nowe przeciążenia, które przyjmują parametr pola tekstowego. Umożliwia to określenie stylu pola tekstowego niezależnie od reszty paska wyszukiwania oraz przekazanie niestandardowych pól tekstowych. Pole tekstowe bieżącej implementacji zostało udostępnione jakoSearchBarDefaults.InputField
. (I50c73, b/275074248, b/278773336, b/326627700)- funkcja lambda
drawTick
została dodana do publicznego interfejsu API, aby w razie potrzeby dostosować znaczniki (I0c048).
Zmiany interfejsu API
- Oprócz standardowego stylu, najechania kursorem i zaznaczenia linków tekstowych dostępna jest opcja stylizacji naciśniętych linków (I5f864, b/139312671)
- Zaktualizowano
CarouselItemInfo
, aby odsłonić prostokąt maski, przez który przycinany jest element (I785d8) - Usunięto interfejs
BasicTooltipState
z publicznego interfejsu API Material 3. Jego funkcjonalność jest połączona z funkcjąTooltipState
do czasu ustabilizowania sięBasicTooltip
fundacji. (Icda29). - Dodano obiekt
TextDefaults
, który zawiera metody tworzenia obiektuLinkAnnotation
i analizowania ciągu z tagami HTML, który powoduje zastosowanie parametruMaterialTheme
do linków (I98532, b/139312671). ExposedDropdownMenuBoxScope
nie zezwala już na podklasy. Widoczne menu zawierają teraz poleMenuAnchorType
, które należy przekazać domenuAnchor
, aby zapewnić lepsze działanie. Należy go używać zamiast przekazywaniafocusable
do metodyExposedDropdownMenu
, która została już wycofana. W elemenciemenuAnchor
dodano nowy parametr do sterowania stanemenabled
. (I55ee6, b/257209915, b/308840226)- Naprawiono kolor obramowania elementu
OutlinedButton
, gdy był wyłączony. Dodano przeciążenieButtonDefaults.outlinedButtonBorder("enabled")
, które przyjmuje stan włączenia. (IE650b, b/318461363) - Dodaliśmy nową klasę
CarouselItemInfo
, aby pomóc klientom uzyskać informacje o rozmiarach produktów. (I9070C) - Konstruktor
ColorScheme
bez kontenerów powierzchni został wycofany. Przejdź na konstruktor, który zawiera kontenery powierzchni. (I35c11) - [Z konturem]
TextFieldDefaults
ContainerBox
został zmieniony naContainer
. (IE8d3b)
Poprawki błędów
- Jeśli
sheetSwipeEnabled
ma wartość fałsz,BottomSheetScaffold
nie będzie już przewijać z zagnieżdżonego przewijania. (I5e1c1, b/306464779) - Usunięto adnotację
ExperimentalMaterial3Api
dotyczącą akceptacji w:IconButtonSamples.kt
. (I111d1)
Wersja 1.3.0-alfa04
3 kwietnia 2024 r.
Usługa androidx.compose.material3:material3-*:1.3.0-alpha04
została zwolniona. Wersja 1.3.0-alfa04 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy 2 eksperymentalne wersje karuzeli Material3 –
HorizontalMultiBrowseCarousel
iHorizontalUncontainedCarousel
(I88d64). - Zaktualizowaliśmy panel tworzenia wiadomości M3 Nav (
ModalDrawerSheet
iDismissibleDrawerSheet
), aby obsługiwać funkcję przewidywania powrotu w U+ w ramach opcji akceptacji (Ie5b0b) - Dodaliśmy nowy interfejs API w sekcji Ikona, aby umożliwić przekazywanie odcienia kolorów jako lambda w celu uniknięcia ponownego kompilowania danych. (I5b5a2)
- Interfejsy API górnego paska aplikacji obsługują teraz niestandardowe wysokości zarówno dla sekcji stałych, jak i zwijanych. (Ib8b0c, b/323403446)
Zmiany interfejsu API
- Interfejsy API górnego paska aplikacji obsługują teraz niestandardowe wysokości zarówno dla sekcji stałych, jak i zwijanych. Rozwiązaliśmy problem, który powodował, że podczas przewijania treści pasków aplikacji u góry z jednego wiersza zbyt wiele razy były przekomponowane. Rozwiązaliśmy problem, który powodował, że usługa
MediumTopAppBar
skracała tytuły na urządzeniach z dużymi ustawieniami czcionki i wyświetlania. (Ib8b0c, b/323403446, b/300953236, b/286296147, b/330410290, b/308540676) SegmentedButton
i powiązane z nim interfejsy API są teraz stabilne (I8a158)SwipeToDismissBox
,SwipeToDismissBoxDefaults
,SwipeToDismissBoxState
iSwipeToDismissBoxValue
są teraz oznaczone jako stabilne. (I5f000)- Usunięto wycofane wyliczenia i interfejsy API
DismissDirection
iDismissValue
. (I89ccd) - Do obiektu towarzyszącego karuzeli
CarouselState
został dodany tag eksperymentalny. (I94154) - Wycofano interfejs
LocalMinimumInteractiveComponentEnforcement
i wprowadziliśmy w jego miejsce elementLocalMinimumInteractiveComponentSize
. (I7a7ac). - Konstruktor
SearchBarColors
jest teraz publiczny. (I769ca) - Do usługi
SwipeToDismissBox
dodano parametrgesturesEnabled
. (Idc59f, b/324170119) - Usunęliśmy interfejsy API pól tekstowych, które zostały oznaczone jako wycofane i eksperymentalne. (I1305f)
Wersja 1.3.0-alfa03
20 marca 2024 r.
Usługa androidx.compose.material3:material3-*:1.3.0-alpha03
została zwolniona. Wersja 1.3.0-alfa03 zawiera te zatwierdzenia.
Ważne zmiany w wersji wizualnej
- Zaktualizuj nakładkę stanu ostrości na 0,1f, aby zapewnić wystarczający kontrast kolorów. (I7Ea77)
- Niewielkie zmiany domyślnych kolorów powierzchni i tła w
lightColorScheme
idarkColorScheme
. (I9db52).
Nowe funkcje
- Dodano parametry pozwalające dostosować
ExposedDropdownMenu
. W szczególności menu zawiera teraz parametrfocusable
(domyślnytrue
), który podczas pracy z edytowalnymi polami tekstowymi powinien mieć wartośćfalse
. (I4184c, b/323694447, b/278609042)
Zmiany interfejsu API
- Flaga
ScaffoldSubcomposeInMeasureFix
została usunięta. (IE2a4b) NavigationRailItemColors
jest teraz oznaczony jako@Immutable
. (If6112, b/327660613)NavigationBarItemColors
jest teraz oznaczony jako@Immutable
. (I42a30, b/298064514)- Zmień kolejność parametrów w funkcji kompozycyjnej ścieżki suwaka. (I9f315)
- Interfejs
ExposedDropdownMenu
został wdrożony za pomocą taguPopup
. Działanie powinno być takie samo, ale menu z edytowalnymi polami tekstowymi może zostać zamknięte podczas pisania na klawiaturze.
Poprawki błędów
- Nieznacznie dostosowaliśmy role bazowe kontenera Surface i Powierzchnia, zwiększając odcień w motywach jasnych i ciemnych. (I677a5)
- Zaktualizowano kolory suwaka i
ProgressIndicator
, aby były zgodne z nowymi specyfikacjami kontrastu nietekstowego. (I26807) - Zaktualizuj nakładkę stanu ostrości na 0,1f, aby zapewnić wystarczający kontrast kolorów. (I7Ea77)
- Niewielkie zmiany domyślnych kolorów powierzchni i tła w
lightColorScheme
idarkColorScheme
. (I9db52).
Wersja 1.3.0-alfa02
6 marca 2024 roku
Usługa androidx.compose.material3:material3-*:1.3.0-alpha02
została zwolniona. Wersja 1.3.0-alfa02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Ustawianie suwaka jako stabilne. Znowu zmienię rolę
State.onValueChangeFinished
na wartość. Zawijam plikonValueChangeFinished
w elemencierememberUpdatedState
. (I82ab2, b/322269951) - Komponenty Nawigacja używają teraz nowych ról
SurfaceContainer
.DrawerDefaults
udostępnia teraz różne atrybutystandardContainerColor
imodalContainerColor
.DrawerDefaults.ModalDrawerElevation
to teraz0.dp
. (I7fbac) - Usuwam
@Stable
ze stanówSlider
, ponieważ zmieniamy stanstate.onValueChangeFinished
navar
. (Ied34a, b/322269951) - Specyfikacja animacji
ModalBottomSheet
iStandardBottomSheet
to terazTweenSpec
, zaktualizowana na podstawie wiosennej animacji. Pozwala to rozwiązać problem z widocznym zbyt długim przecięciem. Usunięto wycofane konstruktorySheetState
bez gęstości. (I7babc, b/285847707)
Poprawki błędów
SurfaceContainer
wariantu jest teraz używane przez komponenty. Komponenty, które formalnie obliczały kolor za pomocą Powierzchnia iTonalElevation
, używają teraz domyślnie rólSurfaceContainer
, na które nie wpływa uniesienie tonacji. (b/304584161)- Naprawiliśmy błąd, który powodował, że niezaznaczony, wyłączony kolor kontenera
ElevatedFilterChip
jest czarny. (I400e6, b/322407043) - Naprawianie nieokreślonego wskaźnika postępu, gdy postęp wynosi 0 (Id6582)
- Usunięto problem z polami
Slider
iRangeSlider
w układzie od prawej do lewej (Iab0e1). - Dodaję
SliderRangeTolerance
do obliczenia zakresu suwaka, ponieważ zaokrąglanie liczb zmiennoprzecinkowych może być niedokładne. (IC918a, b/324934900) - Upewnij się, że
DatePickerDialog
wyświetla przyciski podczas zagnieżdżania obiektuDateRangePicker
lub wyświetlania dowolnego typu selektora daty na małych ekranach z większymi czcionkami. (IE4758, b/325107799, b/277768544) Menu
wykorzystuje teraz rolęSurfaceContainer
w przypadku koloru kontenera.MenuDefaults.TonalElevation
to teraz0.dp
. (I135b7)TextField
wykorzystuje teraz rolęSurfaceContainerHighest
w przypadku koloru kontenera. (I4dded)- Elementy o podwyższonym standardzie korzystają teraz z roli
SurfaceContainerLow
(I7cd2f) - Kolor kontenera
DatePicker
to terazSurfaceContainerHigh
.DatePickerDefaults.TonalElevation
to teraz0.dp
. (Ida753). - Zmienia kolor kontenera dolnych arkuszy i kolor uchwytu przeciągania. (I72a0a)
- Kolor kontenera
RichTooltip
to terazSurfaceContainer
. (Ia8b45). - Kolor kontenera
SearchBar
to terazSurfaceContainerHighest
.SearchBarDefaults.TonalElevation
to teraz0.dp
. (I88604) - Przełącznik aktualizacji jest wyłączony, a odznaczone ścieżki/ikony wykorzystują rolę koloru
SurfaceContainerHighest
. (I7687a) - Kolor kontenera
AlertDialog
to terazSurfaceContainerHigh
. (IE0433) - Kolor kontenera
BottomAppBar
to terazSurfaceContainer
. KolorTopAppBar
(onScroll
) to terazSurfaceContainer
. (I41630) - Kolor kontenera
ElevatedCard
to terazSurfaceContainerLow
.FilledCard
: kolor kontenera:SurfaceContainerHighest
. (I35141) - Kolor kontenera
ElevatedButton
to terazSurfaceContainerLow
. ElementyFilledIconButton
niezaznaczone mają teraz kolor konteneraSurfaceContainerHighest
. (I792C9) - Zmieniono rolę koloru kontenera i tarczy zegara
TimePicker
naSurfaceContainerHighest
. (I43b93)
Wersja 1.3.0-alpha01
21 lutego 2024 r.
Usługa androidx.compose.material3:material3-*:1.3.0-alpha01
została zwolniona. Wersja 1.3.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
- Aktualizacja funkcji Utwórz M3
ModalBottomSheet
, aby obsługiwała przewidywania w U+ (Iccf32, b/281967264, b/304850357) - Aktualizacja funkcji Utwórz M3
SearchBar
, by obsługiwała przewidywania w U+ (I657f8) - Zaktualizowaliśmy suwak, aby zwiększyć dostępność przez dodanie przerwy i wskaźnika zatrzymania. (I3058e)
- Zaktualizowano
ProgressIndicator
, aby zwiększyć dostępność przez dodanie przerwy i wskaźnika przystanku. (I21451) - Dodanie domyślnego kursora dla etykietki sformatowanej umożliwia teraz rysowanie niestandardowego kursora przez kotwicę
LayoutCoordinates
. (Ifd42c).
Zmiany w działaniu
- Komponenty materiałowe zostały przeniesione do nowych interfejsów API Ripple i nie są już wysyłane do
RippleTheme
.
Zmiany interfejsu API
- Miejsce zabawy „
drawStopIndicator
” jest teraz dostępne publicznie. (I3f59f) - Oznacz funkcję
formatWithSkeleton
wDatePicker
jako wewnętrzną (Ic65dc) DropdownMenu
obsługuje teraz niestandardowe kolory, kształty, wysokość i obramowanie. (I8e981, b/289554448, b/301887035, b/283654243)- Komponenty Material3 ujawniające wartość
MutableInteractionSource
w interfejsie API zostały zaktualizowane, aby udostępniać wartośćMutableInteractionSource
z wartością null, która domyślnie wynosinull
. Nie ma tu żadnych zmian semantycznych: przekazanie wartości null oznacza, że nie chcesz podnosić obiektuMutableInteractionSource
i w razie potrzeby zostanie on utworzony w komponencie. Zmiana na wartość null umożliwia niektórym komponentom nigdy nie przydzielanie elementuMutableInteractionSource
, a innym komponentom można tworzyć tylko leniwe tworzenie instancji tylko wtedy, gdy jest to konieczne, co zwiększa wydajność tych komponentów. Jeśli nie używasz identyfikatoraMutableInteractionSource
przekazywanego tym komponentom, zalecamy przekazanie wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (I41abb, b/298048146) - Dodaje zmienne
RippleConfiguration
iLocalRippleConfiguration
, które pozwalają na dostosowanie fal z wykorzystaniem stałych wartości w przypadku poszczególnych komponentów / drzew podrzędnych. Na przykład w celu zmiany koloru komponentu, którego nie kontrolujesz, lub wyłączenia fali komponentu. W większości przypadków należy użyć wartości domyślnych: te interfejsy API są drogą awaryjną pozwalającą na dostosowanie poszczególnych komponentów lub wybranych drzew podrzędnych. W przypadku szerszych zmian i niestandardowych systemów projektowych warto zamiast tego utworzyć własny zakres za pomocącreateRippleModifierNode
. (I7b5d6, b/298048146) - Dodaje nowy interfejs Ripple API w material3, który zastępuje wycofany interfejs
rememberRipple
. Dodaje też tymczasowyCompositionLocal
(LocalUseFallbackRippleImplementation
) w celu przywrócenia komponentów Material3 do wycofanych interfejsów APIrememberRipple
/RippleTheme
. Zostanie ona usunięta w następnej stabilnej wersji. Jest przeznaczona tylko do tymczasowej migracji w przypadku, gdy udostępniasz niestandardowyRippleTheme
. (I34cbc, b/298048146)
Poprawki błędów
- W celu zwiększenia wydajności usunięto składnię wewnątrz elementu
ModalBottomSheet
. Rozwiązaliśmy problem, który powodował awarię pakietuModalBottomSheet
w określonych sytuacjach w połączeniu z zasadąLookaheadScope
. (I2a198). - W celu zwiększenia wydajności usunięto składnię wewnątrz elementu
BottomSheetScaffold
. Rozwiązaliśmy problem, który powodował awarię pakietuBottomSheetScaffold
w określonych sytuacjach w połączeniu z zasadąLookaheadScope
. (IE6401). - Logo zostanie wyrównane tak, aby znajdowało się bliżej środka reklamy zakotwiczonej w stosunku do prawego górnego rogu. (I18a28)
- Rozwiąż problem 11-y z polem
DateRangePicker
, który powodował, że tytuł tekstu z miesiąca został przekazany jako aktywny dla czytników ekranu, użytkowników Switch Access i Voice Access. (I2ac55), - Naprawiliśmy
mediumTopAppBarColors
błąd w kolejności parametrów. (Ibe64a).
Wersja 1.2
Wersja 1.2.1
6 marca 2024 roku
Usługa androidx.compose.material3:material3-*:1.2.1
została zwolniona. Wersja 1.2.1 zawiera te zatwierdzenia.
Poprawki błędów
- Ponownie ustaw stabilny stan suwaka. Znowu zmienię rolę
State.onValueChangeFinished
na wartość. Zawijam plikonValueChangeFinished
w elemencierememberUpdatedState
. (Ie8fd0, b/322269951) - Usuwam
@Stable
ze stanówSlider
, ponieważ zmieniamy stanstate.onValueChangeFinished
navar
. (I82ba1, b/322269951) - Popraw
NavigationBar
kolorów niestandardowych, aby skopiować je z domyślnych. (80a779, b/326894020) - Popraw regresję w elemencie
ExposedDropdownMenu
, aby znów można było go zaznaczyć (3fcec1, b/323694447) - Rozwiąż problem z buforowaniem koloru przycisku (3e5bbcb/327371655)
Wersja 1.2.0
7 lutego 2024 r.
Usługa androidx.compose.material3:material3-*:1.2.0
została zwolniona. Wersja 1.2.0 zawiera te zatwierdzenia.
Znany problem
- W ramach zmiany dotyczącej zwiększenia wydajności w
PrimaryTabRow
wprowadziliśmy błąd związany z renderowaniem w ramach współdziałania z View-Compose. Można obejść ten problem, używając metodyTabRow
z parametremTabRowDefaults.PrimaryIndicator
Ważne zmiany od wersji 1.1.0
Nowe komponenty Material Design 3
- Pociągnij, aby odświeżyć
- Przycisk podzielony na segmenty
- SegmentedButton (Przycisk segmentowy)
- Jednowybrany segmentPrzycisku
- MultiChoiceSegmentedButtonRow
Ulepszenia istniejących komponentów Material Design 3.
- Dolny pasek aplikacji (wyrównanie od prawej do lewej, automatyczne ukrywanie przy przewijaniu)
- Aktualizacja wizualnej kart
- Plakietka (aktualizacja wyrównania)
Przeniesienie eksperymentalnych interfejsów API do wersji stabilnej
Ulepszenia wydajności
- Więcej informacji znajdziesz w tym poście na blogu.
Wersja 1.2.0-rc01
24 stycznia 2024 r.
Usługa androidx.compose.material3:material3-*:1.2.0-rc01
została zwolniona. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiliśmy
mediumTopAppBarColors
błąd w kolejności parametrów. (Ibe64a). - Naprawiliśmy błąd związany z funkcją
1.2.0-beta02
w narzędziuCardDefaults.cardColors
, w którymcontentColor
nie był aktualizowany na podstawie wartości parametrucontainerColor
. (Iee041, b/319671246) - Naprawiliśmy błąd w funkcji
disabledContentColor
wprowadzony w aplikacji1.2.0-beta02
i dodaliśmy niewielką optymalizację. (I6dda1, b/318428829)
Wersja 1.2.0-beta02
10 stycznia 2024 r.
Usługa androidx.compose.material3:material3-*:1.2.0-beta02
została zwolniona. Wersja 1.2.0-beta02 zawiera te zatwierdzenia.
Znany błąd
- Błąd w
IconButtonColors
domyślnie przypiszedisabledContentColor
do wersji alfa (0,38f)LocalContentColor
zamiast docontentColor
określonej przez użytkownika. Można obejść ten problem, ustawiając właściwośćdisabledContentColor
. Poprawimy to w następnej wersji.
Zmiany interfejsu API
- Dodano możliwość włączenia karetek etykietki dla interfejsów API zwykłego
Tooltip
. (IBF767) SwipeToDismissState
,rememberSwipeToDismiss
iSwipeToDismissValue
zostały przemianowane na_SwipeToDismissBox_
. (I68d6d)
Poprawki błędów
- Poprawiono wartość dopełnienia końcowego
ListItem
, aby dostosować ją do specyfikacji. (Ibd68b, b/305342674) - Kolor konspektu karty jest teraz prawidłowo mapowany na
OutlineVariant
. (I75480, b/310979715) - Dynamiczny kolor jest teraz pobierany z ról kolorów zdefiniowanych przez system. Zwiększa to kontrast treści z ułatwieniami dostępu i jeszcze lepiej dopasowuje dynamiczne kolory do specyfikacji Material. (I1de96).
- Usunięto obsługę cofania w trybie
ModalBottomSheet
w Androidzie T/13 i nowszych w wersjiandroid:enableOnBackInvokedCallback="true"
. (I728dc, b/306196110)
Wersja 1.2.0-beta01
13 grudnia 2023 r.
Usługa androidx.compose.material3:material3-*:1.2.0-beta01
została zwolniona. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Oznacz
TabIndicatorScope
jako eksperymentalną. (I45c88) - Usunięto wycofane, eksperymentalne interfejsy API na potrzeby etykietki. (I438cb)
- Aby nie używać podkompozycji, zmień nowe przeciążenia funkcji
TabRow
. W rezultacie w inny sposób tworzy się wskaźnikiTabRow
z użyciem dostępnych modyfikatorów niestandardowych. (Ife741). - Wycofujemy interfejsy API
DismissDirection
iDismissValue
. Zostały one scalone z zasadąSwipeToDismissValue
, której wartości wskazują zarówno pozycję, jak i kierunek elementuSwipeToDismissBox
.DismissState.progress
jest teraz oznaczony jakoFloatRange
między0.0
a1.0
.DismissState
wycofane narzędzia Zapisz i Konstruktor zostały usunięte. ObiektSwipeToDismiss
, stan i obiekty domyślne zostały oznaczone jako eksperymentalne. (IB54f2)
Poprawki błędów
- Domyślny wskaźnik dla opcji
PullToRefresh
to teraz otwarty grot strzałki zamiast pełnego trójkąta. (I67be3).
Wersja 1.2.0-alfa12
29 listopada 2023 r.
Usługa androidx.compose.material3:material3-*:1.2.0-alpha12
została zwolniona. Wersja 1.2.0-alfa12 zawiera te zatwierdzenia.
Zmiany interfejsu API
RangeSlider
przyjmuje teraz zakres Kotlin (np.0f..1f
) zamiast niestandardowej klasy wartościFloatRange
.SnapFlingBehavior.kt
używa teraz także zakresu Kotlin. (I025cb)- Oznacz funkcje fabryczne modyfikatora jako
@Stable
. (IB109f).
Wersja 1.2.0-alfa11
15 listopada 2023 r.
Usługa androidx.compose.material3:material3-*:1.2.0-alpha11
została zwolniona. Wersja 1.2.0-alfa11 zawiera te zatwierdzenia.
Nowe funkcje
- Implementuje
PullToRefreshContainer
iPullToRefreshState
, które razem zapewniają implementację pull do odświeżania w Material3. (I16456, b/261760718)
Zmiany interfejsu API
- Oznacz
SwipeToDismissBox
DismissDirection
iDismissValue
jako eksperymentalne. (I517b0) - Zmień nazwę
SwipeToDismiss
naSwipeToDismissBox
. Zmień nazwę kolumnybackground
nabackgroundContent
, adismissContent
na końcowecontent
. (I7f4d3) - Ustaw konstruktor dla
ChipElevation
iSelectableChipElevation
jako publiczny. (Ie0c48, b/308432421) - Dodaję:
ModalBottomSheetProperties
. Przenoszę elementsecurePolicy
do folderuModalBottomSheetProperties
. DodajęisFocusable
ishouldDismissOnBackPress
doModalBottomSheetProperties
. Te nowe wartości logiczne pomagają określić, jak modalna plansza dolna powinna obsługiwać zdarzenia IME. (Iea56f, b/278216859) - Zaktualizowano stany
RangeSlider
iSlider
, usuwającinitialOnValueChange
, początkowe prefiksy i odpowiednie dokumenty kdocs. (I57d30) - Wycofanie klasy
ChipBorder
i powiązanych z nią wywołań funkcji. Zalecamy bezpośrednie użycie klasyBorderStroke
. (I89cc2). - Interfejsy API funkcji Foundation etykiet to teraz
@ExperimentalFoundationApi
. (I30B0B) - Metody
TabRow
iScrollableTabRow
nie są już wycofane. Nowe warianty, główne i dodatkowe, są oznaczone jako eksperymentalne. (I0def6). - Elementy filtra i danych wejściowych używają teraz bezpośrednio
BorderStroke
. (I07a8d) SegmentedButton
korzysta teraz bezpośrednio z usługiBorderStroke
. (I89b9b)- Zmieniliśmy nazwę ogólnej funkcji
AlertDialog
naBasicAlertDialog
i wycofaliśmy poprzednią. (Idbe52). - Zmień nazwę interfejsów API
SwipeToDismiss
naSwipeDismiss
i promuj nowe interfejsy APISwipeDismiss
jako stabilne. (I14cbe). - Dodano
tonalElevation
ishadowElevation
do interfejsów API etykietek. Dodatkowo przenosimy interfejsy APITooltipBox
,PlainTooltip
iRichTooltip
z powrotem do wersji eksperymentalnej, ponieważ zostały one przypadkowo opublikowane jako stabilne. (If0f66, b/293939035) - Zmień eksperymentalne interfejsy API układów na stabilny. (Iea2c3).
- Usunęliśmy adnotację
@ExperimentalMaterial3Api
z klikalnych kart Material3. (I88dbf).
Poprawki błędów
- Rozwiązaliśmy problem, który powodował awarię
SwipeToDismiss
w niektórych sytuacjach z zagnieżdżonymi układami Lookahead i Leniwy. (Ica8d1, b/297226562)
Wersja 1.2.0-alfa10
18 października 2023 r.
Usługa androidx.compose.material3:material3-*:1.2.0-alpha10
została zwolniona. Wersja 1.2.0-alfa10 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Przenosim
Badge
iBadgedBox
do stabilnej wersji. (I67f16, b/261565132) - Dodaję
securePolicy
jako parametr doModalBottomSheet
, aby użytkownicy mogli definiować działanie funkcjiWindowManager.LayoutParams.FLAG_SECURE
. (Icdac8, b/296250262) - Dodano nowe przeciążenia wartości
LinearProgressIndicator
iCircularProgressIndicator
, które jako lambda przyjmują parametrprogress
. Powinny one być wydajniejsze niż poprzednie wersje. (I824e6, b/295616656) - Zmienia nazwę
StandardSizeClasses
naAllSizeClasses
. (I8cb07) - Łączenie funkcji obliczeniowych klas rozmiaru okna. (IAD935).
Poprawki błędów
- Naprawianie awarii
DatePicker
polegającej na szybkim kliknięciu przycisków strzałek nawigacji, gdy wyświetlany miesiąc zbliża się do dozwolonego zakresu lat. (I46f36, b/290954897, b/297002119) - [Kolejka nawigacyjna/bar] Obsługa przezroczystego koloru wskaźnika. (Ie0a9b, b/267289987)
Wersja 1.2.0-alpha09
4 października 2023 roku
Usługa androidx.compose.material3:material3-*:1.2.0-alpha09
została zwolniona. Wersja 1.2.0-alfa09 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Przeniesiono interfejsy
ModalNavigationDrawer
iDismissibleNavigationDrawer
, aby można było korzystać z nowych interfejsów APIAnchoredDraggable
. MetodaanimateTo
funkcjiDrawerState
została zastąpiona metodami otwarcia i zamknięcia, a przesunięcie jest teraz wyświetlane jako liczba zmiennoprzecinkowa zamiast obiektu stanu. Dostęp do przesunięcia możesz uzyskać bezpośrednio na stroniecurrentOffset
. (I0a72c) - Dodano funkcje niekompozycyjne, aby bezpośrednio tworzyć funkcje
DatePickerState
iDateRangePickerState
. Tych funkcji możesz w razie potrzeby używać jako zamienników funkcjirememberDatePickerState
irememberDateRangePickerState
funkcji kompozycyjnych. (I70326, b/291524052) - Wersje stałe i przewijane
TabRows
mają teraz warianty główne i dodatkowe. Są one prawidłowo zmapowane na kolor i działanie wskaźników zgodnie z definicją w Material3. PrimaryScrollableTabRow
iSecondaryScrollableTabRow
udostępniają teraz stan przewijania. (Iec8f5, b/260572337)- Dodanie nowego parametru
sheetMaxWidth
, który deweloperzy mogą ustawić, aby określić maksymalną szerokość arkusza. Dp.Nieokreślony parametr może zostać przekazany jako parametr, jeśli potrzebny jest arkusz rozciągający się na całą szerokość ekranu. (Ifb7c9, b/266697696) - Dodano ponownie interfejsy API
PlainTooltipBox
iRichTooltipBox
jako wycofane metody. (I246fa)
Poprawki błędów
- Naprawa błędu polegającego na zainicjowaniu funkcji
DatePicker
przy użyciu parametruDatePickerFormatter
, który ma określone szkielety dat, które pozostają takie same po konwersji na wzorce daty (np. RR). (I01f29)
Wersja 1.2.0-alpha08
20 września 2023 r.
Usługa androidx.compose.material3:material3-*:1.2.0-alpha08
została zwolniona. Wersja 1.2.0-alfa08 zawiera te zatwierdzenia.
Wyjątkowa zmiana w działaniu
- Metoda
ColorScheme
jest teraz stała, co zmniejsza efektywność pojedynczych aktualizacji kolorów, a częstsze używanie kolorów pozwala efektywniej korzystać z tych kolorów. Zmiana ta wynika z faktu, że w większości aplikacji brak aktualizowania poszczególnych kolorów. W dalszym ciągu jest to możliwe, ale nastąpi też ponowne skomponowanie kodu niż wcześniej. To z kolei znacznie zmniejszy liczbę subskrypcji stanu z wykorzystaniem całego kodu Material Design i wpłynie na koszty inicjowania i czasu działania w bardziej standardowych przypadkach użycia. (Ic447d, b/297212873) - Wysokość tonalna nie jest już animowana w różnych stanach interakcji zgodnie ze specyfikacją. (Icdd12).
Zmiany interfejsu API
- Dodano nowy parametr
BottomAppBar
, który przyjmuje jako parametrBottomAppBarScrollBehavior
w celu automatycznego ukrywania podczas przewijania treści. Dodano równieżFabPosition.EndOverlay
, dzięki czemu przycisk PPP może nałożyć dolny pasek aplikacji w rusztowaniu, zamiast być zakotwiczony nad nim. (Iecb47). - Dodaliśmy prosty komponent Etykieta, który jest w oparciu o elementy
BasicTooltipBox
i nie zamyka się po dotknięciu poza granicami etykiety. (I821f9)
Poprawki błędów
- Usunęliśmy możliwość używania etykiety
rememberSaveable
na potrzeby etykietek. (Icc131, b/299500338) - Dodaliśmy tymczasową flagę pozwalającą kontrolować, czy Scaffold powinien mierzyć elementy podrzędne podczas pomiaru czy umieszczania. Domyślnie będzie to mierzone. Jeśli masz problemy z nowym sposobem działania, zgłoś problem. (I0B354)
- Naprawiono poziomą krawędź do krawędzi w
BottomSheet
przy użyciu poprawnego pomiaru szerokości ekranu urządzenia. (I1df0c, b/299058752) - Naprawiono błąd, który powodował, że funkcja
ModalBottomSheet
nie wywoływała elementuonDismissedRequest
po zamknięciu go przez przesunięcie palcem w dół po arkuszu. (Idfdd8)
Wersja 1.2.0-alpha07
6 września 2023 r.
Usługa androidx.compose.material3:material3-*:1.2.0-alpha07
została zwolniona. Wersja 1.2.0-alfa07 zawiera te zatwierdzenia.
Nowe funkcje
- W
compose material 1.6.0-alpha05
dodaliśmy obsługę ikon automatycznego odbicia lustrzanego. Szczegółowe informacje o takich ikonach znajdziesz w informacjach o wersji.
Zmiany interfejsu API
SliderState
implementujeDraggableState
(I9b116)- Zmień kształt na wymagany parametr. Zmień nazwę
position
naindex
w funkcji pomocniczej kształtu. (I34941) - Aktualizuje
DatePicker
formatWithSkeleton
, dodając mapę, która będzie używana jako pamięć podręczna do zwiększania wydajności. (I3195F) - Dodano element
BasicTooltipBox
do folderucompose.foundation
oraz zaktualizowaliśmyPlainTooltipBox
iRichTooltipBox
, aby umożliwić użycie funkcjiTooltipBox
z nowymi kompozycjamiPlainTooltip
iRichTooltip
. (I79e1D)
Poprawki błędów
dynamicLightColorScheme
idynamicDarkColorScheme
zwracają teraz wyższe kolory kolorów w przypadku ról powierzchni isurfaceContainer
. (I5e901)- Rozwiązaliśmy problem, który powodował, że niektóre komponenty korzystające z kompozycji podrzędnej (np.
BottomSheetScaffold
) w Scaffold wLookaheadScope
próbowały zbyt wcześnie odczytywać swój rozmiar. (I297b4, I871f1, b/295536718)
Wersja 1.2.0-alpha06
23 sierpnia 2023 r.
Usługa androidx.compose.material3:material3-*:1.2.0-alpha06
została zwolniona. Wersja 1.2.0-alfa06 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawiono obliczenie
offset
dlaDropdownMenu
, więc odsunięcia x zależą wyłącznie od kierunku układu lokalnego. Odsunięcia y nie będą już cofane, gdy menu znajdzie się u dołu ekranu. (Iccc74, b/294103942) - Poprawiono obliczenie
offset
dlaDropdownMenu
, więc odsunięcia x zależą wyłącznie od kierunku układu lokalnego. Odsunięcia y nie będą już cofane, gdy menu znajdzie się u dołu ekranu. (Ib87a2, b/294103942)
Wersja 1.2.0-alpha05
9 sierpnia 2023 r.
Usługa androidx.compose.material3:material3-*:1.2.0-alpha05
została zwolniona. Wersja 1.2.0-alfa05 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Zmiany w polu wyboru i kolorach
TriStateCheckbox
. ElementCheckboxDefaults.colors()
disabledUncheckedColor
ma teraz wpływ tylko na obramowanie pola wyboru. Specjalne sytuacje, w których trzeba ustawić wewnętrzny kolor pola, gdy jest wyłączony lub odznaczony, wymagają niestandardowego utworzenia wystąpieniaCheckboxColors
z odpowiednimi wartościami koloru. (I77d17, b/291943198)
Wersja 1.2.0-alfa04
26 lipca 2023 r.
Usługa androidx.compose.material3:material3-*:1.2.0-alpha04
została zwolniona. Wersja 1.2.0-alfa04 zawiera te zatwierdzenia.
Nowe funkcje
- Experimental Segmented Button API (Ifc8fb)
- Dzielniki mają teraz parametr do sterowania orientacją, który pozwala obsługiwać separatory pionowe. (I4c899, b/288438593)
Zmiany interfejsu API
- Przenosimy zależność gęstości na poziom komponentu. Dotyczy to komponentów opartych na arkuszu
SwipeToDismiss
i komponentach opartych na arkuszu. Użyj nowego dostępnego przeciążenia, w którym gęstość jest parametrem. (I1846e) - Dodatkowe adnotacje do określania dozwolonych danych wejściowych do elementów kompozycyjnych (Ief234)
- Dodaj parametr ikony do przycisku z podziałem na segmenty, podziel semantykę, aby umożliwić wybór podzielonego na segmenty w celu zastosowania wyboru pojedynczego, oraz za pomocą przełącznika w celu wdrożenia wyboru wielokrotnego za pomocą poleceń
SelectableSegmentedButtonRow
iToggelableSegmentedButtonRow
. (I38740) - Nazwa separatora została zmieniona na
HorizontalDivider
. Dodano funkcjęVerticalDivider
. (I5975C) - Zmień korzystanie z interfejsu
ClosedFloatingPointRange
o mniejszej wadze (FloatRange
) w eksperymentalnych interfejsach API Material3, aby zminimalizować autoboxing. (I4aab5). - Dodano nowe wyrównanie rozpoczęcia dla języka
FabPosition
(Ib7aea, b/170592777)
Poprawki błędów
ModalBottomSheet
uwzględnia kierunek lokalnego układu. (Ib4f44, b/285628622)
Wersja 1.2.0-alfa03
21 czerwca 2023 r.
Usługa androidx.compose.material3:material3-*:1.2.0-alpha03
została zwolniona. Wersja 1.2.0-alfa03 zawiera te zatwierdzenia.
Zmiany w działaniu
includeFontPadding
to terazfalse
domyślnie w typografii Material 3. Domyślny styl wysokości wiersza również został zmieniony naTrim.None
iAlignment.Center
, a do elementówTextStyle
w tabeliTypography
dodaliśmy wyraźnelineHeight
(w sp). Aby dostosować te wartości, zapoznaj się z dokumentacją interfejsu API, a szczegółowe omówienie tych zmian znajdziesz w poście na blogu. (I6266f, Icabc3)
Nowe funkcje
- Dodano przeciążenie elementu
RangeSlider
, które jest wersją stanową komponentu. Utworzono plikRangeSliderState
. Zawiera on wszystkie informacje o bieżącej aktywnej ścieżce, dane o pomiarach komponentówRangeSlider
oraz funkcje logicznego przeciągania i gestów. (I8c270) - Pasek wyszukiwania obsługuje teraz cienie za pomocą nowo dodanego parametru
shadowElevation
. (Ia5369, b/271040353) ColorScheme
obsługuje teraz nowe role:SurfaceContainer
.- Nakładkę wysokości tonalnej powierzchni można teraz wyłączyć z lokalną kompozycją
LocalTonalElevationEnabled
. (Ic203c, b/277774590)
Zmiany interfejsu API
- Otwórz konstruktory kolorów komponentu. (I8c4a6).
- Dodanie parametru możliwego do zaznaczenia do obu interfejsów API etykietki, aby umożliwić programistom obserwację zdarzeń dotknięcia. Uważaj, ponieważ może to spowodować zakłócenia w automatycznym przemierzaniu stron w ułatwieniach dostępu. (IE32d8).
- Zoptymalizowany dostęp pod kątem wydajności i alokacji pamięci. (Iede48).
- Udostępnij
DefaultSizeClasses
i utwórzStandardSizeClasses
dla:WindowSizeClasses
(I91838) - zmień
WindowWidth/HeightSizeClass
na klasy wartości zmiennoprzecinkowej (Ie686e)
Poprawki błędów
- Parametr
contentWindowInsets
Scaffold uwzględnia teraz wykorzystane wstawki okien. Zwróć uwagę, że po podaniu tych parametrów zachowanie dopełnienia treści na podstawie parametrówtopBar
ibottomBar
pozostaje niezmienione. (I08b73, b/264601542) - Popraw wyrównanie położenia pośrodku górnego paska aplikacji, aby długi tytuł nie wyświetlał się nad ikonami działań lub ikoną nawigacji. (I4369f, b/236994621)
- Pozycje kart mają teraz minimalną szerokość treści 24 dp. Zapewnia to łatwo dostępny docelowy element dotykowy we wskaźnikach kart. (Id8861).
- Dynamiczne palety kolorów z usług
dynamicLightColorScheme
idynamicDarkColorScheme
obsługują teraz nowe role powierzchni. (I1252e) - Zmieniam wyrównanie powiadomień plakietki, aby nie były przycinane podczas spotkania z dziadkiem/dziadkiem. (Idf75a)
Wersja 1.2.0-alfa02
24 maja 2023 r.
Usługa androidx.compose.material3:material3-*:1.2.0-alpha02
została zwolniona. Wersja 1.2.0-alfa02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodano parametr insets window do
ModalBottomSheet
.- Rysunek dla
ModalBottomSheet
może być teraz rysowany za paskiem stanu, gdywindowInsets
ma wartość 0 - Zaktualizowano domyślną funkcję
ModalBottomSheet
, aby była poza paskami systemowymi i nawigacją - W trybie od krawędzi do krawędzi do obsługi wstawki paska stanu służy uchwyt do przeciągania.
BottomSheetDefaults
zawiera wstawki oknaBottomSheetWindow
. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/265
- Rysunek dla
- Wycofaj
Indicator
i dodajPrimary
/SecondaryIndicator
, aby zapewnić zgodność ze specyfikacją M3.PrimaryIndicator
odpowiada szerokości zawartości karty, aSecondaryIndicator
obejmuje pełną dostępną szerokość. ParametrSecondaryIndicator
jest odpowiednikiem wycofanej funkcjiIndicator
i może być bezpośrednim zamiennikiem. (I27604). - Dodano opcję przekazywania w polu
ScrollState
podczas tworzenia elementówDropdownMenu
lubExposedDropdownMenu
do kontrolowania stanu przewijania w pionie wyświetlanych elementów menu. (Ia0734, b/185304441) - Dodano przeciążenie elementu
Slider
, które jest wersją stanową komponentu. Utworzono plikSliderState
. Zawiera on wszystkie informacje o bieżącej aktywnej ścieżce, dane o pomiarach komponentówSlider
oraz funkcje logicznego przeciągania i gestów. (I124a5) - Zmieniamy nazwę właściwości Semantyka
isContainer
naisTraversalGroup
(I121f6). - Dodano zoptymalizowaną wartość
TextStyle.merge(...)
z pełną listą parametrów. (Iad234, b/246961787) - Udostępniono publiczne interfejsy
TooltipState
,RichTooltipState
iPlainTooltipState
. Dodano stany domyślne (RichTooltipStateImpl
iPlainTooltipStateImpl
). Dodanoremember*State
funkcje, aby uzyskać te zaimplementowane stany. Usunięto:TooltipSync
na rzecz:TooltipDefault.GlobalMutatorMutex
. (I7813D) - Zaktualizowano
DatePickerColors
, aby uwzględnić dodatkowe opcje dostosowywania kolorów separatora daty, elementów nawigacyjnych i pól do wprowadzania tekstu. (I1a685, b/274626815) DatePickerState
iDateRangePickerState
są teraz interfejsami publicznymi z domyślnymi implementacjami, które można pobierać przy użyciu interfejsówrememberDatePickerState
irememberDateRangePickerState
. (I71c52)- Usunęliśmy
dateValidator
z elementówDatePicker
iDateRangePicker
oraz wprowadziliśmy interfejsSelectableDates
, który można ustawić w stanie, aby kontrolować, które daty lub lata można wybrać w interfejsie. (Ic2fc6) - Interfejs
TimePicker
został usunięty ze stabilnego interfejsu API; w interfejsie API stanu spodziewane są dalsze zmiany (I3f39a) - Aplikacja
ModalBottomSheet
została przeniesiona tylko na Androida. FunkcjaModalBottomSheet
nie jest zalecana do użytku na komputerach, a jej funkcjonalność nie jest aktywnie obsługiwana. (IB3778)
Poprawki błędów
- Naprawiono działanie zamknięcia
AlertDialog
, które pojawiało się pod działaniem potwierdzenia, gdy działania nakładały się na siebie, by pasowały do szerokości okna. Ta poprawka pozwala dostosować implementację do specyfikacji Material Design. (I029de, b/235454277) - Naprawiliśmy błąd w elemencie
ListItem
z nieprawidłowym dopełnieniem w przypadku 3 elementów zamówienia. (I6e235). ModalBottomSheet
może teraz wyświetlać klawiaturę IME (Idc508, b/262140644, b/268380384, b/272483584)
Wersja 1.2.0-alpha01
10 maja 2023 r.
androidx.compose.material3:material3:1.2.0-alpha01
i androidx.compose.material3:material3-window-size-class:1.2.0-alpha01
zostały udostępnione. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.
Wersja 1.1
Wersja 1.1.2
20 września 2023 r.
androidx.compose.material3:material3:1.1.2
i androidx.compose.material3:material3-window-size-class:1.1.2
zostały udostępnione. Wersja 1.1.2 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawiony modyfikator był nieprawidłowo przekazywany do 2 komponentów kompozycyjnych. (b/282761472)
- Naprawiono funkcję
TimePickerState
zwracającą nieprawidłowe godziny po zainicjowaniu w ciągu 23 godzin. (b/278242122) - Poprawiono początkowy stan przełączania dla weryfikacji w południe i minutę. (b/269768197, b/282790635)
- Naprawiono funkcję
state.hour
zwracającą nieprawidłową wartość dla godziny 23:00. (b/282761472, b/278242122)
Wersja 1.1.1
21 czerwca 2023 r.
androidx.compose.material3:material3:1.1.1
i androidx.compose.material3:material3-window-size-class:1.1.1
zostały udostępnione. Wersja 1.1.1 zawiera te zatwierdzenia.
Poprawki błędów
- Dodaje wywołanie funkcji
ModalBottomSheet
bez parametruwindowInset
w celu zapewnienia zgodności binarnej. (IB7959) - Dodano parametr insets window do
ModalBottomSheet
.- Rysunek dla
ModalBottomSheet
może być teraz rysowany za paskiem stanu, gdywindowInsets
ma wartość 0 - Zaktualizowano domyślną funkcję
ModalBottomSheet
, aby była poza paskami systemowymi i nawigacją - W trybie od krawędzi do krawędzi do obsługi wstawki paska stanu służy uchwyt do przeciągania.
BottomSheetDefaults
zawiera wstawki oknaBottomSheetWindow
. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/265
- Rysunek dla
Wersja 1.1.0
10 maja 2023 r.
androidx.compose.material3:material3:1.1.0
i androidx.compose.material3:material3-window-size-class:1.1.0
zostały udostępnione. Wersja 1.1.0 zawiera te zatwierdzenia.
Główne funkcje 1.1.0
Nowe komponenty Material Design 3
Ulepszenia istniejących komponentów Material Design 3.
Przeniesienie eksperymentalnych interfejsów API do wersji stabilnej
Więcej informacji znajdziesz w tym poście na blogu.
Wersja 1.1.0-rc01
19 kwietnia 2023 r.
androidx.compose.material3:material3:1.1.0-rc01
i androidx.compose.material3:material3-window-size-class:1.1.0-rc01
zostały udostępnione. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Interfejs
TimePicker
został usunięty ze stabilnego interfejsu API; w interfejsie API stanu spodziewane są dalsze zmiany (I3f39a) - Aplikacja
ModalBottomSheet
została przeniesiona tylko na Androida. FunkcjaModalBottomSheet
nie jest zalecana do użytku na komputerach, a jej funkcja nie jest aktywnie obsługiwana. (IB3778)
Wersja 1.1.0-beta02
5 kwietnia 2023 r.
androidx.compose.material3:material3:1.1.0-beta02
i androidx.compose.material3:material3-window-size-class:1.1.0-beta02
zostały udostępnione. Wersja 1.1.0-beta02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Funkcja
SheetState
ma teraz opcjonalny parametrskipHiddenState
- Funkcja
rememberStandardBottomSheetState
ma teraz opcjonalny parametrskipHiddenState
BottomSheetScaffold
ma teraz zdefiniowaną ukrytą kotwicę, ale jest ona domyślnie wyłączona- Dokumentacja
SheetState.requireOffset
została zaktualizowana - Nazwa
BottomSheetDefaults.MinimizedShape
została zmieniona naBottomSheetDefaults.HiddenShape
(I839f4, b/273870234)
Poprawki błędów
- Nie przełączaj tarczy zegarka z godziny na minuty przy włączonej funkcji czytania dotykiem. (I717d0)
- Semantyka uchwytu przeciągania
ModalBottomSheet
iBottomSheetScaffold
zostały scalone. (I05Afb) - Modyfikator
BottomSheetScaffold
oraz parametrycontainerColor
icontentColor
mają teraz wpływ tylko na treść. (I992cb) - Funkcja
BottomSheetScaffold nestedScroll
na potrzeby zawartości arkusza obsługuje teraz flirty. (I992cb)
Wersja 1.1.0-beta01
22 marca 2023 r.
androidx.compose.material3:material3:1.1.0-beta01
i androidx.compose.material3:material3-window-size-class:1.1.0-beta01
zostały udostępnione. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodaj parametr typu układu do funkcji kompozycyjnej
TimePicker
. Umożliwia stosowanie różnych układów w zależności od konfiguracji ekranu (Ia0e16). - Aplikacja
SearchBarDefaults
została oznaczona jako eksperymentalna. (I65561) - Dodano wysokość cienia do:
BottomSheetScaffold
(I94e0f) - Dodano obsługę wyświetlania selektorów daty bez części nagłówka. Zmiany w interfejsie API umożliwiające przekazywanie nagłówka o wartości null podczas tworzenia selektora dat. Aby wyświetlić selektor bez interfejsu graficznego, możesz teraz przekazać pusty nagłówek, tytuł i element
showToggleMode = false
. (Id3f3a, b/266132421, b/267194809)
Poprawki błędów
- Paski wyszukiwania automatycznie usuwają zaznaczenie, gdy są nieaktywne. (I22a7c, b/261444487)
- Zaktualizowano
DateRangePicker
, by umożliwić wybór zakresu z tą samą datą rozpoczęcia i zakończenia. (I16529, b/272882497) - Pola tekstowe mają teraz prawidłowe położenie elementów tekstowych, gdy rozmiar czcionki jest mniejszy niż oczekiwano. Może to spowodować zmianę o kilka pikseli w aplikacjach w zależności od ustawień czcionki i skryptu. (I8B8D0)
- Działania semantyczne w dolnym arkuszu mają teraz etykiety. (I277b0)
Wersja 1.1.0-alpha08
8 marca 2023 r.
androidx.compose.material3:material3:1.1.0-alpha08
i androidx.compose.material3:material3-window-size-class:1.1.0-alpha08
zostały udostępnione. Wersja 1.1.0-alfa08 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano obsługę
BottomSheetScaffold
iBottomSheetScaffoldState
. (I063d4)
Zmiany interfejsu API
- Do
DatePickerState
iDateRangePickerState
dodano funkcję umożliwiającą ustawianie dat po początkowym utworzeniu stanu, a także resetowanie wyboru przez ustawianie null sygnatur czasowych. Zachowaj ostrożność podczas ręcznego ustawiania dat. Nowa funkcjasetSelection
zgłosi wyjątek, jeśli podana data nie spełni warunku wstępnego (zobacz dokumentację). (Ifa645, b/268609314, b/270427389) - Zmieniono nazwę zwiniętych elementów
SheetValue
naPartiallyExpanded
, aby dokładniej i elastycznie odzwierciedlić zachowanie w tym stanie. (IA1491). - Nazwy parametrów
ListItem
zostały zmienione na _content zamiast _text. Domyślne moduły pobierające to terazReadOnlyComposables
w odpowiednich miejscach. (I69a25) - Przejdź z wersji eksperymentalnych interaktywnych interfejsów Surface API. (I90d59, b/261561812)
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że stan elementu
ModalBottomSheet
(HalfExpanded
) był nieprawidłowo obliczany i arkusz wydawał się pływający. (I45e84, b/268411386) - Dodaj znacznik
confirmValueChange
do sprawdzenia dotykiem dla:ModalBottomSheet
. (I2311a, b/270425759) - Przenieś działania semantyczne
BottomSheet
, aby przeciągnąć uchwyt. (I158BA) - Polecenia
ModalBottomSheet
koncentrują się na uruchamianiu i obsługują przycisk Wstecz. (I4d2ab) - Pole
ModalBottomSheet onDismissRequest
jest teraz obsługiwane również podczas zagnieżdżonych przesuwania przewijania. (I655c5, b/268433166)
Wersja 1.1.0-alpha07
22 lutego 2023 roku
androidx.compose.material3:material3:1.1.0-alpha07
i androidx.compose.material3:material3-window-size-class:1.1.0-alpha07
zostały udostępnione. Wersja 1.1.0-alfa07 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaj funkcję danych wejściowych dotyczących czasu, która działa z metodą
rememberTimePickerState()
. Jest ona zgodna ze specyfikacją M3 w zakresie wprowadzania czasu (Ia4fab). - Dodano interfejs API Material 3
DateRangePicker
do wybierania zakresu dat. (I7a6c3, b/267194809) - Dodaliśmy obsługę trybu wprowadzania Material 3 do wybierania zakresów dat przy użyciu interfejsu API
DateRangePicker
. (Ifdbc4). - Kolory pól tekstowych umożliwiają teraz dostosowanie:
- Kolory pól do wprowadzania danych i tekstów zastępczych zależne od zaznaczenia i stanu błędu. Nazwa parametru
textColor
została zmieniona naunfocusedTextColor
, a nazwaplaceholderColor
została zmieniona naunfocusedPlaceholderColor
. - Kolor kontenera wypełnionych pól tekstowych na podstawie stanu błędu w nowym parametrze
errorContainerColor
.
- Kolory pól do wprowadzania danych i tekstów zastępczych zależne od zaznaczenia i stanu błędu. Nazwa parametru
- Kolory pola tekstowego menu widocznego menu zostały zaktualizowane o parametry pozwalające obsługiwać nowy interfejs API prefiksu i sufiksu. (I9c8b4, b/254284181, b/264766350)
Zmiany interfejsu API
- Przywracanie niektórych wersji interfejsu Slider API i usunięcie zbędnych przeciążeń, które obejmuje nowy eksperymentalny suwak z niestandardową kciukiem i ścieżką. Awansuję wersję
RangeSlider
jako stabilną. (IE8fbd) - Zmieniono nazwę
defaultElevation
naelevation
w funkcjach podniesienia elementu. (I0f872) - Te interfejsy API Material 3 pól tekstowych nie są już eksperymentalne:
TextField
,OutlinedTextField
,textFieldWithLabelPadding
,textFieldWithoutLabelPadding
,outlinedTextFieldPadding
. (Ieb5c0, b/261561819) TimePickers
is24Hour
korzysta z ustawienia systemu (I18856)- Usunięto adnotację eksperymentalną z interfejsów API scaffold. (Ibb51e, b/261565765, b/261436953)
Poprawki błędów
- Domyślny kształt elementu
ModalBottomSheet
to teraz zawszeSheetDefaults.ExpandedShape
. (I0dfca) - Ulepszenia ułatwień dostępu w Material 3
DatePicker
iDateRangePicker
. (I5087e) - Naprawiono błąd, który powodował, że ograniczenie maksymalnej wysokości jest rozpowszechniane i może ulec awarii. (I30d8c)
- Usunęliśmy role semantyczne z platform, które można kliknąć i zaznaczyć, oraz zaktualizowaliśmy komponenty, które korzystały z tych elementów do ustawiania ról za pomocą atrybutu modyfikator.semantics (I793d9).
Wersja 1.1.0-alpha06
8 lutego 2023 r.
androidx.compose.material3:material3:1.1.0-alpha06
i androidx.compose.material3:material3-window-size-class:1.1.0-alpha06
zostały udostępnione. Wersja 1.1.0-alfa06 zawiera te zatwierdzenia.
Nowe funkcje
- W polach tekstowych jest teraz obsługiwany tekst prefiksu i sufiksu (Ia8578, b/179884561)
- Dodano funkcję
TimePicker
do wyświetlania selektora godziny zgodnie ze specyfikacją Material 3, używaną w połączeniu z metodąTimePickerState
i metodą wygodnąrememberTimePickerState
(I71910). - Dane wejściowe są teraz trybem wyświetlania w
DatePicker
. Dodano obsługę przełączania między selektorem daty a trybem wprowadzania daty. (Ieeff7). - Dodano interfejs API dla:
RichTextTooltips
. (I58ef3). - Modalna implementacja planszy dolnej dla Material 3, w tym
ModalBottomSheet
iModalBottomSheetDefaults
. Wprowadziliśmy też funkcjeSheetState
irememberSheetState
, których można używać w przyszłych komponentach arkusza. (I0853a, b/244189383)
Zmiany interfejsu API
- Ustabilizuj interfejs API
showSnackbar
(I195c2, b/261424370) - Ustabilizować interfejsy API na potrzeby elementów wspomagających i elementów z sugestią (Ibb67b, b/261424370)
- Promuje interfejsy API
ListItem
,ListItemDefaults
iListItemColors
do wersji nieeksperymentalnych (I7e7fa, b/261438882) - Przeniesienie interfejsów
SliderPositions
,SliderDefaults.Thumb
iSliderDefaults.Track
do wersji stabilnej oraz dodanie nieeksperymentalnych interfejsów APISlider
iRangeSlider
, które zawierają niestandardowe kciuki i ścieżkę. Wycofujemy też poprzednie interfejsy APISlider
iRangeSlider
. (IE5ea6, b/261566890) - Sekcja
Modifier.tooltipAnchor()
jest teraz publiczna, więc deweloperzy mogą przekazać ją do kotwicy, by wskazać, że po przytrzymaniu powinna wyświetlić się etykietka. Zaktualizowaliśmy interfejs APIPlainTooltipBox
, aby nie dopuszczał już wartościTooltipState
do wartości null i ma teraz wartość domyślną. (IE2fb7) - Element
ProgressIndicatorDefaults.circularTrackColor
został oznaczony jako@Composable
ze względu na spójność. (Id29cc) - Metoda pobierania właściwości
LocalMinimuTouchTargetEnforcement
została przywrócona i oznaczona jako wycofana oraz przekierowująca doLocalMinimumInteractiveComponentEnforcement
. (I60dd5)
Wersja 1.1.0-alpha05
26 stycznia 2023 r.
androidx.compose.material3:material3:1.1.0-alpha05
i androidx.compose.material3:material3-window-size-class:1.1.0-alpha05
zostały udostępnione. Wersja 1.1.0-alfa05 zawiera te zatwierdzenia.
Nowe funkcje
DatePickerDialog
i ułatwienia dostępu- Dodano niestandardową kciuk i ścieżkę do aplikacji
RangeSlider
.
Aktualizacje zależności
- Funkcje
Compose UI
iCompose Material
wymagają teraz cyklu życia 2.6.0.
Wersja 1.1.0-alfa04
11 stycznia 2023 r.
androidx.compose.material3:material3:1.1.0-alpha04
i androidx.compose.material3:material3-window-size-class:1.1.0-alpha04
zostały udostępnione. Wersja 1.1.0-alfa04 zawiera te zatwierdzenia.
Nowe funkcje
- Początkowy interfejs API
DatePicker
do wybierania pojedynczej daty w interfejsie kalendarza. W tym interfejsie API wciąż trwają zmiany. (I722b9) - Dodano obsługę prostych etykietek w
PlainTooltipBox
. (I0cdfb) - Pasek wyszukiwania (Iad128)
SwipeToDismiss
(I458a8, b/242889540)
Zmiany interfejsu API
- Dodano we właściwości semantyki
IsContainer
na platformach. Ta właściwość zostanie użyta w późniejszej zmianie, która określa kolejność przechodzenia między elementami na podstawie semantycznego znaczenia elementów takich jak powierzchnie. (I63379) - Oznacz interfejsy API powiązane z panelem nawigacji jako stabilne. (Iab01e, b/261439597)
- Dodaliśmy parametr koloru ścieżki dla okrągłych wskaźników postępu oraz parametr limitu kreski dla okrągłych i liniowych wskaźników postępu. (Ie668c, b/216325962, b/222964817)
- Większa dopuszczalność zwracanych wartości null wycofanych funkcji ukrytych (Ibf7b0)
- Dodaj
Modifier.minimumInteractiveComponentSize
. Można go użyć, by zarezerwować rozmiar co najmniej 48 dp, aby jednoznacznie rozróżnić interakcje dotykowe, gdy element byłby mniejszy. (I33f58, b/258495559) - Dodano eksperymentalny interfejs API dla funkcji kompozycyjnej
AlertDialog
, która ma boks na treści. (Iec4a2).
Poprawki błędów
- Postęp w przypadku wskaźników postępu jest teraz prawidłowo ograniczony do oczekiwanego zakresu. (I8a7eb, b/262262727)
Znany problem
- Podczas aktualizowania z
androidx.compose.foundation:1.4.0-alpha03
doandroidx.compose.foundation:1.4.0-alpha04
może wystąpić błądjava.lang.NoSuchFieldError
. Tutaj został zgłoszony problem. Poprawka została przesłana i będzie dostępna w następnej aktualizacji Utwórz. Aby obejść ten problem, zaktualizuj bibliotekiandroidx.compose.material
iandroidx.compose.material3
do najnowszej wersji(1.1.0-alfa04) lub przywróć pakietandroidx.compose.foundation
do wersji 1.4.0-alfa03.
Wersja 1.1.0-alfa03
7 grudnia 2022 r.
androidx.compose.material3:material3:1.1.0-alpha03
i androidx.compose.material3:material3-window-size-class:1.1.0-alpha03
zostały udostępnione. Wersja 1.1.0-alfa03 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Zmieniono nazwę
consumedWindowInsets()
naconsumeWindowInsets()
, awithConsumedWindowInsets()
naonConsumedWindowInsetsChanged()
i upubliczniono modyfikatory. (IE44e1). - Dodaj nowe domyślne dopełnienie treści przycisku tekstowego z ikoną. (I8f662)
- Dodano wyłączone kolory paska nawigacyjnego i paska nawigacyjnego. (Ia7892, b/258867034)
- Dodano interfejs API modyfikatora do wysyłania zapytań o informacje o przewijaniu elementów nadrzędnych. (I2ba9d, b/203141462)
- Używany w
Clickable
do prawidłowego opóźnienia interakcji polegającej na naciśnięciu, gdy gesty mogą stać się zdarzeniami przewijania. - Naprawiono błąd
Clickables
w zakresie nieprawidłowego opóźniania echa w przypadku użycia wewnątrz elementuScrollable ViewGroup
. - Zaktualizowaliśmy panele i panele, tak aby prawidłowo opóźniały naciśnięcia, gdy gesty mogą stać się zdarzeniami przewijania.
Aktualizacje zależności
- Funkcje
Compose UI
iCompose Material
zależą teraz od cyklu życia 2.5.1. (I05ab0, b/258038814)
Wersja 1.1.0-alfa02
9 listopada 2022 r.
androidx.compose.material3:material3:1.1.0-alpha02
i androidx.compose.material3:material3-window-size-class:1.1.0-alpha02
zostały udostępnione. Wersja 1.1.0-alfa02 zawiera te zatwierdzenia.
Zmiany interfejsu API
awaitFirstDown
iwaitForUpOrCancellation
obsługują terazPointerEventPass
, co zapewnia większą elastyczność (poprawiono też wyświetlanie menu wExposedDropdownMenuBox
podczas przewijania).(I7579a, b/212091796)- Dodano parametr
minLines
do obiektu Material3 Text orazTextField
iOutlinedTextField
, który umożliwia ustawienie minimalnej wysokości komponentu w zależności od liczby linii (I4af1d). - Zrezygnuj z funkcji
TopAppBarDefaults smallTopAppBarColors
, zastępując ją nową funkcjątopAppBarColors
, której należy używać przy tworzeniu funkcjiTopAppBar
. (IE6cb9) - Do komponentów
BasicText
iBasicTextField
dodaliśmy parametrminLines
. Pozwala ustawić minimalną wysokość tych elementów kompozycyjnych w postaci liczba wierszy (I24294, b/122476634)
Poprawki błędów
- Przytnij zawartość elementów
IconButton
iIconToggleBotton
Material3 do kształtu warstwy stanu komponentu (np. okrągłego kształtu). (I9da8f). - Aktualizuje średnie i duże paski aplikacji u góry ekranu Material3, aby zastosować ten sam kolor tła na całej powierzchni i umożliwić zastąpienie kolorów domyślnych wartościami kolorów przezroczystych. (I67659, b/249688556, b/250838918)
Wersja 1.1.0-alpha01
24 października 2022 r.
androidx.compose.material3:material3:1.1.0-alpha01
i androidx.compose.material3:material3-window-size-class:1.1.0-alpha01
zostały udostępnione. Wersja 1.1.0-alfa01 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawia pozycję na górnym pasku aplikacji po zastosowaniu tytułu za pomocą stylu TextStyle i pędzla. (If667e).
Wersja 1.0
Wersja 1.0.1
9 listopada 2022 r.
androidx.compose.material3:material3:1.0.1
i androidx.compose.material3:material3-window-size-class:1.0.1
zostały udostępnione. Wersja 1.0.1 zawiera te zatwierdzenia.
Poprawki błędów
- Aktualizuje średnie i duże paski aplikacji u góry ekranu Material3, aby zastosować ten sam kolor tła na całej powierzchni i umożliwić zastąpienie kolorów domyślnych wartościami kolorów przezroczystych. (I67659, b/249688556, b/250838918)
Wersja 1.0.0
24 października 2022 r.
androidx.compose.material3:material3:1.0.0
i androidx.compose.material3:material3-window-size-class:1.0.0
zostały udostępnione. Wersja 1.0.0 zawiera te zatwierdzenia.
Główne funkcje 1.0.0
To pierwsza stabilna wersja Compose Material 3.
Motyw Material Design 3 i dynamiczne kolory Material You
Komponenty Material Design 3
- Plakietka
- Dolny pasek aplikacji
- Przyciski
- FAB i rozszerzony FAB
- Karty
- Card, OutlinedCard oraz ElevatedCard
- Pole wyboru
- Elementy
- Okna dialogowe
- Separator
- Menu
- Lista
- Pasek nawigacyjny
- Panel nawigacji
- Kolejka nawigacyjna
- Wskaźnik postępu
- Opcja
- Suwak
- Zmień
- Karty
- Pola tekstowe
- Górny pasek aplikacji
- Ikona
- Tekst
- Natynkowe
- Układ
- Kolor treści
Klasa rozmiaru okna
material3-window-size-class
to nowa biblioteka, która obsługuje klasy rozmiaru okna – zestaw sprawdzonych punktów przerwania widocznego obszaru, które można projektować, tworzyć i testować w układach aplikacji z możliwością zmiany rozmiaru. Za pomocącalculateWindowSizeClass
możesz pobrać instancję klasy rozmiaru okna, która pozwala określić, jak powinien wyglądać interfejs. W przypadku większych okien możesz na przykład wyświetlić szynę nawigacyjną zamiast dolną nawigację. Więcej informacji i przykładowe zastosowanie znajdziesz w dokumentacji interfejsu APIWindowSizeClass
.Więcej informacji znajdziesz w tym poście na blogu.
Wersja 1.0.0-rc01
5 października 2022 r.
androidx.compose.material3:material3:1.0.0-rc01
i androidx.compose.material3:material3-window-size-class:1.0.0-rc01
zostały udostępnione. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodano parametr przedziału na potrzeby interfejsu API pola tekstowego (Iaac0d, b/227146125)
Wersja 1.0.0-beta03
21 września 2022 r.
androidx.compose.material3:material3:1.0.0-beta03
i androidx.compose.material3:material3-window-size-class:1.0.0-beta03
zostały udostępnione. Wersja 1.0.0-beta03 zawiera te zatwierdzenia.
Zmiany interfejsu API
ExposedDropdownMenuDefaults
udostępnia teraz wartość dopełnienia pozycji menu. (I34ee1).ExposedDropdownMenuBoxScope
ma teraz modyfikatorModifier.menuAnchor()
, który należy przekazać do pola tekstowego, aby zapewnić prawidłowe działanie funkcji. (I27fa3).- Dodano 2 przeciążone metody do bieżącego interfejsu Slider API, aby umożliwić użytkownikom przekazywanie informacji za pomocą kciuka lub ścieżki w celu wypełnienia suwaka. (I21c00)
Poprawki błędów
- Zaktualizowano mapowanie kolorów ciemnego motywu na kolor On Error Container na ton 90 (Ic5612)
- Popraw, aby umożliwić ustawienie przezroczystego tła w małych górnych paskach aplikacji Material 3. (I645e2, b/245575782)
Wersja 1.0.0-beta02
7 września 2022 roku
androidx.compose.material3:material3:1.0.0-beta02
i androidx.compose.material3:material3-window-size-class:1.0.0-beta02
zostały udostępnione. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Domyślne wstawienia komponentów wprowadzone w komponentach m3 w wersji beta01 nie uwzględniają już wstawienia IME.
- Komponent Scaffold Material3 ma teraz parametr
contentWindowInsets
umożliwiający określenie liczby wstawienia do boksu treści. (Icf11a, b/243713323) - Wycofuje eksperymentalną funkcję
SmallTopAppBar
Material 3 i wprowadza jej odpowiednikTopAppBar
. Przenieś swoją z dodanymi do nowego. (I74404, b/226918634) - Dodaje kontrolę nad przesuwaniem i przyciąganiem paska aplikacji u góry. (I15c81)
- Usuwa wcięcie początkowe z separatora i przenosi kolor do ostatniego parametru. (If7be2).
Poprawki błędów
- Poproś użytkowników o identyfikację się w oknach, wypowiadając słowo Dialog po wyświetleniu. (I857ef)
Wersja 1.0.0-beta01
24 sierpnia 2022 r.
androidx.compose.material3:material3:1.0.0-beta01
i androidx.compose.material3:material3-window-size-class:1.0.0-beta01
zostały udostępnione. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
Dokumentacja API
Najnowsze motywy, komponenty i inne dostępne kompozycje znajdziesz w dokumentacji interfejsu Compose Material 3 API.
Zmiany interfejsu API
- Zaktualizowaliśmy pasek aplikacji Material 3 u góry, aby w pełni zwinięty do pełnego rozmiaru. Zaktualizowaliśmy też funkcję zachowania
TopAppBarDefaults
na funkcje kompozycyjne i podaliśmy domyślne wartości dla górnego paska aplikacji i specyfikacji animacji. (I642b3) - Zaktualizowano podpisy komponentów przycisku PPP, aby pasowały do interfejsu API platformy (I3afaa)
- Dodano wcięcia. Wbudowana obsługa pasków aplikacji, szuflad, paska nawigacyjnego i paska nawigacyjnego. Gdy te komponenty są używane oddzielnie lub ze Scaffold, będą automatycznie obsługiwać wstawki dla programistów. Uwaga: ta zmiana nie doda automatycznej obsługi ikon na pasku stanu ani nie zwiększy przejrzystości pasków stanu i nawigacji. Kontynuuj, robiąc to ręcznie, aby zapewnić jak najlepsze wrażenia użytkowania. (I7e4e6, b/183161866)
- Zaktualizowaliśmy domyślne ustawienia komponentów, aby ograniczyć powierzchnię interfejsu API i w przyszłości poprawić elastyczność i wydajność. (I31820)
- Zmieniono kolejność parametrów elementów i arkusza nawigacji w celu zachowania spójności w interfejsie API (I45d0b)
- Usunięto
startIndent
z separatora i przeniesiono kolor jako ostatni.(If7be2)
Wersja 1.0.0-alfa16
10 sierpnia 2022 r.
androidx.compose.material3:material3:1.0.0-alpha16
i androidx.compose.material3:material3-window-size-class:1.0.0-alpha16
zostały udostępnione. Wersja 1.0.0-alfa16 zawiera te zatwierdzenia.
Nowe funkcje
- Obsługa określania niestandardowej szerokości w panelu nawigacji. (Ia7f10).
Zmiany interfejsu API
- Zmień kolejność parametrów karty i ikony wiodącej, aby zachować spójność w interfejsie API (Ie2637)
- Element
BadgeDefaults
został oznaczony jako eksperyment. (I98ef3). - Usuń wycofaną funkcję panelu nawigacji. (I4f2db)
- Zmień kolejność parametrów suwaka w Material 3, aby zachować spójność w interfejsie API (I0aee7).
- Zmień kolejność parametrów
NavigationBar
iNavigationRail
, aby zachować spójność w interfejsie API (I51cda) - Zmień kolejność parametrów w Material 3, aby zachować spójność w całym interfejsie API. (If4ae1).
- Zmień kolejność parametrów suwaka w Material 3, aby zachować spójność w interfejsie API (I62673).
- Zmieniliśmy nazwy parametru ikon na działania, aby zapewnić spójność z górnym paskiem aplikacji (Id75be).
- Oznacz
Badge
iBadgedBox
jako eksperymentalne, ponieważ wyrównanie reklamy zakotwiczonej nadal występuje. (I1712e, b/236524516) - Zmień adnotacje
@ExperimentalMaterial3Api
w wariantach przycisków ikon na@OptIn
(I070b5) - Rozdzielono zawartość panelu nawigacji na własną funkcję kompozycyjną, aby umożliwić określenie dla niej niestandardowej szerokości. (Ia7f10).
- Usuwa
Divider
z:MenuDefaults
iTabDefaults
(I4e33c)
Wersja 1.0.0-alfa15
27 lipca 2022 roku
androidx.compose.material3:material3:1.0.0-alpha15
i androidx.compose.material3:material3-window-size-class:1.0.0-alpha15
zostały udostępnione. Wersja 1.0.0-alfa15 zawiera te zatwierdzenia.
Nowe funkcje
- Zezwalaj na przeciąganie górnego paska aplikacji z samego paska. (I65c00, b/205873416)
Zmiany interfejsu API
- Zaktualizowaliśmy interfejsy API
FilterChip
iElevatedFilterChip
, aby usunąć przedziałselectedIcon
i promować ponowne używanieleadingIcon
do wyświetlania wybranego stanu. (Ie5dc2). - Dodaj role kolorów wariantu scrim i konturu. (Id6d54)
- Popraw konwencje nazewnictwa domyślnych ustawień kompozycyjnych. (I62b27)
- Oznacz
ListItemDefaults
iListItemColors
jako eksperymentalne. (I1f3ec). - Zmiany w górnym interfejsie API paska aplikacji, aby lepiej odzwierciedlić znaczenie właściwości stanu. Oznacz też interfejs API górnego paska aplikacji jako eksperymentalny. (Ic0ad8).
- Dodano kolory zaznaczonego tekstu do
TextFieldColors
, aby zwiększyć wykrywalność. (IBa1b8). - Dodano element
ButtonDefault.ButtonWithIconContentPadding
, który ma być używany z przyciskami zawierającymi ikonę. (I2bf9c) - Pola tekstowe zostały oznaczone jako eksperymentalne, aby zapewnić większą elastyczność przyszłych zmian interfejsu API. (I127b5)
- Usunięto adnotację
@ExperimentalMaterial3Api
z funkcjiCheckbox
. (I5eefc). - Usunięto adnotację
@ExperimentalMaterial3Api
z funkcjiRadioButton
. (I17e2a) - Usunęliśmy adnotację
@ExperimentalMaterial3Api
z kart nieinteraktywnych. (I9bd49) - Aktualizuje domyślne obiekty różnych komponentów, dodając do nich kolory, kształty itp. (I96e11)
Poprawki błędów
- Z próbek elementów wejściowych usunęliśmy niedziałające ikony końcowe, aby uniknąć dezorientacji użytkowników w aplikacji katalogu. (I9846a)
Wersja 1.0.0-alfa14
29 czerwca 2022 r.
androidx.compose.material3:material3:1.0.0-alpha14
i androidx.compose.material3:material3-window-size-class:1.0.0-alpha14
zostały udostępnione. Wersja 1.0.0-alfa14 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano implementację listy M3. Zapoznaj się z dokumentacją przykładowego użycia (Id7a20).
Zmiany interfejsu API
- Zmień nazwę parametru z wartości na wartość w funkcji
RangeSlider
(I3b79a) - Zmiany interfejsu API w implementacji
InputChip
, które umożliwiają wybór stanu zgodnego ze specyfikacją Material Design. Dodatkowa obsługaFilterChip
kolorów dla wybranego stanu wyłączenia. (I55244, b/235792432) - Dodaj domyślny przycisk typu FAB (
BottomAppBar
) (Ida4c8) - Dodano
ColorScheme.surfaceColorAtElevation
(Id41af) - Interfejsy w bibliotekach tworzenia wiadomości są teraz tworzone w formacie jdk8 domyślne metody interfejsu (I5bcf1)
WindowWidthSizeClass
iWindowHeightSizeClass
implementują funkcję „Porównywalne”, więc można je porównywać za pomocą operatorów (<, <=, >=, >) oraz innych interfejsów API. (I747d0)
Poprawki błędów
- Zaktualizuj przykładową plakietkę, aby dodać bardziej opisowy opis treści. (I10b9d)
- Dodaje opcję używania systemowego rozmiaru czcionki do selektora motywów Material 3 w katalogu Material 3. (I10605).
- Dodaje przykładowy kod plakietki i nieokreślone wskaźniki postępu. (I8fbe0)
Wersja 1.0.0-alfa13
1 czerwca 2022 r.
androidx.compose.material3:material3:1.0.0-alpha13
i androidx.compose.material3:material3-window-size-class:1.0.0-alpha13
zostały udostępnione. Wersja 1.0.0-alfa13 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Pomaga utrzymać pozycję u góry paska aplikacji po zmianie konfiguracji. (I10459, b/216160958)
Wersja 1.0.0-alfa12
18 maja 2022 r.
androidx.compose.material3:material3:1.0.0-alpha12
i androidx.compose.material3:material3-window-size-class:1.0.0-alpha12
zostały udostępnione. Wersja 1.0.0-alfa12 zawiera te zatwierdzenia.
Poprawki błędów
- Element nadrzędny suwaka może teraz mieć szerokość 0. (b/231707291)
Wersja 1.0.0-alfa11
11 maja 2022 roku
androidx.compose.material3:material3:1.0.0-alpha11
i androidx.compose.material3:material3-window-size-class:1.0.0-alpha11
zostały udostępnione. Wersja 1.0.0-alfa11 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano element
RangeSlider
do Material 3 (I18e38) - Dodano obsługę Material3
AssistChip
iInputChip
(I0d25a) - Dodano obsługę Material3
FilterChip
iSuggestionChip
(I9fdf3)
Zmiany interfejsu API
- Zmieniono nazwę funkcji kompozycyjnej
TextFieldDefaults.BorderStroke
, która rysuje linię obramowania wOutlinedTextField
naTextFieldDefaults.BorderBox
. (I5f295) - Zmiany wizualne interfejsu Switch M3 (Iab30e)
- Zezwalaj na przekazywanie kolorów do standardowych przycisków ikon. (IA2445).
Poprawki błędów
- Dodaj sprawdzanie lin do elementu material3/Scaffold, aby upewnić się, że wewnętrzne dopełnienie zostało zastosowane (I72293, b/226951418).
Wersja 1.0.0-alpha10
20 kwietnia 2022 r.
androidx.compose.material3:material3:1.0.0-alpha10
i androidx.compose.material3:material3-window-size-class:1.0.0-alpha10
zostały udostępnione. Wersja 1.0.0-alfa10 zawiera te zatwierdzenia.
Nowe funkcje
material3-window-size-class
to nowa biblioteka, która obsługuje klasy rozmiaru okna – zestaw sprawdzonych punktów przerwania widocznego obszaru, które można projektować, tworzyć i testować w układach aplikacji z możliwością zmiany rozmiaru. Za pomocącalculateWindowSizeClass
możesz pobrać instancję klasy rozmiaru okna, która pozwala określić, jak powinien wyglądać interfejs. W przypadku większych okien możesz na przykład wyświetlić szynę nawigacyjną zamiast dolną nawigację. Więcej informacji i przykładowe zastosowanie znajdziesz w dokumentacji interfejsu API dlaWindowSizeClass
. Więcej informacji o definicjach klas rozmiaru okna znajdziesz w publicznych wskazówkach dotyczących obsługi różnych rozmiarów ekranów.
Zmiany interfejsu API
- Dodaje domyślną wysokość przycisku FAB dla elementu
BottomAppBar
i usuwa lambdę końcowej zBottomAppBar
przy użyciu przycisku PPP. (I92c47) - Dodaje Material3
FilledIconButton
,FilledTonalIconButton
iOutlinedIconButton
. (Ib2bda), - Aktualizuje interfejs Material 3 Snackbar API, aby akceptować wartości kolorów dla działania opcjonalnego i odrzucenia. (Ibe4b4).
- Częściowe wykorzystanie (pozycja w dół LUB w pozycji) zostało wycofane w funkcji
PointerInputChange
. Aby w pełni zastosować zmianę, możesz użyć poleceniaconsume()
. ParametrisConsumed
pozwala określić, czy ktoś inny wykorzystał już tę zmianę. - Teraz
PointerInputChange::copy()
zawsze tworzy płytkie kopie. Oznacza to, że po wykorzystaniu jednej z nich kopiePointerInputChange
zostaną zużyte. Jeśli chcesz utworzyć nieograniczonyPointerInputChange
, użyj konstruktora. (Ie6be4, b/225669674) - Zmiany w interfejsie Cards API dotyczące otrzymywania kolorów kontenera i treści przez interfejs
CardColors
oraz obsługę stanu wyłączenia klikalne karty. (I927df) - Nazwa parametru
backgroundColor
została zmieniona nacontainerColor
w polach tekstowych Material 3, aby poprawić spójność z innymi komponentami. (I6fbd9)
Poprawki błędów
- Zaktualizowano standardową wersję
IconButton
, aby dostosować ją do specyfikacji Material3. (I09EAB) - Przenieś wysokość górnego paska funkcji Material3 Scaffold do dopełnienia przekazywanego do treści, aby umożliwić wyrenderowanie treści poniżej górnego paska aplikacji. Jeśli
PaddingValues
zostanie zignorowany, treść może być przysłonięta przez górny pasek. (I83cbc, b/217776202)
Wersja 1.0.0-alpha09
6 kwietnia 2022 roku
Usługa androidx.compose.material3:material3:1.0.0-alpha09
została zwolniona. Wersja 1.0.0-alfa09 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano interfejs Material 3 Switch API (I2c3ad)
Zmiany interfejsu API
- Dodano obsługę menu z polami tekstowymi (tzn. „ujawnione menu” lub „pola kombi”). (I1b832)
- Dodano parametr kształtu do podsystemów MaterialTheme i shape. (I37426)
- Do
ExtendedFloatingActionButton
dodano rozwinięty parametr, który określa, czy przycisk PPP jest rozwinięty, czy zwinięty, z animacjami między poszczególnymi stanami. Dodano rozszerzone przeładowanie przycisku PPP w przypadku rozszerzonych przycisków PPP z tekstem na końcu dla tych przycisków bez ikony. (Iba7f1).
Wersja 1.0.0-alpha08
23 marca 2022 r.
Usługa androidx.compose.material3:material3:1.0.0-alpha08
została zwolniona. Wersja 1.0.0-alfa08 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano obsługę pól tekstowych Material 3. (I795cc, b/199377790)
Zmiany interfejsu API
- Dodaj domyślny separator menu (I01374)
- Do klasy
ColorScheme
dodano parametr kolorusurfaceTint
. (I2f558)
Poprawki błędów
- Popraw przycisk na przycisku Material3, aby odczytać wartość domyślnego stylu tekstu. z MaterialTheme. (IE62fc)
Wersja 1.0.0-alpha07
9 marca 2022 r.
Usługa androidx.compose.material3:material3:1.0.0-alpha07
została zwolniona. Wersja 1.0.0-alfa07 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Aktualizacje interfejsu Material 3 Surface API, które przywracają funkcji przeciążenia dla klikalnych powierzchni, a także dodanie funkcji do obsługi powierzchni z możliwością wyboru i przełączania. (I4bf18)
- Wersje
LazyVerticalGrid
iLazyHorizontalGrid
są teraz stabilne. (I307C0) - Pakiet
LazyVerticalGrid/LazyHorizontalGrid
i wszystkie powiązane interfejsy API zostały przeniesione do podpakietu .grid. Zaktualizuj importy z androidx.compose.foundation.lazy na androidx.compose.foundation.lazy.grid. (I2d446) - Cofnięto poprzednią zmianę polegania wyłącznie na widoku danych
WindowInsetsControllerCompat
i ponownie wymagają okna, które ma wartość wymagane do zarządzania niektórymi flagami okien. Wycofano poleViewCompat.getWindowInsetsController
na rzeczWindowCompat.getInsetsController
, aby upewnić się, że wartość opcji Window jest (np. gdy widok jest w oknie). (I660ae, b/219572936) - Dodano nowy interfejs API
LazyVerticalGrid
do definiowania rozmiarów osi krzyżowych (I17723)
Poprawki błędów
- Aktualizacje interfejsu Card API w celu zastosowania zmian w interfejsie Surface API (I3c8b9)
Wersja 1.0.0-alpha06
23 lutego 2022 r.
Usługa androidx.compose.material3:material3:1.0.0-alpha06
została zwolniona. Wersja 1.0.0-alfa06 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodano
NavigationDrawerItem
, który reprezentuje pojedyncze miejsce docelowe w panelach (Ic396f, b/218286829) PermanentNavigationDrawer
iDismissibleNavigationDrawer
zostały dodane jako eksperymentalne interfejsy API. Te szuflady sprawdzają się w przypadku urządzeń z dużym ekranem. (I5f8ab, b/218286829)- Dodano obsługę paska aplikacji u dołu Material 3 (Ic432a)
- Nazwa usługi
NavigationDrawer
została zmieniona naModalNavigationDrawer
(I1807d, b/218286829) - Dodano klasę Material 3 Slider i tokeny (I1ccee)
- Dodano implementację karty. Zobacz dokumentację przykładowego użycia (Ie0146).
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że przy linearnej nawigacji czytnika ekranu w
TalkBack
wybierał pusty tytuł na górnym pasku aplikacji. (Id4690). - Dodano
IconSize
do listyFloatingActionButtonDefaults
. (Ia71cf). - Naprawiono błąd ukrytych przycisków
AlertDialog
po dodaniu długiego tekstu za pomocą znakuLazyColumn
. (Ib2cc9, b/216663029)
Wersja 1.0.0-alpha05
9 lutego 2022 r.
Usługa androidx.compose.material3:material3:1.0.0-alpha05
została zwolniona. Wersja 1.0.0-alfa05 zawiera te zatwierdzenia.
Nowe funkcje
Dodano komponenty Material Design 3.
- Menu
- Karty
- Card, OutlinedCard oraz ElevatedCard
Zmiany interfejsu API
- Wycofano funkcję
Surface
, która przyjmuje onClick oddzwanianie. Klikalne powierzchnie należy tworzyć za pomocą:InteractionSource
iModifier.clickable()
. (I211C6). - Dodano obsługę podniesienia nacisku i zaznaczenia dla przycisku PPP. (Ibb584).
- Zmieniono interfejs API
Surface
, aby otrzymywać obiekt InteractionSource, który umożliwia i sterować jego występowaniem w różnych stanach. (Iafbc8)
Poprawki błędów
- Dodano brakujące kolory trzeciorzędne w dynamicznych schematach kolorów (I456c4, b/214588434)
Wersja 1.0.0-alpha04
26 stycznia 2022 r.
Usługa androidx.compose.material3:material3:1.0.0-alpha04
została zwolniona. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodano metodę
NonRestartableComposable
do metod, które są przeciążeniami bez złożonej logiki. Zmniejsza to liczbę kompilatora wygenerowane czeki notacji (równe) dla wszystkich parametrów, które są powtarzane w funkcji wewnętrznej, która jest wywoływana. (I90490) - Dodano separator Materiał 3. (Ica5fc).
- Zaznacz pole wyboru i opcję RadioButton za pomocą eksperymentalnego interfejsu API adnotacja. (IE44bb)
- Dodano obsługę wskaźników postępu Material 3. (Iff232, b/205023841)
Poprawki błędów
- Zaktualizuj kolor wyłączonego kontenera
TextButton's
na przezroczysty (I6b248, b/213339737)
Wersja 1.0.0-alpha03
12 stycznia 2022 r.
Usługa androidx.compose.material3:material3:1.0.0-alpha03
została zwolniona. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.
Poprawki błędów
- Dodaj element
LocalIndication
do elementuMaterialTheme
Material 3. (I7ce4e). - Popraw promień narożnika zastosowany do pól wyboru (I38b03, b/175198975, b/202309440)
Aktualizacje zależności
- Teraz zależy od Kotlin
1.6.10
.
Wersja 1.0.0-alpha02
1 grudnia 2021 r.
Usługa androidx.compose.material3:material3:1.0.0-alpha02
została zwolniona. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano obsługę pól wyboru i opcji.
- Zaktualizowano, aby była zgodna z platformą Kotlin
1.6.0
Zmiany interfejsu API
- Usuń panel z rusztowania Material 3. (I04f51)
- Dodano obsługę Material 3
Checkbox
. (Id5542). - Dodano obsługę Material 3
RadioButton
. (I20334)
Poprawki błędów
- Zmniejsz promień fali:
IconButton
z 40 dp do 20 dp. (I68bbe, b/206674345) - Szybka ścieżka ciągu znaków portu dla zmiany
Text
zcompose.material
(I30b03) - Naprawiono, ale zakodowany na stałe przycisk był zawsze włączony. (IEA832, b/205335456)
Wersja 1.0.0-alpha01
27 października 2021 roku
Usługa androidx.compose.material3:material3:1.0.0-alpha01
została zwolniona. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
Motyw Material Design 3 i dynamiczne kolory Material You
Komponenty Material Design 3
- Przyciski
- FAB i rozszerzony FAB
- Okna dialogowe
- Pasek nawigacyjny
- Panel nawigacji
- Kolejka nawigacyjna
- Górny pasek aplikacji
- Plakietka
- Ikona
- Tekst
- Natynkowe
- Układ
- Kolor treści
Więcej informacji znajdziesz w sekcji dotyczącej Material Design 3 i Material You w przewodniku Ustawianie motywów Material Design w Composer.