Tworzenie materiału 3
androidx.compose.material3
(aby uzyskać dostęp do interfejsu API, zapoznaj się z dokumentacją dotyczącą wszystkich pakietów compose)
Ostatnia aktualizacja | Wersja stabilna | Wersja kandydująca | Wersja Beta | Wersja alfa |
---|---|---|---|---|
13 listopada 2024 r. | 1.3.1 | - | - | 1.4.0-alpha04 |
Struktura
Compose to kombinacja 7 identyfikatorów grupy Maven w pakiecie androidx
. Każda grupa zawiera określony podzbiór funkcji, z którym wiąże się własny zestaw informacji o wydańach.
Ta tabela zawiera informacje o grupach i linki do poszczególnych zestawów informacji o wersji.
Grupa | Opis |
---|---|
compose.animation | tworzyć animacje w aplikacjach Jetpack Compose, aby wzbogacać wrażenia użytkowników. |
compose.compiler | Przekształcaj funkcje @Composable i włącz optymalizacje za pomocą wtyczki kompilatora Kotlin. |
compose.foundation | Pisać aplikacje Jetpack Compose za pomocą gotowych elementów składowych i rozwijać podstawy, aby tworzyć własne elementy systemu projektowania. |
compose.material | Tworzenie interfejsów Jetpack Compose za pomocą gotowych komponentów Material Design. Jest to punkt wejścia na wyższym poziomie w Compose, który ma na celu udostępnianie komponentów odpowiadających komponentom opisanym na stronie www.material.io. |
compose.material3 | Twórz interfejsy Jetpack Compose za pomocą komponentów Material Design 3, czyli kolejnej generacji Material Design. Material 3 obejmuje zaktualizowane motywy i elementy oraz funkcje personalizacji Material You, takie jak dynamiczne kolory. 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 środowisko uruchomieniowe główne dla wtyczki kompilatora Compose, na które ma być nakierowany. |
compose.ui | Podstawowe elementy interfejsu tworzenia wiadomości, które są potrzebne do interakcji z urządzeniem, w tym układ, rysowanie i wprowadzanie danych. |
Deklarowanie zależności
Aby dodać zależność od Compose, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Maven firmy Google.
Dodaj zależności dla artefaktów, których potrzebujesz, w pliku build.gradle
aplikacji lub modułu:
Groovy
dependencies { implementation "androidx.compose.material3:material3:1.3.1" implementation "androidx.compose.material3:material3-window-size-class:1.3.1" implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha04" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material3:material3:1.3.1") implementation("androidx.compose.material3:material3-window-size-class:1.3.1") implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha04") } 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 zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk z gwiazdką.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Compose Material3 Common Version 1.0
Wersja 1.0.0-alpha01
17 kwietnia 2024 r.
Funkcje 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ą dostępne. Wersja 1.0.0-alpha01 zawiera te komity.
Nowe funkcje
Komponenty bez motywu, które można wykorzystać 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.
Funkcje 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ą dostępne. Wersja 1.0.0-alpha07 zawiera te komity.
Zmiany w interfejsie API
- Usunięcie oznaczenia eksperymentalnej interfejsów API pakietu nawigacyjnego (If62af)
Poprawki błędów
- Domyślne używanie wstawek do treści (50266df)
Wersja 1.0.0-alpha06
17 kwietnia 2024 r.
Funkcje 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ą dostępne. Wersja 1.0.0-alpha06 zawiera te komisy.
Zmiany w interfejsie API
- Dodaj
containerColor
icontentColor
doNavigationSuiteScaffoldDefaults
. (I64e3a, b/331993720) - Dodawanie funkcji
itemColors
doNavigationSuiteDefaults
. (Idf719, b/328480012) - Upewnij się, że
NavigationSuiteScope
jest zamknięty. (Iefa57)
Wersja 1.0.0-alpha05
6 marca 2024 roku
Funkcje 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ą dostępne. Wersja 1.0.0-alpha05 zawiera te komity.
Zmiany w interfejsie API
- Ustaw konstruktor
NavigationSuiteItemColors
jako publiczny. (Ica83a, b/324886877)
Wersja 1.0.0-alpha04
21 lutego 2024 r.
Funkcje 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ą dostępne. Wersja 1.0.0-alpha04 zawiera te commity.
Aktualizacje zależności
- Zaktualizuj zależności dotyczące adaptacji Material3 do nowych ścieżek modułów. (Ibc421)
- Przejdź na korzystanie z klas rozmiarów okien w wersji Menedżera okien. (I3794d)
Wersja 1.0.0-alpha03
7 lutego 2024 r.
Funkcje 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ą dostępne. Wersja 1.0.0-alpha03 zawiera te commity.
Zmiany w interfejsie API
- Zmień nazwę pakietu na „navigationsuite” zamiast „navigation-suite” (I7eff7).
- Komponenty Material 3, które w swoim interfejsie API udostępniają wartość
MutableInteractionSource
, zostały zaktualizowane, aby udostępniać wartość opcjonalnąMutableInteractionSource
, która domyślnie jest ustawiana na null. Nie ma tu żadnych zmian semantycznych: przekazanie wartości null oznacza, że nie chcesz podnosićMutableInteractionSource
, a w razie potrzeby zostanie ono utworzone wewnątrz komponentu. Ustawienie wartości null pozwala niektórym komponentom nigdy nie przydzielaćMutableInteractionSource
, a innym pozwala tworzyć instancję tylko wtedy, gdy jest to konieczne, co zwiększa wydajność tych komponentów. Jeśli nie używasz wartościMutableInteractionSource
przekazywanej do tych komponentów, zalecamy przekazanie wartości null. Zalecamy też wprowadzenie podobnych zmian w własnych komponentach. (I41abb, b/298048146)
Wersja 1.0.0-alpha02
13 grudnia 2023 r.
Funkcje 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ą dostępne. Wersja 1.0.0-alpha02 zawiera te commity.
Nowe funkcje
- Dodaj opcję „Brak”
NavigationSuiteType
(If8cb1, b/313688598)
Poprawki błędów
- Naprawiono błąd polegający na tym, że komponent nawigacji wypełniał cały ekran, gdy element główny miał wartość
modifier.fillMaxSize
. (c9cf250, b/312664933)
Wersja 1.0.0-alpha01
15 listopada 2023 r.
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01
został zwolniony. Wersja 1.0.0-alpha01 zawiera te commity.
Nowe funkcje
Compose Material3 Adaptive Version 1.0
.Wersja 1.0.0-alpha06
7 lutego 2024 r.
Funkcje 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ą dostępne. Wersja 1.0.0-alpha06 zawiera te commity.
Nowe funkcje
- Dodano dodatkowe opcje zachowania
ThreePaneScaffoldNavigator
nawigacji wstecz. (I858aa) - Do historii nawigacji dodano opcjonalne treści dotyczące miejsca docelowego. (Ibd7e6)
Wersja 1.0.0-alpha05
24 stycznia 2024 r.
Funkcje 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ą dostępne. Wersja 1.0.0-alpha05 zawiera te commity.
Nowe funkcje
- Obsługa uwzględniania historii w nawigacji i obliczaniu wartości w szablonie (I71d46)
Wersja 1.0.0-alpha04
10 stycznia 2024 r.
Funkcje 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ą dostępne. Wersja 1.0.0-alpha04 zawiera te commity.
Nowe funkcje
- Dodano obsługę sekcji od krawędzi do krawędzi w ramach szkieletów paneli (I1b462).
Zmiany w interfejsie API
- Przeniesienie właściwości zakresów zawiasów w funkcji Posture na listę informacji o zawisaniach (I24f90)
Poprawki błędów
- Rozwiązanie problemu:
AnimatedPane
nie jest ponownie złożony (c3f573d)
Wersja 1.0.0-alpha03
13 grudnia 2023 r.
Funkcje 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ą dostępne. Wersja 1.0.0-alpha03 zawiera te commity.
Zmiany w interfejsie API
- Zmień role szablonu na aliasy
ThreePaneScaffoldRole
. (I65bd1) - Tworzenie klasy bazowej dla ról szablonu (I4784d)
- Usuń niepotrzebny parametr z treści
AnimatedPane
(Ibc73b) - Zmienia nazwę funkcji
collectWindowSizeAsState
i zamiast niej zwraca wartości nieprzetworzone (I480f4).
Wersja 1.0.0-alpha02
29 listopada 2023 r.
Funkcje 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ą dostępne. Wersja 1.0.0-alpha02 zawiera te commity.
Zmiany w interfejsie API
- Oddziel interfejsy API nawigacji od interfejsów API adaptacyjnej ramy. (Ic4045)
- Usuń zajęcia
GutterSize
. (I785b3)
Poprawki błędów
- Poprawka: panele nie są przełączane, gdy nie jest używany element
AnimatedPane
(d88f181)
Wersja 1.0.0-alpha01
15 listopada 2023 r.
androidx.compose.material3:material3-adaptive:1.0.0-alpha01
został zwolniony. Wersja 1.0.0-alpha01 zawiera te commity.
Nowe funkcje
Interfejsy API warunków dostosowywania Material3:
Interfejsy API dyrektywy szkieletu panelu adaptacyjnego Material3:
Interfejsy API szkieletu panelu adaptacyjnego Material3:
- Podstawowe interfejsy API w ramach szablonu panelu
Tworzenie Material3 w wersji 1.4
Wersja 1.4.0-alpha04
13 listopada 2024 r.
androidx.compose.material3:material3-*:1.4.0-alpha04
został zwolniony. Wersja 1.4.0-alpha04 zawiera te komisy.
Zmiany w zachowaniu
- Przywróć zmiany kolorów wprowadzone w aosp/3212478 w elementach
iconButtonColors
,iconToggleButtonColors
,outlinedIconButtonColors
,outlinedIconToggleButtonColors
ioutlinedIconToggleButtonBorder
. Przeniesienie zwróconego zachowania do nowego zestawu funkcji o nazwieiconButtonVibrantColors
itd., aby podkreślić zwracane kolory o wysokim kontraście. (Iffd8d)
Nowe funkcje
- Przedstawianie komponentu
VerticalDragHandle
(I6c770)
Zmiany w interfejsie API
- Zmień nazwę
DismissibleModalWideNavigationRailDefaults
naModalWideNavigationRailDefaults
. (I8e877) - Dodaj
NavigationBarComponentOverrides
. (I8a3f3) - Dodaj
NavigationRailComponentOverride
. (I83e13) - Wprowadź element
WideNavigationRailState
, aby obsługiwać zwijanie i rozwijanie szyny, zezwól na usunięcie elementuModalWideNavigationRail
i usuń elementDismissibleModalWideNavigationRail
. (I88568) - Dodaj domyślne rozmiary xSmall, medium, large i xLarge do domyślnych wartości przycisku przełącznika. (Ie95d1)
- Domyślne rozmiary xS, M, L i XL dodaj do domyślnych ustawień przycisków. (If8b6d)
Poprawki błędów
- Zgodnie ze specyfikacją kolor ikony podążającej za elementem filtra został zmieniony z Ustawiony do
OnSurfaceContainer
. Zgodnie ze specyfikacją wszystkie kolory obrysu elementów zostały zmienione z Obrys na Wariant obrysu. (I68bd4)
Wersja 1.4.0-alpha03
30 października 2024 r.
androidx.compose.material3:material3-*:1.4.0-alpha03
został zwolniony. Wersja 1.4.0-alpha03 zawiera te komity.
Zmiany w interfejsie API
- Konstruktor
SheetState
z gęstością został wycofany na rzecz progów pozycji i prędkości. (Ifd16e) - Dodano
rememberTooltipPositionProvider
, który zawiera zaktualizowaną logikę pozycjonowania. Wycofane:rememberPlainTooltipPositionProvider
irememberRichTooltipPositionProvider
. (Ie66e2) - Dodatkowe opcje
ModalBottomSheetProperties
umożliwiają dostosowywanie kolorów paska stanu i paska nawigacyjnego. Domyślnie te ustawienia są aktualizowane na podstawie koloru treści, a nie stanu ciemnego motywu systemu. (Ib874e, b/362539765) - Ulepszyliśmy proces wprowadzania danych w przypadku selektorów dat: w trybie wprowadzania pole tekstowe z datą będzie aktywne, aby umożliwić natychmiastowe wpisanie tekstu. Zmiana ta powoduje dodanie parametru
requestFocus
do plikówDatePicker
iDateRangePicker
. Możesz zapobiec skupieniu się nafalse
. (I12d09, b/286399710, b/340102743) - Buforowanie ustawień domyślnych kształtu w obiekcie Shape. Ustawienie domyślnego kształtu
@Composable
dla przycisku przełączania. Zwijanie kształtów do jednego kształtu domyślnego, ponieważ warianty wskazują na ten sam plik tokenów. (Iaa014)
Poprawki błędów
- Zoptymalizuj zachowanie Scaffold
contentPadding
, aby uniknąć ciągłego zmieniania treści w polu tekstowym po zmianie wartościcontentPadding
. (I8c8e2, b/373904168) TextFieldLabelScope
progress
został zmieniony nalabelMinimizedProgress
- Nazwa
TextFieldLabelPosition
Default
została zmieniona naAttached
. Usunięto elementy interfejsu. (If75c6) - Rozwiązaliśmy problem z elementem
DatePicker
w trybie wprowadzania danych, w którym błędy weryfikacji mogły powodować zmianę wysokości elementu. (I2e229, b/280462363) - Spraw, aby suwak materiału zmieniał swoją wartość po naciśnięciu klawiszy sterujących. (I1c442)
Wersja 1.4.0-alpha02
16 października 2024 r.
androidx.compose.material3:material3-*:1.4.0-alpha02
został zwolniony. Wersja 1.4.0-alpha02 zawiera te komity.
Zmiany w interfejsie API
- Aktualizacje selektorów dat, które zapewniają spójne używanie języka w całości
DatePicker
iDateRangePicker
podczas ustawiania języka bezpośrednio w elementachDatePickerState
lubDateRangePickerState
. Pamiętaj, że jeśli ustawisz lokalizację bezpośrednio na stan, musisz odpowiednio zlokalizować tekst tytułu i nagłówka, ponieważ domyślny tekst będzie nadal stosowany zgodnie z domyślną lokalizacją platformy. (I37073, b/326490763, b/321657276) - Usługa
SheetState.isAnimationRunning
jest teraz dostępna. (I9a3d7) DatePickerColors
mają teraz pierwszeństwo przed wszystkimi konfliktowymi kolorami zdefiniowanymi w sekcji Styl tekstu w motywie. Pamiętaj też, że to uaktualnienie zmienia położenie parametrucolor
w funkcjach selektora daty i wprowadza parametrcontentColor
, który umożliwia dostosowywanie kolorów nagłówka i tytułu. (I30d03, b/347031394)- Zmień nazwę
SplitButton
naSplitButtonLayout
i usuń interfejsy API wersji kolorySplitButton
. Wersje kolorów będą osiągane przez ponowne użycie wersji przycisku udostępnionych przezSplitButtonDefaults
. (I44c36) - W
ModalBottomSheet
jest teraz parametrsheetGestureEnabled
(I856cb, b/288211587) - Zmieniono nazwy
standardMotionScheme
iexpressiveMotionScheme
na standardowe i wyraziste. Obie funkcje są teraz dostępne w obiekcie towarzyszącymMotionScheme
po wywołaniu funkcjiMotionScheme.standard()
iMotionScheme.expressive()
. (Iceccf) - Dodawanie parametru
maxWidth
do prostych i rozwiniętych etykiet. Domyślnie jest to 200 dp w przypadku prostych etykiet narzędzia i 320 dp w przypadku rozbudowanych etykiet narzędzia. (I30ce9)
Poprawki błędów
- Parametry
DatePicker
iDateRangePicker
są teraz prawidłowo aktualizowane w przypadku wyświetlanego miesiąca, gdy są ustawione za pomocą atrybutudisplayedMonthMillis
stanu. (If9e47, b/333414302) - Treści
ModalBottomSheet
są teraz usuwane z paska stanu. (I5114c, b/321877275, b/336962418, b/342093067) - [Bottom Sheet] Change back callback priority to
PRIORITY_DEFAULT
to allow IME keyboard to dismiss first. (I447fb) - Naprawiliśmy problemy z zawieszaniem się aplikacji
DatePicker
iDateRangePicker
, gdy minimalny możliwy do wybrania rok jest ustawiony na rok przyszły. (I78656, b/319395747) - Rozwiązanie problemu z selektorem daty, aby zaktualizować interfejs po zastosowaniu zaktualizowanej instancji
SelectableDates
. (Iad59a, b/290135807, b/339898760)
Wersja 1.4.0-alpha01
2 października 2024 r.
androidx.compose.material3:material3-*:1.4.0-alpha01
został zwolniony. Wersja 1.4.0-alpha01 zawiera te komisy.
Zmiany w zachowaniu
- Biblioteka nie dodaje już zależności do pliku
material-icons-core
, więc jeśli Twój projekt na niej polegał, musisz ją jawnie dodać w plikachbuild.gradle[.kts]
. (I735ff, b/349894318) - Aby poprawić użyteczność, kontrast kolorów i spójność w systemie, zmieniliśmy kolor aktywnej etykiety
NavigationBarItem
iNavigationRailItem
zonSurface
nasecondary
(Ibc297). Aby przywrócić poprzednie działanie, skopiuj domyślne kolory i zamieńselectedTextColor
naMaterialTheme.colorScheme.onSurface
. - Komponenty Material 3 używają teraz nowego elementu
MotionScheme
do definiowania ruchu. (Ie0f93) - Nieokreślone zmiany ruchu kołowego wskaźnika postępu (I3c07e)
- Zaktualizuj
OutlinedIconButtonColors
iOutlinedIconToggleButtonColors
, aby poprawić kontrast kolorów. (I2743d) - Zaktualizowano kolor kontenera i treści w przypadku
FilledIconToggleButtonColors
iFilledTonalIconToggleButtonColors
. (Ic5d0f) - Zmieniono kolor obramowania elementu
OutlinedButton
zoutline
naoutlineVariant
. (057f00)
Zmiany w interfejsie API
- Do funkcji
enterAlwaysScrollBehavior
w funkcjiTopAppBar
dodano opcjonalny parametrreverseLayout
, aby lepiej obsługiwać treści ustawione za pomocą funkcjireverseLayout
. (I4e0e5) SegmentedButton
obsługuje teraz argumentcontentPadding
. (I5ad91, b/358414376)PullToRefreshState
nie ma już domyślnej implementacji dlaisAnimating
(I6a593)- Dodano nowe przeciążenia funkcji Material
TextField
iOutlinedTextField
, które korzystają zTextFieldState
. Dodano interfejsy API do tworzenia pudełek z dekoracją, które są zgodne z interfejsemTextFieldDecorator
. (If13a1) - Dodano parametr do sterowania polem tekstowym
labelPosition
. Dzięki temu w interfejsie można wyświetlać etykietę i obiekt zastępczy w polu tekstowym jednocześnie, nawet gdy pole nie jest aktywne.alwaysMinimize
(I1ef2c) - Dodano materiały
SecureTextField
iOutlinedSecureTextField
do pól do wpisywania hasła. (I7e22d) - Dodano zakres do etykiet pól tekstowych, aby umożliwić wyświetlanie animacji podczas wykonywania zapytania. (If5ec8)
- Dodano obsługę właściwości
MotionEvent.CLASSIFICATION_DEEP_PRESS
w opisach narzędzi. (I62e6a) - W interfejsie parametr
TimePickerState
w modeluTimePickerState
jest teraz wartością rozszerzenia zamiast zmienną, a jego nazwa została zmieniona naisPm
(I89a97).isAfternoon
- Aktualizacja klasy typograficznej w celu obsługi skali pogrubionego tekstu. (Ifa13c)
- Dodano interfejs API
ModalWideNavigationRail
i przemianowano interfejsy APIModalExpandedNavigationRail
naDismissibleModalWideNavigationRail
. (Ic9118) - Zaktualizowano
FloatingAppBarScrollBehavior
, aby automatycznie obliczaćscreenOffset
bez konieczności stosowania@Composable
. (Idf349) - Aktualizacje interfejsu API
LoadingIndicator
w celu poprawienia nazewnictwa obiektu domyślnego. Dodano stałąLoadingIndicatorElevation
w pozycjiPullToRefresh
. (I1d72b) - Zmiany w interfejsie API
LoadingIndicator
, które poprawiają nazewnictwo obiektu domyślnego. Dodano stałąLoadingIndicatorElevation
w pozycjiPullToRefresh
. (I1d72b) - Do nieokreślonych wariantów funkcji
LinearWavyProgressIndicator
iCircularWavyProgressIndicator
dodano parametryamplitude
iwaveSpeed
. (I2a0c5) - Obsługa zmiany kształtu ikony przełącznika w zależności od tego, czy jest wciśnięty czy zaznaczony. (Ibc781)
- Aktualizacja klasy typograficznej w celu obsługi skali pogrubionego tekstu. (Ifa13c)
SplitButton
kształt zmienia się w zależności od stanu domyślnego lub wciśniętego. Usunięto interfejs APIAnimatedTrailingButton
, ponieważ interfejs APITrailingButton
umożliwia te same opcje dostosowywania (I95066)- Dodaj modyfikator, aby animować wyświetlanie i ukrywanie przycisku FAB, np. podczas przewijania treści. (I8338d)
- Dodaj do
ButtonGroupDefaults
kształty połączonych grup przycisków i odstępy, aby użyć ich w próbce. (I68e30) - Dodanie poziomego odstępu dla przycisku końcowego w przycisku podzielonym oraz umożliwienie optycznego wyśrodkowania obliczonego na podstawie różnicy kątów początkowego i końcowego (I122e2)
- Wprowadzamy nowy komponent Material
MotionScheme
, który umożliwia ustawienie schematu ruchu komponentu. Schemat jest ustawiany za pomocąMaterialTheme
. (Id50c2)
Poprawki błędów
- Zastosować prawidłowy indeks przejścia na pierwszy plan do
Scaffold
podrzędnych komponentów. kolejność totopBar
,bottomBar
, fab, content, snackbar. (I5936b) - Rozwiązaliśmy problem z elementami
DatePicker
iDateRangePicker
, które w niektórych językach i w ramach szkieletów formatu nie zaczynały się wielką literą. (I1430f) - Integracja tokenów komponentów FAB i FAB Menu (niewielkie wizualne zmiany w odstępach i tekście) (Ib57f3)
ModalBottomSheet
jest teraz pierwszym elementem w porządku semantycznym, a za nim następuje ekran ciemny. (I436f9, b/358594665)- Naprawiono problem polegający na tym, że dolny pasek aplikacji nie znikał całkowicie podczas przewijania w trybie od krawędzi do krawędzi (I3ee21).
Tworzenie Material3 w wersji 1.3
Wersja 1.3.1
30 października 2024 r.
androidx.compose.material3:material3-*:1.3.1
został zwolniony. Wersja 1.3.1 zawiera te komity.
Poprawki błędów
- Parametry
DatePicker
iDateRangePicker
są teraz prawidłowo aktualizowane w przypadku wyświetlanego miesiąca, gdy są ustawione za pomocą atrybutudisplayedMonthMillis
stanu. (If9e47, b/333414302) - Naprawiliśmy problemy z zawieszaniem się aplikacji
DatePicker
iDateRangePicker
, gdy minimalny możliwy do wybrania rok jest ustawiony na rok przyszły. (I78656, b/319395747) - Rozwiązanie problemu z selektorem daty, aby zaktualizować interfejs po zastosowaniu zaktualizowanej instancji
SelectableDates
. (Iad59a, b/290135807, b/339898760) - Zmień priorytet wywołania zwrotnego używany przez karty dolne na
PRIORITY_DEFAULT
, aby umożliwić klawiaturze IME zamknięcie. (I447fb)
Wersja 1.3.0
4 września 2024 r.
androidx.compose.material3:material3-*:1.3.0
został zwolniony. Wersja 1.3.0 zawiera te komity.
Ważne zmiany od wersji 1.2.0
Najważniejsze funkcje w wersji 1.3.0
Nowe komponenty Material Design 3
- Karuzela
HorizontalMultiBrowseCarousel
iHorizontalUncontainedCarousel
Ulepszenia dotychczasowych komponentów Material Design 3.
- [
ModalBottomSheet
] Obsługa funkcji przewidywanego cofnięcia na U+ (Iccf32, b/281967264, b/304850357) - [
SearchBar
] Obsługa przewidywanego przejścia wstecz w U+ (I657f8) - Panel nawigacji (
ModalDrawerSheet
iDismissibleDrawerSheet
) obsługuje teraz funkcję przewidywanego powrotu w U+ jako opcję (Ie5b0b) DropdownMenu
obsługuje teraz niestandardowe kolory, kształty, wzniesienie i obramowania. (I8e981,b/289554448, b/301887035, b/283654243)- Zaktualizowano suwak, aby ułatwić dostępność. Dodano przerwę i wskaźnik zatrzymania. (I3058e)
- Zaktualizowaliśmy
ProgressIndicator
, aby ułatwić dostępność. Dodaliśmy wskaźnik przerwy i zatrzymania. (I21451) - Dodano domyślną kreskę w przypadku rozbudowanych etykiet narzędzia. Obsługa niestandardowych kresek w ramach danej kotwicy
LayoutCoordinates
. (Ifd42c) Zmiany powodujące niezgodność - Nowe interfejsy API do odświeżania przez przeciągnięcie:
- Uproszczone
PullToRefreshState
, aby używać wartości ułamkowych zamiast jednostek Dp. - Stan
isRefreshing
jest kontrolowany przez użytkownika, a nie przezPullToRefreshState
. - Odseparowano zagnieżdżone połączenie przewijania z poziomu
PullToRefreshState
. Jest ona obsługiwana przez nową funkcjęPullToRefreshBox
lubModifier.pullToRefresh
. - Ta aktualizacja wprowadza zmiany w poprzednich eksperymentalnych interfejsach API. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683) Zmiany w interfejsie
- Uproszczone
- Aby zapewnić wystarczający kontrast kolorów, zaktualizuj nakładkę stanu fokusa na wartość 0,1f. (I7ea77)
- Niewielkie zmiany domyślnych kolorów powierzchni i tła w
lightColorScheme
idarkColorScheme
. (I9db52) - Zaktualizowaliśmy kolory suwaka i elementu
ProgressIndicator
, aby były zgodne z nowymi specyfikacjami kontrastu elementów innych niż tekst. (I26807) SurfaceContainer
wersje są teraz używane przez komponenty. Komponenty, które formalnie obliczają kolor za pomocą wartościSurface
iTonalElevation
, teraz domyślnie używają wartościSurfaceContainer
, na które nie wpływa podnoszenie tonalności. (b/304584161)- Podstawowe role powierzchni i kontenera na powierzchnię zostały nieznacznie dostosowane, aby zapewnić większą nasycenie kolorów w jasnym i ciemnym motywie. (I677a5)
- Przeniesienie eksperymentalnych interfejsów API do stabilnych
- Poprawa wydajności.
Wersja 1.3.0-rc01
21 sierpnia 2024 r.
androidx.compose.material3:material3-*:1.3.0-rc01
został zwolniony. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
ModalBottomSheet
jest teraz pierwszym elementem w porządku semantycznym, a zaraz po nim pojawia się zasłaniacz. (I436f9, b/358594665)
Wersja 1.3.0-beta05
24 lipca 2024 r.
androidx.compose.material3:material3-*:1.3.0-beta05
został zwolniony. Wersja 1.3.0-beta05 zawiera te komity.
- Rozwiązaliśmy problem polegający na tym, że treści
BottomSheet
są niewidoczne lub przycięte na urządzeniach z Androidem N i O (a10a2d). - Zwiększono granice semantyczne suwaka, aby
TalkBack
prawidłowo wyświetlał wskaźniki ostrości wokół miniatur. (0b5a1d)
Wersja 1.3.0-beta04
26 czerwca 2024 r.
androidx.compose.material3:material3-*:1.3.0-beta04
został zwolniony. Wersja 1.3.0-beta04 zawiera te zatwierdzenia.
Wersja 1.3.0-beta03
12 czerwca 2024 r.
androidx.compose.material3:material3-*:1.3.0-beta03
został zwolniony. Wersja 1.3.0-beta03 zawiera te komisy.
Darowizna zewnętrzna
- Udostępnij
androidx.compose.material3.DropdownMenu
z poziomu wspólnego zbioru źródeł. (If62c0)
Wersja 1.3.0-beta02
29 maja 2024 r.
androidx.compose.material3:material3-*:1.3.0-beta02
został zwolniony. Wersja 1.3.0-beta02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
Modifier.pullToRefreshIndicator
obsługuje funkcję elevation, zaktualizuj interfejsy API funkcji „Przeciągnij, aby odświeżyć”, aby włączyć je jako zmienną logiczną zamiast funkcji lambda. Obsługa dopasowania treści wPullToRefreshBox
(I75679)- Utworzenie zamkniętego interfejsu
TooltipScope
i implementacji wewnętrznej do użycia w funkcjachTooltipBox
i Label. (I3833e) - Do
CarouselItemScope
dodaliśmy 2 nowe modyfikatory –maskClip
imaskBorder
– aby można było łatwo dodawać kształty i obramowania do dowolnego elementu karuzeli (Id67a1). TimePickerState
jest teraz interfejsem i umożliwia ustawienie czasu (I88546)- Zaktualizowano interfejs API do stylizacji linków: przeniesiono
TextLinkStyles
doTextStyle
i usuniętoTextDefaults
z materiału. (I5477b)
Poprawki błędów
- Ikony stanu i paska nawigacyjnego
ModalBottomSheet
reagują teraz na stan ciemnego motywu. (Ie1fe7, b/338342149) - Dodano do
ModalBottomSheet
semantykę zamykania arkusza. (0e61cb,b/328801864)
Darowizna zewnętrzna
- Udostępnij
androidx.compose.material3.AlertDialog
z poziomu wspólnego zbioru źródeł (Ia33f5). - Udostępnianie
ModalBottomSheet
z poziomu wspólnego zbioru źródeł (Id7cc7)
Wersja 1.3.0-beta01
14 maja 2024 r.
androidx.compose.material3:material3-*:1.3.0-beta01
został zwolniony. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Używanie
DpSize
zamiastCaretProperties
. UsuwamCaretProperties
. Zmień nazwęCaretScope
naTooltipScope
. (Id9a76) - Zaktualizowano interfejs API w celu uzyskiwania linków w stylu Material w tekście. W szczególności usunęliśmy z
TextDefaults
metody tworzenia tematycznychLinkAnnotations
i analizowania kodu HTML za pomocą tematycznych linków. Zamiast tego dodaliśmy klasęTextLinkStyles
, która umożliwia stylizowanie linków jako parametru w komponowalnym elemencie tekstu. (I31b93)
Wersja 1.3.0-alpha06
1 maja 2024 r.
androidx.compose.material3:material3-*:1.3.0-alpha06
został zwolniony. Wersja 1.3.0-alpha06 zawiera te komity.
Zmiany powodujące niezgodność
Nowe interfejsy API do odświeżania przez przeciągnięcie:
- Uproszczone
PullToRefreshState
, aby używać wartości ułamkowych zamiast jednostek Dp. - Stan
isRefreshing
jest kontrolowany przez użytkownika, a nie przezPullToRefreshState
. - Odseparowano zagnieżdżone połączenie przewijania z poziomu
PullToRefreshState
. Jest ona obsługiwana przez nową funkcjęPullToRefreshBox
lubModifier.pullToRefresh
. - Ta aktualizacja wprowadza zmiany w poprzednich eksperymentalnych interfejsach API. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683)
- Uproszczone
Zmiany w interfejsie API
- Pole
RippleConfiguration#isEnabled
zostało usunięte, a poleLocalRippleConfiguration
zostało oznaczone jako dopuszczające wartość pustą. Aby wyłączyć efekt falowania, zamiast podawania wartościRippleConfiguration
z wartościąisEnabled = false
podaj wartośćnull
dlaLocalRippleConfiguration
. (I22725) ModalBottomSheet
dokładniej wyświetla zasłonę na pasku stanu, gdy włączona jest opcja od krawędzi do krawędzi. Treści modalnych kart dolnych mogą teraz zajmować obszary w oknie, co pozwala na wyświetlanie treści nad paskiem nawigacji. ParametrModalBottomSheet
windowInsets
został przemianowany nacontentWindowInsets
, aby można było określić, gdzie mają być stosowane wstawki. Nie są one już powiązane z logiką okna. TypcontentWindowInsets
został zmieniony na funkcję zwracającąWindowInsets
, aby umożliwić jej rozwiązanie w nowym oknie. (I39630, b/274872542, b/300280229, b/290893168)- Kampanie
PrimaryScrollableTabRow
iSecondaryScrollableTabRow
korzystają teraz z łatwo dostępnych układów zamiast podkompozycji, co powinno poprawić skuteczność. (I991e0) - Oprócz normalnego stylowania, stylowania przy najechaniu kursorem i po zaznaczeniu linki tekstowe zyskały opcję stylowania w stanie wciśniętym. Metody
TextDefaults
mają argumentpressedStyle
, który to umożliwia. (Ic473f, b/139312671)
Poprawki błędów
- Punkty zaczepienia w panelu nawigacyjnym są teraz dopasowane do szerokości
drawerContent
. (Ibc72f, b/245355396) OutlinedTextField
Dolne wypełnienie etykiety uwzględnia teraz rozmiar czcionki systemu. (Idc781)- Naprawiono lokalizację pakietu
CalendarLocale
. (Ifa235) - [Predictive Back] Aktualizacja animacji przewidywanego przejścia wstecz z wykorzystaniem krzywej interpolacji (0.1, 0.1, 0, 1) (I2591a)
Wersja 1.3.0-alpha05
17 kwietnia 2024 r.
androidx.compose.material3:material3-*:1.3.0-alpha05
został zwolniony. Wersja 1.3.0-alpha05 zawiera te komity.
Nowe funkcje
- Funkcje
SearchBar
iDockedSearchBar
mają nowe przeciążenia, które przyjmują parametr pola tekstowego. Dzięki temu możesz nadać styl polu tekstowemu oddzielnie od reszty paska wyszukiwania oraz przekazywać niestandardowe pola tekstowe. Pole tekstowe bieżącej implementacji jest dostępne jakoSearchBarDefaults.InputField
. (I50c73, b/275074248, b/278773336, b/326627700) - do publicznego interfejsu API dodano funkcję lambda
drawTick
, aby umożliwić dostosowywanie znaków wyboru w razie potrzeby (I0c048).
Zmiany w interfejsie API
- Linki tekstowe mają teraz opcję stylizacji w przyciśniętym stanie oprócz zwykłej stylizacji, stylizacji po najechaniu kursorem i po zaznaczeniu (I5f864, b/139312671).
- Zaktualizowano
CarouselItemInfo
, aby odsłonić prostokąt maski, w którym jest przycięty element (I785d8). - Usunięto
BasicTooltipState
z publicznego interfejsu API Material 3. Jego funkcje są połączone z funkcjamiTooltipState
, dopókiBasicTooltip
Foundation nie zostanie ustabilizowany. (Icda29) - Dodano obiekt
TextDefaults
, który zawiera metody tworzenia obiektuLinkAnnotation
i analizowania ciągu znaków z tagami HTML, które stosująMaterialTheme
do linków (I98532, b/139312671) ExposedDropdownMenuBoxScope
nie zezwala już na podklasy. Odkryte menu mają teraz wartośćMenuAnchorType
, która powinna zostać przekazana domenuAnchor
, aby lepiej obsługiwać a11y. Należy używać tej funkcji zamiast przekazywania wartościfocusable
do funkcjiExposedDropdownMenu
, która została wycofana.menuAnchor
ma nowy parametr do kontrolowania stanuenabled
. (I55ee6, b/257209915, b/308840226)- Naprawiono kolor obramowania elementu
OutlinedButton
, gdy jest wyłączony. Dodano przeciążenieButtonDefaults.outlinedButtonBorder("enabled")
, które przyjmuje stan włączony. (Ie650b, b/318461363) - Dodano nową klasę
CarouselItemInfo
, aby pomóc klientom uzyskać informacje o rozmiarach produktów. (I9070c) - Konstruktor
ColorScheme
bez kontenerów powierzchniowych został wycofany. Przejdź do konstruktora, który zawiera kontenery na powierzchni. (I35c11) - [Outlined]Nazwa
TextFieldDefaults
ContainerBox
została zmieniona naContainer
. (Ie8d3b)
Poprawki błędów
- Jeśli
sheetSwipeEnabled
ma wartość false, elementBottomSheetScaffold
nie będzie się już przewijać z poziomu NestedScroll. (I5e1c1, b/306464779) - Usunięto niektóre adnotacje
ExperimentalMaterial3Api
z uprawnieniem OptIn w pozycjiIconButtonSamples.kt
. (I111d1)
Wersja 1.3.0-alpha04
3 kwietnia 2024 r.
androidx.compose.material3:material3-*:1.3.0-alpha04
został zwolniony. Wersja 1.3.0-alpha04 zawiera te komity.
Nowe funkcje
- Dodano 2 wersje eksperymentalne karuzeli Material3:
HorizontalMultiBrowseCarousel
iHorizontalUncontainedCarousel
(I88d64). - Zaktualizowano panel nawigacyjny Compose M3 (
ModalDrawerSheet
iDismissibleDrawerSheet
), aby obsługiwał funkcję przewidywanego powrotu w U+ jako opcję (Ie5b0b). - Dodano nowy interfejs API w ramach ikon, aby umożliwić przekazywanie odcienia koloru jako lambda, co pozwala uniknąć ponownego tworzenia. (I5b5a2)
- Interfejsy API górnego paska aplikacji obsługują teraz niestandardowe wysokości zarówno w przypadku stałych, jak i składających się sekcji. (Ib8b0c, b/323403446)
Zmiany w interfejsie API
- Interfejsy API górnego paska aplikacji obsługują teraz niestandardowe wysokości zarówno w przypadku stałych, jak i składających się sekcji. Rozwiązaliśmy problem, który powodował zbyt częste ponowne tworzenie jednowierszowych pasków aplikacji podczas przewijania treści. Rozwiązaliśmy problem, który powodował, że
MediumTopAppBar
skracał tytuły na urządzeniach z dużymi ustawieniami czcionki/wyświetlania. (Ib8b0c, b/323403446, b/300953236, b/286296147, b/330410290, b/308540676) SegmentedButton
i powiązane z nim interfejsy API są teraz stabilne (I8a158)- Funkcje
SwipeToDismissBox
,SwipeToDismissBoxDefaults
,SwipeToDismissBoxState
iSwipeToDismissBoxValue
są teraz oznaczone jako stabilne. (I5f000) - Usunięto wycofane typy zbiorcze
DismissDirection
iDismissValue
oraz interfejsy API. (I89ccd) - Dodano tag eksperymentalny do obiektu towarzyszącego
CarouselState
karuzeli. (I94154) - Wycofam usługę
LocalMinimumInteractiveComponentEnforcement
i wprowadzę w jej miejsce usługęLocalMinimumInteractiveComponentSize
. (I7a7ac) - Konstruktor
SearchBarColors
jest teraz publiczny. (I769ca) - Dodano parametr
gesturesEnabled
doSwipeToDismissBox
. (Idc59f, b/324170119) - Usunięto interfejsy API pól tekstowych oznaczone jako wycofane i eksperymentalne. (I1305f)
Wersja 1.3.0-alpha03
20 marca 2024 r.
androidx.compose.material3:material3-*:1.3.0-alpha03
został zwolniony. Wersja 1.3.0-alpha03 zawiera te komity.
Zmiany wizualne powodujące niezgodność
- Aby zapewnić wystarczający kontrast kolorów, zaktualizuj nakładkę stanu fokusa na wartość 0,1f. (I7ea77)
- Niewielkie zmiany domyślnych kolorów powierzchni i tła w
lightColorScheme
idarkColorScheme
. (I9db52)
Nowe funkcje
- Dodano parametry do dostosowywania
ExposedDropdownMenu
. W szczególności menu mają teraz parametrfocusable
(domyślnietrue
), który podczas pracy z polami tekstowymi umożliwiającymi edycję powinien być ustawiony nafalse
. (I4184c, b/323694447, b/278609042)
Zmiany w interfejsie API
- Oznaczenie
ScaffoldSubcomposeInMeasureFix
zostało usunięte. (Ie2a4b) - Urządzenie
NavigationRailItemColors
jest teraz oznaczone jako@Immutable
. (If6112, b/327660613) - Urządzenie
NavigationBarItemColors
jest teraz oznaczone jako@Immutable
. (I42a30, b/298064514) - Zmiana kolejności parametrów w komponentach ścieżki suwaka. (I9f315)
- Funkcja
ExposedDropdownMenu
jest teraz implementowana przy użyciuPopup
. Sposób działania powinien być taki sam, z tym wyjątkiem, że menu, które można aktywować, z edytowalnymi polami tekstowymi mogą zostać zamknięte podczas pisania na klawiaturze.
Poprawki błędów
- Podstawowe role powierzchni i kontenera na powierzchnię zostały nieznacznie dostosowane, aby zapewnić większą nasycenie kolorów w jasnym i ciemnym motywie. (I677a5)
- Zaktualizowaliśmy kolory suwaka i elementu
ProgressIndicator
zgodnie z nowymi specyfikacjami kontrastu elementów innych niż tekst. (I26807) - Aby zapewnić wystarczający kontrast kolorów, zaktualizuj nakładkę stanu fokusa na wartość 0,1f. (I7ea77)
- Niewielkie zmiany domyślnych kolorów powierzchni i tła w
lightColorScheme
idarkColorScheme
. (I9db52)
Wersja 1.3.0-alpha02
6 marca 2024 roku
androidx.compose.material3:material3-*:1.3.0-alpha02
został zwolniony. Wersja 1.3.0-alpha02 zawiera te komity.
Zmiany w interfejsie API
- Stabilizacja suwaka. Ponownie ustawiam
State.onValueChangeFinished
jako wartość. ZawijanieonValueChangeFinished
wrememberUpdatedState
. (I82ab2, b/322269951) - Komponenty nawigacji korzystają teraz z nowych ról
SurfaceContainer
. ElementDrawerDefaults
zawiera teraz osobne atrybutystandardContainerColor
imodalContainerColor
.DrawerDefaults.ModalDrawerElevation
to teraz0.dp
. (I7fbac) - Usuwam
@Stable
ze stanówSlider
, ponieważ zmieniamstate.onValueChangeFinished
navar
. (Ied34a, b/322269951) - Specyfikacja animacji
ModalBottomSheet
iStandardBottomSheet
to teraz animacjaTweenSpec
, zaktualizowana z animacji sprężynowej. Rozwiązanie problemu z widocznym przeregulowaniem. Wycofane konstruktorySheetState
bez gęstości zostały usunięte. (I7babc, b/285847707)
Poprawki błędów
SurfaceContainer
wersje są teraz używane przez komponenty. Komponenty, które formalnie obliczają kolor za pomocą funkcji Surface iTonalElevation
, domyślnie używają teraz rólSurfaceContainer
, na które nie wpływa podnoszenie tonalne. (b/304584161)- Rozwiązano błąd, który powodował, że niewybrany, wyłączony kolor kontenera
ElevatedFilterChip
był czarny. (I400e6, b/322407043) - Poprawiono wskaźnik postępu bez określenia czasu oczekiwania, gdy postęp wynosi 0 (Id6582).
- Rozwiązaliśmy problem z elementami
Slider
iRangeSlider
w układzie od prawej do lewej (Iab0e1). - Dodanie
SliderRangeTolerance
do obliczenia zakresu suwaka, ponieważ zaokrąglenie liczby zmiennoprzecinkowej może być niedokładne. (Ic918a, b/324934900) - Upewnij się, że
DatePickerDialog
wyświetla przyciski podczas zagnieżdżaniaDateRangePicker
lub wyświetlania dowolnego typu selektora daty na małych ekranach z większymi czcionkami. (Ie4758, b/325107799, b/277768544) - Użytkownik
Menu
korzysta teraz z roliSurfaceContainer
, aby określić kolor kontenera.MenuDefaults.TonalElevation
to teraz0.dp
. (I135b7) - Użytkownik
TextField
korzysta teraz z roliSurfaceContainerHighest
, aby określić kolor kontenera. (I4dced) - Uprawnione komponenty korzystają teraz z roli
SurfaceContainerLow
(I7cd2f) - Kolor kontenera
DatePicker
to terazSurfaceContainerHigh
.DatePickerDefaults.TonalElevation
to teraz0.dp
. (Ida753) - Zaktualizowano kolor kontenera i elementu przeciągania w sekcji Bottom Sheets. (I72a0a)
- Kolor kontenera
RichTooltip
to terazSurfaceContainer
. (Ia8b45) - Kolor kontenera
SearchBar
to terazSurfaceContainerHighest
.SearchBarDefaults.TonalElevation
to teraz0.dp
. (I88604) - Aktualizuje przełącznik wyłączonych i niewybranych ścieżek/ikon, 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 konteneraFilledCard
:SurfaceContainerHighest
. (I35141) - Kolor kontenera
ElevatedButton
to terazSurfaceContainerLow
. GdyFilledIconButton
jest niewybrany, jego kolor kontenera toSurfaceContainerHighest
. (I792c9) - Zaktualizowano kolor kontenera
TimePicker
i kolor tarczy zegara naSurfaceContainerHighest
. (I43b93)
Wersja 1.3.0-alpha01
21 lutego 2024 r.
androidx.compose.material3:material3-*:1.3.0-alpha01
został zwolniony. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Zaktualizuj funkcję Compose M3
ModalBottomSheet
, aby obsługiwała funkcję przewidywania cofnięcia w U+ (Iccf32, b/281967264, b/304850357) - Zaktualizowano Compose M3
SearchBar
, aby obsługiwał funkcję przewidywanego cofnięcia w U+ (I657f8). - Zaktualizowano suwak, aby ułatwić dostępność. Dodano przerwę i wskaźnik zatrzymania. (I3058e)
- Zaktualizowaliśmy
ProgressIndicator
, aby ułatwić dostępność. Dodaliśmy wskaźnik przerwy i zatrzymania. (I21451) - Dodanie domyślnej kreski w przypadku rozbudowanych etykiet narzędzia. Nowy interfejs API dla rozbudowanych etykiet narzędzia umożliwia wyświetlanie niestandardowej kreski w przypadku elementu docelowego
LayoutCoordinates
. (Ifd42c)
Zmiany w zachowaniu
- Komponenty Material Design zostały przeniesione do nowych interfejsów API ripple i nie odwołują się już do
RippleTheme
.
Zmiany w interfejsie API
- Zabawa
drawStopIndicator
jest teraz publiczna. (I3f59f) - Oznacz funkcję
formatWithSkeleton
w biblioteceDatePicker
jako wewnętrzną (Ic65dc) DropdownMenu
obsługuje teraz niestandardowe kolory, kształty, wzniesienie i obramowania. (I8e981, b/289554448, b/301887035, b/283654243)- Komponenty Material3, które w swoim interfejsie API udostępniają wartość
MutableInteractionSource
, zostały zaktualizowane, aby udostępniać wartośćMutableInteractionSource
, która może być pusta i 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 ono utworzone wewnątrz komponentu. Ustawienie wartości null pozwala niektórym komponentom nigdy nie przydzielaćMutableInteractionSource
, a innym pozwala tworzyć instancję tylko wtedy, gdy jest to konieczne, co zwiększa wydajność tych komponentów. Jeśli nie używasz wartościMutableInteractionSource
przekazywanej do tych komponentów, zalecamy przekazanie wartości null. Zalecamy też wprowadzenie podobnych zmian w własnych komponentach. (I41abb, b/298048146) - Dodaje opcje
RippleConfiguration
iLocalRippleConfiguration
, aby umożliwić dostosowywanie fal za pomocą wartości stałych w poszczególnych komponentach lub poddrzewiu. Możesz na przykład zmienić kolor komponentu, którym nie zarządzasz, lub wyłączyć efekt falowania. W większości przypadków należy używać wartości domyślnych: te interfejsy API są wyjściem awaryjnym umożliwiającym dostosowywanie poszczególnych komponentów lub ograniczonych poddrzewi. W przypadku szerszych zmian i niestandardowych systemów projektowania należy utworzyć własną falę za pomocą funkcjicreateRippleModifierNode
. (I7b5d6, b/298048146) - Dodaje nowy interfejs API ripple w material3, który zastępuje wycofany interfejs
rememberRipple
. Dodaje też tymczasowyCompositionLocal
,LocalUseFallbackRippleImplementation
, aby cofnąć komponenty material3 do korzystania z wycofanych interfejsów APIrememberRipple
/RippleTheme
. Zostanie on usunięty w kolejnych stabilnych wersjach. Jest to tylko tymczasowa pomoc przy migracji w przypadku, gdy używasz niestandardowegoRippleTheme
. (I34cbc, b/298048146)
Poprawki błędów
- Usunięto podkompozycję w komponentach
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 komponentach
BottomSheetScaffold
, aby zwiększyć wydajność. Rozwiązaliśmy problem, który powodował zawieszanie sięBottomSheetScaffold
w określonych scenariuszach w połączeniu zLookaheadScope
. (Ie6401) - Wyrównanie plakietki jest dostosowane tak, aby była bliżej środka treści kotwicy w stosunku do prawego górnego rogu. (I18a28)
- Rozwiązaliśmy problem a11y z funkcją
DateRangePicker
, w której przypadku tytuł tekstu Miesiąc–Rok był przekazywany jako element interaktywny do czytnika ekranu, Switch Access i Voice Access. (I2ac55) - Naprawiono błąd dotyczący kolejności parametrów
mediumTopAppBarColors
. (Ibe64a)
Wersja 1.2
Wersja 1.2.1
6 marca 2024 roku
androidx.compose.material3:material3-*:1.2.1
został zwolniony. Wersja 1.2.1 zawiera te komity.
Poprawki błędów
- Ustabilizuj stany suwaka. Ponownie ustawiam
State.onValueChangeFinished
jako wartość. ZawijanieonValueChangeFinished
wrememberUpdatedState
. (Ie8fd0, b/322269951) - Usuwam
@Stable
ze stanówSlider
, ponieważ zmieniamstate.onValueChangeFinished
navar
. (I82ba1, b/322269951) - Popraw
NavigationBar
kolory niestandardowe, aby skopiować je z kolorów domyślnych. (80a779, b/326894020) - Napraw regresję w
ExposedDropdownMenu
, aby można było ponownie ustawić na niej fokus (3fcec1, b/323694447) - Naprawiono problem z buforowaniem kolorów przycisków (3e5bbcb/327371655)
Wersja 1.2.0
7 lutego 2024 r.
androidx.compose.material3:material3-*:1.2.0
został zwolniony. Wersja 1.2.0 zawiera te zatwierdzenia.
Znany problem
- W wersji
PrimaryTabRow
w ramach poprawy wydajności wprowadzono błąd dotyczący renderowania interoperacyjności widoku i kompozycji. Aby obejść ten problem, użyj funkcjiTabRow
z funkcjąTabRowDefaults.PrimaryIndicator
Ważne zmiany od wersji 1.1.0
Nowe komponenty Material Design 3
- Pociągnij, aby odświeżyć
- Przycisk podzielony na segmenty
Ulepszenia dotychczasowych komponentów Material Design 3.
- Dolny pasek aplikacji (wyrównanie do prawej, automatyczne ukrywanie podczas przewijania)
- Aktualizacja wyglądu kart
- Odznaka (aktualizacja wyrównania)
Interfejsy API w wersji eksperymentalnej zostały przeniesione do wersji stabilnej.
Ulepszenia dotyczące wydajności
- Więcej informacji znajdziesz w tym poście na blogu.
Wersja 1.2.0-rc01
24 stycznia 2024 r.
androidx.compose.material3:material3-*:1.2.0-rc01
został zwolniony. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono błąd dotyczący kolejności parametrów
mediumTopAppBarColors
. (Ibe64a) - Naprawiono błąd wprowadzony w wersji
1.2.0-beta02
w funkcjiCardDefaults.cardColors
, który powodował, że funkcjacontentColor
nie była aktualizowana na podstawie wartości parametrucontainerColor
. (Iee041, b/319671246) - Naprawiono błąd w funkcji
disabledContentColor
wprowadzony w wersji1.2.0-beta02
oraz wprowadzono drobną optymalizację. (I6dda1, b/318428829)
Wersja 1.2.0-beta02
10 stycznia 2024 r.
androidx.compose.material3:material3-*:1.2.0-beta02
został zwolniony. Wersja 1.2.0-beta02 zawiera te commity.
Znany błąd
- Błąd w
IconButtonColors
spowoduje, że domyślniedisabledContentColor
zostanie przypisany do wartości alfa (0,38f) zLocalContentColor
, a nie do wartości określonej przez użytkownikacontentColor
. Aby obejść ten problem, musisz jawnie ustawić wartośćdisabledContentColor
. Naprawimy to w kolejne wersji.
Zmiany w interfejsie API
- Dodaliśmy możliwość włączenia strzałek w opisie w przypadku interfejsów API typu Plain
Tooltip
. (Ibf767) - Nazwa elementu
SwipeToDismissState
,rememberSwipeToDismiss
iSwipeToDismissValue
została zmieniona na_SwipeToDismissBox_
. (I68d6d)
Poprawki błędów
- Naprawiono wartość wypełnienia końca
ListItem
, aby była zgodna ze specyfikacją (Ibd68b, b/305342674). - Kolor obrysu dla obrysowanej karty jest teraz prawidłowo mapowany na
OutlineVariant
. (I75480, b/310979715) - Kolor dynamiczny jest teraz pobierany z zdefiniowanych przez system ról kolorów. Poprawia to kontrast w przypadku ułatwień dostępu i bardziej dopasowuje dynamiczne kolory do specyfikacji Material (I1de96).
- Rozwiązanie problemu z obsługą przycisku
ModalBottomSheet
na Androidzie T/13 lub nowszym, gdyandroid:enableOnBackInvokedCallback="true"
. (I728dc, b/306196110)
Wersja 1.2.0-beta01
13 grudnia 2023 r.
androidx.compose.material3:material3-*:1.2.0-beta01
został zwolniony. Wersja 1.2.0-beta01 zawiera te commity.
Zmiany w interfejsie API
- Oznacz
TabIndicatorScope
jako eksperymentalny. (I45c88) - Usunięcie wycofanych eksperymentalnych interfejsów API z opisu. (I438cb)
- Zmień nowe przeciążenia
TabRow
, aby nie używać podkompozycji. W efekcie wskaźnikiTabRow
są tworzone w inny sposób, z użyciem niestandardowych modyfikatorów. (Ife741) - Wycofanie interfejsów API
DismissDirection
iDismissValue
. Zostały one scalone w wartościSwipeToDismissValue
, których wartości wskazują zarówno pozycję, jak i kierunekSwipeToDismissBox
. Wartość w poluDismissState.progress
jest teraz oznaczona jakoFloatRange
między0.0
a1.0
.DismissState
wycofane funkcje Saver i Constructor zostały usunięte. Obiekt komponentuSwipeToDismiss
, stan i wartości domyślne zostały oznaczone jako eksperymentalne. (Ib54f2)
Poprawki błędów
- Domyślny wskaźnik
PullToRefresh
to teraz otwarta strzałka, a nie pełny trójkąt. (I67be3)
Wersja 1.2.0-alpha12
29 listopada 2023 r.
androidx.compose.material3:material3-*:1.2.0-alpha12
został zwolniony. Wersja 1.2.0-alpha12 zawiera te commity.
Zmiany w interfejsie API
RangeSlider
przyjmuje teraz zakres Kotlina (np.0f..1f
) zamiast niestandardowej klasy wartościFloatRange
.SnapFlingBehavior.kt
używa teraz też zakresu Kotlin. (I025cb)- Oznacz funkcję fabryki modyfikatora jako
@Stable
. (Ib109f)
Wersja 1.2.0-alpha11
15 listopada 2023 r.
androidx.compose.material3:material3-*:1.2.0-alpha11
został zwolniony. Wersja 1.2.0-alpha11 zawiera te zatwierdzenia.
Nowe funkcje
- Wdrożono komponenty
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ę funkcjibackground
nabackgroundContent
, a funkcjidismissContent
nacontent
. (I7f4d3) - Ustaw konstruktor dla
ChipElevation
iSelectableChipElevation
jako publiczny. (Ie0c48, b/308432421) - Dodaję
ModalBottomSheetProperties
. PrzenoszęsecurePolicy
doModalBottomSheetProperties
. Dodaję użytkownikówisFocusable
ishouldDismissOnBackPress
do listyModalBottomSheetProperties
. Te nowe wartości logiczne pomagają określić, jak modalny panel dolny powinien obsługiwać zdarzenia IME. (Iea56f, b/278216859) - Zaktualizowano stany
RangeSlider
iSlider
, aby usunąćinitialOnValueChange
, początkowe prefiksy i odpowiednie kdocs. (I57d30) - Klasa
ChipBorder
i powiązane z nią wywołania funkcji są wycofywane. Zalecamy bezpośrednie używanie klasyBorderStroke
. (I89cc2) - Interfejsy API etykiet objaśnień podstawy to teraz
@ExperimentalFoundationApi
. (I30b0b) - Funkcje
TabRow
iScrollableTabRow
nie są już wycofane. Nowe warianty podstawowy i dodatkowy są oznaczone jako eksperymentalne. (I0def6) - Elementy filtra i elementy danych korzystają teraz bezpośrednio z elementu
BorderStroke
. (I07a8d) SegmentedButton
korzysta teraz bezpośrednio zBorderStroke
. (I89b9b)- Zmieniliśmy nazwę ogólnej funkcji
AlertDialog
naBasicAlertDialog
i wycofaliśmy poprzednią funkcję. (Idbe52) - Zmień nazwę interfejsów API
SwipeToDismiss
naSwipeDismiss
i przekaż nowe interfejsy APISwipeDismiss
do wersji stabilnej. (I14cbe) - Dodano elementy
tonalElevation
ishadowElevation
do interfejsów API tooltip. Dodatkowo interfejsy APITooltipBox
,PlainTooltip
iRichTooltip
wracają do wersji eksperymentalnej, ponieważ zostały przypadkowo opublikowane jako stabilne. (If0f66, b/293939035) - Przeniesienie eksperymentalnych interfejsów API dla układów do stabilnych. (Iea2c3)
- Usunięto adnotację
@ExperimentalMaterial3Api
z klikalnych kart Material3. (I88dbf)
Poprawki błędów
- Rozwiązaliśmy problem, który powodował zawieszanie się
SwipeToDismiss
w określonych scenariuszach z zagnieżdżonymi układami z wyprzedzeniem i układami leniwymi. (Ica8d1, b/297226562)
Wersja 1.2.0-alpha10
18 października 2023 r.
androidx.compose.material3:material3-*:1.2.0-alpha10
został zwolniony. Wersja 1.2.0-alpha10 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Awansowanie wersji
Badge
iBadgedBox
do stabilnej. (I67f16, b/261565132) - Dodaliśmy parametr
securePolicy
do elementuModalBottomSheet
, aby użytkownicy mogli określać zachowanie elementuWindowManager.LayoutParams.FLAG_SECURE
. (Icdac8, b/296250262) - Dodano nowe przeciążenia funkcji
LinearProgressIndicator
iCircularProgressIndicator
, które przyjmująprogress
jako funkcję lambda. Powinny one działać wydajniej niż poprzednie wersje. (I824e6, b/295616656) - Zmienia nazwę
StandardSizeClasses
naAllSizeClasses
. (I8cb07) - Połącz funkcje obliczania klas wielkości okna. (Iad935)
Poprawki błędów
- Naprawiono błąd
DatePicker
, który występował podczas szybkiego klikania przycisków strzałek nawigacyjnych, gdy wyświetlany miesiąc znajdował się na skraju dozwolonego zakresu lat. (I46f36, b/290954897, b/297002119) - [Pasek nawigacyjny] Obsługa przezroczystego koloru dla wskaźnika. (Ie0a9b, b/267289987)
Wersja 1.2.0-alpha09
4 października 2023 roku
androidx.compose.material3:material3-*:1.2.0-alpha09
został zwolniony. Wersja 1.2.0-alpha09 zawiera te commity.
Zmiany w interfejsie API
- Przeniesione interfejsy
ModalNavigationDrawer
iDismissibleNavigationDrawer
korzystają z nowych interfejsówAnchoredDraggable
. MetodaanimateTo
klasyDrawerState
została zastąpiona metodami open i close, a offset jest teraz wyświetlany jako liczba zmiennoprzecinkowa zamiast obiektu stanu. Możesz uzyskać do niego dostęp bezpośrednio wcurrentOffset
. (I0a72c) - Dodano funkcje nieskładane, które umożliwiają bezpośrednie tworzenie funkcji
DatePickerState
iDateRangePickerState
. W razie potrzeby te funkcje można używać jako alternatywy dla funkcji ComposablerememberDatePickerState
irememberDateRangePickerState
. (I70326, b/291524052) - Opcje „Stałe” i „Przewijalne”
TabRows
mają teraz warianty główny i dodatkowy. Te wartości są poprawnie mapowane na kolory i zachowanie wskaźnika zgodnie z definicją w Material3. PrimaryScrollableTabRow
iSecondaryScrollableTabRow
teraz pokazują stan przewijania. (Iec8f5, b/260572337)- Dodawanie nowego parametru
sheetMaxWidth
, który programiści mogą ustawić, aby określić maksymalną szerokość arkusza. Jeśli chcesz utworzyć arkusz, który zajmuje całą szerokość ekranu, możesz przekazać parametr Dp.Unspecified. (Ifb7c9, b/266697696) - Dodano interfejsy API
PlainTooltipBox
iRichTooltipBox
jako przestarzałe metody. (I246fa)
Poprawki błędów
- Naprawienie problemu z awarią, który występował, gdy
DatePicker
był inicjowany za pomocąDatePickerFormatter
, który zawierał pewne szkielety dat, które pozostawały takie same po przekonwertowaniu na wzorce dat (np. YY). (I01f29)
Wersja 1.2.0-alpha08
20 września 2023 r.
androidx.compose.material3:material3-*:1.2.0-alpha08
został zwolniony. Wersja 1.2.0-alpha08 zawiera te zatwierdzenia.
Zachowanie powodujące niezgodność
ColorScheme
jest teraz niezmienny, co zmniejsza efektywność poszczególnych aktualizacji kolorów, ale zwiększa efektywność częstszego używania kolorów. Powodem tej zmiany jest fakt, że większość aplikacji nie ma potrzeby aktualizowania poszczególnych kolorów. Nadal jest to możliwe, ale będzie wymagać większej liczby ponownych składań niż wcześniej. W związku z tym znacznie zmniejszyliśmy liczbę subskrypcji stanu w całym kodzie Material, co wpłynie na koszty inicjalizacji i koszt środowiska wykonawczego w przypadku standardowych zastosowań. (Ic447d, b/297212873)- Zgodnie ze specyfikacją animacja podniesienia dźwięku nie jest już wyświetlana w różnych stanach interakcji (Icdd12).
Zmiany w interfejsie API
- Dodano nowy element
BottomAppBar
, który jako parametr przyjmuje elementBottomAppBarScrollBehavior
, aby automatycznie go ukrywać podczas przewijania treści. Dodano teżFabPosition.EndOverlay
, dzięki któremu przycisk szybkiego dostępu nakłada się na dolny pasek aplikacji w ramach szablonu zamiast być zamocowany nad nim. (Iecb47) - Dodaliśmy prosty komponent Label, który jest tworzony na podstawie
BasicTooltipBox
i nie znika, gdy klikniesz poza jego granice. (I821f9)
Poprawki błędów
- Usunięto użycie
rememberSaveable
w tooltipach. (Icc131, b/299500338) - Wprowadziliśmy tymczasową flagę, która pozwala określić, czy Scaffold ma mierzyć swoje elementy podrzędne podczas pomiaru czy podczas umieszczania. Domyślnie jest to pomiar. Jeśli masz problemy z nowym działaniem, prześlij zgłoszenie. (I0b354)
- Naprawiono poziome krawędzie w
BottomSheet
, używając prawidłowego pomiaru szerokości ekranu urządzenia. (I1df0c, b/299058752) - Naprawiliśmy błąd polegający na tym, że funkcja
ModalBottomSheet
nie wywoływała funkcjionDismissedRequest
, gdy została zamknięta przez przesunięcie w dół. (Idfdd8)
Wersja 1.2.0-alpha07
6 września 2023 r.
androidx.compose.material3:material3-*:1.2.0-alpha07
został zwolniony. Wersja 1.2.0-alpha07 zawiera te zatwierdzenia.
Nowe funkcje
- W wersji
compose material 1.6.0-alpha05
dodano obsługę automatycznego lustrzanego odbicia ikon. Szczegółowe informacje na ten temat znajdziesz w notatkach do wersji.
Zmiany w interfejsie API
SliderState
implementujeDraggableState
(I9b116)- Zmień kształt na wymagany parametr. Zmień nazwę
position
naindex
w funkcji pomocniczej shape. (I34941) - Aktualizuje
DatePicker
formatWithSkeleton
, aby uwzględnić mapę, która jest używana jako pamięć podręczna w celu poprawy wydajności. (I3195f) - Dodano
BasicTooltipBox
docompose.foundation
oraz zaktualizowanoPlainTooltipBox
iRichTooltipBox
, aby używaćTooltipBox
z nowymi komponentamiPlainTooltip
iRichTooltip
. (I79e1d)
Poprawki błędów
- Parametry
dynamicLightColorScheme
idynamicDarkColorScheme
zwracają teraz wyższe wartości chromatyczne dla ról powierzchni isurfaceContainer
. (I5e901) - Rozwiązaliśmy problem, który powodował, że niektóre komponenty korzystające z podkompozycji (np.
BottomSheetScaffold
) w ramach szkieletu wLookaheadScope
próbowały odczytać swój rozmiar zbyt wcześnie. (I297b4, I871f1, b/295536718)
Wersja 1.2.0-alpha06
23 sierpnia 2023 r.
androidx.compose.material3:material3-*:1.2.0-alpha06
został zwolniony. Wersja 1.2.0-alpha06 zawiera te commity.
Poprawki błędów
- Naprawiono obliczenia
DropdownMenu
, aby przesunięcia X zależały tylko od lokalnego kierunku układu, a przesunięcia Y nie będą już odwracane, gdy menu znajduje się u dołu ekranu.offset
(Iccc74, b/294103942) - Naprawiono obliczenia
DropdownMenu
, aby przesunięcia X zależały tylko od lokalnego kierunku układu, a przesunięcia Y nie będą już odwracane, gdy menu znajduje się u dołu ekranu.offset
(Ib87a2, b/294103942)
Wersja 1.2.0-alpha05
9 sierpnia 2023 r.
androidx.compose.material3:material3-*:1.2.0-alpha05
został zwolniony. Wersja 1.2.0-alpha05 zawiera te commity.
Zmiany w interfejsie API
- Zmiany kolorów pola wyboru i
TriStateCheckbox
.CheckboxDefaults.colors()
disabledUncheckedColor
ma teraz wpływ tylko na obramowanie pola wyboru. Specjalne przypadki, w których musisz ustawić wewnętrzny kolor pola, gdy pole jest wyłączone lub odznaczone, wymagają niestandardowego konstruowania instancjiCheckboxColors
z żądanymi wartościami kolorów. (I77d17, b/291943198)
Wersja 1.2.0-alpha04
26 lipca 2023 r.
androidx.compose.material3:material3-*:1.2.0-alpha04
został zwolniony. Wersja 1.2.0-alpha04 zawiera te commity.
Nowe funkcje
- Eksperymentalny interfejs API Segmented Button (Ifc8fb)
- Rozdzielacze mają teraz parametr do kontrolowania orientacji, aby obsługiwać rozdzielacze 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 nowej podanej przeciążenia, w której gęstość jest parametrem. (I1846e) - Dodatkowe adnotacje określające dozwolone dane wejściowe dla komponentów (Ief234)
- Dodaj parametr ikony do przycisku segmentowanego, podziel semantycznie przyciski segmentowane, aby można było je wybierać (implementując wybór pojedynczy) i przełączać (implementując wybór wielokrotny), odpowiednio za pomocą
SelectableSegmentedButtonRow
iToggelableSegmentedButtonRow
. (I38740) - Nazwa Divider została zmieniona na
HorizontalDivider
. Dodano funkcjęVerticalDivider
. (I5975c) - Zmień użycie
ClosedFloatingPointRange
na lżejszą wersjęFloatRange
w eksperymentalnych interfejsach API Material3, aby zminimalizować automatyczne tworzenie pudełek. (I4aab5) - Dodano nowe wyrównanie Start dla
FabPosition
(Ib7aea, b/170592777).
Poprawki błędów
ModalBottomSheet
uwzględnia lokalny kierunek układu. (Ib4f44, b/285628622)
Wersja 1.2.0-alpha03
21 czerwca 2023 r.
androidx.compose.material3:material3-*:1.2.0-alpha03
został zwolniony. Wersja 1.2.0-alpha03 zawiera te komisy.
Zmiany w zachowaniu
- W typografii Material 3
includeFontPadding
jest teraz domyślnie ustawione nafalse
. Domyślny styl wysokości wiersza został również zmieniony naTrim.None
iAlignment.Center
, a doTextStyle
Typography
dodano jawnelineHeight
(w sp). Jeśli chcesz dostosować te wartości, zapoznaj się z dokumentacją interfejsu API. Szczegółowe informacje o tych zmianach znajdziesz w tym poście na blogu. (I6266f, Icabc3)
Nowe funkcje
- Dodano przeciążenie funkcji
RangeSlider
, która jest wersją stanu komponentu. UtworzonoRangeSliderState
, który zawiera wszystkie informacje o bieżącym aktywnym śladzie, pomiary komponentówRangeSlider
oraz logikę przeciągania i gestyk. (I8c270) - Pasek wyszukiwania obsługuje teraz cienie dzięki nowemu parametrowi
shadowElevation
. (Ia5369, b/271040353) ColorScheme
obsługuje teraz nowe roleSurfaceContainer
.- Nakładkę tonalną powierzchni można teraz wyłączyć za pomocą kompozytora lokalnego
LocalTonalElevationEnabled
. (Ic203c, b/277774590)
Zmiany w interfejsie API
- Otwórz konstruktory kolorów komponentów. (I8c4a6)
- Dodanie parametru focusable do obu interfejsów API tooltip, aby deweloperzy mogli zdecydować, czy tooltip ma obsługiwać zdarzenia dotykowe. Pamiętaj, że może to spowodować przerwanie automatycznego przechodzenia w ramach ułatwień dostępu. (Ie32d8)
- Optymalizacja ułatwień dostępu 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
w rusztowaniu uwzględnia teraz okna wbudowane. Pamiętaj, że zachowanie wypełniania treści na podstawie parametrówtopBar
ibottomBar
pozostaje niezmienione, gdy te parametry są podane. (I08b73, b/264601542) - Popraw wyrównanie paska aplikacji u góry środka, aby długi tytuł nie był renderowany nad ikonami działań ani ikoną nawigacji. (I4369f, b/236994621)
- Pozycje kart mają teraz minimalną szerokość treści wynoszącą 24 dp. Dzięki temu użytkownicy mogą dotknąć wskaźnika karty. (Id8861)
- Dynamiczne palety kolorów z
dynamicLightColorScheme
idynamicDarkColorScheme
obsługują teraz nowe role powierzchni. (I1252e) - Zmiana wyrównania powiadomienia na plakietce, aby nie było przycinane, gdy koliduje z dziadkiem. (Idf75a)
Wersja 1.2.0-alpha02
24 maja 2023 r.
androidx.compose.material3:material3-*:1.2.0-alpha02
został zwolniony. Wersja 1.2.0-alpha02 zawiera te commity.
Zmiany w interfejsie API
- Dodaj parametr okna do
ModalBottomSheet
.- Ekran
ModalBottomSheet
może być teraz wyświetlany za paskiem stanu, gdywindowInsets
jest ustawiony na 0. - Zaktualizowano domyślną funkcję
ModalBottomSheet
, aby nie była widoczna na paskach systemowych, w tym na pasku nawigacji - Obsługa wstawiania paska stanu jest dostępna za pomocą uchwytu przeciągania w trybie od krawędzi do krawędzi.
BottomSheetDefaults
zawiera wstawione okna dlaBottomSheetWindow
. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
- Ekran
- Wycofaj
Indicator
i dodajPrimary
/SecondaryIndicator
, aby dopasować specyfikację do M3.PrimaryIndicator
pasuje do szerokości treści na karcie, podczas gdySecondaryIndicator
zajmuje całą dostępną szerokość.SecondaryIndicator
jest odpowiednikiem wycofanej funkcjiIndicator
i może być jej bezpośrednim zamiennikiem. (I27604) - Dodano opcję przekazywania wartości
ScrollState
podczas tworzenia obiektuDropdownMenu
lubExposedDropdownMenu
, aby kontrolować stan przewijania pionowego wyświetlanych elementów menu. (Ia0734, b/185304441) - Dodano przeciążenie funkcji
Slider
, która jest wersją stanu komponentu. Utworzono obiektSliderState
, który zawiera wszystkie informacje o bieżącym aktywnym śladzie, pomiary komponentówSlider
oraz logikę przeciągania i gestyk. (I124a5) - Zmiana nazwy usługi Semantics o nazwie
isContainer
naisTraversalGroup
(I121f6) - Dodano zoptymalizowany
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
, które umożliwiają uzyskanie tych wdrożonych stanów. UsuniętoTooltipSync
na rzeczTooltipDefault.GlobalMutatorMutex
. (I7813d) - Zaktualizowano
DatePickerColors
, aby uwzględnić dodatkowe opcje dostosowywania kolorów selektora daty, elementów nawigacyjnych i tekstu pól wprowadzania danych. (I1a685, b/274626815) - Interfejsy
DatePickerState
iDateRangePickerState
są teraz interfejsami publicznymi z domyślnymi implementacjami, które można pobrać za pomocą interfejsówrememberDatePickerState
irememberDateRangePickerState
. (I71c52) - Usunęliśmy parametr
dateValidator
z funkcjiDatePicker
iDateRangePicker
oraz wprowadziliśmy interfejsSelectableDates
, który można ustawić w stanie, aby kontrolować, które daty lub lata są dostępne do wyboru w interfejsie. (Ic2fc6) - Interfejs
TimePicker
został usunięty ze stabilnej wersji interfejsu API, należy spodziewać się dalszych zmian w interfejsie API stanu (I3f39a). - Element
ModalBottomSheet
został przeniesiony tylko na Androida.ModalBottomSheet
nie jest zalecane do użytku na komputerze, a ta funkcja nie jest aktywnie utrzymywana. (Ib3778)
Poprawki błędów
- Naprawiono błąd, przez który działanie
AlertDialog
odrzucania było wyświetlane pod działaniem potwierdzenia, gdy działania nakładały się na siebie, aby zmieścić się w szerokości okna. Ta poprawka dopasowuje implementację do specyfikacji Material Design (I029de, b/235454277). - Naprawiono błąd w elementach
ListItem
, który powodował nieprawidłowe wypełnianie elementów na 3 wiersze. (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
są dostępne. Wersja 1.2.0-alpha01 zawiera te commity.
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
są dostępne. Wersja 1.1.2 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono błąd polegający na tym, że modyfikator był nieprawidłowo przekazywany do dwóch komponentów. (b/282761472)
- Naprawiono błąd polegający na tym, że funkcja
TimePickerState
zwracała nieprawidłowe godziny po zainicjowaniu z 23 godzinami. (b/278242122) - Naprawiono początkowy stan przełącznika w przypadku weryfikacji godziny 12:00 i minut. (b/269768197, b/282790635)
- Naprawiono błąd zwracania nieprawidłowej wartości parametru
state.hour
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
są dostępne. Wersja 1.1.1 zawiera te zatwierdzenia.
Poprawki błędów
- Dodaje wywołanie
ModalBottomSheet
bez parametruwindowInset
, aby zapewnić zgodność binarną. (Ib7959) - Dodaj parametr okna w komponencie
ModalBottomSheet
.- Ekran
ModalBottomSheet
może być teraz wyświetlany za paskiem stanu, gdywindowInsets
jest ustawiony na 0. - Zaktualizowano domyślną funkcję
ModalBottomSheet
, aby nie była widoczna na paskach systemowych, w tym na pasku nawigacji - Obsługa wstawiania paska stanu jest dostępna za pomocą uchwytu przeciągania w trybie od krawędzi do krawędzi.
BottomSheetDefaults
zawiera wstawione okna dlaBottomSheetWindow
. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
- Ekran
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
są dostępne. Wersja 1.1.0 zawiera te zatwierdzenia.
Najważniejsze funkcje wersji 1.1.0
Nowe komponenty systemu Material Design 3
Ulepszenia dotychczasowych komponentów Material Design 3.
Interfejsy API w wersji eksperymentalnej zostały przeniesione do wersji stabilnej.
Więcej informacji znajdziesz w tym poście na blogu.
Wersja 1.1.0-rc01
19 kwietnia 2023 r.
androidx.compose.material3:material3:1.1.0-rc01
i androidx.compose.material3:material3-window-size-class:1.1.0-rc01
są dostępne. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
TimePicker
usunięty ze stabilnej wersji interfejsu API, spodziewane są dalsze zmiany w interfejsie API stanu (I3f39a)- Element
ModalBottomSheet
został przeniesiony tylko na Androida.ModalBottomSheet
nie jest zalecane do użytku na komputerze, a ta funkcja nie jest aktywnie utrzymywana. (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
są dostępne. Wersja 1.1.0-beta02 zawiera te commity.
Zmiany w interfejsie API
- Użytkownik
SheetState
ma teraz parametr opcjonalnyskipHiddenState
- Użytkownik
rememberStandardBottomSheetState
ma teraz parametr opcjonalnyskipHiddenState
- Plakietka
BottomSheetScaffold
ma teraz zdefiniowany ukryty element kotwiczenia, który jest domyślnie wyłączony - Zaktualizowano dokumentację
SheetState.requireOffset
- Nazwa
BottomSheetDefaults.MinimizedShape
została zmieniona naBottomSheetDefaults.HiddenShape
(I839f4, b/273870234)
Poprawki błędów
- Gdy włączone jest przeglądanie dotykiem, nie przechodź z tarczy godzin na tarczę minut. (I717d0)
- Semantyka uchwytów przeciągania
ModalBottomSheet
iBottomSheetScaffold
została połączona. (I05afb) - Parametry
BottomSheetScaffold
,containerColor
icontentColor
mają teraz wpływ tylko na zawartość. (I992cb) BottomSheetScaffold nestedScroll
dla treści arkuszy korzysta teraz z przesuwania. (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
są dostępne. Wersja 1.1.0-beta01 zawiera te commity.
Zmiany w interfejsie API
- Dodaj parametr typu układu do kompozytowalnej funkcji
TimePicker
. Umożliwia używanie różnych układów w zależności od konfiguracji ekranu (Ia0e16). SearchBarDefaults
został oznaczony jako funkcja eksperymentalna. (I65561)- Dodano wysokość cienia do
BottomSheetScaffold
(I94e0f) - Dodano obsługę wyświetlania selektorów dat bez nagłówka. Zmiany w interfejsie API umożliwiające przekazywanie nagłówka o wartości null podczas tworzenia selektora dat. Możesz teraz przekazywać null w nagłówku, tytule i
showToggleMode = false
, aby wyświetlić selektor bez interfejsu. (Id3f3a, b/266132421, b/267194809)
Poprawki błędów
- Paski wyszukiwania są teraz automatycznie wyodrębniane, gdy nie są aktywne. (I22a7c, b/261444487)
- Zaktualizowano
DateRangePicker
, aby umożliwić wybór zakresu z tą samą datą rozpoczęcia i zakończenia. (I16529, b/272882497) - Pola tekstowe prawidłowo pozycjonują elementy tekstowe, gdy rozmiar czcionki jest mniejszy od oczekiwanego. Może to spowodować zmianę kilku pikseli w aplikacjach na podstawie ustawień czcionki i skryptu. (I8b8d0)
- Działania semantyczne na dolnym panelu są teraz oznaczone etykietami. (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
są dostępne. Wersja 1.1.0-alpha08 zawiera te commity.
Nowe funkcje
- Dodaliśmy obsługę właściwości
BottomSheetScaffold
iBottomSheetScaffoldState
. (I063d4)
Zmiany w interfejsie API
- Dodaliśmy do funkcji
DatePickerState
iDateRangePickerState
możliwość ustawiania dat po utworzeniu stanu oraz resetowania wyborów przez ustawianie daty null. Ustawianie dat ręcznie powinno być wykonywane ostrożnie. Nowa funkcjasetSelection
wyrzuca wyjątek, jeśli podana data nie spełnia warunku wstępnego (patrz dokumentacja). (Ifa645, b/268609314, b/270427389) - Zmień nazwę sekcji
SheetValue
naPartiallyExpanded
, aby trafniej i bardziej elastycznie przedstawić działanie w tym stanie. (Ia1491) - Zmieniliśmy nazwy parametrów
ListItem
na _content zamiast _text. Domyślne metody dostępu są teraz w odpowiednich przypadkachReadOnlyComposables
. (I69a25) - Przeniesienie interfejsów API interakcji z Surface z kategorii eksperymentalnej do stabilnej. (I90d59, b/261561812)
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że stan
ModalBottomSheet
HalfExpanded
był obliczany nieprawidłowo, przez co arkusz wydawał się unosić. (I45e84, b/268411386) - Dodaj pole wyboru
confirmValueChange
do przyciskuModalBottomSheet
. (I2311a, b/270425759) - Przesuń semantyczne
BottomSheet
działania do uchwytu przeciągania. (I158ba) ModalBottomSheet
teraz powoduje skupienie się na przycisku uruchamiania i obsługuje przycisk Wstecz. (I4d2ab)ModalBottomSheet onDismissRequest
jest teraz obsługiwany również podczas zagnieżdżonych przewijania. (I655c5, b/268433166)
Wersja 1.1.0-alpha07
22 lutego 2023 roku
androidx.compose.material3:material3:1.1.0-alpha07
i androidx.compose.material3:material3-window-size-class:1.1.0-alpha07
są dostępne. Wersja 1.1.0-alpha07 zawiera te commity.
Nowe funkcje
- Dodaj kompozyt danych wejściowych Czas, który działa z
rememberTimePickerState()
. Kompozycja ta jest zgodna ze specyfikacją M3 dotyczącą danych wejściowych Czas (Ia4fab). - Dodano interfejs API Material 3
DateRangePicker
do wybierania zakresu dat. (I7a6c3, b/267194809) - Dodano obsługę trybu wprowadzania danych Material 3 w przypadku wyboru zakresów dat za pomocą interfejsu API
DateRangePicker
. (Ifdbc4) - Kolory pól tekstowych można teraz dostosowywać:
- Kolory pól tekstowych i miejsc do wklejania danych zależne od stanu skupienia i błędu. Parametr
textColor
nosi teraz nazwęunfocusedTextColor
, a parametrplaceholderColor
nosi teraz nazwęunfocusedPlaceholderColor
. - Kolor kontenera dla wypełnionych pól tekstowych na podstawie stanu błędu z nowym parametrem
errorContainerColor
.
- Kolory pól tekstowych i miejsc do wklejania danych zależne od stanu skupienia i błędu. Parametr
- Kolory pól tekstowych w menu rozwijanym zostały zaktualizowane o parametry, aby obsługiwać nowe interfejsy API prefiksów i suffiksów. (I9c8b4, b/254284181, b/264766350)
Zmiany w interfejsie API
- cofnięcie niektórych wersji interfejsu Slider API i usunięcie zbędących przeciążeń Slidera, które są objęte nowym eksperymentalnym interfejsem Slider z niestandardowym przyciskiem i ścieżką; Awansowanie klastra
RangeSlider
do stabilnego. (Ie8fbd) - Zmieniono nazwę funkcji podwyższania poziomu w urządzeniach z
defaultElevation
naelevation
. (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 systemu (I18856)- Usunięto eksperymentalną adnotację z api interfejsów szkieletu. (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) - Usunięto błąd, który powodował rozpowszechnianie ograniczenia maksymalnej wysokości i możliwe było jego zawieszanie. (I30d8c)
- Usunięto semantyczne role z klikalnych i wybieralnych powierzchni. Zaktualizowano komponenty, które używały tych ról, aby przypisać role za pomocą modyfikatora semantyki (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
są dostępne. Wersja 1.1.0-alpha06 zawiera te commity.
Nowe funkcje
- Pola tekstowe obsługują teraz tekst prefiksu i sufiksu (Ia8578, b/179884561).
- Dodano funkcję
TimePicker
, aby wyświetlać selektor czasu zgodnie ze specyfikacją Material 3. Funkcja ta jest używana w połączeniu z funkcjąTimePickerState
i łatwą w użyciu metodąrememberTimePickerState
(I71910). - Dane wejściowe dotyczące daty są teraz wyświetlane w trybie wyświetlania
DatePicker
. Dodano obsługę przełączania między trybami selektora daty i wprowadzania daty. (Ieeff7) - Dodano interfejs API dla
RichTextTooltips
. (I58ef3) - Implementacja modalnej planszy dolnej w ramach Material 3, w tym
ModalBottomSheet
iModalBottomSheetDefaults
. Wprowadza też elementySheetState
irememberSheetState
, które można wykorzystać w przyszłych komponentach arkuszy. (I0853a, b/244189383)
Zmiany w interfejsie API
- Stabilizacja interfejsu API
showSnackbar
(I195c2, b/261424370) - Stabilizacja interfejsów API dla elementu pomocy i elementu z propozycją (Ibb67b, b/261424370)
- Przeniesienie interfejsów API
ListItem
,ListItemDefaults
iListItemColors
z wersji eksperymentalnej do standardowej (I7e7fa, b/261438882) - Przeniesienie interfejsów
SliderPositions
,SliderDefaults.Thumb
iSliderDefaults.Track
do wersji stabilnej oraz dodanie interfejsówSlider
iRangeSlider
, które zawierają niestandardowe miniatury i ścieżki. Wycofujemy też poprzednie interfejsy APISlider
iRangeSlider
. (Ie5ea6, b/261566890) - Zmienna
Modifier.tooltipAnchor()
jest teraz publiczna, więc deweloperzy mogą ją przekazać do kotwicy, aby wskazać, że po długim naciśnięciu powinna się wyświetlić etykietka. Zaktualizowano interfejs APIPlainTooltipBox
, aby nie zezwalać na wartość null dla parametruTooltipState
. Teraz ma on wartość domyślną. (Ie2fb7) - Aby zachować spójność,
ProgressIndicatorDefaults.circularTrackColor
zostało oznaczone jako@Composable
. (Id29cc) - Przywrócono metodę
LocalMinimuTouchTargetEnforcement
gettera właściwości, oznaczono ją jako przestarzałą i przekierowano 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
są dostępne. Wersja 1.1.0-alpha05 zawiera te commity.
Nowe funkcje
DatePickerDialog
i ułatwienia dostępu- Dodano niestandardowy miniaturę 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
są dostępne. Wersja 1.1.0-alpha04 zawiera te commity.
Nowe funkcje
- Początkowy interfejs API
DatePicker
do wybierania pojedynczej daty za pomocą interfejsu kalendarza. Ten interfejs API jest nadal modyfikowany. (I722b9) - Dodano obsługę prostych etykiet za pomocą
PlainTooltipBox
. (I0cdfb) - Pasek wyszukiwania (Iad128)
SwipeToDismiss
(I458a8, b/242889540)
Zmiany w interfejsie API
- Dodano właściwość semantyki
IsContainer
w sekcji Powierzchnie. Ta właściwość zostanie użyta w późniejszej zmianie, która określa kolejność przechodzenia na podstawie semantycznego znaczenia elementów, takich jak powierzchnie. (I63379) - Oznacz interfejsy API powiązane z drawerem jako stabilne. (Iab01e, b/261439597)
- Dodaliśmy parametr koloru ścieżki dla kółkowych wskaźników postępu oraz parametr obrysu dla kółkowych i liniowych wskaźników postępu. (Ie668c, b/216325962, b/222964817)
- Dodanie możliwości zwracania wartości null do ukrytych funkcji wycofanych (Ibf7b0)
- Dodaj
Modifier.minimumInteractiveComponentSize
. Można go użyć, aby zarezerwować co najmniej 48 dp, aby uniknąć niejednoznaczności interakcji dotykowych, jeśli element ma być mniejszy. (I33f58, b/258495559) - Dodano eksperymentalny interfejs API do komponowalnych elementów
AlertDialog
, które mają miejsce na treści. (Iec4a2)
Poprawki błędów
- Wskaźniki postępu są teraz prawidłowo ograniczone do oczekiwanego zakresu. (I8a7eb, b/262262727)
Znany problem
- Podczas aktualizacji z wersji
androidx.compose.foundation:1.4.0-alpha03
naandroidx.compose.foundation:1.4.0-alpha04
może wystąpić błądjava.lang.NoSuchFieldError
. Tutaj został pierwotnie zgłoszony problem. Przesłaliśmy poprawkę, która będzie dostępna w ramach następnej aktualizacji Compose. Aby obejść ten problem, zaktualizuj bibliotekiandroidx.compose.material
iandroidx.compose.material3
do najnowszej wersji(1.1.0-alpha04) lub obniż wersję bibliotekiandroidx.compose.foundation
do 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
są dostępne. Wersja 1.1.0-alpha03 zawiera te commity.
Zmiany w interfejsie API
- Zmieniliśmy nazwę
consumedWindowInsets()
naconsumeWindowInsets()
, awithConsumedWindowInsets()
naonConsumedWindowInsetsChanged()
i uczyniłeś modyfikatory publicznymi. (Ie44e1) - Dodaj nowe domyślne wypełnienie treści dla przycisku tekstowego z ikoną. (I8f662)
- Dodano wyłączone kolory dla paska nawigacji i szyny. (Ia7892, b/258867034)
- Dodano interfejs API Modifier, aby zapytać o informacje dotyczące przewijania przodków (I2ba9d, b/203141462).
- Służy w
Clickable
do prawidłowego opóźnienia interakcji z przyciskiem, gdy gesty mogą stać się zdarzeniami przewijania. - Rozwiązaliśmy problem z nieprawidłowym opóźnianiem efektów
Clickables
, gdy są używane w ramach efektuScrollable ViewGroup
. - Zaktualizowano Drawers i Sheets, 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
są teraz zależne od wersji Lifecycle 2.5.1. (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
są dostępne. Wersja 1.1.0-alpha02 zawiera te commity.
Zmiany w interfejsie API
- Aby zwiększyć elastyczność, funkcje
awaitFirstDown
iwaitForUpOrCancellation
obsługują teraz parametrPointerEventPass
(poprawiono też problem z wyświetlaniem menu podczas przewijania przez funkcjęExposedDropdownMenuBox
).(I7579a, b/212091796) - Dodano parametr
minLines
do komponentów material i material3 Text,TextField
iOutlinedTextField
, który umożliwia ustawienie minimalnej wysokości komponentu w ujęciu liczby wierszy (I4af1d). - wycofanie funkcji
TopAppBarDefaults smallTopAppBarColors
na rzecz nowej funkcjitopAppBarColors
, której należy używać podczas tworzenia funkcjiTopAppBar
; (Ie6cb9) - Dodano parametr
minLines
doBasicText
iBasicTextField
. Umożliwia ustawienie minimalnej wysokości tych komponentów pod względem liczby wierszy (I24294, b/122476634)
Poprawki błędów
- Przytnij zawartość materiału 3
IconButton
iIconToggleBotton
do kształtu warstwy stanu komponentu (np. koła). (I9da8f) - Aktualizuje paski aplikacji z Material3 o średniej i dużej wielkości, aby miały ten sam kolor tła na całej powierzchni, oraz umożliwia ustawienie zastąpienia kolorów domyślnych przez wartości kolorów przezroczystych. (I67659, b/249688556, b/250838918)
Wersja 1.1.0-alpha01
24 października 2022 r.
androidx.compose.material3:material3:1.1.0-alpha01
i androidx.compose.material3:material3-window-size-class:1.1.0-alpha01
są dostępne. Wersja 1.1.0-alpha01 zawiera te commity.
Poprawki błędów
- Poprawka dotycząca górnego paska aplikacji, gdy tytuł jest stosowany za pomocą 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
są dostępne. Wersja 1.0.1 zawiera te zatwierdzenia.
Poprawki błędów
- Aktualizuje paski aplikacji z Material3 o średniej i dużej wielkości, aby miały ten sam kolor tła na całej powierzchni, oraz umożliwia ustawienie zastąpienia kolorów domyślnych przez wartości kolorów przezroczystych. (I67659, b/249688556, b/250838918)
Wersja 1.0.0
24 października 2022 r.
androidx.compose.material3:material3:1.0.0
i androidx.compose.material3:material3-window-size-class:1.0.0
są dostępne. Wersja 1.0.0 zawiera te zatwierdzenia.
Najważniejsze funkcje wersji 1.0.0
To pierwsza stabilna wersja Compose Material 3.
Motyw Material Design 3 i dynamiczny kolor Material You
Komponenty Material Design 3
- Plakietka
- Dolny pasek aplikacji
- Przyciski
- Przycisk typu FAB i rozszerzony przycisk typu FAB
- Karty
- Pole wyboru
- Procesory
- Dialogi
- Separator
- Menu
- Lista
- Pasek nawigacyjny
- Panel nawigacji
- Pasek nawigacyjny
- Wskaźnik postępu
- Opcja
- Suwak
- Przełącz
- Karty
- Pola tekstowe
- Pasek aplikacji u góry
- Ikona
- Tekst
- Powierzchnia
- Układ
- Kolor treści
Klasa rozmiaru okna
material3-window-size-class
to nowa biblioteka, która obsługuje klasy rozmiarów okna: zestaw punktów przecięcia widocznego obszaru, które ułatwiają projektowanie, tworzenie i testowanie układów aplikacji z możliwością zmiany rozmiaru. Za pomocącalculateWindowSizeClass
możesz pobrać instancję klasy rozmiaru okna, która pozwala określić wygląd interfejsu użytkownika, np. wyświetlanie paska nawigacyjnego zamiast paska nawigacyjnego u dołu w przypadku większych rozmiarów okna. Więcej informacji i przykłady użycia znajdziesz w dokumentacji API dotyczącejWindowSizeClass
.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
są dostępne. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodano parametr slotu, aby umożliwić obsługę tekstu w interfejsie 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
są dostępne. Wersja 1.0.0-beta03 zawiera te komitowane zmiany.
Zmiany w interfejsie API
ExposedDropdownMenuDefaults
zawiera teraz wartość wypełnienia dla elementów menu. (I34ee1)ExposedDropdownMenuBoxScope
ma teraz modyfikatorModifier.menuAnchor()
, który powinien zostać przekazany do pola tekstowego, aby zapewnić prawidłowe działanie zgodne z a11y. (I27fa3)- Dodanie 2 przeciążonych metod dla obecnego interfejsu Slider API, aby umożliwić użytkownikom przekazywanie miniatury lub ścieżki w celu wypełniania suwaka. (I21c00)
Poprawki błędów
- Zaktualizowano mapowanie kolorów ciemnego motywu dla kontenera On Error Container na ton 90 (Ic5612).
- Poprawka umożliwiająca ustawienie przezroczystego tła dla małych pasków aplikacji na górze w 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
są dostępne. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Domyślne wcięcia komponentów wprowadzone w komponentach m3 w wersji beta01 nie uwzględniają już wcięć IME.
- Komponent Material3 Scaffold ma teraz parametr
contentWindowInsets
, który umożliwia określenie liczby wstawek do obsługi w przypadku slotu na zawartość. (Icf11a, b/243713323) - wycofuje eksperymentalną funkcję
SmallTopAppBar
z Material 3 i wprowadza równoważną funkcjęTopAppBar
. Przejdź na nowe konto. (I74404, b/226918634) - Dodaje opcje kontroli nad przesuwaniem i przypinaniem na górnym pasku aplikacji. (I15c81)
- Usuwa startIndent z Divider, a kolor przenosi do ostatniego parametru. (If7be2)
Poprawki błędów
- Okno dialogowe powinno się identyfikować w systemie TalkBack, ogłaszając słowo „Dialog” podczas wyświetlania. (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
są dostępne. Wersja 1.0.0-beta01 zawiera te commity.
Dokumentacja API
Aby zapoznać się z najnowszymi tematami, komponentami i innymi dostępnymi komponentami, przeczytaj omówienie interfejsu API Compose Material 3.
Zmiany w interfejsie API
- Zaktualizowaliśmy górny pasek aplikacji w Material 3, aby można było go całkowicie zwinąć lub rozłożyć. Zaktualizowano też funkcję zachowania
TopAppBarDefaults
, aby była zgodna z kompozytami, oraz podano domyślne wartości stanu paska aplikacji i specyfikacji animacji. (I642b3) - Zaktualizowano podpisy komponentów FAB, aby pasowały do interfejsu API (I3afaa).
- Dodano wbudowaną obsługę wstawek na pasku aplikacji, w drawerach, na pasku nawigacji i na pasku bocznym. Te komponenty, używane osobno lub z Scaffold, będą automatycznie obsługiwać wgłębienia dla programistów. Uwaga: ta zmiana nie powoduje automatycznego obsługiwania ikon na pasku stanu ani przezroczystości paska stanu i paska nawigacyjnego. Nadal wykonuj to ręcznie, aby zapewnić sobie jak najlepszą jakość. (I7e4e6, b/183161866)
- Zaktualizowano domyślne wartości komponentów, aby zmniejszyć powierzchnię interfejsu API i ulepszyć elastyczność oraz wydajność. (I31820)
- Zmieniono kolejność parametrów kart i sekcji panelu nawigacyjnego, aby zachować spójność w interfejsie API (I45d0b).
- Usunięto parametr
startIndent
z funkcji 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
są dostępne. Wersja 1.0.0-alpha16 zawiera te commity.
Nowe funkcje
- Obsługa ustawiania niestandardowej szerokości szuflady nawigacyjnej. (Ia7f10)
Zmiany w interfejsie API
- Zmiana kolejności parametrów karty Tab i Leading icon, aby zachować spójność w interfejsie API (Ie2637)
- Oznaczone jako eksperymentalne.
BadgeDefaults
(I98ef3) - Usunięcie wycofanej funkcji panelu nawigacyjnego. (I4f2db)
- Zmiana kolejności parametrów suwaka w Material 3 w celu zachowania spójności w interfejsie API (I0aee7)
- Zmień kolejność parametrów
NavigationBar
iNavigationRail
, aby zachować spójność w interfejsie API (I51cda) - Zmień kolejność parametrów w Material 3, aby zachować spójność w interfejsie API. (If4ae1)
- Zmiana kolejności parametrów suwaka w Material 3 w celu zachowania spójności w interfejsie API (I62673)
- Zmieniono nazwę parametru „ikony” na „działania”, aby była zgodna z górnym paskiem aplikacji (Id75be).
- Oznacz opcje
Badge
iBadgedBox
jako eksperymentalne, ponieważ wyrównanie kotwicy jest nadal w trakcie wprowadzania. (I1712e, b/236524516) - Zmień adnotacje
@ExperimentalMaterial3Api
w wariantach przycisku ikony na@OptIn
(I070b5) - Treści szuflady nawigacyjnej zostały rozdzielone na osobny komponent, aby umożliwić ich niestandardową szerokość. (Ia7f10)
- Usuwanie elementu
Divider
z poziomówMenuDefaults
iTabDefaults
(I4e33)
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
są dostępne. Wersja 1.0.0-alpha15 zawiera te commity.
Nowe funkcje
- Dozwolić 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 mają na celu usunięcie slotuselectedIcon
i zachęcanie do ponownego używania interfejsuleadingIcon
do wyświetlania wybranego stanu. (Ie5dc2) - Dodaj role kolorów tła i obrysów. (Id6d54)
- Popraw konwencje nazewnictwa domyślnych komponentów. (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. Oznaczyć interfejs API paska aplikacji jako eksperymentalny. (Ic0ad8)
- Aby zwiększyć wykrywalność, do
TextFieldColors
dodano kolory elementów tekstowych. (Iba1b8) - Dodawanie
ButtonDefault.ButtonWithIconContentPadding
do stosowania z przyciskami zawierającymi ikonę. (I2bf9c) - Pola tekstowe zostały oznaczone jako eksperymentalne, aby zapewnić większą elastyczność w przyszłych zmianach interfejsu API. (I127b5)
- Usunięto adnotację
@ExperimentalMaterial3Api
z funkcjiCheckbox
. (I5eefc) - Usunięto adnotację
@ExperimentalMaterial3Api
z funkcjiRadioButton
. (I17e2a) - Usunięto adnotację
@ExperimentalMaterial3Api
z kart nieinteraktywnych. (I9bd49) - Aktualizacja różnych obiektów domyślnych komponentów, aby uwzględnić kolory, kształty itp. (I96e11)
Poprawki błędów
- Usunięto niedziałające ikony z próbek elementów wejściowych, aby uniknąć pomyłek użytkowników 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
są dostępne. Wersja 1.0.0-alpha14 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano implementację listy M3. Przykładowe użycia znajdziesz w dokumentacji (Id7a20).
Zmiany w interfejsie API
- Zmień nazwę parametru z values na value w
RangeSlider
(I3b79a) - Zmiany w interfejsie API dotyczące implementacji
InputChip
, aby obsługiwać stan „wybrany” zgodnie ze specyfikacją Material Design. Dodatkowe obsługiwane koloryFilterChip
dla wybranego stanu wyłączonego. (I55244, b/235792432) - Dodaj
BottomAppBar
domyślny przycisk szybkiego dostępu (Ida4c8) - Dodano
ColorScheme.surfaceColorAtElevation
(Id41af) - Interfejsy w bibliotekach kompozytowych są teraz tworzone za pomocą domyślnych metod interfejsu w wersji JDK 8 (I5bcf1).
WindowWidthSizeClass
iWindowHeightSizeClass
implementują teraz interfejs Comparable, dzięki czemu można je porównywać za pomocą operatorów (<, <=, >=, >) i innych interfejsów API. (I747d0)
Poprawki błędów
- Zaktualizuj przykład plakietki, aby zawierał bardziej szczegółowy opis treści. (I10b9d)
- Dodawanie opcji użycia rozmiaru czcionki systemu do selektora motywów w katalogu Material 3. (I10605)
- Dodaje przykładowy kod dla plakietki i nieokreślonych wskaźników 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
są dostępne. Wersja 1.0.0-alpha13 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Obsługa zachowania 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
są dostępne. Wersja 1.0.0-alpha12 zawiera te commity.
Poprawki błędów
- Element nadrzędny suwaka może teraz mieć 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
są dostępne. Wersja 1.0.0-alpha11 zawiera te commity.
Nowe funkcje
- Dodano
RangeSlider
do Materiału 3 (I18e38) - Dodaje obsługę Material3
AssistChip
iInputChip
(I0d25a) - Dodaje obsługę Material3
FilterChip
iSuggestionChip
(I9fdf3)
Zmiany w interfejsie API
- Zmieniono nazwę komponentu
TextFieldDefaults.BorderStroke
, który rysuje obrys krawędzi w komponencieOutlinedTextField
, naTextFieldDefaults.BorderBox
. (I5f295) - Zmiany wizualne dotyczące m3 (Iab30e)
- Umożliwia przekazywanie kolorów do standardowych przycisków ikon. (Ia2445)
Poprawki błędów
- Dodaj do material3/Scaffold sprawdzanie błędów, aby upewnić się, że używane jest wewnętrzne wypełnienie (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
są dostępne. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.
Nowe funkcje
material3-window-size-class
to nowa biblioteka, która obsługuje klasy rozmiarów okna: zestaw punktów przecięcia widocznego obszaru, które ułatwiają projektowanie, tworzenie i testowanie układów aplikacji z możliwością zmiany rozmiaru. Za pomocącalculateWindowSizeClass
możesz pobrać instancję klasy rozmiaru okna, która pozwala określić wygląd interfejsu użytkownika, np. wyświetlanie paska nawigacyjnego zamiast paska nawigacyjnego u dołu w przypadku większych rozmiarów okna. Więcej informacji i przykłady użycia znajdziesz w dokumentacji interfejsu APIWindowSizeClass
. Więcej informacji o definicjach klas rozmiarów okien znajdziesz w publicznych wytycznych dotyczących obsługi różnych rozmiarów ekranów.
Zmiany w interfejsie API
- Dodaje domyślną wysokość FAB dla
BottomAppBar
i usuwa końcową literę „λ” z elementuBottomAppBar
z FAB. (I92c47) - Dodaje Material3
FilledIconButton
,FilledTonalIconButton
iOutlinedIconButton
. (Ib2bda) - Aktualizacja interfejsu Snackbar API Material 3, aby przyjmował wartości kolorów dla opcjonalnego działania i działania odrzucania. (Ibe4b4)
- Częściowe wyświetlanie (obniżanie lub pozycja) zostało wycofane w wersji
PointerInputChange
. Możesz użyćconsume()
, aby w pełni zastosować zmianę. Możesz użyćisConsumed
, aby sprawdzić, czy ktoś inny wcześniej nie wprowadził tej zmiany. PointerInputChange::copy()
zawsze tworzy teraz kopię powierzchowną. Oznacza to, że kopiePointerInputChange
zostaną wykorzystane, gdy wykorzystana zostanie jedna z nich. Jeśli chcesz utworzyć niewiążącą instancjęPointerInputChange
, użyj konstruktora. (Ie6be4, b/225669674)- Zmiany w interfejsie Cards API, które umożliwiają otrzymywanie kolorów kontenera i treści za pomocą interfejsu
CardColors
oraz obsługę stanu wyłączonego w przypadku kart z możliwością kliknięcia. (I927df) - Aby zachować spójność z innymi komponentami, w polach tekstowych Materiał 3 zmieniliśmy nazwę parametru
backgroundColor
nacontainerColor
. (I6fbd9)
Poprawki błędów
- Aktualizacje standardu
IconButton
w celu dostosowania go do specyfikacji Material3 (I09eab) - Przesuń wysokość górnego paska material3 Scaffold do wypełnienia przekazanego do treści, aby treści były renderowane pod górnym paskiem aplikacji. Jeśli
PaddingValues
są ignorowane, treść może być zasłonięta przez górną belkę. (I83cbc, b/217776202)
Wersja 1.0.0-alpha09
6 kwietnia 2022 roku
androidx.compose.material3:material3:1.0.0-alpha09
został zwolniony. Wersja 1.0.0-alpha09 zawiera te commity.
Nowe funkcje
- Dodano interfejs API Material 3 Switch (I2c3ad).
Zmiany w interfejsie API
- Dodaliśmy obsługę menu rozwijanych z polami tekstowymi (tzw. „wyeksponowane menu rozwijane” lub „listy rozwijane”). (I1b832)
- Dodano parametr shape do podsystemu MaterialTheme i Shape. (I37426)
- Do
ExtendedFloatingActionButton
dodano parametr expanded, który pozwala kontrolować, czy przycisk szybkiego dostępu ma być rozwinięty czy zwinięty, oraz wyświetlać animacje między stanami. Dodano rozszerzoną kartę FAB z dodatkowym tekstem dla kart FAB bez ikony. (Iba7f1)
Wersja 1.0.0-alpha08
23 marca 2022 r.
androidx.compose.material3:material3:1.0.0-alpha08
został zwolniony. Wersja 1.0.0-alpha08 zawiera te commity.
Nowe funkcje
- Dodano obsługę pól tekstowych Material 3. (I795cc, b/199377790)
Zmiany w interfejsie API
- Dodaj domyślny separator menu (I01374)
- Do klasy
ColorScheme
dodano parametr kolorusurfaceTint
. (I2f558)
Poprawki błędów
- Napraw przycisk Material3, aby odczytać domyślną wartość stylu tekstu z MaterialTheme. (Ie62fc)
Wersja 1.0.0-alpha07
9 marca 2022 r.
androidx.compose.material3:material3:1.0.0-alpha07
został zwolniony. Wersja 1.0.0-alpha07 zawiera te commity.
Zmiany w interfejsie API
- Aktualizacje interfejsu API powierzchni Material 3, które przywracają przeciążone funkcje dla klikalnych powierzchni, a także dodają funkcję obsługi wybieralnych i przełączalnych powierzchni. (I4bf18)
- Funkcje
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 na androidx.compose.foundation.lazy.grid. (I2d446)- Przywróciliśmy poprzednią zmianę polegającą na korzystaniu wyłącznie z widoku
WindowInsetsControllerCompat
i ponownie wymagamy użycia okna, które jest wymagane do zarządzania niektórymi flagami okna. UżyjViewCompat.getWindowInsetsController
zamiastWindowCompat.getInsetsController
, aby mieć pewność, że używane jest odpowiednie okno (np. gdy widok znajduje się w oknie dialogowym). (I660ae, b/219572936) - Dodano nowy interfejs API
LazyVerticalGrid
do definiowania rozmiarów na osi poprzecznej (I17723)
Poprawki błędów
- Zmiany w interfejsie Card API, które naśladują zmiany w interfejsie API Surface (I3c8b9)
Wersja 1.0.0-alpha06
23 lutego 2022 r.
androidx.compose.material3:material3:1.0.0-alpha06
został zwolniony. Wersja 1.0.0-alpha06 zawiera te commity.
Zmiany w interfejsie API
- Dodano element
NavigationDrawerItem
, który reprezentuje pojedyncze miejsce docelowe w szufladach (Ic396f, b/218286829). - Dodano interfejsy API
PermanentNavigationDrawer
iDismissibleNavigationDrawer
jako interfejsy API w wersji eksperymentalnej. Te szuflady są odpowiednie dla urządzeń z dużym ekranem. (I5f8ab, b/218286829) - Dodano obsługę dolnego paska aplikacji Material 3 (Ic432a).
- Nazwa
NavigationDrawer
została zmieniona naModalNavigationDrawer
(I1807d, b/218286829) - Dodano klasę i tokeny suwaka Material 3 (I1ccee).
- Dodano implementację karty. Przykładowe użycie znajdziesz w dokumentacji (Ie0146).
Poprawki błędów
- Rozwiązaliśmy problem polegający na tym, że czytnik ekranu
TalkBack
podczas nawigacji liniowej wybierał pusty tytuł paska aplikacji u góry. (Id4690) - Dodano
IconSize
doFloatingActionButtonDefaults
. (Ia71cf) - Naprawiono błąd dotyczący ukrytych przycisków
AlertDialog
, gdy dodano długi tekst za pomocą przyciskuLazyColumn
. (Ib2cc9, b/216663029)
Wersja 1.0.0-alpha05
9 lutego 2022 r.
androidx.compose.material3:material3:1.0.0-alpha05
został zwolniony. Wersja 1.0.0-alpha05 zawiera te commity.
Nowe funkcje
Dodaliśmy komponenty Material Design 3.
Zmiany w interfejsie API
- Wycofana funkcja
Surface
, która przyjmuje wywołanie zwrotne onClick. Klikalne powierzchnie powinny być tworzone za pomocąInteractionSource
iModifier.clickable()
. (I211c6) - Dodano obsługę tłomaczenia przyciśniętego i wyróżnionego przycisku FAB. (Ibb584)
- Zmieniliśmy interfejs API
Surface
, aby przyjmował parametr 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.
androidx.compose.material3:material3:1.0.0-alpha04
został zwolniony. Wersja 1.0.0-alpha04 zawiera te commity.
Zmiany w interfejsie API
- Dodaliśmy
NonRestartableComposable
do metod, które są przeciążeniem istniejących metod bez złożonej logiki. Zmniejsza to liczbę generowanych przez kompilator sprawdzeń memoizacji (równa) dla wszystkich parametrów, które są powtarzane w wywołanej funkcji wewnętrznej. (I90490) - Dodano linię podziału Material 3. (Ica5fc)
- Oznacz pole wyboru i pole wyboru radiowego za pomocą eksperymentalnej adnotacji interfejsu API. (Ie44bb)
- Dodano obsługę wskaźników postępu Material 3. (Iff232, b/205023841)
Poprawki błędów
- Zmień kolor wyłączonego kontenera
TextButton's
na przezroczysty (I6b248, b/213339737)
Wersja 1.0.0-alpha03
12 stycznia 2022 r.
androidx.compose.material3:material3:1.0.0-alpha03
został zwolniony. Wersja 1.0.0-alpha03 zawiera te commity.
Poprawki błędów
- Dodaj
LocalIndication
doMaterialTheme
w Material 3. (I7ce4e) - Poprawić promień zaokrąglenia rogów stosowany w przypadku pól wyboru (I38b03, b/175198975, b/202309440).
Aktualizacje zależności
- Teraz zależy od Kotlina
1.6.10
.
Wersja 1.0.0-alpha02
1 grudnia 2021 r.
androidx.compose.material3:material3:1.0.0-alpha02
został zwolniony. Wersja 1.0.0-alpha02 zawiera te commity.
Nowe funkcje
- Dodano obsługę pól wyboru i opcji wyboru.
- Zaktualizowano, aby zapewnić zgodność z Kotlin
1.6.0
Zmiany w interfejsie API
- Usuń szablon szablonu Material 3. (I04f51)
- Dodano obsługę Material 3
Checkbox
. (Id5542) - Dodano obsługę Material 3
RadioButton
. (I20334)
Poprawki błędów
- Zmniejsz promień falowania
IconButton
z 40 dp do 20 dp. (I68bbe, b/206674345) - Ścieżka szybkiego dostępu do ciągu znaków portu
Text
została zmieniona zcompose.material
(I30b03) - Naprawiono, ale przycisk jest zakodowany na stałe, aby był zawsze włączony. (Iea832, b/205335456)
Wersja 1.0.0-alpha01
27 października 2021 roku
androidx.compose.material3:material3:1.0.0-alpha01
został zwolniony. Wersja 1.0.0-alpha01 zawiera te commity.
Nowe funkcje
Motyw Material Design 3 i dynamiczny kolor Material You
Komponenty Material Design 3
- Przyciski
- Przycisk FAB i rozszerzony przycisk FAB
- Dialogi
- Pasek nawigacyjny
- Panel nawigacji
- Pasek nawigacyjny
- Pasek aplikacji u góry
- Plakietka
- Ikona
- Tekst
- Powierzchnia
- Układ
- Kolor treści
Więcej informacji znajdziesz w sekcji Material Design 3 i Material You w przewodniku Styl Material w Compose.