Compose Material 3
androidx.compose.material3
(Zobacz dokumentację interfejsu API wszystkich pakietów Compose)
Najnowsza aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
2 lipca 2025 r. | 1.3.2 | - | - | 1.4.0-alpha17 |
Struktura
Compose to połączenie 7 identyfikatorów grupy Maven w ramach androidx
. Każda grupa zawiera ukierunkowany podzbiór funkcji, a każda z nich ma własny zestaw informacji o wersji.
W tej tabeli znajdziesz wyjaśnienie grup i linki do poszczególnych zestawów informacji o wersji.
Grupa | Opis |
---|---|
compose.animation | tworzyć animacje w aplikacjach Jetpack Compose, aby zwiększać komfort użytkowników; |
compose.compiler | Przekształcanie funkcji z adnotacją @Composable i włączanie optymalizacji za pomocą wtyczki kompilatora Kotlin. |
compose.foundation | Twórz aplikacje w Jetpack Compose za pomocą gotowych elementów składowych i rozszerzaj podstawy, aby tworzyć własne elementy systemu projektowania. |
compose.material | Twórz interfejsy Jetpack Compose za pomocą gotowych komponentów Material Design. Jest to punkt wejścia wyższego poziomu w Compose, który ma udostępniać komponenty zgodne z tymi opisanymi na stronie www.material.io. |
compose.material3 | Twórz interfejsy Jetpack Compose za pomocą komponentów Material Design 3, czyli kolejnej ewolucji Material Design. Material 3 zawiera zaktualizowane motywy i komponenty oraz funkcje personalizacji Material You, takie jak dynamiczny kolor. Jest on spójny z nowym stylem wizualnym Androida 12 i interfejsem systemu. |
compose.runtime | Podstawowe elementy modelu programowania i zarządzania stanem w Compose oraz podstawowe środowisko wykonawcze, do którego kierowany jest wtyczka kompilatora Compose. |
compose.ui | Podstawowe komponenty interfejsu Compose potrzebne do interakcji z urządzeniem, w tym układ, rysowanie i dane wejściowe. |
Deklarowanie zależności
Aby dodać zależność od Compose, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Maven Google.
Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle
aplikacji lub modułu:
Groovy
dependencies { implementation "androidx.compose.material3:material3:1.3.2" implementation "androidx.compose.material3:material3-window-size-class:1.3.2" implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha17" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material3:material3:1.3.2") implementation("androidx.compose.material3:material3-window-size-class:1.3.2") implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha17") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nową kartę, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Compose Material3 Common w wersji 1.0
Wersja 1.0.0-alpha01
17 kwietnia 2024 r.
androidx.compose.material3:material3-common:1.0.0-alpha01
, androidx.compose.material3:material3-common-android:1.0.0-alpha01
i androidx.compose.material3:material3-common-desktop:1.0.0-alpha01
są zwalniane. Wersja 1.0.0-alpha01 zawiera te zmiany.
Nowe funkcje
Komponenty bez motywu, których można używać do tworzenia komponentów Material Design:
- 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
są zwalniane. Wersja 1.0.0-alpha07 zawiera te zmiany.
Zmiany w interfejsie API
- Udostępnienie interfejsów API pakietu nawigacyjnego w wersji nieeksperymentalnej (If62af)
Poprawki błędów
- Domyślne używanie wstawek w przypadku treści (50266df)
Wersja 1.0.0-alpha06
17 kwietnia 2024 r.
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha06
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha06
i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha06
są zwalniane. Wersja 1.0.0-alpha06 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaj użytkowników
containerColor
icontentColor
do listyNavigationSuiteScaffoldDefaults
. (I64e3a, b/331993720) - Dodawanie funkcji
itemColors
doNavigationSuiteDefaults
. (Idf719, b/328480012) - Upewnij się, że
NavigationSuiteScope
jest szczelnie zamknięty. (Iefa57)
Wersja 1.0.0-alpha05
6 marca 2024 roku
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha05
i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha05
są zwalniane. Wersja 1.0.0-alpha05 zawiera te commity.
Zmiany w interfejsie API
- 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
są zwalniane. Wersja 1.0.0-alpha04 zawiera te zmiany.
Aktualizacje zależności
- Zaktualizuj zależności adaptacyjne Material3 do nowych ścieżek modułów. (Ibc421)
- Przejdź na klasy rozmiarów okien w Menedżerze okien. (I3794d)
Wersja 1.0.0-alpha03
7 lutego 2024 r.
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha03
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha03
i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03
są zwalniane. Wersja 1.0.0-alpha03 zawiera te zmiany.
Zmiany w interfejsie API
- Zmiana nazwy pakietu z navigation-suite na navigationsuite (I7eff7)
- Komponenty Material3, które w swoim interfejsie API udostępniały
MutableInteractionSource
, zostały zaktualizowane, aby udostępniaćMutableInteractionSource
z możliwością wartości null, która domyślnie ma wartość null. Nie ma tu żadnych zmian semantycznych: przekazanie wartości null oznacza, że nie chcesz podnosićMutableInteractionSource
, a w razie potrzeby zostanie on utworzony w komponencie. Ustawienie wartości null powoduje, że niektóre komponenty nigdy nie przydzielająMutableInteractionSource
, a inne tworzą instancję tylko wtedy, gdy jest to potrzebne, co zwiększa wydajność tych komponentów. Jeśli nie używasz elementuMutableInteractionSource
przekazywanego do tych komponentów, zalecamy przekazywanie zamiast niego wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (I41abb, b/298048146)
Wersja 1.0.0-alpha02
13 grudnia 2023 r.
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02
i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02
są zwalniane. Wersja 1.0.0-alpha02 zawiera te zmiany.
Nowe funkcje
- Dodaj wartość „Brak”
NavigationSuiteType
(If8cb1, b/313688598)
Poprawki błędów
- Naprawiono problem z komponentem nawigacji wypełniającym cały ekran, gdy powierzchnia główna ma wartość
modifier.fillMaxSize
. (c9cf250, b/312664933)
Wersja 1.0.0-alpha01
15 listopada 2023 r.
Zostanie wycofaneandroidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01
Wersja 1.0.0-alpha01 zawiera te zmiany.
Nowe funkcje
Compose Material3 Adaptive w wersji 1.0
Wersja 1.0.0-alpha06
7 lutego 2024 r.
androidx.compose.material3:material3-adaptive:1.0.0-alpha06
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha06
i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha06
są zwalniane. Wersja 1.0.0-alpha06 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy dodatkowe opcje działania dotyczące
ThreePaneScaffoldNavigator
nawigacji wstecz. (I858aa) - Dodano opcjonalną treść miejsca docelowego do historii nawigacji. (Ibd7e6)
Wersja 1.0.0-alpha05
24 stycznia 2024 r.
androidx.compose.material3:material3-adaptive:1.0.0-alpha05
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha05
i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha05
są zwalniane. Wersja 1.0.0-alpha05 zawiera te zmiany.
Nowe funkcje
- Obsługa historii w nawigacji szkieletowej i obliczaniu wartości (I71d46)
Wersja 1.0.0-alpha04
10 stycznia 2024 r.
androidx.compose.material3:material3-adaptive:1.0.0-alpha04
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha04
i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha04
są zwalniane. Wersja 1.0.0-alpha04 zawiera te zmiany.
Nowe funkcje
- Dodano obsługę od krawędzi do krawędzi w szkieletach paneli (I1b462).
Zmiany w interfejsie API
- Przeniesiono właściwości granic zawiasu w Postawie do listy informacji o zawiasie (I24f90)
Poprawki błędów
- Rozwiąż problem z nieprzekształcaniem
AnimatedPane
(c3f573d)
Wersja 1.0.0-alpha03
13 grudnia 2023 r.
androidx.compose.material3:material3-adaptive:1.0.0-alpha03
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha03
i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03
są zwalniane. Wersja 1.0.0-alpha03 zawiera te zmiany.
Zmiany w interfejsie API
- Zmień role rusztowania na aliasy
ThreePaneScaffoldRole
. (I65bd1) - Utwórz klasę bazową dla ról szkieletowych (I4784d)
- Usuń niepotrzebny parametr z treści
AnimatedPane
(Ibc73b) - Zmienia nazwę
collectWindowSizeAsState
i zamiast tego zwraca surowe wartości (I480f4).
Wersja 1.0.0-alpha02
29 listopada 2023 r.
androidx.compose.material3:material3-adaptive:1.0.0-alpha02
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha02
i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02
są zwalniane. Wersja 1.0.0-alpha02 zawiera te zmiany.
Zmiany w interfejsie API
- Oddzielenie interfejsów API nawigacji od interfejsów API adaptacyjnego komponentu. (Ic4045)
- Usuń zajęcia
GutterSize
. (I785b3)
Poprawki błędów
- Panele stałe nie są przełączane, gdy nie jest używany znak
AnimatedPane
(d88f181)
Wersja 1.0.0-alpha01
15 listopada 2023 r.
Zostanie wycofaneandroidx.compose.material3:material3-adaptive:1.0.0-alpha01
Wersja 1.0.0-alpha01 zawiera te zmiany.
Nowe funkcje
Interfejsy API warunków adaptacyjnych Material3:
Interfejsy API dyrektywy rusztowania panelu adaptacyjnego Material3:
Interfejsy API komponentu adaptacyjnego Material3:
- Podstawowe interfejsy API struktury panelu
Tworzenie wiadomości w wersji 1.4 Material3
Wersja 1.4.0-alpha17
2 lipca 2025 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha17
Wersja 1.4.0-alpha17 zawiera te zmiany.
Nowe funkcje
- Zaktualizowano animację grupy przycisków, aby po kliknięciu animacja była odtwarzana w 75% zamiast po naciśnięciu. (593942a, b/423596967)
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że w niektórych przypadkach element karuzeli mógł przekraczać rozmiar dużego elementu podczas obliczania układu, co powodowało ucięcie całego widżetu. (I1c3d7, b/397489534)
- Rozwiązaliśmy problem z przeskakiwaniem poza
beforeContentPadding
podczas przewijania karuzel z nakładającymi się przesunięciami początku i końca. (c3d5f3a, b/420618979) - Zaktualizowaliśmy działanie funkcji
SwipeToDismiss
, aby uwzględniała stan rozliczenia zamiast bieżącego stanu. Przywraca dotychczasowe działanie, w którym zachowanie elementu zakotwiczonego jest wyłączane tylko wtedy, gdy komponent jest w stanie zamkniętym. (3844e07, b/425006844) - Menu wyskakujące
ExposedDropdownMenu
można teraz otworzyć za pomocą klawiatury. W przypadku odmiany, którą można edytować, menu jest teraz dostępne z poziomu klawiatury. (46ead03)
Wersja 1.4.0-alpha16
18 czerwca 2025 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha16
Wersja 1.4.0-alpha16 zawiera te zmiany.
Nowe funkcje
- Dodano komponent karuzeli z wyróżnioną treścią wyśrodkowaną (I6f6d3).
Zmiany w interfejsie API
- Wdrażanie zastąpień XR na pionowym pasku narzędzi (Ia1604)
- Dodano funkcje programowego przewijania do
CarouselState
(I12f8e) - Dodaj
ComponentOverride
do subskrypcjiModalWideNavigationRail
(I4f440) - Dodaj
ComponentOverride
do subskrypcjiWideNavigationRail
(I6354f) - Tworzę klucz
ComponentOverride
dla chmuryHorizontalFloatingToolbar
(I51116) - Tworzę klucz
ComponentOverride
dla chmuryShortNavigationBar
(I30e24) - Odwołania
SwipeToDismissBoxState
doconfirmValueChange
zostały oznaczone jako nieaktualne. Użytkownicy powinni zamiast tego korzystać z wywołania zwrotnegoSwipeToDismissBox
APIonDismissed
. (Iee780) - Dodaliśmy parametr userScrollEnabled do funkcji kompozycyjnych Carousel. (I1d4d2)
- Karuzelę
currentItem
można teraz obserwować w domenieCarouselState
. (Ie87e9)
Poprawki błędów
- Rozwiązaliśmy problem polegający na tym, że dowolny kształt na przycisku FAB przekazywanym do komponentu
FloatingToolbar
nie stosował prawidłowo cienia. (Icdcc9, b/423336922) - Wszystkie karuzele domyślnie korzystają teraz z roli semantycznej Karuzela. (I7af12)
- Naprawiono nieprawidłowy ruch kciuka, gdy stan suwaka został zaktualizowany za pomocą funkcji
LaunchedEffect
(Id9f31, b/302774166).
Wersja 1.4.0-alpha15
20 maja 2025 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha15
Wersja 1.4.0-alpha15 zawiera te zmiany.
Zmiany w interfejsie API
- Dodano
MotionTheme.LocalMotionScheme
, lokalna kompozycja. Umożliwia to dostęp do schematu ruchu motywu z poziomuCompositionLocalConsumerModifierNodes
za pomocącurrentValueOf(MotionTheme.LocalMotionScheme)
. (I014b1) - Konstruktor
ColorScheme
bez ról kolorów stałych jest teraz wycofany. Przejdź na konstruktor, który zawiera stałe role. (Iad0ee) - Komponent M3 Text obsługuje teraz
TextAutoSize
. (I7f524) - Dodaj interfejs API do tworzenia wariantów rozmiaru przycisku dzielonego i przykłady. (Ice30b)
Poprawki błędów
- Rozwiązaliśmy problem polegający na nieprawidłowym położeniu symboli
Snackbar
iFloatingActionButton
, gdy włączona była opcja od krawędzi do krawędzi. Komponent Scaffold prawidłowo stosuje teraz do tych komponentów poziome wcięcia. (Ib7c30, b/244400727) - Popraw ruch
BottomSheet
z pełnego rozwinięcia do częściowego.BottomSheet
używa teraz efektu szybkiegoMotionScheme
podczas ukrywania lub zwijania oraz domyślnego efektu przestrzennego podczas rozwijania. (Ifa46f, b/416063171) - Konstruktor
ColorScheme
bez ról kontenera powierzchni został oznaczony jako ukryty i nie jest już zalecany do użycia. (Ia7237) - Usunęliśmy wymaganie
CircularWavyProgressIndicator
Size.minDimension > 0
, które wcześniej powodowało wyjątek, aby zapewnić większą elastyczność. (Ic9418, b/377531195) - Hiperlinki w
Text(AnnotatedString)
mają teraz domyślnie styl Material. (I78288, b/339843816) - Rozwiązaliśmy problem z funkcją
toShape()
wRoundedPolygon
, która buforuje ścieżkę i powoduje problem, gdy wykonywanych jest wiele wywołańcreateOutline
z różnymi rozmiarami. (I4026d)
Wersja 1.4.0-alpha14
7 maja 2025 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha14
Wersja 1.4.0-alpha14 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaliśmy nowy komponent
AppBarColumn
, który działa tak samo jakAppBarRow
, ale w przypadku treści ułożonych w kolumnie. (Iaf6bd) - Dodano maksymalną liczbę elementów do
AppBarRow
. Jest to konieczne do prawidłowego wdrożenia specyfikacji materiału dla górnych pasków aplikacji. (I92ce4) - Dodano metodę w
TooltipScope
, aby uzyskaćlayoutCoordinates
kotwicy. Wycofujemy metodędrawCaret
, ponieważ deweloperzy mogą używać nowej metody do uzyskiwania granic elementu zakotwiczenialayoutCoordinates
i tworzenia odpowiedniego kształtu zawierającego karet. (Ia2e12, b/329470609) - Dodano
java.time
obsługę selektorów daty: wprowadzonorememberDatePickerState/rememberDateRangePickerState
przeciążenia, które akceptują obiekty java.time (np. początkowyLocalDate
,YearMonth
). Dodano też funkcje rozszerzające w obiektach stanu, aby pobierać i ustawiać wartości za pomocą typów takich jakLocalDate
iYearMonth
. Wymaga interfejsu API w wersji 26 lub nowszej albo desugaryzacji. (I70f29, b/266202516, b/281859606) - Dodaj komponent
CenteredTrack
, który umożliwia używanie suwaka ze ścieżką zaczynającą się od środka. (I5b1d6)
Poprawki błędów
- Poprawiliśmy wydajność wskaźników postępu w formie fal: typy liniowe wczytują się teraz o ok. 8,5% szybciej i mają o ok. 11% mniej alokacji, a typy okrągłe są o ok. 47% szybsze i mają o ok. 39% mniej alokacji. (I595d8)
Wersja 1.4.0-alpha13
23 kwietnia 2025 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha13
Wersja 1.4.0-alpha13 zawiera te zmiany.
Zmiany w interfejsie API
isAppearanceLightStatusBars
iisAppearanceLightNavigationBars
ponownie wprowadzone wModalBottomSheetProperties
jako parametry tylko na Androida. (Id4bc0)- Dodaj
AppBarRow
element kompozycyjny, który obsługuje przepełnienie elementów, które nie mieszczą się w jego granicach. (I742bd) - Zaktualizuj interfejsy API
DatePicker
iDateRangePicker
, aby wysyłać żądanie ustawienia fokusu podczas przełączania się na tryb wprowadzania daty. Zastąpiliśmy parametr logicznyrequestFocus
opcjonalnym parametremfocusRequester
, który przyjmuje wartośćFocusRequester
. (I14b69) - Usuń modyfikator i źródło interakcji z domyślnych elementów klikalnych i przełączanych. Zamiast tego użyj go jako szczegółu implementacji. (I95ed6)
- Zaktualizowano
ButtonGroup
, aby w przypadku zbyt dużej liczby przycisków, które nie mieszczą się na ekranie, wyświetlać menu. (I7b88b)
Poprawki błędów
- Arkusz dolny wykorzystuje teraz górne wcięcia, gdy jest mniejszy niż bieżące przesunięcie. Umożliwia użytkownikom podawanie górnych wcięć w przypadku rozwiniętego zachowania.
BottomSheetDefaults.windowInsets
obejmuje terazWindowInsets.safeDrawing.Top
. (I0ab67, b/321877275, b/336962418, b/342093067) - Włączono animacje wejścia/wyjścia (przejście/przesunięcie) dla ikon/avatarów na początku i na końcu elementu Chip, gdy są one dodawane lub usuwane. Dotyczy to głównie wybieralnych elementów Chip (filtr, dane wejściowe), ale ma zastosowanie ogólne. (I9af21)
- Naprawiono nieprawidłowe działanie suwaka RTL spowodowane przez
LookaheadScope
. (Ieb152, b/408118041) - Naprawiono awarię dolnego
AppBar
związaną z przewijaniem przy ukrytym interfejsie systemu. (Ic6140, b/405996228)
Wersja 1.4.0-alpha12
9 kwietnia 2025 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha12
Wersja 1.4.0-alpha12 zawiera te zmiany.
Zmiany w interfejsie API
- Usunięto parametry specyficzne dla Androida z
ModalBottomSheetProperties
(Iab97f, b/362539765) - Wprowadzenie funkcji przeciążania domyślnych rozmiarów uchwytów przeciągania (I0ed0d)
- Dodaliśmy nowe funkcje
NavigationSuiteScaffold
iNavigationSuiteScaffoldLayout
, aby obsługiwać nowe typy układów i opcjonalną treść działania głównego. (Ib262a, b/353144478) - Wycofaj parametr
Modifier.weight
z parametrem wypełnienia wButtonGroup
. Dodawanie wersji bez wypełnienia. (Id32bb) - Zmień nazwę komponentu
xSmall-
ixLarge-
IconButton, aby domyślnie wymawiaćextra
. (Ib6e0f) - Dodaj nowe funkcje
NavigationSuite
,NavigationSuiteItem
iNavigationSuiteColors
, aby obsługiwać nowe typy układów. (I203d6) - Dodaj nowe funkcje
NavigationSuiteTypes
inavigationSuiteType
, które obejmują te opcje układu (If68f9).
Poprawki błędów
ColorScheme.contentColorFor
mapuje terazsurfaceDim
naonSurface
. (I8891a)- Zaktualizowaliśmy implementację
DateInputTextField
, aby rozwiązać problem, który powodował, że w polu wprowadzania nie była odzwierciedlana data ustawiona programowo. (I6c8d1, b/401143451) - Poprawiono kolejność zaznaczania w usłudze TalkBack w przypadku paska nawigacyjnego i szerokiego paska nawigacyjnego (I6cf6f, b/407048224).
Wersja 1.4.0-alpha11
26 marca 2025 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha11
Wersja 1.4.0-alpha11 zawiera te zmiany.
Zmiany w interfejsie API
- Zaktualizowano wielkość liter w przypadku właściwości kompozycyjnych w obiektach domyślnych dla przycisku i przycisku przełączania. Dodaj metody w
ToggleButtonDefaults
iButtonDefaults
dotyczące zalecanego dopełnienia treści, kształtów, rozmiaru ikony, odstępów między ikonami i stylu tekstu w zależności od wysokości kontenera. (Iea69e) - Usunięto z
FloatingToolbar
wycofane eksperymentalne funkcje i stałe. (I8f339) - Komponenty wysokości mają teraz wspólny interfejs oraz publiczne konstruktory i właściwości. (Ibb172)
- Dodanie modyfikatora
animateWidth
wButtonGroupScope
, który będzie musiał być używany z elementami podrzędnymi grupy przycisków, aby prawidłowo animować te elementy. (Ia3bb6)
Poprawki błędów
- Poprawiliśmy dopełnienie pływającego paska narzędzi, aby zapewnić równowagę wizualną podczas zwijania, i zwiększyliśmy elastyczność w przypadku większych treści. (I06c00)
Wersja 1.4.0-alpha10
12 marca 2025 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha10
Wersja 1.4.0-alpha10 zawiera te zmiany.
Zmiany w interfejsie API
- Środowisko wykonawcze
TabRowDefaults.tabIndicatorOffset
zostało wycofane na rzeczTabIndicatorScope.tabIndicatorOffset
. (Ib36b3) - Poprawienie błędu w domyślnych ustawieniach przycisku dotyczącego małego dopełnienia treści. (I19bfe)
- Wycofano metody
TabRow
iScrollableTabRow
na rzecz ich wersji podstawowych i dodatkowych. Wiersze na kartach Podstawowe i Dodatkowe działają wydajniej i są bardziej zgodne ze specyfikacją. (I918e2) - Dodano użytkowników
rememberSliderState
irememberRangeSliderState
. (I8e384) - Dodano
shouldAutoSnap
doSliderState
, aby kontrolować mechanizm automatycznego przyciągania. Wyłączenie go może być przydatne w przypadku animacji niestandardowych. (I07745) - Minimalna szerokość karty w wierszu kart z możliwością przewijania jest teraz parametrem. Warianty wiersza kart Główna i Dodatkowa nie są już eksperymentalne. (If6f15, b/226665301)
- Udostępniono klasę
ExitAlwaysFloatingToolbarScrollBehavior
publicznie, co umożliwia tworzenie bez kompozycji. (Ibf31c)
Wersja 1.4.0-alpha09
26 lutego 2025 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha09
Wersja 1.4.0-alpha09 zawiera te zmiany.
Zmiany w interfejsie API
- Zmień nazwy pól ustawień
DragHandle
w stanie domyślnym, rozdziel stany naciśnięcia i przeciągnięcia oraz udostępnij domyślne rozmiary. (I787b9) - Aktualizacje interfejsu
TowRowsTopAppBar
API. Usunęliśmy parametrexpanded
lambda i dodaliśmy osobne parametry dla wysokości po rozwinięciu i zwinięciu. (Idd677, b/306697446, b/229134133, b/268068946)
Poprawki błędów
- Dolne paski aplikacji korzystają teraz z usługi eksploracji dotykowej (np.
TalkBack
) i utrzymywać je w widoku, gdy usługa jest włączona. (I4b34d)
Wersja 1.4.0-alpha08
12 lutego 2025 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha08
Wersja 1.4.0-alpha08 zawiera te zmiany.
Nowe funkcje
Dodaliśmy interfejs API
TimePickerDialog
, którego można używać w przypadkuTimePicker
,TimeInput
lub w wersji z możliwością przełączania. (Id2d83)Nowe interfejsy API paska wyszukiwania:
- Zwinięte paski wyszukiwania i rozwinięte „widoki” wyszukiwania są teraz osobnymi komponentami.
SearchBar
oznacza pasek wyszukiwania w stanie zwiniętym.ExpandedFullScreenSearchBar
iExpandedDockedSearchBar
oznaczają pasek wyszukiwania w stanie rozwiniętym. Otwierają się w nowym oknie.SearchBarState
, aby kontrolować stan paska wyszukiwania.TopSearchBar
– dodanie obsługi wcięć i zachowania przewijania.- Nowe przeciążenie funkcji
InputField
, które używaSearchBarState
(Ie0723, b/261496232, b/283311462, b/350916229, b/352872248)
Zmiany w interfejsie API
- Obsługa przekształcania kształtu rogu przycisków z ikonami po naciśnięciu. (I21843)
- Interfejsy API dekoratora pola tekstowego i pola dekoracji nie są już eksperymentalne. (I31d95)
- Dodaliśmy przykłady i wartości domyślne dla połączonego wariantu
ButtonGroup
. (I5c8ce) - Ustaw parametr state jako ostatni w plikach
NavigationSuiteScaffold
iNavigationSuiteScaffoldLayout
. (I9cc7b)
Poprawki błędów
- Dodano niestandardowe działania związane z ułatwieniami dostępu do
FloatingToolbars
, dzięki czemu usługi ułatwień dostępu mogą teraz rozwijać lub zwijać wszystkie wariantyFloatingToolbar
. Wersja z przyciskiem FAB stosuje to do przycisku FAB, a wersja bez przycisku FAB stosuje to do głównej treści. (I26420) FloatingToolbars
teraz obserwuj usługę eksploracji dotykowej (np. TalkBack) i utrzymywać pasek narzędzi rozwinięty i widoczny, gdy usługa jest włączona. (I02172)- Naprawiono błąd powodujący awarię wskaźników postępu i wczytywania w przypadku przekazania wartości
Float.NaN
jako postępu. (I4fa96, b/352364576)
Wersja 1.4.0-alpha07
29 stycznia 2025 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha07
Wersja 1.4.0-alpha07 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy większą elastyczność w dostosowywaniu wyglądu pól wyboru za pomocą nowego interfejsu API. Ten interfejs API udostępnia parametry obrysu, które pozwalają lepiej kontrolować sposób renderowania znacznika wyboru i obrysu pola wyboru. (I65a88)
- Dodano
TwoRowsTopAppBar
API, bardziej konfigurowalną alternatywę dla średnich i dużych pasków aplikacji, która umożliwia tworzenie dwuwierszowych pasków aplikacji u góry ekranu. Deweloperzy mają teraz kontrolę nad treścią tytułów i napisów w stanie zwiniętym i rozwiniętym, a także mogą dostosowywać wysokość każdego z tych stanów. (I0be3c, b/306697446, b/229134133, b/268068946)
Zmiany w interfejsie API
- Zmieniliśmy nazwę wariantu eksperymentalnego
BottomAppBar
naFlexibleBottomAppBar
, co zapewnia większą kontrolę nad rozmieszczeniem i wysokością treści. (Iaa448) - Zaktualizuj nazwy właściwości w domyślnym obiekcie grupy przycisków na
CapitalCase
. Zaktualizuj nazwęanimateFraction
, aby dokładniej odzwierciedlała zachowanie, które reprezentuje. (I545cd) - Dodanie przeciążeń dla popularnych przycisków, które umożliwiają animowane kształty podczas interakcji z naciśnięciem. Dodano kształty przycisków w pamięci podręcznej. (I5ec20)
- Możesz teraz kontrolować, jak
FloatingToolbar
z przyciskiem FAB reaguje na przewijanie, podając wartośćFloatingToolbarScrollBehavior
. W przypadku pasków narzędzi umieszczonych wzdłuż środkowej krawędzi (np. u góry lub u dołu) zalecamy użycie zachowania przewijania, aby ukryć cały komponent podczas przewijania, co zapewni bardziej przejrzysty wygląd. Zapobiega to również przesunięciu FAB poza środek, co może się zdarzyć w przypadku użycia flagiexpanded
do zwijania. (I33f67) - Aktualizuje eksperymentalne interfejsy API
TopAppBar
, aby podczas ustawiania wyrównania tytułu i podtytułu używaćAlignment.Horizontal
zamiast niestandardowegoTopAppBarTitleAlignment
. (I70ca2) SliderState#onValueChange
jest teraz publiczny, aby zapewnić użytkownikowi większą kontrolę (I104eb)- Wprowadź
NavigationSuiteScaffoldState
, aby umożliwić animację komponentu nawigacji. Wprowadzamy też przeciążenia funkcjiNavigationSuiteScaffold
iNavigationSuiteScaffoldLayout
, które mają parametr stanu. (I6a8c9, b/328674235)
Poprawki błędów
- Przenieś zajęcia
IconButtonColors
iIconToggleButtonColors
zIconButtonDefaults.kt
z powrotem doIconButton.kt
. (I3c233)
Wkład zewnętrzny
SliderState#isDragging
jest teraz dostępny publicznie. (I8458a)
Wersja 1.4.0-alpha06
15 stycznia 2025 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha06
Wersja 1.4.0-alpha06 zawiera te zmiany.
Zmiana zachowania
- Dodaliśmy
displayCutout
do grupy wcięć, które komponenty Material domyślnie uwzględniają, aby uniknąć nakładania się treści z wycięciem na wyświetlaczu. Jest to zmiana w działaniu, która wpłynie na sposób, w jaki komponenty uwzględniające wcięcia będą zachowywać się w pobliżu wycięcia na wyświetlaczu. Obejmuje to wartość domyślną parametruWindowInsets
w przypadku komponentów Material 3 uwzględniających wcięcia oraz wartościWindowInsets
podane w obiektach Defaults komponentów Material 2 i Material 3. Jeśli ta zmiana spowoduje niepożądane działanie, ręcznie określ parametrWindowInsets
dla każdego komponentu. (I43ee9, b/362508045)
Zmiany w interfejsie API
- Aktualizacje interfejsu
TopAppBar
API. Zmień nazwy średnich i dużych górnych pasków aplikacji z podtytułem na*FlexibleTopAppBar
. Ujednoliciliśmy warianty kolorystyczne w jednej funkcjiTopAppBarDefault.topAppBarColors()
i dodaliśmy parametr kolorusubtitle
, który można zastosować w przypadku podanego komponentu kompozycyjnego z napisami (I41b65). - Usuń interfejs API
WideNavigationRailArrangement
na rzecz interfejsu APIArrangement.Vertical
(Id0341) - Dodaj nowy
VerticalSlider @Composable
. (I2bfba) - Dodano nowy rodzaj ścieżki
@Composable
, który umożliwia określanie niestandardowych zewnętrznych narożników ścieżki i ikon ścieżki. (I436a4) - Zaktualizuj interfejsy API pływającego paska narzędzi, aby używać obiektu
FloatingToolbarColors
zamiast jednego koloru kontenera. (I9a054) - Dodawanie i używanie nowej eksperymentalnej adnotacji
ExperimentalMaterial3ComponentOverrideApi
(Ia1eaf) Modifier.indicatorLine
przyjmuje teraz kształt pola tekstowego, aby obsługiwać przycinanie. (I8c5f3, b/380704151)- Zmiana nazwy eksperymentalnych funkcji
FloatingAppBar
naFloatingToolbar
(I1dbf8) - Dodano nowy
floatingToolbarVerticalNestedScroll
, który można dołączyć do kontenera z możliwością przewijania, aby aktualizować stan rozwinięcia pływającego paska narzędzi na podstawie ruchu przewijania, który przekracza próg. (I6d65f) - Wprowadzamy nowy interfejs API do tworzenia pływającego paska narzędzi z dołączonym pływającym przyciskiem działania (FAB). Interfejs API udostępnia elastyczne opcje dostosowywania, które umożliwiają ułożenie paska narzędzi w poziomie lub pionie oraz umieszczenie przycisku FAB na początku lub na końcu paska narzędzi. (I9e350)
Poprawki błędów
- Rozwiązaliśmy problem z dostępnością paska informacyjnego, który powodował, że po zamknięciu paska informacyjnego, gdy włączona była funkcja
TalkBack
, odczytywano komunikat o jego zamknięciu. (/I9db53)
Wkład zewnętrzny
- Ujednolicone
BasicTooltip
w foundation iBasicTooltip/Tooltip
w material3. (Ifc2e6)
Wersja 1.4.0-alpha05
12 grudnia 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha05
Wersja 1.4.0-alpha05 zawiera te zmiany.
Zmiany w interfejsie API
- Zastąp typ w wartości
WideNavigationRailState.current/target
wyliczenia, aby zwiększyć czytelność (I2d6ab) SplitButton
zmiana interfejsu Shape API z klasy danych na klasę w celu zapewnienia zgodności binarnej; (I53812)- Dodaliśmy interfejs API etykietki z parametrem
onDismissRequest
, dzięki czemu twórcy mogą decydować, co się stanie, gdy użytkownik kliknie poza etykietką. Wycofaliśmy stary interfejs API, który nie zawiera tego nowego parametru. (I99aef) - Zmień nazwę
opticalCentering
nahorizontalCenterOptically
. Ustawienie modyfikatora jako wewnętrznego. Zastąp parametr dopełnienia maksymalnym przesunięciem początku i końca. (I0b904) - Zmień
WideNavigationRailState
, aby zawierał bieżącą lub docelową wartość. Usuń wyliczenia na rzecz wartości logicznych. (Idfa29, b/356039090) - Dodaj
NavigationBarItemComponentOverride
. (I3a06a)
Poprawki błędów
- Popraw zachowanie górnego i dolnego paska aplikacji, aby kolor zmieniał się niezawodnie, gdy treść jest przewijana do końca. (Idc4e8, b/293665988)
- Funkcje zachowania przewijania w przypadku górnych i dolnych pasków aplikacji zwracają teraz zapamiętane zachowanie, aby lepiej działać w przypadku ponownych kompozycji. (I0fdbe, b/207957336)
- Parametr modyfikatora jest teraz stosowany po modyfikatorach wewnętrznych, takich jak zachowanie i semantyka przeciągania, a nie przed nimi. Ma to wpływ na kolejność stosowania modyfikatorów. (I8d83f)
- Rozwinięta plansza dolna pozostaje rozwinięta po zmianie rozmiaru. (I2870b, b/324934884)
- Prawidłowe kierowanie flag paska stanu i nawigacji w przypadku usług w oknach. (Ie674d, b/362539765)
- Przenieś parametr modyfikatora do katalogu głównego szkieletów zgodnie z dokumentacją. Dzięki temu wdrożenie będzie zgodne z M2. (I0235e, b/372311595)
Wkład zewnętrzny
- Ujednolicona funkcja
DatePickerDialog
. (I7dced)
Wersja 1.4.0-alpha04
13 listopada 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha04
Wersja 1.4.0-alpha04 zawiera te zmiany.
Zmiany w zachowaniu
- Przywróć zmiany kolorów wprowadzone w aosp/3212478 w przypadku
iconButtonColors
,iconToggleButtonColors
,outlinedIconButtonColors
,outlinedIconToggleButtonColors
ioutlinedIconToggleButtonBorder
. Przenieśliśmy przywrócone działanie do nowego zestawu funkcji o nazwachiconButtonVibrantColors
itd., aby podkreślić zwracane kolory o wysokim kontraście. (Iffd8d)
Nowe funkcje
- Wprowadzenie do komponentu
VerticalDragHandle
(I6c770)
Zmiany w interfejsie API
- Zmień nazwę
DismissibleModalWideNavigationRailDefaults
naModalWideNavigationRailDefaults
. (I8e877) - Dodaj
NavigationBarComponentOverrides
. (I8a3f3) - Dodaj
NavigationRailComponentOverride
. (I83e13) - Wprowadź
WideNavigationRailState
, aby obsługiwać zwijanie i rozwijanie paska, zezwól na zamykanieModalWideNavigationRail
i usuńDismissibleModalWideNavigationRail
. (I88568) - Dodaj domyślne rozmiary xSmall, medium, large i xLarge do domyślnych ustawień przycisku przełączania. (Ie95d1)
- Dodaj domyślne rozmiary xSmall, medium, large i xLarge do domyślnych ustawień przycisku. (If8b6d)
Poprawki błędów
- Kolor ikony na końcu filtra został zmieniony z podstawowego na
OnSurfaceContainer
zgodnie ze specyfikacją. Wszystkie kolory obrysu filtra zostały zmienione z obrysu na wariant obrysu zgodnie ze specyfikacją. (I68bd4)
Wersja 1.4.0-alpha03
30 października 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha03
Wersja 1.4.0-alpha03 zawiera te zmiany.
Zmiany w interfejsie API
- Konstruktor
SheetState
z gęstością został wycofany na rzecz progów pozycji i prędkości. (Ifd16e) - Dodano
rememberTooltipPositionProvider
, który zawiera zaktualizowaną logikę pozycjonowania. WycofanorememberPlainTooltipPositionProvider
irememberRichTooltipPositionProvider
. (Ie66e2) - Dodatkowe
ModalBottomSheetProperties
umożliwiają dostosowanie kolorów paska stanu i paska nawigacyjnego. Domyślnie aktualizują się one na podstawie koloru treści, a nie stanu ciemnego motywu systemu. (Ib874e, b/362539765) - Ulepszyliśmy wprowadzanie danych w selektorach daty: w trybie wprowadzania danych pole tekstowe daty będzie aktywne, aby można było od razu wpisać tekst. Zmiana powoduje dodanie parametru
requestFocus
do parametrówDatePicker
iDateRangePicker
. Aby zapobiec ustawieniu fokusu, przekaż wartośćfalse
. (I12d09, b/286399710, b/340102743) - Buforowanie domyślnych ustawień kształtu w obiekcie Shape. Ustawianie domyślnych kształtów
@Composable
przycisku przełączania. Domyślnie kształty są zwijane do jednego kształtu, ponieważ warianty wskazują ten sam plik tokena. (Iaa014)
Poprawki błędów
- Zoptymalizuj działanie komponentu Scaffold
contentPadding
, aby uniknąć ciągłego ponownego komponowania treści głównej, gdy zmienia się komponentcontentPadding
. (I8c8e2, b/373904168) - Zmieniono nazwę
TextFieldLabelScope
progress
nalabelMinimizedProgress
TextFieldLabelPosition
Default
zmieniono nazwę naAttached
. Usunięto elementy interfejsu. (If75c6)- Rozwiązaliśmy problem z
DatePicker
w trybie wprowadzania danych, w którym błędy weryfikacji mogły powodować zmianę wysokości komponentu. (I2e229, b/280462363) - Spraw, aby suwak materiału zmieniał wartość po naciśnięciu klawiszy sterujących. (I1c442)
Wersja 1.4.0-alpha02
16 października 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha02
Wersja 1.4.0-alpha02 zawiera te zmiany.
Zmiany w interfejsie API
- Aktualizacje selektorów daty, które zapewniają spójne używanie ustawień regionalnych w
DatePicker
iDateRangePicker
podczas ustawiania ich bezpośrednio za pomocąDatePickerState
lubDateRangePickerState
. Pamiętaj, że jeśli ustawisz bezpośrednio stan Locales, musisz zadbać o to, aby teksty tytułu i nagłówka były odpowiednio przetłumaczone, ponieważ ich tekst domyślny będzie nadal stosowany zgodnie z domyślnym ustawieniem regionalnym platformy. (I37073, b/326490763, b/321657276) - Plakietka
SheetState.isAnimationRunning
jest teraz widoczna. (I9a3d7) DatePickerColors
mają teraz prawidłowy priorytet przed wszystkimi kolorami, które są z nimi sprzeczne i zdefiniowane w stylach tekstu Typografia motywu. Pamiętaj też, że ta aktualizacja dostosowuje pozycję parametrucolor
w funkcjach selektora daty i wprowadza parametrcontentColor
do dostosowywania kolorów tekstu nagłówka i tytułu. (I30d03, b/347031394)- Zmień nazwę
SplitButton
naSplitButtonLayout
i usuń interfejsy API wariantów kolorystycznychSplitButton
. Warianty będą osiągane przez ponowne wykorzystanie wariantów przycisków dostarczonych przezSplitButtonDefaults
. (I44c36) ModalBottomSheet
ma teraz parametrsheetGestureEnabled
(I856cb, b/288211587)- Zmieniliśmy nazwy
standardMotionScheme
iexpressiveMotionScheme
na standardowe i ekspresywne. Obie funkcje są teraz dostępne w obiekcie towarzyszącymMotionScheme
po wywołaniuMotionScheme.standard()
iMotionScheme.expressive()
. (Iceccf) - Dodanie parametru
maxWidth
do zwykłych i rozbudowanych etykietek. Domyślnie jest to 200 dp w przypadku zwykłych etykietek i 320 dp w przypadku etykietek rozbudowanych. (I30ce9)
Poprawki błędów
- Elementy
DatePicker
iDateRangePicker
prawidłowo aktualizują wyświetlany miesiąc, gdy są ustawiane za pomocą stanudisplayedMonthMillis
. (If9e47, b/333414302) - Treści
ModalBottomSheet
są teraz przesuwane z dala od paska stanu. (I5114c, b/321877275, b/336962418, b/342093067) - [Bottom Sheet] Zmień priorytet wywołania zwrotnego na
PRIORITY_DEFAULT
, aby umożliwić najpierw zamknięcie klawiatury IME. (I447fb) - Naprawiono awarie w
DatePicker
iDateRangePicker
, gdy minimalny rok do wyboru jest ustawiony na rok w przyszłości. (I78656, b/319395747) - Rozwiązanie problemu z selektorem daty, który powodował, że interfejs nie aktualizował się po zastosowaniu zaktualizowanej instancji
SelectableDates
. (Iad59a, b/290135807, b/339898760)
Wersja 1.4.0-alpha01
2 października 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.4.0-alpha01
Wersja 1.4.0-alpha01 zawiera te zmiany.
Zmiany w zachowaniu
- Biblioteka nie dodaje już zależności do
material-icons-core
, więc jeśli Twój projekt na niej polegał, musisz dodać tę zależność do plikówbuild.gradle[.kts]
. (I735ff, b/349894318) NavigationBarItem
iNavigationRailItem
zmieniają kolor aktywnej etykiety zonSurface
nasecondary
, aby poprawić użyteczność, kontrast kolorów i spójność w systemie (Ibc297). Aby przywrócić poprzednie działanie, skopiuj domyślne kolory i zmieńselectedTextColor
naMaterialTheme.colorScheme.onSurface
.- Komponenty Material 3 korzystają teraz z nowej funkcji
MotionScheme
do definiowania ruchu. (Ie0f93) - Zmiany ruchu nieokreślonego kołowego wskaźnika postępu (I3c07e)
- Zaktualizuj kolory
OutlinedIconButtonColors
iOutlinedIconToggleButtonColors
, aby uzyskać lepszy kontrast. (I2743d) - Zaktualizowano kolor kontenera i treści dla
FilledIconToggleButtonColors
iFilledTonalIconToggleButtonColors
. (Ic5d0f) - Zaktualizowano kolor obramowania
OutlinedButton
zoutline
naoutlineVariant
. (057f00)
Zmiany w interfejsie API
- Dodaliśmy opcjonalny parametr
reverseLayout
do funkcjienterAlwaysScrollBehavior
wTopAppBar
, aby lepiej obsługiwać treści, które zostały ustawione za pomocąreverseLayout
. (I4e0e5) SegmentedButton
obsługuje teraz argumentcontentPadding
. (I5ad91, b/358414376)PullToRefreshState
nie ma już domyślnej implementacji dlaisAnimating
(I6a593)- Dodaliśmy nowe przeciążenia funkcji Material
TextField
iOutlinedTextField
, które używają funkcjiTextFieldState
. Dodano interfejsy API pola dekoracji, które są zgodne zTextFieldDecorator
. (If13a1) - Dodano parametr do sterowania
labelPosition
pola tekstowego. UżyciealwaysMinimize
umożliwia wyświetlanie etykiety i tekstu zastępczego w polu tekstowym jednocześnie, nawet gdy pole nie jest aktywne. (I1ef2c) - Dodano Material
SecureTextField
iOutlinedSecureTextField
do pól wpisywania hasła. (I7e22d) - Dodano zakres do etykiet pól tekstowych, aby można było wysyłać zapytania o postęp animacji. (If5ec8)
- Dodaliśmy obsługę właściwości
MotionEvent.CLASSIFICATION_DEEP_PRESS
w etykietkach. (I62e6a) isAfternoon
wTimePickerState
jest teraz w interfejsie wartością rozszerzenia zamiast zmiennej. Zmieniliśmy jej nazwę naisPm
(I89a97).- Aktualizacja klasy typografii w celu obsługi podkreślonych skal typów. (Ifa13c)
- Dodaliśmy interfejs API
ModalWideNavigationRail
i zmieniliśmy nazwy interfejsów APIModalExpandedNavigationRail
naDismissibleModalWideNavigationRail
. (Ic9118) - Zaktualizowano
FloatingAppBarScrollBehavior
, aby automatycznie obliczaćscreenOffset
i nie wymagać@Composable
. (Idf349) - Aktualizacje interfejsu
LoadingIndicator
API, które poprawiają nazewnictwo w obiekcie domyślnym. Dodano stałąLoadingIndicatorElevation
w miejscuPullToRefresh
. (I1d72b) - Aktualizacje interfejsu
LoadingIndicator
API, które poprawiają nazewnictwo w obiekcie domyślnym. Dodano stałąLoadingIndicatorElevation
w miejscuPullToRefresh
. (I1d72b) - Dodaliśmy parametry
amplitude
iwaveSpeed
do nieokreślonych wariantów parametrówLinearWavyProgressIndicator
iCircularWavyProgressIndicator
. (I2a0c5) - Obsługa zmiany kształtu przycisku przełącznika ikony w zależności od stanu naciśnięcia lub zaznaczenia. (Ibc781)
- Aktualizacja klasy typografii w celu obsługi podkreślonych skal typów. (Ifa13c)
SplitButton
przekształcenia kształtu na podstawie stanu domyślnego lub wciśniętego, Usunięto interfejs APIAnimatedTrailingButton
, ponieważ interfejs APITrailingButton
może oferować te same dostosowania (I95066)- Dodaj modyfikator, aby animować wyświetlanie i ukrywanie pływającego przycisku działania, np. podczas przewijania treści. (I8338d)
- Dodawanie połączonych kształtów grupy przycisków i odstępów do
ButtonGroupDefaults
do wykorzystania w przykładzie. (I68e30) - Przycisk dzielony dodaje poziomy odstęp do przycisku końcowego i umożliwia optyczne wyśrodkowanie obliczane na podstawie różnic między początkowym a końcowym rogiem (I122e2).
- Wprowadzamy nowy materiał
MotionScheme
, który umożliwia ustawienie schematu ruchu komponentu. Schemat jest ustawiany za pomocąMaterialTheme
. (Id50c2)
Poprawki błędów
- Zastosuj prawidłowy indeks przechodzenia fokusu do
Scaffold
podrzędnych funkcji kompozycyjnych. Kolejność totopBar
,bottomBar
, fab, content, snackbar. (I5936b) - Rozwiązaliśmy problem w przypadku elementów
DatePicker
iDateRangePicker
, który polegał na tym, że w niektórych językach i wzorcach formatowania niektóre elementy daty (np. nazwy miesięcy) nie zaczynały się od wielkiej litery. (I1430f) - Integracja tokenów komponentów FAB i FAB Menu (drobne zmiany wizualne dotyczące dopełnień i tekstu) (Ib57f3)
ModalBottomSheet
jest teraz pierwszym elementem w kolejności przechodzenia semantycznego, a po nim następuje warstwa przyciemniająca. (I436f9, b/358594665)- Naprawiono problem z dolnym paskiem aplikacji, który nie znikał całkowicie podczas przewijania pod przyciskiem nawigacyjnym w trybie od krawędzi do krawędzi (I3ee21).
Compose Material3 w wersji 1.3
Wersja 1.3.2
9 kwietnia 2025 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.2
Wersja 1.3.2 zawiera te zmiany.
Poprawki błędów
ListItem
poprawia obliczanie wysokości wewnętrznej, rezerwując teraz odpowiednią ilość miejsca w układzie.- Usuń nadmiarowe dopełnienie etykiety
NavigationBarItem
, aby prawidłowo dopasować ją do specyfikacji. - Poprawia układ
TabRow
w trybie od prawej do lewej.
Wersja 1.3.1
30 października 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.1
Wersja 1.3.1 zawiera te zmiany.
Poprawki błędów
- Elementy
DatePicker
iDateRangePicker
prawidłowo aktualizują wyświetlany miesiąc, gdy są ustawiane za pomocą stanudisplayedMonthMillis
. (If9e47, b/333414302) - Naprawiono awarie w
DatePicker
iDateRangePicker
, gdy minimalny rok do wyboru jest ustawiony na rok w przyszłości. (I78656, b/319395747) - Rozwiązanie problemu z selektorem daty, który powodował, że interfejs nie aktualizował się po zastosowaniu zaktualizowanej instancji
SelectableDates
. (Iad59a, b/290135807, b/339898760) - Zmień priorytet wywołania zwrotnego używanego przez arkusze dolne na
PRIORITY_DEFAULT
, aby umożliwić najpierw zamknięcie klawiatury IME. (I447fb)
Wersja 1.3.0
4 września 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0
Wersja 1.3.0 zawiera te zmiany.
Ważne zmiany od wersji 1.2.0
Główne funkcje wersji 1.3.0
Nowe komponenty Material Design 3
- Karuzela
HorizontalMultiBrowseCarousel
iHorizontalUncontainedCarousel
Ulepszenia istniejących komponentów Material Design 3.
- [
ModalBottomSheet
] Funkcja przewidywania powrotu jest teraz obsługiwana na urządzeniach U+ (Iccf32, b/281967264, b/304850357) - [
SearchBar
] obsługuje teraz przewidywane przejście wstecz w Androidzie U+ (I657f8) - Panel nawigacji (
ModalDrawerSheet
iDismissibleDrawerSheet
) obsługuje teraz na urządzeniach U+ funkcję przewidywanego powrotu jako opcjonalną (Ie5b0b). DropdownMenu
obsługuje teraz niestandardowe kolory, kształty, wysokość i obramowanie. (I8e981,b/289554448, b/301887035, b/283654243)- Zaktualizowano suwak, aby zwiększyć dostępność przez dodanie odstępu i wskaźnika zatrzymania. (I3058e)
- Zaktualizowaliśmy
ProgressIndicator
, aby poprawić dostępność przez dodanie odstępu i wskaźnika zatrzymania. (I21451) - Dodano domyślny kursor do rozbudowanego dymku. Obsługuje on rysowanie niestandardowego kursora na podstawie elementu zakotwiczonego
LayoutCoordinates
. (Ifd42c) Zmiany powodujące niezgodność - Nowe interfejsy API do odświeżania przez przeciągnięcie:
- Uproszczony atrybut
PullToRefreshState
, który umożliwia używanie wartości ułamkowych zamiast jednostek dp. - Stan
isRefreshing
jest kontrolowany przez użytkownika, a nie przezPullToRefreshState
. - Oddzielono zagnieżdżone połączenie przewijania od
PullToRefreshState
. Jest on obsługiwany przez nowy interfejsPullToRefreshBox
lubModifier.pullToRefresh
. - Ta aktualizacja wprowadza zmiany powodujące niezgodność z poprzednimi eksperymentalnymi interfejsami API. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683) Visual Breaking Changes
- Uproszczony atrybut
- Zaktualizuj nakładkę stanu zaznaczenia do wartości 0,1f, aby zapewnić odpowiedni kontrast kolorów. (I7ea77)
- Drobne korekty domyślnych kolorów powierzchni i tła w
lightColorScheme
idarkColorScheme
. (I9db52) - Zaktualizowaliśmy kolory suwaka i
ProgressIndicator
zgodnie z nową specyfikacją kontrastu elementów nietekstowych. (I26807) - Komponenty korzystają teraz z
SurfaceContainer
wersji. Komponenty, które wcześniej obliczały kolor za pomocą rólSurface
iTonalElevation
, domyślnie używają teraz rólSurfaceContainer
, na które nie ma wpływu podniesienie tonalne. (b/304584161) - Role podstawowe powierzchni i kontenera powierzchni zostały nieznacznie zmodyfikowane, dzięki czemu w motywach jasnym i ciemnym mają więcej odcieni. (I677a5)
- Eksperymentalne interfejsy API zostały przekształcone w stabilne.
- Poprawa wydajności.
Wersja 1.3.0-rc01
21 sierpnia 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-rc01
Wersja 1.3.0-rc01 zawiera te commity.
Poprawki błędów
ModalBottomSheet
jest teraz pierwszym elementem w kolejności przechodzenia semantycznego, a po nim następuje warstwa przyciemniająca. (I436f9, b/358594665)
Wersja 1.3.0-beta05
24 lipca 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-beta05
Wersja 1.3.0-beta05 zawiera te zmiany.
- Rozwiązaliśmy problem polegający na tym, że na Androidzie N i O brakuje treści
BottomSheet
lub są one ucięte (a10a2d). - Zwiększono zakres semantyczny suwaka, aby element
TalkBack
prawidłowo wyświetlał wskaźniki fokusu wokół kciuków. (0b5a1d)
Wersja 1.3.0-beta04
26 czerwca 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-beta04
Wersja 1.3.0-beta04 zawiera te zmiany.
Wersja 1.3.0-beta03
12 czerwca 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-beta03
Wersja 1.3.0-beta03 zawiera te zmiany.
Wkład zewnętrzny
- Udostępnij
androidx.compose.material3.DropdownMenu
z typowego zbioru źródeł. (If62c0)
Wersja 1.3.0-beta02
29 maja 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-beta02
Wersja 1.3.0-beta02 zawiera te zmiany.
Zmiany w interfejsie API
Modifier.pullToRefreshIndicator
obsługuje podniesienie, aktualizuje interfejsy API „Przeciągnij, aby odświeżyć”, aby włączanie było wartością logiczną zamiast funkcji lambda. Obsługa wyrównania treści wPullToRefreshBox
(I75679)- Utworzenie
TooltipScope
jako zapieczętowanego interfejsu i utworzenie wewnętrznej implementacji do użycia wTooltipBox
i etykiecie. (I3833e) - Dodaliśmy 2 nowe modyfikatory do
CarouselItemScope
–maskClip
imaskBorder
– aby łatwo dodawać kształt i obramowanie do dowolnego elementu karuzeli (Id67a1). TimePickerState
jest teraz interfejsem i umożliwia ustawianie czasu (I88546).- Zaktualizowano interfejs API do stylizowania linków: przeniesiono
TextLinkStyles
doTextStyle
i usuniętoTextDefaults
z materiału. (I5477b)
Poprawki błędów
- Ikony paska stanu i nawigacji
ModalBottomSheet
reagują teraz na stan ciemnego motywu. (Ie1fe7, b/338342149) - Dodano semantykę zamykania arkusza do
ModalBottomSheet
warstwy przyciemniającej. (0e61cb,b/328801864)
Wkład zewnętrzny
- Udostępnij
androidx.compose.material3.AlertDialog
z typowego zestawu źródeł (Ia33f5) - Udostępnij
ModalBottomSheet
z typowego zbioru źródeł (Id7cc7)
Wersja 1.3.0-beta01
14 maja 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-beta01
Wersja 1.3.0-beta01 zawiera te zmiany.
Zmiany w interfejsie API
- Używanie znacznika
DpSize
zamiastCaretProperties
. UsuwamCaretProperties
. Zmień nazwęCaretScope
naTooltipScope
. (Id9a76) - Zaktualizowano interfejs API do pobierania linków w tekście w motywie Material. W szczególności usunęliśmy metody z
TextDefaults
do tworzenia tematycznychLinkAnnotations
i parsowania kodu HTML z tematycznymi linkami. Zamiast tego dodaliśmy do funkcji kompozycyjnej Text parametrTextLinkStyles
, który umożliwia stylowanie linków. (I31b93)
Wersja 1.3.0-alpha06
1 maja 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-alpha06
Wersja 1.3.0-alpha06 zawiera te zmiany.
Zmiany powodujące niezgodność
Nowe interfejsy API do odświeżania przez przeciągnięcie:
- Uproszczony atrybut
PullToRefreshState
, który umożliwia używanie wartości ułamkowych zamiast jednostek dp. - Stan
isRefreshing
jest kontrolowany przez użytkownika, a nie przezPullToRefreshState
. - Oddzielono zagnieżdżone połączenie przewijania od
PullToRefreshState
. Jest on obsługiwany przez nowy interfejsPullToRefreshBox
lubModifier.pullToRefresh
. - Ta aktualizacja wprowadza zmiany powodujące niezgodność z poprzednimi eksperymentalnymi interfejsami API. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683)
- Uproszczony atrybut
Zmiany w interfejsie API
- Pole
RippleConfiguration#isEnabled
zostało usunięte, a poleLocalRippleConfiguration
może teraz przyjmować wartość null. Aby wyłączyć efekt fali, zamiast podawaćRippleConfiguration
zisEnabled = false
, podajnull
doLocalRippleConfiguration
. (I22725) ModalBottomSheet
dokładniej rysuje zasłonę na pasku stanu, gdy włączony jest tryb od krawędzi do krawędzi; Treści w arkuszu modalnym u dołu mogą teraz wykorzystywać wcięcia okna, co pozwala wyświetlać treści nad paskiem nawigacyjnym. ParametrModalBottomSheet
windowInsets
został zmieniony nacontentWindowInsets
, aby określić, gdzie będą stosowane wcięcia. Nie są one już powiązane z logiką okna. TypcontentWindowInsets
został zmieniony na funkcję zwracającą wartośćWindowInsets
, aby można było ją rozwiązać w nowym oknie. (I39630, b/274872542, b/300280229, b/290893168)- Elementy
PrimaryScrollableTabRow
iSecondaryScrollableTabRow
korzystają teraz z układu niestandardowego zamiast z kompozycji podrzędnej, co powinno zwiększyć skuteczność. (I991e0) - Linki tekstowe mają teraz opcję stylu stanu naciśnięcia oprócz stylów normalnego, najechanej i skupionej.
TextDefaults
metody otrzymały argumentpressedStyle
, który je obsługuje. (Ic473f, b/139312671)
Poprawki błędów
- Punkty zaczepienia panelu nawigacyjnego są teraz zgodne z szerokością
drawerContent
. (Ibc72f, b/245355396) OutlinedTextField
górny odstęp od etykiety uwzględnia teraz rozmiar czcionki systemowej. (Idc781)- Lokalizacja pakietu z poprawką:
CalendarLocale
. (Ifa235) - [Przewidywane przejście wstecz] Zaktualizuj animacje przewidywanego przejścia wstecz, aby używać krzywej interpolacji (0,1, 0,1, 0, 1) (I2591a).
Wersja 1.3.0-alpha05
17 kwietnia 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-alpha05
Wersja 1.3.0-alpha05 zawiera te zmiany.
Nowe funkcje
SearchBar
iDockedSearchBar
mają nowe przeciążenia, które przyjmują parametr pola tekstowego. Umożliwia to stylowanie pola tekstowego niezależnie od reszty paska wyszukiwania, a także przekazywanie niestandardowych pól tekstowych. Pole tekstowe bieżącej implementacji zostało udostępnione 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 w interfejsie API
- Linki tekstowe mają teraz opcję stylu stanu naciśnięcia oprócz normalnego stylu, stylu po najechaniu kursorem i stylu po zaznaczeniu (I5f864, b/139312671).
- Zaktualizowano
CarouselItemInfo
, aby udostępnić maskę Rect, przez którą element jest przycinany (I785d8) - Usunięto
BasicTooltipState
z publicznego interfejsu Material 3 API. Jego funkcjonalność jest połączona zTooltipState
, dopókiBasicTooltip
w Foundation nie zostanie ustabilizowany. (Icda29) - Dodano obiekt
TextDefaults
, który zawiera metody tworzenia obiektuLinkAnnotation
i parsowania ciągu znaków z tagami HTML, które stosują atrybutMaterialTheme
do linków (I98532, b/139312671). ExposedDropdownMenuBoxScope
nie zezwala już na podklasy. Menu z opcjami mają teraz elementMenuAnchorType
, który należy przekazać do elementumenuAnchor
, aby zapewnić lepszą dostępność. Zamiast przekazywać wartośćfocusable
do funkcjiExposedDropdownMenu
, która została wycofana, należy używać tej metody.menuAnchor
ma nowy parametr do kontrolowania stanuenabled
. (I55ee6, b/257209915, b/308840226)- Naprawiliśmy kolor obramowania elementu
OutlinedButton
, gdy jest on wyłączony. Dodano przeciążenieButtonDefaults.outlinedButtonBorder("enabled")
, które przyjmuje stan włączony. (Ie650b, b/318461363) - Dodaliśmy nową klasę
CarouselItemInfo
, aby pomóc klientom w uzyskiwaniu informacji o rozmiarach produktów. (I9070c) - Konstruktor
ColorScheme
bez kontenerów powierzchni został wycofany. Przejdź na konstruktor, który zawiera kontenery powierzchni. (I35c11) - [Kontur]
TextFieldDefaults
ContainerBox
zmieniono nazwę naContainer
. (Ie8d3b)
Poprawki błędów
BottomSheetScaffold
nie będzie już przewijać z zagnieżdżonego przewijania, jeślisheetSwipeEnabled
ma wartość false. (I5e1c1, b/306464779)- Usunęliśmy niektóre adnotacje
ExperimentalMaterial3Api
OptIn wIconButtonSamples.kt
. (I111d1)
Wersja 1.3.0-alpha04
3 kwietnia 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-alpha04
Wersja 1.3.0-alpha04 zawiera te commity.
Nowe funkcje
- Dodano 2 eksperymentalne wersje karuzeli Material3 –
HorizontalMultiBrowseCarousel
iHorizontalUncontainedCarousel
(I88d64). - Zaktualizowano komponent Compose M3 Nav Drawer (
ModalDrawerSheet
iDismissibleDrawerSheet
), aby obsługiwał funkcję Predictive Back na urządzeniach z Androidem U+ jako opcjonalną (Ie5b0b). - Dodano nowy interfejs API w ikonie, który umożliwia przekazywanie odcienia koloru jako funkcji lambda, aby uniknąć ponownego komponowania. (I5b5a2)
- Interfejsy API górnego paska aplikacji obsługują teraz niestandardowe wysokości zarówno w przypadku sekcji stałych, jak i zwijanych. (Ib8b0c, b/323403446)
Zmiany w interfejsie API
- Interfejsy API górnego paska aplikacji obsługują teraz niestandardowe wysokości zarówno w przypadku sekcji stałych, jak i zwijanych. Rozwiązaliśmy problem, który powodował zbyt częste ponowne komponowanie jednoliniowych górnych pasków aplikacji podczas przewijania treści. Rozwiązaliśmy problem, który powodował, że
MediumTopAppBar
obcinał tytuły na urządzeniach z dużymi ustawieniami czcionki lub wyświetlacza. (Ib8b0c, b/323403446, b/300953236, b/286296147, b/330410290, b/308540676) SegmentedButton
i powiązane interfejsy API są teraz stabilne (I8a158).SwipeToDismissBox
,SwipeToDismissBoxDefaults
,SwipeToDismissBoxState
iSwipeToDismissBoxValue
są teraz oznaczone jako stabilne. (I5f000)- Usunięto wycofane wyliczenia
DismissDirection
iDismissValue
oraz interfejsy API. (I89ccd) - Dodano eksperymentalny tag do
CarouselState
obiektu towarzyszącegoCarouselState
karuzeli. (I94154) - Wycofaliśmy
LocalMinimumInteractiveComponentEnforcement
i wprowadziliśmyLocalMinimumInteractiveComponentSize
, aby je zastąpić. (I7a7ac) - Konstruktor
SearchBarColors
jest teraz dostępny publicznie. (I769ca) - Dodano parametr
gesturesEnabled
do listySwipeToDismissBox
. (Idc59f, b/324170119) - Usunięto interfejsy API pól tekstowych, które zostały oznaczone jako wycofane i eksperymentalne. (I1305f)
Wersja 1.3.0-alpha03
20 marca 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-alpha03
Wersja 1.3.0-alpha03 zawiera te zmiany.
Zmiany powodujące niezgodność w wyglądzie
- Zaktualizuj nakładkę stanu zaznaczenia do wartości 0,1f, aby zapewnić odpowiedni kontrast kolorów. (I7ea77)
- Drobne korekty domyślnych kolorów powierzchni i tła w
lightColorScheme
idarkColorScheme
. (I9db52)
Nowe funkcje
- Dodano parametry umożliwiające dostosowanie
ExposedDropdownMenu
. W szczególności menu mają teraz parametrfocusable
(domyślnietrue
), który podczas pracy z edytowalnymi polami tekstowymi powinien mieć wartośćfalse
. (I4184c, b/323694447, b/278609042)
Zmiany w interfejsie API
- Oznaczenie
ScaffoldSubcomposeInMeasureFix
zostało usunięte. (Ie2a4b) - Urządzenie
NavigationRailItemColors
zostało oznaczone jako@Immutable
. (If6112, b/327660613) - Urządzenie
NavigationBarItemColors
zostało oznaczone jako@Immutable
. (I42a30, b/298064514) - Zmiana kolejności parametrów w komponencie Slider Track. (I9f315)
ExposedDropdownMenu
jest teraz zaimplementowane przy użyciuPopup
. Działanie powinno być takie samo, z wyjątkiem menu, na których można się skupić i które zawierają edytowalne pola tekstowe – mogą one zostać zamknięte podczas pisania na klawiaturze.
Poprawki błędów
- Role podstawowe powierzchni i kontenera powierzchni zostały nieznacznie zmodyfikowane, dzięki czemu w motywach jasnym i ciemnym mają więcej odcieni. (I677a5)
- Zaktualizowaliśmy kolory suwaka i
ProgressIndicator
zgodnie z nową specyfikacją kontrastu elementów nietekstowych. (I26807) - Zaktualizuj nakładkę stanu zaznaczenia do wartości 0,1f, aby zapewnić odpowiedni kontrast kolorów. (I7ea77)
- Drobne korekty domyślnych kolorów powierzchni i tła w
lightColorScheme
idarkColorScheme
. (I9db52)
Wersja 1.3.0-alpha02
6 marca 2024 roku
Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-alpha02
Wersja 1.3.0-alpha02 zawiera te zmiany.
Zmiany w interfejsie API
- Przywracanie stabilności stanów suwaka. Ustawiam folder
State.onValueChangeFinished
jako aktualny… ZawijanieonValueChangeFinished
wrememberUpdatedState
. (I82ab2, b/322269951) - Komponenty Navigation korzystają teraz z nowych ról
SurfaceContainer
.DrawerDefaults
udostępnia teraz osobne atrybutystandardContainerColor
imodalContainerColor
.DrawerDefaults.ModalDrawerElevation
to teraz0.dp
. (I7fbac) - Usuwamy
@Stable
ze stanówSlider
, ponieważ zmieniamystate.onValueChangeFinished
navar
. (Ied34a, b/322269951) - Specyfikacja animacji
ModalBottomSheet
iStandardBottomSheet
to terazTweenSpec
, która została zaktualizowana z animacji sprężynowej. Rozwiązuje to problem z widocznym przekroczeniem. Wycofane konstruktorySheetState
bez gęstości zostały usunięte. (I7babc, b/285847707)
Poprawki błędów
- Komponenty korzystają teraz z
SurfaceContainer
wersji. Komponenty, które wcześniej obliczały kolor za pomocą powierzchni iTonalElevation
, domyślnie używają teraz rólSurfaceContainer
, na które nie ma wpływu podniesienie tonalne. (b/304584161) - Naprawiono błąd, który powodował, że kolor niezaznaczonego, wyłączonego kontenera
ElevatedFilterChip
był czarny. (I400e6, b/322407043) - Naprawiono wskaźnik postępu bez określenia czasu oczekiwania, gdy postęp wynosi 0 (Id6582)
- Rozwiązano problem z elementami
Slider
iRangeSlider
w układzie od prawej do lewej (Iab0e1). - Dodawanie
SliderRangeTolerance
do obliczania zakresu suwaka, ponieważ zaokrąglanie liczb zmiennoprzecinkowych może być niedokładne. (Ic918a, b/324934900) - Upewnij się, że przyciski urządzenia
DatePickerDialog
są widoczne podczas zagnieżdżania elementuDateRangePicker
lub wyświetlania dowolnego selektora daty na małych ekranach z większymi czcionkami. (Ie4758, b/325107799, b/277768544) Menu
korzysta teraz z roliSurfaceContainer
w przypadku koloru kontenera.MenuDefaults.TonalElevation
to teraz0.dp
. (I135b7)TextField
korzysta teraz z roliSurfaceContainerHighest
w przypadku koloru kontenera. (I4dced)- Podniesione elementy teraz korzystają z roli
SurfaceContainerLow
(I7cd2f). - Kolor kontenera
DatePicker
to terazSurfaceContainerHigh
.DatePickerDefaults.TonalElevation
to teraz0.dp
. (Ida753) - Aktualizuje kolor kontenera Bottom Sheets i uchwytu do przeciągania. (I72a0a)
- Kolor kontenera
RichTooltip
to terazSurfaceContainer
. (Ia8b45) - Kolor kontenera
SearchBar
to terazSurfaceContainerHighest
.SearchBarDefaults.TonalElevation
to teraz0.dp
. (I88604) - Wyłącza przełącznik aktualizacji i wyłącza wybrane ścieżki/ikony, aby wykorzystać 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
. Kolor kontenera dziecka toFilledCard
.SurfaceContainerHighest
(I35141) - Kolor kontenera
ElevatedButton
to terazSurfaceContainerLow
. Nieaktywne elementyFilledIconButton
mają teraz kolor konteneraSurfaceContainerHighest
. (I792c9) - Aktualizuje kolor kontenera
TimePicker
i kolor tarczy zegara naSurfaceContainerHighest
. (I43b93)
Wersja 1.3.0-alpha01
21 lutego 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.3.0-alpha01
Wersja 1.3.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Aktualizacja Compose M3
ModalBottomSheet
, aby obsługiwać przewidywanie powrotu na urządzeniach z Androidem U+ (Iccf32, b/281967264, b/304850357) - Zaktualizowano Compose M3
SearchBar
, aby obsługiwać przewidywanie powrotu na urządzeniach z Androidem U+ (I657f8) - Zaktualizowano suwak, aby zwiększyć dostępność przez dodanie odstępu i wskaźnika zatrzymania. (I3058e)
- Zaktualizowaliśmy
ProgressIndicator
, aby poprawić dostępność przez dodanie odstępu i wskaźnika zatrzymania. (I21451) - Dodanie domyślnego znaku wstawienia do rozbudowanego podpowiedzi. Nowy interfejs API rozbudowanych podpowiedzi umożliwia teraz rysowanie niestandardowego znaku wstawienia na podstawie punktu zakotwiczenia
LayoutCoordinates
. (Ifd42c)
Zmiany w zachowaniu
- Komponenty Material zostały przeniesione, aby korzystać z nowych interfejsów API efektu falowania, i nie wysyłają już zapytań do
RippleTheme
.
Zmiany w interfejsie API
- Zabawny post
drawStopIndicator
jest teraz publiczny. (I3f59f) - Oznacz funkcję
DatePicker
formatWithSkeleton
jako wewnętrzną (Ic65dc). DropdownMenu
obsługuje teraz niestandardowe kolory, kształty, wysokość i obramowanie. (I8e981, b/289554448, b/301887035, b/283654243)- Komponenty Material3, które w swoim interfejsie API udostępniały wartość
MutableInteractionSource
, zostały zaktualizowane, aby udostępniać wartośćMutableInteractionSource
z możliwością wartości null, która domyślnie ma wartośćnull
. Nie ma tu żadnych zmian semantycznych: przekazanie wartości null oznacza, że nie chcesz podnosićMutableInteractionSource
, a w razie potrzeby zostanie on utworzony w komponencie. Ustawienie wartości null powoduje, że niektóre komponenty nigdy nie przydzielająMutableInteractionSource
, a inne tworzą instancję tylko wtedy, gdy jest to potrzebne, co zwiększa wydajność tych komponentów. Jeśli nie używasz elementuMutableInteractionSource
przekazywanego do tych komponentów, zalecamy przekazywanie zamiast niego wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (I41abb, b/298048146) - Dodaje
RippleConfiguration
iLocalRippleConfiguration
, aby umożliwić dostosowywanie efektów rozchodzenia się fali na poziomie poszczególnych komponentów lub poddrzew za pomocą stałych wartości. Może to być np. zmiana koloru komponentu, nad którym nie masz kontroli, lub wyłączenie efektu fali dla komponentu. W większości przypadków należy używać wartości domyślnych. Te interfejsy API służą do dostosowywania poszczególnych komponentów lub ograniczonych poddrzew. W przypadku większych zmian i niestandardowych systemów projektowania zamiast tego utwórz własny efekt fali za pomocącreateRippleModifierNode
. (I7b5d6, b/298048146) - Dodaje nowy interfejs API efektu falowania w material3, który zastępuje wycofany interfejs
rememberRipple
. Dodaje też tymczasoweCompositionLocal
,LocalUseFallbackRippleImplementation
, aby przywrócić komponenty material3 do korzystania z wycofanych interfejsów APIrememberRipple
/RippleTheme
. Zostanie ona usunięta w kolejnej stabilnej wersji i ma być tylko tymczasowym ułatwieniem migracji w przypadkach, gdy podajesz niestandardowyRippleTheme
. (I34cbc, b/298048146)
Poprawki błędów
- Usunięto podkompozycję w
ModalBottomSheet
, aby zwiększyć wydajność. Rozwiązaliśmy problem, który powodował awarięModalBottomSheet
w określonych scenariuszach w połączeniu zLookaheadScope
. (I2a198) - Usunięto podkompozycję w
BottomSheetScaffold
, aby zwiększyć wydajność. Rozwiązaliśmy problem, który powodował awarięBottomSheetScaffold
w określonych scenariuszach w połączeniu zLookaheadScope
. (Ie6401) - Wyrównanie plakietki jest dostosowywane tak, aby była bliżej środka treści kotwicy w stosunku do prawego górnego rogu. (I18a28)
- Rozwiązaliśmy problem z ułatwieniami dostępu w przypadku elementu
DateRangePicker
, w którym tytuł tekstowy „Miesiąc–Rok” był przekazywany jako element, z którym można wejść w interakcję, użytkownikom czytnika ekranu, Switch Access i Voice Access. (I2ac55) - Naprawiono błąd kolejności parametru
mediumTopAppBarColors
. (Ibe64a)
Wersja 1.2
Wersja 1.2.1
6 marca 2024 roku
Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.1
Wersja 1.2.1 zawiera te zmiany.
Poprawki błędów
- Przywróć stabilność stanów suwaka. Ustawiam folder
State.onValueChangeFinished
jako aktualny… ZawijanieonValueChangeFinished
wrememberUpdatedState
. (Ie8fd0, b/322269951) - Usuwamy
@Stable
ze stanówSlider
, ponieważ zmieniamystate.onValueChangeFinished
navar
. (I82ba1, b/322269951) - Popraw
NavigationBar
kolorów niestandardowych, aby kopiować je z domyślnych. (80a779, b/326894020) - Napraw regresję w
ExposedDropdownMenu
, aby ponownie można było ustawić na nim fokus (3fcec1, b/323694447) - Naprawiono problem z buforowaniem koloru przycisku (3e5bbcb/327371655)
Wersja 1.2.0
7 lutego 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0
Wersja 1.2.0 zawiera te zmiany.
Znany problem
- W wersji
PrimaryTabRow
wprowadzono błąd renderowania w ramach interoperacyjności View-Compose. Było to związane ze zmianą mającą na celu poprawę wydajności. Obejście polega na używaniuTabRow
zTabRowDefaults.PrimaryIndicator
.
Ważne zmiany od wersji 1.1.0
Nowe komponenty Material Design 3
- Pociągnij, aby odświeżyć
- Przycisk segmentowy
Ulepszenia istniejących komponentów Material Design 3.
- Dolny pasek aplikacji (wyrównanie od prawej do lewej, automatyczne ukrywanie podczas przewijania)
- Zmiany wizualne na kartach
- Odznaka (aktualizacja wyrównania)
Promocja eksperymentalnych interfejsów API do wersji stabilnych
Usprawnienia wydajności
- Więcej informacji znajdziesz w tym poście na blogu.
Wersja 1.2.0-rc01
24 stycznia 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-rc01
Wersja 1.2.0-rc01 zawiera te zmiany.
Poprawki błędów
- Naprawiono błąd kolejności parametru
mediumTopAppBarColors
. (Ibe64a) - Naprawiliśmy błąd wprowadzony w
1.2.0-beta02
wCardDefaults.cardColors
, który nie aktualizowałcontentColor
na podstawie wartości parametrucontainerColor
. (Iee041, b/319671246) - Naprawiono błąd w elemencie
disabledContentColor
wprowadzony w wersji1.2.0-beta02
i dodano niewielką optymalizację. (I6dda1, b/318428829)
Wersja 1.2.0-beta02
10 stycznia 2024 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-beta02
Wersja 1.2.0-beta02 zawiera te zmiany.
Znany błąd
- Błąd w
IconButtonColors
domyślnie przypisujedisabledContentColor
do wersji alfa (0,38f)LocalContentColor
zamiast do określonego przez użytkownikacontentColor
. Obejście problemu polega na wyraźnym ustawieniu wartościdisabledContentColor
. Naprawimy to w kolejnej wersji.
Zmiany w interfejsie API
- Dodanie możliwości włączania karetki w etykietkach narzędzi dla interfejsów API Plain
Tooltip
. (Ibf767) - Nazwy wszystkich elementów
SwipeToDismissState
,rememberSwipeToDismiss
iSwipeToDismissValue
zostały zmienione tak, aby zawierały_SwipeToDismissBox_
. (I68d6d)
Poprawki błędów
- Naprawiono wartość dopełnienia na końcu
ListItem
, aby była zgodna ze specyfikacją. (Ibd68b, b/305342674) - Kolor obramowania karty z obramowaniem jest teraz prawidłowo mapowany na
OutlineVariant
. (I75480, b/310979715) - Dynamiczne kolory są teraz pobierane z ról kolorów zdefiniowanych w systemie. Poprawia to kontrast w przypadku treści dostępnych dla osób z niepełnosprawnościami i lepiej dopasowuje dynamiczne kolory do specyfikacji Material. (I1de96)
- Rozwiązano problem z obsługą przycisku
ModalBottomSheet
na urządzeniach z Androidem T/13+ w przypadkuandroid:enableOnBackInvokedCallback="true"
. (I728dc, b/306196110)
Wersja 1.2.0-beta01
13 grudnia 2023 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-beta01
Wersja 1.2.0-beta01 zawiera te zmiany.
Zmiany w interfejsie API
- Oznacz
TabIndicatorScope
jako eksperymentalne. (I45c88) - Usunięcie wycofanych eksperymentalnych interfejsów API dla etykietki. (I438cb)
- Zmień nowe przeciążenia
TabRow
, aby nie korzystały z podkompozycji. Dzięki temu wskaźnikiTabRow
można tworzyć w inny sposób, korzystając z niestandardowych modyfikatorów. (Ife741) - Wycofanie interfejsów API
DismissDirection
iDismissValue
. Zostały one scalone wSwipeToDismissValue
, którego wartości wskazują zarówno pozycję, jak i kierunekSwipeToDismissBox
. Wartość w poluDismissState.progress
jest teraz oznaczona jakoFloatRange
pomiędzy0.0
a1.0
. Wycofane funkcje Saver i Constructor wDismissState
zostały usunięte. KomponentSwipeToDismiss
, obiekt stanu i obiekt domyślny zostały oznaczone jako eksperymentalne. (Ib54f2)
Poprawki błędów
- Domyślnym wskaźnikiem dla
PullToRefresh
jest teraz otwarty grot strzałki zamiast pełnego trójkąta. (I67be3)
Wersja 1.2.0-alpha12
29 listopada 2023 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha12
Wersja 1.2.0-alpha12 zawiera te zmiany.
Zmiany w interfejsie API
RangeSlider
przyjmuje teraz zakres Kotlin (np.0f..1f
) zamiast niestandardowej klasy wartościFloatRange
.SnapFlingBehavior.kt
używa teraz też zakresu Kotlin. (I025cb)- Oznacz funkcje fabryczne modyfikatora jako
@Stable
. (Ib109f)
Wersja 1.2.0-alpha11
15 listopada 2023 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha11
Wersja 1.2.0-alpha11 zawiera te zmiany.
Nowe funkcje
- Implementuje
PullToRefreshContainer
iPullToRefreshState
, które razem zapewniają implementację odświeżania przez przeciągnięcie w Material3. (I16456, b/261760718)
Zmiany w interfejsie API
- Oznacz
SwipeToDismissBox
DismissDirection
iDismissValue
jako eksperymentalne. (I517b0) - Zmień nazwę
SwipeToDismiss
naSwipeToDismissBox
. Zmień nazwębackground
nabackgroundContent
, adismissContent
na końcowe wyrażenie lambdacontent
. (I7f4d3) - Udostępnij publicznie konstruktor dla
ChipElevation
iSelectableChipElevation
. (Ie0c48, b/308432421) - Dodaję
ModalBottomSheetProperties
. PrzenoszęsecurePolicy
doModalBottomSheetProperties
. DodawanieisFocusable
ishouldDismissOnBackPress
doModalBottomSheetProperties
. Te nowe wartości logiczne pomagają określić, jak dolny arkusz modalny powinien obsługiwać zdarzenia IME. (Iea56f, b/278216859) - Zaktualizowaliśmy stany
RangeSlider
iSlider
, aby usunąćinitialOnValueChange
, początkowe prefiksy i odpowiednie dokumenty kdoc. (I57d30) - Wycofaj klasę
ChipBorder
i powiązane z nią wywołania funkcji. Zamiast tego zalecaj bezpośrednie używanie klasyBorderStroke
. (I89cc2) - Interfejsy API etykietek narzędziowych Foundation są teraz
@ExperimentalFoundationApi
. (I30b0b) - Atrybuty
TabRow
iScrollableTabRow
nie są już wycofane. Nowe warianty „Podstawowy” i „Dodatkowy” są oznaczone jako eksperymentalne. (I0def6) - Filtry i elementy wejściowe korzystają teraz bezpośrednio z
BorderStroke
. (I07a8d) SegmentedButton
korzysta teraz bezpośrednio z usługiBorderStroke
. (I89b9b)- Zmieniliśmy nazwę ogólnej funkcji
AlertDialog
naBasicAlertDialog
i wycofaliśmy poprzednią funkcję. (Idbe52) - Zmień nazwy interfejsów API
SwipeToDismiss
naSwipeDismiss
i przekształć nowe interfejsy APISwipeDismiss
w stabilne. (I14cbe) - Dodano elementy
tonalElevation
ishadowElevation
do interfejsów API etykietek. Dodatkowo interfejsy APITooltipBox
,PlainTooltip
iRichTooltip
zostały przywrócone do wersji eksperymentalnej, ponieważ zostały przypadkowo udostępnione jako stabilne. (If0f66, b/293939035) - Promowanie eksperymentalnych interfejsów API układu do wersji stabilnej. (Iea2c3)
- Usunięto adnotację
@ExperimentalMaterial3Api
z klikanych kart Material3. (I88dbf)
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że w określonych scenariuszach z zagnieżdżonymi układami Lookahead i Lazy dochodziło do awarii
SwipeToDismiss
. (Ica8d1, b/297226562)
Wersja 1.2.0-alpha10
18 października 2023 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha10
Wersja 1.2.0-alpha10 zawiera te zmiany.
Zmiany w interfejsie API
- Promowanie wersji
Badge
iBadgedBox
do wersji stabilnej. (I67f16, b/261565132) - Dodanie
securePolicy
jako parametru doModalBottomSheet
, aby użytkownicy mogli określać działanieWindowManager.LayoutParams.FLAG_SECURE
. (Icdac8, b/296250262) - Dodano nowe przeciążenia funkcji
LinearProgressIndicator
iCircularProgressIndicator
, które przyjmująprogress
jako lambdę. Powinny one działać lepiej niż poprzednie wersje. (I824e6, b/295616656) - Zmienia nazwę
StandardSizeClasses
naAllSizeClasses
. (I8cb07) - Łączenie funkcji obliczeniowych klas rozmiarów okien. (Iad935)
Poprawki błędów
- Naprawiono błąd
DatePicker
, który występował podczas szybkiego klikania przycisków strzałek nawigacji, gdy wyświetlany miesiąc znajdował się na początku lub na końcu dozwolonego zakresu lat. (I46f36, b/290954897, b/297002119) - [Pasek nawigacyjny] Obsługa przezroczystego koloru wskaźnika. (Ie0a9b, b/267289987)
Wersja 1.2.0-alpha09
4 października 2023 roku
Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha09
Wersja 1.2.0-alpha09 zawiera te zmiany.
Zmiany w interfejsie API
- Przeniesiono
ModalNavigationDrawer
iDismissibleNavigationDrawer
, aby korzystać z nowych interfejsów APIAnchoredDraggable
.DrawerState
animateTo
zostało zastąpione metodami open i close, a przesunięcie jest teraz udostępniane jako liczba zmiennoprzecinkowa zamiast obiektu stanu. Możesz uzyskać do niego dostęp bezpośrednio na stroniecurrentOffset
. (I0a72c) - Dodaliśmy funkcje niekomponowalne, które umożliwiają bezpośrednie tworzenie elementów
DatePickerState
iDateRangePickerState
. W razie potrzeby możesz używać tych funkcji zamiast funkcjirememberDatePickerState
irememberDateRangePickerState
. (I70326, b/291524052) - W przypadku typów stałych i przewijanych
TabRows
dostępne są teraz warianty podstawowe i dodatkowe. Są one prawidłowo zmapowane na kolor i zachowanie wskaźnika zgodnie z definicją w Material 3. - Elementy
PrimaryScrollableTabRow
iSecondaryScrollableTabRow
udostępniają teraz stan przewijania. (Iec8f5, b/260572337) - Dodaliśmy nowy parametr
sheetMaxWidth
, który programiści mogą ustawić, aby określić maksymalną szerokość arkusza. Jeśli chcesz, aby arkusz zajmował całą szerokość ekranu, możesz przekazać wartość Dp.Unspecified. (Ifb7c9, b/266697696) - Przywrócono interfejsy API
PlainTooltipBox
iRichTooltipBox
jako wycofane metody. (I246fa)
Poprawki błędów
- Naprawienie problemu z awarią, gdy obiekt
DatePicker
jest inicjowany za pomocą obiektuDatePickerFormatter
, który ma określone szablony dat, które pozostają takie same po przekonwertowaniu na wzorce dat (np. RR). (I01f29)
Wersja 1.2.0-alpha08
20 września 2023 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha08
Wersja 1.2.0-alpha08 zawiera te zmiany.
Zmiana powodująca niezgodność w zachowaniu
ColorScheme
jest teraz niezmienny, co sprawia, że indywidualne aktualizacje kolorów są mniej wydajne, ale bardziej wydajne jest częstsze używanie kolorów. Powodem tej zmiany jest to, że większość aplikacji nie ma aktualizowania poszczególnych kolorów jako głównego zastosowania. Jest to nadal możliwe, ale będzie wymagało większej liczby ponownych kompozycji niż wcześniej. Znacznie zmniejszymy liczbę subskrypcji stanu w całym kodzie Material, co wpłynie na koszt inicjowania i działania w przypadku bardziej standardowych zastosowań. (Ic447d, b/297212873)- Podniesienie tonalne nie jest już animowane w różnych stanach interakcji, aby pasowało do specyfikacji. (Icdd12)
Zmiany w interfejsie API
- Dodano nowy element
BottomAppBar
, który przyjmuje jako parametr elementBottomAppBarScrollBehavior
, aby automatycznie go ukrywać podczas przewijania treści. Dodano teżFabPosition.EndOverlay
możliwość nakładania pływającego przycisku działania na dolny pasek aplikacji w widoku, zamiast umieszczania go nad nim. (Iecb47) - Dodaliśmy prosty komponent Label, który bazuje na
BasicTooltipBox
i nie zamyka się po kliknięciu poza jego granicami. (I821f9)
Poprawki błędów
- Usunięto użycie
rememberSaveable
w przypadku etykietek. (Icc131, b/299500338) - Wprowadzono tymczasową flagę, która określa, czy komponent Scaffold ma mierzyć elementy podrzędne podczas pomiaru czy podczas umieszczania. Domyślnie będzie to pomiar. Jeśli masz problemy z nowym działaniem, zgłoś je. (I0b354)
- Stałe poziome wypełnienie ekranu od krawędzi do krawędzi w
BottomSheet
dzięki użyciu prawidłowego pomiaru szerokości ekranu urządzenia. (I1df0c, b/299058752) - Rozwiązaliśmy błąd polegający na tym, że
ModalBottomSheet
nie wywoływałonDismissedRequest
, gdy użytkownik zamykał go, przesuwając arkusz w dół. (Idfdd8)
Wersja 1.2.0-alpha07
6 września 2023 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha07
Wersja 1.2.0-alpha07 zawiera te zmiany.
Nowe funkcje
- W wersji
compose material 1.6.0-alpha05
dodaliśmy obsługę automatycznego dublowania ikon. Szczegółowe informacje znajdziesz w informacjach o wersji.
Zmiany w interfejsie API
SliderState
implementujeDraggableState
(I9b116)- Zmień kształt, aby był wymaganym parametrem. Zmień nazwę
position
naindex
w funkcji pomocniczej kształtu. (I34941) - Aktualizuje
DatePicker
formatWithSkeleton
, aby uwzględnić mapę, która jest używana jako pamięć podręczna w celu zwiększenia wydajności. (I3195f) - Dodano
BasicTooltipBox
docompose.foundation
i zaktualizowanoPlainTooltipBox
orazRichTooltipBox
, aby używaćTooltipBox
z nowymi komponentamiPlainTooltip
iRichTooltip
. (I79e1d)
Poprawki błędów
dynamicLightColorScheme
idynamicDarkColorScheme
zwracają teraz kolory o wyższej chromatyczności 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 komponencie Scaffold wLookaheadScope
zbyt wcześnie próbowały odczytać swój rozmiar. (I297b4, I871f1, b/295536718)
Wersja 1.2.0-alpha06
23 sierpnia 2023 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha06
Wersja 1.2.0-alpha06 zawiera te zmiany.
Poprawki błędów
- Poprawiliśmy obliczenia
DropdownMenu
woffset
, aby przesunięcia wzdłuż osi X zależały wyłącznie od lokalnego kierunku układu, a przesunięcia wzdłuż osi Y nie były już odwracane, gdy menu znajduje się w pobliżu dolnej krawędzi ekranu. (Iccc74, b/294103942) - Poprawiliśmy obliczenia
DropdownMenu
woffset
, aby przesunięcia wzdłuż osi X zależały wyłącznie od lokalnego kierunku układu, a przesunięcia wzdłuż osi Y nie były już odwracane, gdy menu znajduje się w pobliżu dolnej krawędzi ekranu. (Ib87a2, b/294103942)
Wersja 1.2.0-alpha05
9 sierpnia 2023 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha05
Wersja 1.2.0-alpha05 zawiera te zmiany.
Zmiany w interfejsie API
- Aktualizacje kolorów pola wyboru i
TriStateCheckbox
. IkonaCheckboxDefaults.colors()
disabledUncheckedColor
wpływa teraz tylko na obramowanie pola wyboru. W przypadku specjalnych przypadków, w których musisz ustawić kolor wewnętrznego pola, gdy jest ono wyłączone i odznaczone, wymagane jest utworzenie niestandardowej instancjiCheckboxColors
z odpowiednimi wartościami kolorów. (I77d17, b/291943198)
Wersja 1.2.0-alpha04
26 lipca 2023 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha04
Wersja 1.2.0-alpha04 zawiera te zmiany.
Nowe funkcje
- Eksperymentalny interfejs Segmented Button API (Ifc8fb)
- Elementy dzielące mają teraz parametr, który umożliwia kontrolowanie orientacji, dzięki czemu obsługują dzielniki pionowe. (I4c899, b/288438593)
Zmiany w interfejsie API
- Przenosimy zależność od gęstości na poziom komponentu. Dotyczy to tych komponentów:
SwipeToDismiss
i komponentów opartych na arkuszach. Użyj nowego przeciążenia, w którym gęstość jest parametrem. (I1846e) - Dodatkowe adnotacje określające dozwolone dane wejściowe funkcji kompozycyjnych (Ief234)
- Dodaj parametr ikony do przycisku segmentowego, podziel semantykę, aby przyciski segmentowe można było wybierać w celu implementacji pojedynczego wyboru i przełączać w celu implementacji wielokrotnego wyboru, odpowiednio za pomocą
SelectableSegmentedButtonRow
iToggelableSegmentedButtonRow
. (I38740) - Element dzielący nosi teraz nazwę
HorizontalDivider
. Dodano funkcjęVerticalDivider
. (I5975c) - Zmień użycie
ClosedFloatingPointRange
na lżejszy typFloatRange
w eksperymentalnych interfejsach Material3 API, aby zminimalizować automatyczne pakowanie. (I4aab5) - Dodano nowe wyrównanie do początku dla
FabPosition
(Ib7aea, b/170592777)
Poprawki błędów
ModalBottomSheet
respektuje lokalny kierunek układu. (Ib4f44, b/285628622)
Wersja 1.2.0-alpha03
21 czerwca 2023 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha03
Wersja 1.2.0-alpha03 zawiera te zmiany.
Zmiany w zachowaniu
- W typografii Material 3 znak
includeFontPadding
jest domyślnie zastępowany znakiemfalse
. Domyślny styl wysokości wiersza został też zmieniony naTrim.None
iAlignment.Center
, a doTextStyle
wTypography
dodano wyraźnelineHeight
(w sp). Jeśli chcesz dostosować te wartości, zapoznaj się z dokumentacją interfejsu API. Szczegółowe wyjaśnienie tych zmian znajdziesz w tym poście na blogu. (I6266f, Icabc3)
Nowe funkcje
- Dodano przeciążenie funkcji
RangeSlider
, które jest wersją komponentu z zachowywaniem stanu. UtworzonoRangeSliderState
, który zawiera wszystkie informacje o bieżącym aktywnym śladzie, pomiary komponentówRangeSlider
oraz logikę przeciągania i gestów. (I8c270) - Pasek wyszukiwania obsługuje teraz cienie dzięki nowo dodanemu parametrowi
shadowElevation
. (Ia5369, b/271040353) ColorScheme
obsługuje teraz noweSurfaceContainer
role.- Nakładkę tonalną z wysokością terenu można teraz wyłączyć za pomocą ustawienia regionalnego kompozycji
LocalTonalElevationEnabled
. (Ic203c, b/277774590)
Zmiany w interfejsie API
- Otwórz konstruktory kolorów komponentów. (I8c4a6)
- Dodanie parametru focusable do obu interfejsów API etykietek, aby deweloperzy mogli określać, czy etykietka ma obsługiwać zdarzenia dotyku. Pamiętaj, że może to spowodować przerwanie automatycznego przechodzenia między elementami dostępności. (Ie32d8)
- Zoptymalizowany dostęp pod kątem wydajności i alokacji pamięci. (Iede48)
- Udostępnij
DefaultSizeClasses
i utwórzStandardSizeClasses
dlaWindowSizeClasses
(I91838) - zmień
WindowWidth/HeightSizeClass
na klasy wartości zmiennoprzecinkowych (Ie686e)
Poprawki błędów
- Parametr
contentWindowInsets
komponentu Scaffold uwzględnia teraz wcięcia okna. Pamiętaj, że działanie dopełnienia treści na podstawie parametrówtopBar
ibottomBar
pozostaje bez zmian, gdy są one podane. (I08b73, b/264601542) - Popraw wyrównanie górnego paska aplikacji, aby długi tytuł nie nakładał się na ikony działań ani ikonę nawigacji. (I4369f, b/236994621)
- Pozycje kart wymuszają teraz minimalną szerokość treści wynoszącą 24 dp. Zapewnia to dostępny obszar klikalny dla wskaźników kart. (Id8861)
- Dynamiczne palety kolorów z
dynamicLightColorScheme
idynamicDarkColorScheme
obsługują teraz nowe role platformy. (I1252e) - Aktualizacja wyrównania powiadomienia z odznaką, aby nie było przycinane, gdy koliduje z pradziadkiem. (Idf75a)
Wersja 1.2.0-alpha02
24 maja 2023 r.
Zostanie wycofaneandroidx.compose.material3:material3-*:1.2.0-alpha02
Wersja 1.2.0-alpha02 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaj parametr wstawień okien do
ModalBottomSheet
.- Warstwa przyciemniająca dla
ModalBottomSheet
może być teraz rysowana za paskiem stanu, gdy wartośćwindowInsets
jest ustawiona na zero - Zaktualizowano domyślną funkcję
ModalBottomSheet
, aby nie obejmowała pasków systemowych, w tym nawigacji. - Obsługa wcięcia paska stanu jest zapewniana przez uchwyt przeciągania w trybie od krawędzi do krawędzi.
BottomSheetDefaults
zawiera wstawki okien dlaBottomSheetWindow
. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
- Warstwa przyciemniająca dla
- Wycofaj
Indicator
i dodajPrimary
/SecondaryIndicator
, aby dopasować je do specyfikacji M3.PrimaryIndicator
dopasowuje się do szerokości treści karty, aSecondaryIndicator
zajmuje całą dostępną szerokość. WartośćSecondaryIndicator
jest odpowiednikiem wycofanej już wartościIndicator
i może ją bezpośrednio zastąpić. (I27604) - Dodaliśmy opcję przekazywania wartości
ScrollState
podczas tworzenia elementuDropdownMenu
lubExposedDropdownMenu
, aby kontrolować stan przewijania w pionie wyświetlanych elementów menu. (Ia0734, b/185304441) - Dodano przeciążenie funkcji
Slider
, które jest wersją komponentu z zachowywaniem stanu. UtworzonoSliderState
, który zawiera wszystkie informacje o bieżącym aktywnym śladzie, pomiary komponentówSlider
oraz logikę przeciągania i gestów. (I124a5) - Zmiana nazwy usługi Semantics
isContainer
naisTraversalGroup
(I121f6) - Dodano zoptymalizowany element
TextStyle.merge(...)
z pełną listą parametrów. (Iad234, b/246961787) - Udostępniono interfejsy
TooltipState
,RichTooltipState
iPlainTooltipState
. Dodano stany domyślneRichTooltipStateImpl
iPlainTooltipStateImpl
. Dodano funkcjeremember*State
, aby uzyskać te stany wdrożenia. UsuniętoTooltipSync
na rzeczTooltipDefault.GlobalMutatorMutex
. (I7813d) - Zaktualizowaliśmy
DatePickerColors
, aby dodać dodatkowe opcje dostosowywania kolorów separatora, nawigacji i pól wprowadzania tekstu w selektorze daty. (I1a685, b/274626815) DatePickerState
iDateRangePickerState
to teraz interfejsy publiczne z domyślnymi implementacjami, które można pobrać za pomocąrememberDatePickerState
irememberDateRangePickerState
. (I71c52)- Usunęliśmy
dateValidator
zDatePicker
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) TimePicker
usunięto ze stabilnego interfejsu API, w interfejsie API stanu oczekiwane są dalsze zmiany (I3f39a)ModalBottomSheet
Przeniesiono tylko na Androida. ProtokółModalBottomSheet
nie jest zalecany do użytku na komputerach, a funkcja nie jest już aktualizowana. (Ib3778)
Poprawki błędów
- Naprawiliśmy
AlertDialog
działanie odrzucania, aby pojawiało się pod działaniem potwierdzania, gdy działania były ułożone jeden nad drugim, aby zmieścić się w oknie dialogowym. Ta poprawka dostosowuje implementację do specyfikacji Material Design. (I029de, b/235454277) - Rozwiązanie błędu w
ListItem
, który powodował używanie nieprawidłowego dopełnienia w przypadku elementów zamówienia z 3 wierszami. (I6e235) ModalBottomSheet
może teraz wyświetlać klawiaturę IME (Idc508, b/262140644, b/268380384, b/272483584)
Wersja 1.2.0-alpha01
10 maja 2023 r.
androidx.compose.material3:material3:1.2.0-alpha01
i androidx.compose.material3:material3-window-size-class:1.2.0-alpha01
zostały opublikowane. Wersja 1.2.0-alpha01 zawiera te zmiany.
Wersja 1.1
Wersja 1.1.2
20 września 2023 r.
androidx.compose.material3:material3:1.1.2
i androidx.compose.material3:material3-window-size-class:1.1.2
zostały opublikowane. Wersja 1.1.2 zawiera te zmiany.
Poprawki błędów
- Naprawiono błąd polegający na nieprawidłowym przekazywaniu modyfikatora do 2 kompozycji. (b/282761472)
- Rozwiązaliśmy problem z funkcją
TimePickerState
, która zwracała nieprawidłową liczbę godzin po zainicjowaniu z wartością 23 godzin. (b/278242122) - Poprawiono początkowy stan przełącznika w przypadku weryfikacji południa i minut. (b/269768197, b/282790635)
- Naprawiono błąd, w którym funkcja
state.hour
zwracała nieprawidłową wartość o godzinie 23:00. (b/282761472, b/278242122)
Wersja 1.1.1
21 czerwca 2023 r.
androidx.compose.material3:material3:1.1.1
i androidx.compose.material3:material3-window-size-class:1.1.1
zostały opublikowane. Wersja 1.1.1 zawiera te zmiany.
Poprawki błędów
- Dodaje wywołanie
ModalBottomSheet
bez parametruwindowInset
, aby zapewnić zgodność binarną. (Ib7959) - Dodaj parametr wstawień okien do
ModalBottomSheet
.- Warstwa przyciemniająca dla
ModalBottomSheet
może być teraz rysowana za paskiem stanu, gdy wartośćwindowInsets
jest ustawiona na zero - Zaktualizowano domyślną funkcję
ModalBottomSheet
, aby nie obejmowała pasków systemowych, w tym nawigacji. - Obsługa wcięcia paska stanu jest zapewniana przez uchwyt przeciągania w trybie od krawędzi do krawędzi.
BottomSheetDefaults
zawiera wstawki okien dlaBottomSheetWindow
. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
- Warstwa przyciemniająca 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 opublikowane. Wersja 1.1.0 zawiera te zmiany.
Główne funkcje wersji 1.1.0
Nowe komponenty Material Design 3
Ulepszenia istniejących komponentów Material Design 3.
Promocja eksperymentalnych interfejsów API do wersji stabilnych
Więcej informacji znajdziesz w tym poście na blogu.
Wersja 1.1.0-rc01
19 kwietnia 2023 r.
androidx.compose.material3:material3:1.1.0-rc01
i androidx.compose.material3:material3-window-size-class:1.1.0-rc01
zostały opublikowane. Wersja 1.1.0-rc01 zawiera te zmiany.
Zmiany w interfejsie API
TimePicker
usunięto ze stabilnego interfejsu API, w interfejsie API stanu oczekiwane są dalsze zmiany (I3f39a)ModalBottomSheet
Przeniesiono tylko na Androida. ProtokółModalBottomSheet
nie jest zalecany do użytku na komputerach, a funkcja nie jest już aktualizowana. (Ib3778)
Wersja 1.1.0-beta02
5 kwietnia 2023 r.
androidx.compose.material3:material3:1.1.0-beta02
i androidx.compose.material3:material3-window-size-class:1.1.0-beta02
zostały opublikowane. Wersja 1.1.0-beta02 zawiera te zmiany.
Zmiany w interfejsie API
SheetState
ma teraz opcjonalny parametrskipHiddenState
rememberStandardBottomSheetState
ma teraz opcjonalny parametrskipHiddenState
BottomSheetScaffold
ma teraz zdefiniowany ukryty element kotwiczący, ale jest on domyślnie wyłączony.- Zaktualizowano
SheetState.requireOffset
dokumentację BottomSheetDefaults.MinimizedShape
został zmieniony naBottomSheetDefaults.HiddenShape
(I839f4, b/273870234)
Poprawki błędów
- Gdy włączone jest czytanie dotykiem, nie przełączaj tarczy z godzin na minuty. (I717d0)
- Semantyka uchwytów przeciągania
ModalBottomSheet
iBottomSheetScaffold
została scalona. (I05afb) - Parametry modyfikatora
BottomSheetScaffold
,containerColor
icontentColor
mają teraz wpływ tylko na treści. (I992cb) BottomSheetScaffold nestedScroll
w przypadku treści arkusza obsługuje teraz szybkie przesunięcia. (I992cb)
Wersja 1.1.0-beta01
22 marca 2023 r.
androidx.compose.material3:material3:1.1.0-beta01
i androidx.compose.material3:material3-window-size-class:1.1.0-beta01
zostały opublikowane. Wersja 1.1.0-beta01 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaj parametr typu układu do funkcji kompozycyjnej
TimePicker
. Umożliwia korzystanie z różnych układów w zależności od konfiguracji ekranu (Ia0e16). SearchBarDefaults
zostało oznaczone jako eksperymentalne. (I65561)- Dodano wysokość cienia do elementu
BottomSheetScaffold
(I94e0f) - Dodaliśmy obsługę wyświetlania selektorów dat bez części nagłówka. Zmiany w interfejsie API umożliwiające przekazywanie nagłówka o wartości null podczas tworzenia selektora daty. Możesz teraz przekazywać wartość null w przypadku nagłówka, tytułu i
showToggleMode = false
, aby wyświetlać selektor bez nagłówka. (Id3f3a, b/266132421, b/267194809)
Poprawki błędów
- Paski wyszukiwania automatycznie tracą fokus, gdy stają się nieaktywne. (I22a7c, b/261444487)
- Zaktualizowaliśmy
DateRangePicker
, aby umożliwić wybieranie zakresu z tą samą datą rozpoczęcia i zakończenia. (I16529, b/272882497) - Pola tekstowe prawidłowo pozycjonują teraz elementy tekstowe, gdy rozmiar czcionki jest mniejszy niż oczekiwano. W zależności od ustawień czcionki i skryptu może to spowodować zmianę o kilka pikseli w aplikacjach. (I8b8d0)
- Działania semantyczne na planszy dolnej mają teraz etykiety. (I277b0)
Wersja 1.1.0-alpha08
8 marca 2023 r.
androidx.compose.material3:material3:1.1.0-alpha08
i androidx.compose.material3:material3-window-size-class:1.1.0-alpha08
zostały opublikowane. Wersja 1.1.0-alpha08 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy obsługę właściwości
BottomSheetScaffold
iBottomSheetScaffoldState
. (I063d4)
Zmiany w interfejsie API
- Dodaliśmy funkcje do elementów
DatePickerState
iDateRangePickerState
, które umożliwiają ustawianie dat po początkowym utworzeniu stanu, a także resetowanie wyborów przez ustawianie znaczników czasu o wartości null. Daty należy ustawiać ręcznie z zachowaniem ostrożności. Nowa funkcjasetSelection
zgłosi wyjątek, jeśli podana data nie spełni warunku wstępnego (patrz dokumentacja). (Ifa645, b/268609314, b/270427389) - Zmieniliśmy nazwę stanu zwiniętego z
SheetValue
naPartiallyExpanded
, aby dokładniej i bardziej elastycznie opisywać zachowanie w tym stanie. (Ia1491) - Zaktualizowaliśmy nazwy parametrów
ListItem
na _content zamiast _text. Domyślne funkcje pobierające są teraz w odpowiednich przypadkach oznaczone jakoReadOnlyComposables
. (I69a25) - Wprowadzenie interaktywnych interfejsów API Surface z wersji eksperymentalnej. (I90d59, b/261561812)
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że stan
ModalBottomSheet
był obliczany nieprawidłowo i arkusz wydawał się unosić.HalfExpanded
(I45e84, b/268411386) - Dodaj
confirmValueChange
do dotknięcia siatki ochronnej w przypadkuModalBottomSheet
. (I2311a, b/270425759) - Przenieś działania semantyczne
BottomSheet
do uchwytu przeciągania. (I158ba) ModalBottomSheet
teraz przejmuje fokus po uruchomieniu i obsługuje przycisk Wstecz. (I4d2ab)ModalBottomSheet onDismissRequest
jest teraz obsługiwane również podczas przewijania zagnieżdżonego. (I655c5, b/268433166)
Wersja 1.1.0-alpha07
22 lutego 2023 roku
androidx.compose.material3:material3:1.1.0-alpha07
i androidx.compose.material3:material3-window-size-class:1.1.0-alpha07
zostały opublikowane. Wersja 1.1.0-alpha07 zawiera te zmiany.
Nowe funkcje
- Dodaj komponent Time Input, który współpracuje z
rememberTimePickerState()
i jest zgodny ze specyfikacją M3 dotyczącą wprowadzania czasu (Ia4fab). - Dodano interfejs API Material 3
DateRangePicker
do wybierania zakresu dat. (I7a6c3, b/267194809) - Dodano obsługę trybu wprowadzania Material 3 do wybierania zakresów dat za pomocą interfejsu
DateRangePicker
API. (Ifdbc4) - Kolory pól tekstowych można teraz dostosowywać:
- Kolory pola wprowadzania i tekstu zastępczego w zależności od stanu zaznaczenia i błędu. Parametr
textColor
nosi teraz nazwęunfocusedTextColor
, a parametrplaceholderColor
nosi teraz nazwęunfocusedPlaceholderColor
. - Kolor kontenera wypełnionych pól tekstowych w stanie błędu z nowym parametrem
errorContainerColor
.
- Kolory pola wprowadzania i tekstu zastępczego w zależności od stanu zaznaczenia i błędu. Parametr
- Kolory pól tekstowych menu rozwijanego zostały zaktualizowane o parametry obsługujące nowe interfejsy API prefiksu i sufiksu. (I9c8b4, b/254284181, b/264766350)
Zmiany w interfejsie API
- Cofnięcie niektórych wersji interfejsu Slider API i usunięcie zbędnych przeciążeń suwaka, które są objęte nowym eksperymentalnym suwakiem z niestandardowym elementem sterującym i ścieżką. Promowanie wersji
RangeSlider
jako stabilnej. (Ie8fbd) - Zmieniono nazwę funkcji
defaultElevation
naelevation
w funkcjach wysokości elementu. (I0f872) - Te interfejsy API pól tekstowych Material 3 nie są już eksperymentalne:
TextField
,OutlinedTextField
,textFieldWithLabelPadding
,textFieldWithoutLabelPadding
,outlinedTextFieldPadding
. (Ieb5c0, b/261561819) TimePickers
is24Hour
używa ustawienia systemowego (I18856)- Usunięto eksperymentalną adnotację z interfejsów API platformy. (Ibb51e, b/261565765, b/261436953)
Poprawki błędów
- Domyślny kształt
ModalBottomSheet
to teraz zawszeSheetDefaults.ExpandedShape
. (I0dfca) - Ulepszenia ułatwień dostępu w przypadku Material 3
DatePicker
iDateRangePicker
. (I5087e) - Naprawiono błąd, w którym ograniczenie maksymalnej wysokości jest propagowane i może powodować awarię. (I30d8c)
- Usunięto role semantyczne z powierzchni, które można klikać i wybierać. Zaktualizowano komponenty, które ich używały, aby ustawiać role za pomocą modyfikatora semantics (I793d9).
Wersja 1.1.0-alpha06
8 lutego 2023 r.
androidx.compose.material3:material3:1.1.0-alpha06
i androidx.compose.material3:material3-window-size-class:1.1.0-alpha06
zostały opublikowane. Wersja 1.1.0-alpha06 zawiera te zmiany.
Nowe funkcje
- Pola tekstowe obsługują teraz tekst przedrostka i przyrostka (Ia8578, b/179884561)
- Dodano funkcję
TimePicker
, która wyświetla selektor czasu zgodny ze specyfikacją Material 3. Jest ona używana w połączeniu z funkcjąTimePickerState
i metodą pomocnicząrememberTimePickerState
(I71910). - Pole wprowadzania daty jest teraz w trybie wyświetlania w
DatePicker
. Dodano obsługę przełączania między selektorem daty a trybem wprowadzania daty. (Ieeff7) - Dodano interfejs API dla
RichTextTooltips
. (I58ef3) - Implementacja modalnej planszy dolnej w Material 3, w tym
ModalBottomSheet
iModalBottomSheetDefaults
. Wprowadzono też elementySheetState
irememberSheetState
, które można wykorzystać w przyszłych komponentach arkusza. (I0853a, b/244189383)
Zmiany w interfejsie API
- Stabilizacja interfejsu API
showSnackbar
(I195c2, b/261424370) - Ustabilizowanie interfejsów API dla układu wspomagającego i układu sugestii (Ibb67b, b/261424370)
- Promuje interfejsy API
ListItem
,ListItemDefaults
iListItemColors
do wersji nieeksperymentalnej (I7e7fa, b/261438882) - Promowanie interfejsów
SliderPositions
,SliderDefaults.Thumb
iSliderDefaults.Track
do wersji stabilnej oraz dodawanie nieeksperymentalnych interfejsówSlider
iRangeSlider
API, które zawierają niestandardowe miniatury i ścieżki. Wycofujemy też poprzednie interfejsy APISlider
iRangeSlider
. (Ie5ea6, b/261566890) - Udostępniono właściwość
Modifier.tooltipAnchor()
, aby deweloperzy mogli przekazywać ją do elementu zakotwiczonego, aby wskazać, że etykietka ma być wyświetlana po długim naciśnięciu. Zaktualizowano interfejs APIPlainTooltipBox
, aby nie zezwalał już na wartość null w przypadkuTooltipState
, i dodano wartość domyślną. (Ie2fb7) ProgressIndicatorDefaults.circularTrackColor
zostało oznaczone jako@Composable
ze względu na spójność. (Id29cc)- Przywróć getter właściwości
LocalMinimuTouchTargetEnforcement
i oznacz go jako wycofany, a następnie przekieruj 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 opublikowane. Wersja 1.1.0-alpha05 zawiera te zmiany.
Nowe funkcje
DatePickerDialog
i pomoc dotycząca ułatwień dostępu.- Dodano niestandardowy kciuk i ścieżkę do
RangeSlider
.
Aktualizacje zależności
Compose UI
iCompose Material
zależą teraz od Lifecycle 2.6.0.
Wersja 1.1.0-alpha04
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 opublikowane. Wersja 1.1.0-alpha04 zawiera te zmiany.
Nowe funkcje
- Początkowy interfejs
DatePicker
API do wybierania pojedynczej daty za pomocą interfejsu kalendarza. Ten interfejs API jest nadal zmieniany. (I722b9) - Dodaliśmy obsługę zwykłych etykietek za pomocą
PlainTooltipBox
. (I0cdfb) - Pasek wyszukiwania (Iad128)
SwipeToDismiss
(I458a8, b/242889540)
Zmiany w interfejsie API
- Dodano właściwość semantyczną
IsContainer
w przestrzeniach. Ta właściwość zostanie użyta w późniejszej zmianie, która określa kolejność przechodzenia na podstawie znaczenia semantycznego elementów, takich jak powierzchnie. (I63379) - Oznaczanie interfejsów API związanych z panelem nawigacyjnym jako stabilnych. (Iab01e, b/261439597)
- Dodaliśmy parametr koloru ścieżki dla kołowych wskaźników postępu oraz parametr zakończenia linii dla kołowych i liniowych wskaźników postępu. (Ie668c, b/216325962, b/222964817)
- Większa możliwość zwracania wartości null przez wycofane i ukryte funkcje (Ibf7b0)
- Dodaj
Modifier.minimumInteractiveComponentSize
. Można go użyć do zarezerwowania co najmniej 48 dp, aby odróżnić interakcje dotykowe, jeśli element jest mniejszy. (I33f58, b/258495559) - Dodano eksperymentalny interfejs API dla funkcji
AlertDialog
z miejscem na treść. (Iec4a2)
Poprawki błędów
- Postęp wskaźników postępu jest teraz prawidłowo ograniczony do oczekiwanego zakresu. (I8a7eb, b/262262727)
Znany problem
- Podczas aktualizacji z wersji
androidx.compose.foundation:1.4.0-alpha03
doandroidx.compose.foundation:1.4.0-alpha04
może wystąpić błądjava.lang.NoSuchFieldError
. Tutaj problem został zgłoszony po raz pierwszy. Poprawka została przesłana i będzie dostępna w kolejnej aktualizacji Compose. Aby rozwiązać ten problem, zaktualizuj bibliotekiandroidx.compose.material
iandroidx.compose.material3
do najnowszej wersji(1.1.0-alpha04) lub przywróćandroidx.compose.foundation
do wersji 1.4.0-alpha03.
Wersja 1.1.0-alpha03
7 grudnia 2022 r.
androidx.compose.material3:material3:1.1.0-alpha03
i androidx.compose.material3:material3-window-size-class:1.1.0-alpha03
zostały opublikowane. Wersja 1.1.0-alpha03 zawiera te zmiany.
Zmiany w interfejsie API
- Zmieniliśmy nazwy
consumedWindowInsets()
naconsumeWindowInsets()
iwithConsumedWindowInsets()
naonConsumedWindowInsetsChanged()
oraz udostępniliśmy modyfikatory. (Ie44e1) - Dodaj nowe domyślne dopełnienie treści dla przycisku tekstowego z ikoną. (I8f662)
- Dodano wyłączone kolory paska nawigacyjnego i paska bocznego. (Ia7892, b/258867034)
- Dodaliśmy interfejs Modifier API do wysyłania zapytań o informacje o przewijaniu elementów nadrzędnych. (I2ba9d, b/203141462)
- Używany w
Clickable
do prawidłowego opóźniania interakcji z naciśnięciem, gdy gesty mogą stać się zdarzeniami przewijania. - Rozwiązaliśmy problem z nieprawidłowym opóźnianiem efektów falowania przez element
Clickables
, gdy jest używany w elemencieScrollable ViewGroup
. - Zaktualizowano panele i arkusze, aby prawidłowo opóźniać naciśnięcia w przypadku, gdy gesty mogą stać się zdarzeniami przewijania.
Aktualizacje zależności
Compose UI
iCompose Material
zależą teraz od wersji 2.5.1 biblioteki Lifecycle. (I05ab0, b/258038814)
Wersja 1.1.0-alpha02
9 listopada 2022 r.
androidx.compose.material3:material3:1.1.0-alpha02
i androidx.compose.material3:material3-window-size-class:1.1.0-alpha02
zostały opublikowane. Wersja 1.1.0-alpha02 zawiera te zmiany.
Zmiany w interfejsie API
awaitFirstDown
iwaitForUpOrCancellation
akceptują terazPointerEventPass
, co zapewnia większą elastyczność (rozwiązuje też problem zExposedDropdownMenuBox
, które wyświetlało menu podczas przewijania).(I7579a, b/212091796)- Dodano parametr
minLines
do komponentów tekstowych material i material3,TextField
iOutlinedTextField
, który umożliwia ustawienie minimalnej wysokości komponentu w wierszach (I4af1d). - Wycofaj funkcję
TopAppBarDefaults smallTopAppBarColors
na rzecz nowej funkcjitopAppBarColors
, której należy używać podczas tworzeniaTopAppBar
. (Ie6cb9) - Dodano parametr
minLines
do parametrówBasicText
iBasicTextField
. Umożliwia ustawienie minimalnej wysokości tych komponentów w liczbie wierszy (I24294, b/122476634).
Poprawki błędów
- Przycinaj zawartość komponentów Material 3
IconButton
iIconToggleBotton
do kształtu warstwy stanu komponentu (np. okrągłego). (I9da8f) - Aktualizuje średnie i duże górne paski aplikacji Material 3, aby stosować ten sam kolor tła na całej powierzchni i umożliwiać zastępowanie domyślnych kolorów przezroczystymi wartościami kolorów. (I67659, b/249688556, b/250838918)
Wersja 1.1.0-alpha01
24 października 2022 r.
androidx.compose.material3:material3:1.1.0-alpha01
i androidx.compose.material3:material3-window-size-class:1.1.0-alpha01
zostały opublikowane. Wersja 1.1.0-alpha01 zawiera te zmiany.
Poprawki błędów
- Poprawki dotyczące górnego paska aplikacji, gdy tytuł jest stosowany z użyciem TextStyle i Brush. (If667e)
Wersja 1.0
Wersja 1.0.1
9 listopada 2022 r.
androidx.compose.material3:material3:1.0.1
i androidx.compose.material3:material3-window-size-class:1.0.1
zostały opublikowane. Wersja 1.0.1 zawiera te zmiany.
Poprawki błędów
- Aktualizuje średnie i duże górne paski aplikacji Material 3, aby stosować ten sam kolor tła na całej powierzchni i umożliwiać zastępowanie domyślnych kolorów przezroczystymi wartościami kolorów. (I67659, b/249688556, b/250838918)
Wersja 1.0.0
24 października 2022 r.
androidx.compose.material3:material3:1.0.0
i androidx.compose.material3:material3-window-size-class:1.0.0
zostały opublikowane. Wersja 1.0.0 zawiera te zmiany.
Główne funkcje wersji 1.0.0
To pierwsza stabilna wersja Compose Material 3.
Motywy Material Design 3 i dynamiczne kolory Material You
Komponenty Material Design 3
- Plakietka
- Dolny pasek aplikacji
- Przyciski
- Przycisk FAB i rozszerzony przycisk FAB
- Karty
- Pole wyboru
- Chips
- Okna
- Separator
- Menu
- Lista
- Pasek nawigacyjny
- Panel nawigacji
- Panel nawigacji
- Wskaźnik postępu
- Opcja
- Suwak
- Przełącz
- Karty
- Pola tekstowe
- Górny pasek aplikacji
- Ikona
- SMS
- Surface
- Układ
- Kolor treści
Klasa rozmiaru okna
material3-window-size-class
to nowa biblioteka, która obsługuje klasy rozmiaru okna: zestaw opartych na opiniach punktów przerwania widocznego obszaru, które umożliwiają projektowanie, tworzenie i testowanie układów aplikacji o zmiennych rozmiarach. Możesz użyćcalculateWindowSizeClass
, aby pobrać instancję klasy rozmiaru okna, która pozwala określić, jak powinien wyglądać interfejs, np. czy w przypadku większych rozmiarów okna wyświetlać pasek nawigacyjny zamiast nawigacji u dołu. Więcej informacji i przykłady użycia znajdziesz w dokumentacji interfejsu API dotyczącej parametruWindowSizeClass
.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 opublikowane. Wersja 1.0.0-rc01 zawiera te zmiany.
Zmiany w interfejsie API
- Dodano parametr slotu do obsługi interfejsu API pola tekstowego (Iaac0d, b/227146125)
Wersja 1.0.0-beta03
21 września 2022 r.
androidx.compose.material3:material3:1.0.0-beta03
i androidx.compose.material3:material3-window-size-class:1.0.0-beta03
zostały opublikowane. Wersja 1.0.0-beta03 zawiera te zmiany.
Zmiany w interfejsie API
ExposedDropdownMenuDefaults
udostępnia teraz wartość dopełnienia elementów menu. (I34ee1)ExposedDropdownMenuBoxScope
ma teraz modyfikatorModifier.menuAnchor()
, który należy przekazać do pola tekstowego, aby zapewnić prawidłowe działanie funkcji ułatwień dostępu. (I27fa3)- Dodanie 2 przeciążonych metod do bieżącego interfejsu Slider API, aby umożliwić użytkownikom przekazywanie suwaka lub ścieżki w celu wypełnienia suwaka. (I21c00)
Poprawki błędów
- Zaktualizowano mapowanie kolorów ciemnego motywu dla kontenera błędu na odcień 90 (Ic5612)
- Poprawka umożliwiająca ustawienie przezroczystego tła w przypadku małych górnych pasków aplikacji Material 3. (I645e2, b/245575782)
Wersja 1.0.0-beta02
7 września 2022 roku
androidx.compose.material3:material3:1.0.0-beta02
i androidx.compose.material3:material3-window-size-class:1.0.0-beta02
zostały opublikowane. Wersja 1.0.0-beta02 zawiera te zmiany.
Zmiany w interfejsie API
- Domyślne wstawki komponentów wprowadzone w komponentach m3 w wersji beta01 nie uwzględniają już wstawek IME.
- Komponent Scaffold w Material3 ma teraz parametr
contentWindowInsets
, który umożliwia określenie liczby wcięć do obsługi w przypadku miejsca na treść. (Icf11a, b/243713323) - Wycofuje eksperymentalną funkcję
SmallTopAppBar
Material 3 i wprowadza jej odpowiednikTopAppBar
. Przenieś swoje użycie na nową. (I74404, b/226918634) - Dodaje kontrolę nad zachowaniem paska aplikacji u góry podczas przesuwania i przyciągania. (I15c81)
- Usuwa startIndent z komponentu Divider i przenosi kolor na ostatni parametr. (If7be2)
Poprawki błędów
- Okna dialogowe powinny informować użytkowników korzystających z czytnika ekranu o swoim wyświetleniu, wypowiadając słowo „Okno”. (I857ef)
Wersja 1.0.0-beta01
24 sierpnia 2022 r.
androidx.compose.material3:material3:1.0.0-beta01
i androidx.compose.material3:material3-window-size-class:1.0.0-beta01
zostały opublikowane. Wersja 1.0.0-beta01 zawiera te zmiany.
Dokumentacja API
Aby zobaczyć najnowsze motywy, komponenty i inne funkcje dostępne w Compose, zapoznaj się z omówieniem interfejsu API Compose Material 3.
Zmiany w interfejsie API
- Zaktualizowano górny pasek aplikacji Material 3, aby można było go w pełni zwinąć lub rozwinąć. Zaktualizowano też funkcję zachowania
TopAppBarDefaults
, aby była funkcją kompozycyjną i zapewniała wartości domyślne dla stanu górnego paska aplikacji i specyfikacji animacji. (I642b3) - Zaktualizowano sygnatury komponentu FAB, aby pasowały do interfejsu API powierzchni (I3afaa).
- Dodano wstawki. Wbudowana obsługa górnych pasków aplikacji, szuflad, paska nawigacyjnego i paska bocznego. Te komponenty, używane oddzielnie lub z komponentem Scaffold, automatycznie obsługują wcięcia dla programistów. Uwaga: ta zmiana nie dodaje automatycznej obsługi ikon paska stanu ani przezroczystości paska stanu i paska nawigacyjnego. Aby zapewnić najlepsze wrażenia, nadal rób to ręcznie. (I7e4e6, b/183161866)
- Zaktualizowane domyślne ustawienia komponentu, aby zmniejszyć powierzchnię interfejsu API i zwiększyć elastyczność oraz wydajność w przyszłości. (I31820)
- Zmiana kolejności parametrów w arkuszu z elementami i w panelu nawigacyjnym, aby zachować spójność w interfejsie API (I45d0b).
- Usunięto parametr
startIndent
z komponentu Divider i przeniesiono kolor na ostatni parametr.(If7be2)
Wersja 1.0.0-alpha16
10 sierpnia 2022 r.
androidx.compose.material3:material3:1.0.0-alpha16
i androidx.compose.material3:material3-window-size-class:1.0.0-alpha16
zostały opublikowane. Wersja 1.0.0-alpha16 zawiera te zmiany.
Nowe funkcje
- Możliwość określenia niestandardowej szerokości panelu nawigacyjnego. (Ia7f10)
Zmiany w interfejsie API
- Zmiana kolejności parametrów kart i ikon wiodących, aby zachować spójność w interfejsie API (Ie2637)
- Oznaczono
BadgeDefaults
jako eksperymentalne. (I98ef3) - Usunięcie wycofanej funkcji panelu nawigacji. (I4f2db)
- Zmiana kolejności parametrów suwaka w Material 3 w celu zachowania spójności w interfejsie API (I0aee7)
- Zmiana kolejności parametrów
NavigationBar
iNavigationRail
w celu zachowania spójności w interfejsie API (I51cda) - Zmieniono kolejność parametrów w Material 3, aby zachować spójność w całym interfejsie API. (If4ae1)
- Zmiana kolejności parametrów suwaka w Material 3 w celu zachowania spójności w interfejsie API (I62673)
- Zmiana nazwy parametru ikon na działania, aby zachować spójność z górnym paskiem aplikacji (Id75be)
- Oznacz
Badge
iBadgedBox
jako eksperymentalne, ponieważ wyrównanie kotwicy jest nadal w trakcie zmian. (I1712e, b/236524516) - Zmień adnotacje
@ExperimentalMaterial3Api
w wariancie przycisku z ikoną na@OptIn
(I070b5) - Treści w szufladzie nawigacji zostały przeniesione do osobnego komponentu, aby można było określić niestandardową szerokość. (Ia7f10)
- Usuwa
Divider
zMenuDefaults
iTabDefaults
(I4e33c)
Wersja 1.0.0-alpha15
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 opublikowane. Wersja 1.0.0-alpha15 zawiera te zmiany.
Nowe funkcje
- Zezwalaj na przeciąganie górnego paska aplikacji z poziomu samego paska. (I65c00, b/205873416)
Zmiany w interfejsie API
- Aktualizacje interfejsów API
FilterChip
iElevatedFilterChip
, które usuwają gniazdoselectedIcon
i zachęcają do ponownego używania gniazdaleadingIcon
do wyświetlania wybranego stanu. (Ie5dc2) - Dodaj role kolorów wariantów półprzezroczystych i konturowych. (Id6d54)
- Popraw konwencje nazewnictwa domyślnych ustawień kompozycyjnych. (I62b27)
- Oznacz
ListItemDefaults
iListItemColors
jako eksperymentalne. (I1f3ec) - Zmiany w interfejsie API górnego paska aplikacji, które lepiej odzwierciedlają znaczenie właściwości stanu. Oznacz też interfejs API górnego paska aplikacji jako eksperymentalny. (Ic0ad8)
- Kolory zaznaczenia tekstu zostały dodane do
TextFieldColors
, aby zwiększyć wykrywalność. (Iba1b8) - Dodawanie
ButtonDefault.ButtonWithIconContentPadding
do przycisków zawierających ikonę. (I2bf9c) - Pola tekstowe zostały oznaczone jako eksperymentalne, aby zapewnić większą elastyczność w przypadku przyszłych zmian w interfejsie API. (I127b5)
- Usunięto adnotację
@ExperimentalMaterial3Api
z funkcjiCheckbox
. (I5eefc) - Usunięto adnotację
@ExperimentalMaterial3Api
z funkcjiRadioButton
. (I17e2a) - Usunęliśmy adnotację
@ExperimentalMaterial3Api
z nieinteraktywnych kart. (I9bd49) - Aktualizuje różne domyślne obiekty komponentów, aby uwzględniały kolory, kształty itp. (I96e11)
Poprawki błędów
- Usunięto z przykładowych elementów wejściowych nieprawidłowo działające ikony końcowe, aby uniknąć wprowadzania użytkowników w błąd w aplikacji katalogu. (I9846a)
Wersja 1.0.0-alpha14
29 czerwca 2022 r.
androidx.compose.material3:material3:1.0.0-alpha14
i androidx.compose.material3:material3-window-size-class:1.0.0-alpha14
zostały opublikowane. Wersja 1.0.0-alpha14 zawiera te zmiany.
Nowe funkcje
- Dodano implementację listy M3. Przykłady użycia znajdziesz w dokumentacji (Id7a20).
Zmiany w interfejsie API
- Zmiana nazwy parametru z values na value w
RangeSlider
(I3b79a) - Zmiany w API w
InputChip
, które umożliwiają wybór stanu zgodnie ze specyfikacją Material Design. Dodatkowa obsługa kolorów wFilterChip
w przypadku wybranego stanu wyłączonego. (I55244, b/235792432) - Dodaj domyślny pływający przycisk działania
BottomAppBar
(Ida4c8) - Dodano element
ColorScheme.surfaceColorAtElevation
(Id41af) - Interfejsy w bibliotekach Compose są teraz tworzone przy użyciu domyślnych metod interfejsu jdk8 (I5bcf1).
- Klasy
WindowWidthSizeClass
iWindowHeightSizeClass
implementują teraz interfejs Comparable, więc można je porównywać za pomocą operatorów (<, <=, >=, >) i innych interfejsów API. (I747d0)
Poprawki błędów
- Zaktualizuj próbkę plakietki, aby podać bardziej znaczący opis treści. (I10b9d)
- Dodaje opcję używania rozmiaru czcionki systemowej w selektorze motywów katalogu Material 3. (I10605)
- Dodaje przykładowy kod do plakietek i wskaźników nieokreślonego postępu. (I8fbe0)
Wersja 1.0.0-alpha13
1 czerwca 2022 r.
androidx.compose.material3:material3:1.0.0-alpha13
i androidx.compose.material3:material3-window-size-class:1.0.0-alpha13
zostały opublikowane. Wersja 1.0.0-alpha13 zawiera te zmiany.
Zmiany w interfejsie API
- Obsługuje zachowywanie pozycji górnego paska aplikacji po zmianie konfiguracji. (I10459, b/216160958)
Wersja 1.0.0-alpha12
18 maja 2022 r.
androidx.compose.material3:material3:1.0.0-alpha12
i androidx.compose.material3:material3-window-size-class:1.0.0-alpha12
zostały opublikowane. Wersja 1.0.0-alpha12 zawiera te zmiany.
Poprawki błędów
- Kontener nadrzędny suwaka może mieć teraz szerokość 0. (b/231707291)
Wersja 1.0.0-alpha11
11 maja 2022 roku
androidx.compose.material3:material3:1.0.0-alpha11
i androidx.compose.material3:material3-window-size-class:1.0.0-alpha11
zostały opublikowane. Wersja 1.0.0-alpha11 zawiera te zmiany.
Nowe funkcje
- Dodano
RangeSlider
do Material 3 (I18e38) - Dodaje obsługę
AssistChip
iInputChip
Material3 (I0d25a) - Dodaje obsługę Material3
FilterChip
iSuggestionChip
(I9fdf3)
Zmiany w interfejsie API
- Zmieniono nazwę funkcji
TextFieldDefaults.BorderStroke
, która rysuje obrys wOutlinedTextField
, naTextFieldDefaults.BorderBox
. (I5f295) - Zmiany wizualne dotyczące przełącznika m3 (Iab30e)
- Zezwalanie na przekazywanie kolorów do standardowych przycisków z ikonami. (Ia2445)
Poprawki błędów
- Dodanie kontroli lint do elementu material3/Scaffold, aby zapewnić używanie wewnętrznego dopełnienia (I72293, b/226951418)
Wersja 1.0.0-alpha10
20 kwietnia 2022 r.
androidx.compose.material3:material3:1.0.0-alpha10
i androidx.compose.material3:material3-window-size-class:1.0.0-alpha10
zostały opublikowane. Wersja 1.0.0-alpha10 zawiera te zmiany.
Nowe funkcje
material3-window-size-class
to nowa biblioteka, która obsługuje klasy rozmiaru okna: zestaw opartych na opiniach punktów przerwania widocznego obszaru, które umożliwiają projektowanie, tworzenie i testowanie układów aplikacji o zmiennych rozmiarach. Możesz użyćcalculateWindowSizeClass
, aby pobrać instancję klasy rozmiaru okna, która pozwala określić, jak powinien wyglądać interfejs, np. czy w przypadku większych rozmiarów okna wyświetlać pasek nawigacyjny zamiast nawigacji u dołu. Więcej informacji i przykłady użycia znajdziesz w dokumentacji interfejsu APIWindowSizeClass
. Więcej informacji o definicjach klas rozmiaru okna znajdziesz w publicznym przewodniku dotyczącym obsługi różnych rozmiarów ekranu.
Zmiany w interfejsie API
- Dodaje domyślne uniesienie FAB dla
BottomAppBar
, usuwa końcową lambdę zBottomAppBar
z FAB. (I92c47) - Dodaje komponenty Material3
FilledIconButton
,FilledTonalIconButton
iOutlinedIconButton
. (Ib2bda) - Aktualizuje interfejs Material 3 Snackbar API, aby akceptował wartości kolorów w przypadku opcjonalnego działania i działania zamykającego. (Ibe4b4)
- Częściowe wykorzystanie (obniżenie lub pozycja) zostało wycofane w
PointerInputChange
. Aby w pełni wykorzystać zmianę, możesz użyćconsume()
. Możesz użyćisConsumed
, aby sprawdzić, czy ktoś inny wcześniej wykorzystał tę zmianę. PointerInputChange::copy()
zawsze tworzy teraz płytką kopię. Oznacza to, że po wykorzystaniu jednej kopiiPointerInputChange
zostaną wykorzystane kolejne kopie. Jeśli chcesz utworzyć niepowiązany elementPointerInputChange
, użyj konstruktora. (Ie6be4, b/225669674)- Zmiany w interfejsie Cards API, które umożliwiają otrzymywanie kolorów kontenera i treści za pomocą interfejsu
CardColors
oraz obsługę stanu wyłączonego w przypadku kart, w które można kliknąć. (I927df) - Parametr
backgroundColor
został zmieniony nacontainerColor
w polach tekstowych Material 3, aby zapewnić większą spójność z innymi komponentami. (I6fbd9)
Poprawki błędów
- Aktualizacje standardowego elementu
IconButton
, aby dostosować go do specyfikacji Material3. (I09eab) - Przenieś wysokość górnego paska elementu Scaffold z biblioteki material3 do dopełnienia przekazywanego do treści, aby umożliwić renderowanie treści pod górnym paskiem aplikacji. Jeśli
PaddingValues
zostaną zignorowane, treść może być zasłonięta przez górny pasek. (I83cbc, b/217776202)
Wersja 1.0.0-alpha09
6 kwietnia 2022 roku
Zostanie wycofaneandroidx.compose.material3:material3:1.0.0-alpha09
Wersja 1.0.0-alpha09 zawiera te zmiany.
Nowe funkcje
- Dodano interfejs API przełącznika Material 3 (I2c3ad)
Zmiany w interfejsie API
- Dodaliśmy obsługę menu z polami tekstowymi (tzw. „rozwijane menu z polami tekstowymi” lub „pola kombi”). (I1b832)
- Dodano parametr kształtu do MaterialTheme i podsystemu Shape. (I37426)
- Dodaliśmy do komponentu
ExtendedFloatingActionButton
parametr expanded, który pozwala określić, czy pływający przycisk działania ma być rozwinięty czy zwinięty, z animacjami między poszczególnymi stanami. Dodano przeciążenie rozszerzonego przycisku FAB dla rozszerzonych przycisków FAB z tekstem na końcu w przypadku rozszerzonych przycisków FAB bez ikony. (Iba7f1)
Wersja 1.0.0-alpha08
23 marca 2022 r.
Zostanie wycofaneandroidx.compose.material3:material3:1.0.0-alpha08
Wersja 1.0.0-alpha08 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy obsługę pól tekstowych Material 3. (I795cc, b/199377790)
Zmiany w interfejsie API
- Dodaj domyślny separator menu (I01374)
- Dodano parametr koloru
surfaceTint
do klasyColorScheme
. (I2f558)
Poprawki błędów
- Poprawka w przypadku przycisku Material3, aby odczytywać domyślną wartość stylu tekstu z motywu MaterialTheme. (Ie62fc)
Wersja 1.0.0-alpha07
9 marca 2022 r.
Zostanie wycofaneandroidx.compose.material3:material3:1.0.0-alpha07
Wersja 1.0.0-alpha07 zawiera te zmiany.
Zmiany w interfejsie API
- Aktualizacje interfejsu Material 3 Surface API, które przywracają przeciążone funkcje w przypadku klikalnych powierzchni, a także dodają funkcję obsługi powierzchni, które można wybrać i przełączać. (I4bf18)
- Wartości
LazyVerticalGrid
iLazyHorizontalGrid
są teraz stabilne. (I307c0) LazyVerticalGrid/LazyHorizontalGrid
i wszystkie powiązane interfejsy API zostały przeniesione do podpakietu .grid. Zaktualizuj importy z androidx.compose.foundation.lazy do androidx.compose.foundation.lazy.grid. (I2d446)- Cofnięto poprzednią zmianę polegającą na korzystaniu wyłącznie z widoku w przypadku
WindowInsetsControllerCompat
. Ponownie wymagane jest okno, które jest niezbędne do zarządzania niektórymi flagami okna. WycofanoViewCompat.getWindowInsetsController
na rzeczWindowCompat.getInsetsController
, aby mieć pewność, że używane jest prawidłowe okno (np. gdy widok znajduje się w oknie dialogowym). (I660ae, b/219572936) - Dodano nowy interfejs API
LazyVerticalGrid
do określania rozmiarów osi poprzecznej (I17723).
Poprawki błędów
- Aktualizacje interfejsu Card API w związku ze zmianami w interfejsie Surface API (I3c8b9)
Wersja 1.0.0-alpha06
23 lutego 2022 r.
Zostanie wycofaneandroidx.compose.material3:material3:1.0.0-alpha06
Wersja 1.0.0-alpha06 zawiera te zmiany.
Zmiany w interfejsie API
- Dodano element
NavigationDrawerItem
, który reprezentuje pojedyncze miejsce docelowe w szufladach (Ic396f, b/218286829). - Dodaliśmy interfejsy
PermanentNavigationDrawer
iDismissibleNavigationDrawer
jako eksperymentalne. Są to szuflady odpowiednie dla urządzeń z dużym ekranem. (I5f8ab, b/218286829) - Dodano obsługę dolnego paska aplikacji Material 3 (Ic432a)
NavigationDrawer
zmienił(a) nazwę naModalNavigationDrawer
(I1807d, b/218286829)- Dodano klasę i tokeny suwaka Material 3 (I1ccee)
- Dodano implementację karty. Przykłady użycia znajdziesz w dokumentacji (Ie0146).
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że w przypadku nawigacji liniowej czytnik ekranu
TalkBack
wybierał pusty tytuł paska aplikacji u góry. (Id4690) - Dodano
IconSize
doFloatingActionButtonDefaults
. (Ia71cf) - Naprawiliśmy błąd, który powodował ukrywanie przycisków
AlertDialog
po dodaniu długiego tekstu z symbolemLazyColumn
. (Ib2cc9, b/216663029)
Wersja 1.0.0-alpha05
9 lutego 2022 r.
Zostanie wycofaneandroidx.compose.material3:material3:1.0.0-alpha05
Wersja 1.0.0-alpha05 zawiera te zmiany.
Nowe funkcje
Dodano komponenty Material Design 3
- Menu rozwijane
- Karty
Zmiany w interfejsie API
- Wycofana funkcja
Surface
, która przyjmuje wywołanie zwrotne onClick. Klikalne obszary należy tworzyć za pomocą tagówInteractionSource
iModifier.clickable()
. (I211c6) - Dodaliśmy obsługę podniesienia po naciśnięciu i skupieniu w przypadku FAB. (Ibb584)
- Zmieniono interfejs
Surface
API, aby otrzymywał element InteractionSource, który umożliwia kontrolowanie jego wyglądu w różnych stanach. (Iafbc8)
Poprawki błędów
- Dodano brakujące kolory trzeciorzędowe w schematach kolorów dynamicznych (I456c4, b/214588434)
Wersja 1.0.0-alpha04
26 stycznia 2022 r.
Zostanie wycofaneandroidx.compose.material3:material3:1.0.0-alpha04
Wersja 1.0.0-alpha04 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaliśmy
NonRestartableComposable
do metod, które są przeciążeniami istniejących metod bez złożonej logiki. Zmniejsza to liczbę sprawdzania przez kompilator zapamiętywania (równości) w przypadku wszystkich parametrów, które powtarzają się w wywoływanej funkcji wewnętrznej. (I90490) - Dodano podział Materiał 3. (Ica5fc)
- Oznacz pola wyboru i przyciski opcji adnotacją eksperymentalnego interfejsu API. (Ie44bb)
- Dodano obsługę wskaźników postępu Material 3. (Iff232, b/205023841)
Poprawki błędów
- Aktualizowanie wyłączonego koloru kontenera
TextButton's
na przezroczysty (I6b248, b/213339737)
Wersja 1.0.0-alpha03
12 stycznia 2022 r.
Zostanie wycofaneandroidx.compose.material3:material3:1.0.0-alpha03
Wersja 1.0.0-alpha03 zawiera te zmiany.
Poprawki błędów
- Dodaj
LocalIndication
doMaterialTheme
w Material 3. (I7ce4e) - Poprawienie zaokrąglenia rogów w przypadku 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.
Zostanie wycofaneandroidx.compose.material3:material3:1.0.0-alpha02
Wersja 1.0.0-alpha02 zawiera te zmiany.
Nowe funkcje
- Dodano obsługę pól wyboru i przycisków opcji.
- Zaktualizowano, aby była zgodna z Kotlinem
1.6.0
Zmiany w interfejsie API
- Usuń szufladę z elementu Scaffold w Material 3. (I04f51)
- Dodaje obsługę Material 3
Checkbox
. (Id5542) - Dodaje obsługę Material 3
RadioButton
. (I20334)
Poprawki błędów
- Zmniejsz promień fali
IconButton
z 40 dp do 20 dp. (I68bbe, b/206674345) - Szybka ścieżka ciągu portu dla
Text
zmienia się zcompose.material
(I30b03) - Naprawiono problem z przyciskiem, który był zawsze włączony. (Iea832, b/205335456)
Wersja 1.0.0-alpha01
27 października 2021 roku
Zostanie wycofaneandroidx.compose.material3:material3:1.0.0-alpha01
Wersja 1.0.0-alpha01 zawiera te zmiany.
Nowe funkcje
Motywy Material Design 3 i dynamiczne kolory Material You
Komponenty Material Design 3
- Przyciski
- Przycisk FAB i rozszerzony przycisk FAB
- Okna
- Pasek nawigacyjny
- Panel nawigacji
- Panel nawigacji
- Górny pasek aplikacji
- Plakietka
- Ikona
- SMS
- Surface
- Układ
- Kolor treści
Więcej informacji znajdziesz w sekcji Material Design 3 i Material You w przewodniku Tworzenie motywów Material w Compose.