Tworzenie materiału 3

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 zgodny z nowym stylem wizualnym Androida 12 i interfejsem systemu.
Ostatnia aktualizacja Wersja stabilna Wersja kandydująca Wersja Beta Wersja alfa
12 grudnia 2024 r. 1.3.1 - - 1.4.0-alpha05

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.

GrupaOpis
compose.animationtworzyć animacje w aplikacjach Jetpack Compose, aby wzbogacać wrażenia użytkowników.
compose.compilerPrzekształcaj funkcje @Composable i włącz optymalizacje za pomocą wtyczki kompilatora Kotlin.
compose.foundationPisać aplikacje Jetpack Compose za pomocą gotowych elementów składowych i rozwijać podstawy, aby tworzyć własne elementy systemu projektowania.
compose.materialTwórz interfejsy Jetpack Compose za pomocą gotowych komponentów Material Design. Jest to punkt wejścia 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.material3Twó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 zgodny z nowym stylem wizualnym Androida 12 i interfejsem systemu.
compose.runtimePodstawowe 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.uiPodstawowe 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ą.

Tworzenie nowego zgłoszenia

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-alpha01androidx.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:

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-alpha07androidx.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 dla 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-alpha06androidx.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 i contentColor do NavigationSuiteScaffoldDefaults. (I64e3a, b/331993720)
  • Dodawanie funkcji itemColors do NavigationSuiteDefaults. (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-alpha05androidx.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

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-alpha04androidx.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 wersję klas rozmiarów okien w Menedżerze 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-alpha03androidx.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, i w razie potrzeby zostanie on utworzony 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 poprawia wydajność tych komponentów. Jeśli nie używasz wartości MutableInteractionSource przekazywanej do tych komponentów, zalecamy przekazanie zamiast niej 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-alpha02androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02 są dostępne. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Nowe funkcje

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-alpha06androidx.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-alpha05androidx.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-alpha04androidx.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

  • Właściwości zakresu zawiasów w funkcji Posture zostały przeniesione na listę informacji o zawle (I24f90).

Poprawki błędów

  • Rozwiązanie: 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-alpha03androidx.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-alpha02androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02 są dostępne. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Oddziel interfejsy API nawigacji od interfejsów API szablonu adaptacyjnego. (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:

Tworzenie Material3 w wersji 1.4

Wersja 1.4.0-alpha05

12 grudnia 2024 r.

androidx.compose.material3:material3-*:1.4.0-alpha05 został zwolniony. Wersja 1.4.0-alpha05 zawiera te komisy.

Zmiany w interfejsie API

  • Zmień typ wartości WideNavigationRailState.current/target na enum, aby ułatwić czytelność (I2d6ab)
  • SplitButton Zmień interfejs API Shape z klasy danych na klasę, aby zapewnić zgodność binarną. (I53812)
  • Dodano interfejs API tooltip z parametrem onDismissRequest, dzięki któremu twórcy mogą decydować, co się stanie, gdy użytkownik kliknie poza wyskakującym okienek. wycofać stary interfejs API, który nie zawiera tego nowego parametru; (I99aef)
  • Zmień nazwę opticalCentering na horizontalCenterOptically. Zmień modyfikator na wewnętrzny. Zastąp parametr padding wartościami maksymalnego przesunięcia początkowego i końcowego. (I0b904)
  • Zmień WideNavigationRailState, aby miał wartość bieżącą lub docelową, i usuń typy wyliczenia na rzecz typu logicznego. (Idfa29, b/356039090)
  • Dodaj NavigationBarItemComponentOverride. (I3a06a)

Poprawki błędów

  • Popraw działanie górnej i dolnej części paska aplikacji, aby kolory zmieniały się niezawodnie po przewinięciu treści do końca. (Idc4e8, b/293665988)
  • Funkcje zachowania przewijania w przypadku górnego i dolnego paska aplikacji zwracają teraz zapamiętane zachowanie, aby lepiej działać podczas rekompozycji. (I0fdbe, b/207957336)
  • Parametr modyfikatora jest teraz stosowany po modyfikatorach wewnętrznych, takich jak zachowanie i semantyka przeciągania, a nie przed nimi. Ma to wpływ na kolejność, w jakiej modyfikatory są stosowane. (I8d83f)
  • Rozwinięta plansza dolna pozostaje rozwinięta po zmianie rozmiaru. (I2870b, b/324934884)
  • Prawidłowo wyświetlać stan trasy i flagi paska nawigacji w przypadku właściwości okien. (Ie674d, b/362539765)
  • Przenieś parametr modyfikatora do katalogu głównego szablonu zgodnie z opisem. Dzięki temu implementacja będzie zgodna z M2. (I0235e, b/372311595)

Darowizna zewnętrzna

  • Funkcja wspólna DatePickerDialog. (I7dced)

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, outlinedIconToggleButtonColorsoutlinedIconToggleButtonBorder. Przeniesienie zwróconego zachowania do nowego zestawu funkcji o nazwie iconButtonVibrantColors itd., aby podkreślić zwracane kolory o wysokim kontraście. (Iffd8d)

Nowe funkcje

  • Przedstawianie komponentu VerticalDragHandle (I6c770)

Zmiany w interfejsie API

  • Zmień nazwę DismissibleModalWideNavigationRailDefaults na ModalWideNavigationRailDefaults. (I8e877)
  • Dodaj NavigationBarComponentOverrides. (I8a3f3)
  • Dodaj NavigationRailComponentOverride. (I83e13)
  • Wprowadź element WideNavigationRailState, aby umożliwić zwijanie i rozwijanie szyny, zezwól na pominięcie elementu ModalWideNavigationRail i usuń element DismissibleModalWideNavigationRail. (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 Ustaw głównego na OnSurfaceContainer. Zgodnie ze specyfikacją wszystkie kolory obrysu elementów zostały zmienione z Obrysu 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: rememberPlainTooltipPositionProviderrememberRichTooltipPositionProvider. (Ie66e2)
  • Dodatkowe ModalBottomSheetProperties umożliwiają dostosowywanie kolorów paska stanu i paska nawigacyjnego. Domyślnie te aktualizacje są oparte na kolorze treści, a nie na ciemnym motywie 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 wpisywanie tekstu. Zmiana ta powoduje dodanie parametru requestFocus do plików DatePickerDateRangePicker. Możesz zapobiec skupieniu się na false. (I12d09, b/286399710, b/340102743)
  • Buforowanie ustawień domyślnych kształtu w obiekcie Shape. Domyślny kształt @Composable przycisku przełączania. Zwijanie kształtów do jednego kształtu domyślnego, ponieważ warianty odwołują się do tego samego pliku tokenów. (Iaa014)

Poprawki błędów

  • Zoptymalizuj zachowanie szkieletu contentPadding, aby uniknąć ciągłego zmieniania treści w polu tekstowym po zmianie wartości contentPadding. (I8c8e2, b/373904168)
  • TextFieldLabelScope progress zmieniono nazwę na labelMinimizedProgress
  • Nazwa TextFieldLabelPosition Default została zmieniona na Attached. 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 mają zapewnić spójne używanie języka w całości DatePickerDateRangePicker podczas ustawiania języka bezpośrednio w elementach DatePickerState lub DateRangePickerState. 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 parametru color w funkcjach selektora daty i wprowadza parametr contentColor, który umożliwia dostosowywanie kolorów nagłówka i tytułu. (I30d03, b/347031394)
  • Zmień nazwę SplitButton na SplitButtonLayout i usuń interfejsy API wersji kolory SplitButton. Wersje będą osiągane przez ponowne użycie wersji przycisku udostępnionych przez SplitButtonLayout.SplitButtonDefaults (I44c36)
  • W ModalBottomSheet jest teraz parametr sheetGestureEnabled (I856cb, b/288211587)
  • Zmieniono nazwy standardMotionSchemeexpressiveMotionScheme na standardowe i wyraziste. Obie funkcje są teraz dostępne w obiekcie towarzyszącym MotionScheme po wywołaniu funkcji MotionScheme.standard()MotionScheme.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 DatePickerDateRangePicker są teraz prawidłowo aktualizowane w przypadku wyświetlanego miesiąca, gdy są ustawione za pomocą atrybutu displayedMonthMillis 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)
  • Naprawiono problemy z zawieszaniem się funkcji DatePickerDateRangePicker, 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ć do plików build.gradle[.kts]. (I735ff, b/349894318)
  • Aby poprawić użyteczność, kontrast kolorów i spójność w systemie, zmieniliśmy kolor aktywnej etykiety NavigationBarItemNavigationRailItemonSurface na secondary (Ibc297). Aby przywrócić poprzednie działanie, skopiuj domyślne kolory i zamień selectedTextColor na MaterialTheme.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 i OutlinedIconToggleButtonColors, aby poprawić kontrast kolorów. (I2743d)
  • Zaktualizowano kolor kontenera i treści w przypadku atrybutów FilledIconToggleButtonColors i FilledTonalIconToggleButtonColors. (Ic5d0f)
  • Zmieniono kolor obramowania elementu OutlinedButtonoutline na outlineVariant. (057f00)

Zmiany w interfejsie API

  • Do funkcji enterAlwaysScrollBehavior w funkcji TopAppBar dodano opcjonalny parametr reverseLayout, aby lepiej obsługiwać treści ustawione za pomocą funkcji reverseLayout. (I4e0e5)
  • SegmentedButton obsługuje teraz argument contentPadding. (I5ad91, b/358414376)
  • PullToRefreshState nie ma już domyślnej implementacji dla isAnimating (I6a593)
  • Dodano nowe przeciążenia funkcji Material TextFieldOutlinedTextField, które korzystają z funkcji TextFieldState. Dodano interfejsy API do tworzenia pudełek z dekoracją, które są zgodne z interfejsem TextFieldDecorator. (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 i OutlinedSecureTextField do pól do wpisywania hasła. (I7e22d)
  • Dodano zakres do etykiet pól tekstowych, aby umożliwić wyświetlanie animacji postępu zapytania. (If5ec8)
  • Dodano obsługę właściwości MotionEvent.CLASSIFICATION_DEEP_PRESS w opisach narzędzia. (I62e6a)
  • W interfejsie parametr TimePickerState w modelu TimePickerState jest teraz wartością rozszerzenia zamiast zmienną, a jego nazwa została zmieniona na isPm (I89a97).isAfternoon
  • Aktualizacja klasy typograficznej w celu obsługi skali pogrubionego tekstu. (Ifa13c)
  • Dodano interfejs API ModalWideNavigationRail i przemianowano interfejsy API ModalExpandedNavigationRail na DismissibleModalWideNavigationRail. (Ic9118)
  • Zaktualizowano FloatingAppBarScrollBehavior, aby automatycznie obliczać screenOffset bez potrzeby @Composable. (Idf349)
  • Aktualizacje interfejsu API LoadingIndicator w celu poprawienia nazewnictwa obiektu domyślnego. Dodano stałą LoadingIndicatorElevation w pozycji PullToRefresh. (I1d72b)
  • Aktualizacje interfejsu API LoadingIndicator, które poprawiają nazewnictwo obiektu domyślnego. Dodano stałą LoadingIndicatorElevation w pozycji PullToRefresh. (I1d72b)
  • Do nieokreślonych wariantów funkcji LinearWavyProgressIndicatorCircularWavyProgressIndicator dodano parametry amplitudewaveSpeed. (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 API AnimatedTrailingButton, ponieważ interfejs API TrailingButton 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 fokus do Scaffold podrzędnych komponentów. kolejność to topBar, bottomBar, fab, content, snackbar. (I5936b)
  • Rozwiązaliśmy problem z elementami DatePickerDateRangePicker, 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 pierwszą wartością w porządku semantycznym, a za nią 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 DatePickerDateRangePicker są teraz prawidłowo aktualizowane w przypadku wyświetlanego miesiąca, gdy są ustawione za pomocą atrybutu displayedMonthMillis stanu. (If9e47, b/333414302)
  • Naprawiono problemy z zawieszaniem się funkcji DatePickerDateRangePicker, 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
  • [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 (ModalDrawerSheetDismissibleDrawerSheet) 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 przez PullToRefreshState.
    • Odseparowano zagnieżdżone połączenie przewijania z poziomu PullToRefreshState. Jest ona obsługiwana przez nową funkcję PullToRefreshBox lub Modifier.pullToRefresh.
    • Ta aktualizacja wprowadza zmiany w poprzednich eksperymentalnych interfejsach API. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683) Zmiany w interfejsie
  • 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 i darkColorScheme. (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ści SurfaceTonalElevation, teraz domyślnie używają wartości SurfaceContainer, 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 zakres semantyczny 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 komisy.

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

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 w PullToRefreshBox (I75679)
  • Utworzenie zamkniętego interfejsu TooltipScope i implementacji wewnętrznej do użycia w komponentach TooltipBox i Label. (I3833e)
  • Do CarouselItemScope dodaliśmy 2 nowe modyfikatory – maskClipmaskBorder – 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 do TextStyle i usunięto TextDefaults z materiału. (I5477b)

Poprawki błędów

  • Ikony stanu i paska nawigacji 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 zamiast CaretProperties. Usuwam CaretProperties. Zmień nazwę CaretScope na TooltipScope. (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 tematycznych LinkAnnotations 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 przez PullToRefreshState.
    • Odseparowano zagnieżdżone połączenie przewijania z poziomu PullToRefreshState. Jest ona obsługiwana przez nową funkcję PullToRefreshBox lub Modifier.pullToRefresh.
    • Ta aktualizacja wprowadza zmiany w poprzednich eksperymentalnych interfejsach API. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683)

Zmiany w interfejsie API

  • Pole RippleConfiguration#isEnabled zostało usunięte, a pole LocalRippleConfiguration zostało oznaczone jako dopuszczające wartość null. Aby wyłączyć efekt falowania, zamiast RippleConfiguration z wartością isEnabled = false użyj null z wartością LocalRippleConfiguration. (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. Parametr ModalBottomSheet windowInsets został przemianowany na contentWindowInsets, aby można było określić, gdzie mają być stosowane wstawki. Nie są one już powiązane z logiką okna. Typ contentWindowInsets został zmieniony na funkcję zwracającą WindowInsets, aby umożliwić jej rozwiązanie w nowym oknie. (I39630, b/274872542, b/300280229, b/290893168)
  • Kampanie PrimaryScrollableTabRowSecondaryScrollableTabRow korzystają teraz z łatwo dostępnych układów zamiast podkompozycji, co powinno poprawić skuteczność. (I991e0)
  • Oprócz normalnego stylowania, stylowania po najechaniu kursorem i po zaznaczeniu, linki tekstowe zyskały opcję stylowania w stanie wciśniętym. Metody TextDefaults mają argument pressedStyle, który to potwierdza. (Ic473f, b/139312671)

Poprawki błędów

  • Punkty zaczepienia panelu nawigacyjnego pasują teraz 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] Update predictive back animations to use interpolation curve of (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 SearchBarDockedSearchBar 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 jako SearchBarDefaults.InputField. (I50c73, b/275074248, b/278773336, b/326627700)
  • Do publicznego interfejsu API dodano funkcję lambda drawTick, aby umożliwić w razie potrzeby dostosowywanie znaków wyboru (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órej jest przycięty element (I785d8).
  • Usunięto BasicTooltipState z publicznego interfejsu API Material 3. Jego funkcje są połączone z funkcjami TooltipState, dopóki BasicTooltip Foundation nie zostanie ustabilizowany. (Icda29)
  • Dodano obiekt TextDefaults, który zawiera metody tworzenia obiektu LinkAnnotation 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 do menuAnchor, aby lepiej obsługiwać a11y. Należy używać tej funkcji zamiast przekazywania wartości focusable do funkcji ExposedDropdownMenu, która została wycofana. menuAnchor ma nowy parametr do kontrolowania stanu enabled. (I55ee6, b/257209915, b/308840226)
  • Naprawiono kolor obramowania elementu OutlinedButton, gdy jest wyłączony. Dodano przeciążenie ButtonDefaults.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 na Container. (Ie8d3b)

Poprawki błędów

  • Jeśli sheetSwipeEnabled ma wartość false, element BottomSheetScaffold nie będzie się już przewijać z poziomu NestedScroll. (I5e1c1, b/306464779)
  • Usunięto adnotację ExperimentalMaterial3Api z poziomu IconButtonSamples.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: HorizontalMultiBrowseCarouselHorizontalUncontainedCarousel (I88d64).
  • Zaktualizowano panel nawigacyjny Compose M3 (ModalDrawerSheetDismissibleDrawerSheet), aby obsługiwał funkcję przewidywanego cofnięcia 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)
  • SwipeToDismissBox, SwipeToDismissBoxDefaults, SwipeToDismissBoxStateSwipeToDismissBoxValue są teraz oznaczone jako stabilne. (I5f000)
  • Usunięto wycofane typy enumeracji i interfejsy API DismissDirectionDismissValue. (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 do SwipeToDismissBox. (Idc59f, b/324170119)
  • Usunięto interfejsy API pól tekstowych, które zostały oznaczone jako wycofane lub 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 i darkColorScheme. (I9db52)

Nowe funkcje

  • Dodano parametry umożliwiające dostosowanie ExposedDropdownMenu. W szczególności menu mają teraz parametr focusable (domyślnie true), który podczas pracy z polami tekstowymi umożliwiającymi edycję powinien być ustawiony na false. (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życiu Popup. 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, aby były zgodne 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 i darkColorScheme. (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ść. Zawijanie onValueChangeFinished w rememberUpdatedState. (I82ab2, b/322269951)
  • Komponenty nawigacji korzystają teraz z nowych ról SurfaceContainer. Element DrawerDefaults zawiera teraz osobne atrybuty standardContainerColor i modalContainerColor. DrawerDefaults.ModalDrawerElevation to teraz 0.dp. (I7fbac)
  • Usuwam @Stable ze stanów Slider, ponieważ zmieniam state.onValueChangeFinished na var. (Ied34a, b/322269951)
  • Specyfikacja animacji ModalBottomSheet i StandardBottomSheet to teraz animacja TweenSpec, zaktualizowana z animacji sprężynowej. Rozwiązanie problemu z widocznym przeregulowaniem. Wycofane konstruktory SheetState 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 i TonalElevation, domyślnie używają teraz ról SurfaceContainer, 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 SliderRangeSlider w układzie od prawej do lewej (Iab0e1).
  • Dodawanie SliderRangeTolerance do obliczenia zakresu suwaka, ponieważ zaokrąglanie liczb zmiennoprzecinkowych może być niedokładne. (Ic918a, b/324934900)
  • Upewnij się, że DatePickerDialog wyświetla przyciski podczas zagnieżdżania DateRangePicker 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 roli SurfaceContainer, aby określić kolor kontenera. MenuDefaults.TonalElevation to teraz 0.dp. (I135b7)
  • Użytkownik TextField korzysta teraz z roli SurfaceContainerHighest, aby określić kolor kontenera. (I4dced)
  • Uprawnione komponenty korzystają teraz z roli SurfaceContainerLow (I7cd2f)
  • Kolor kontenera DatePicker to teraz SurfaceContainerHigh. DatePickerDefaults.TonalElevation to teraz 0.dp. (Ida753)
  • Zaktualizowano kolor kontenera i elementu przeciągania w sekcji Bottom Sheets. (I72a0a)
  • Kolor kontenera RichTooltip to teraz SurfaceContainer. (Ia8b45)
  • Kolor kontenera SearchBar to teraz SurfaceContainerHighest. SearchBarDefaults.TonalElevation to teraz 0.dp. (I88604)
  • Aktualizuje przełącznik wyłączonych i niezaznaczonych ścieżek/ikon, aby wykorzystać rolę koloru SurfaceContainerHighest. (I7687a)
  • Kolor kontenera AlertDialog to teraz SurfaceContainerHigh. (Ie0433)
  • Kolor kontenera BottomAppBar to teraz SurfaceContainer. Kolor TopAppBar onScroll to teraz SurfaceContainer. (I41630)
  • Kolor kontenera ElevatedCard to teraz SurfaceContainerLow. Kolor kontenera FilledCard: SurfaceContainerHighest. (I35141)
  • Kolor kontenera ElevatedButton to teraz SurfaceContainerLow. Gdy FilledIconButton jest niewybrany, kolor kontenera to SurfaceContainerHighest. (I792c9)
  • Zaktualizowano kolor kontenera TimePicker i kolor tarczy zegara na SurfaceContainerHighest. (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ść przez dodanie przerwy i wskaźnika zatrzymania. (I3058e)
  • Zaktualizowaliśmy ProgressIndicator, aby ułatwić dostępność. Dodaliśmy wskaźnik przerwy i zatrzymania. (I21451)
  • Dodanie domyślnego znaku ukośnika w przypadku rozbudowanego tooltipa. Nowy interfejs API rozbudowanego tooltipa umożliwia wyświetlanie niestandardowego znaku ukośnika 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 bibliotece DatePicker 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, i w razie potrzeby zostanie on utworzony 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ści MutableInteractionSource przekazywanej do tych komponentów, zalecamy przekazanie zamiast niej wartości null. Zalecamy też wprowadzenie podobnych zmian w własnych komponentach. (I41abb, b/298048146)
  • Dodaje opcje RippleConfiguration i LocalRippleConfiguration, 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ą funkcji createRippleModifierNode. (I7b5d6, b/298048146)
  • Dodaje nowy interfejs API ripple w material3, który zastępuje wycofany interfejs rememberRipple. Dodaje też tymczasowy CompositionLocal, LocalUseFallbackRippleImplementation, aby cofnąć komponenty material3 do korzystania z wycofanych interfejsów API rememberRipple / RippleTheme. Zostanie on usunięty w kolejnych stabilnych wersjach. Jest to tylko tymczasowe ułatwienie migracji w przypadku, gdy używasz niestandardowego RippleTheme. (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 z LookaheadScope. (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 z LookaheadScope. (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ść. Zawijanie onValueChangeFinished w rememberUpdatedState. (Ie8fd0, b/322269951)
  • Usuwam @Stable ze stanów Slider, ponieważ zmieniam state.onValueChangeFinished na var. (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 funkcji TabRow z funkcją TabRowDefaults.PrimaryIndicator.

Ważne zmiany od wersji 1.1.0

Nowe komponenty Material Design 3

Ulepszenia dotychczasowych komponentów Material Design 3.

Interfejsy API w wersji eksperymentalnej zostały przeniesione do wersji stabilnej.

Ulepszenia dotyczące wydajności

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 1.2.0-beta02CardDefaults.cardColors, który powodował, że contentColor nie aktualizował się na podstawie wartości parametru containerColor. (Iee041, b/319671246)
  • Naprawiono błąd w funkcji disabledContentColor wprowadzony w wersji 1.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 disabledContentColor zostanie domyślnie przypisany do wartości alfa (0,38f) z LocalContentColor, a nie do wartości określonej przez użytkownika contentColor. 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, rememberSwipeToDismissSwipeToDismissValue 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, gdy android: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)
  • Usuwanie wycofanych eksperymentalnych interfejsów API w przypadku opisu. (I438cb)
  • Zmień nowe przeciążenia TabRow, aby nie używać podkompozycji. W efekcie wskaźniki TabRow są tworzone inaczej, z użyciem niestandardowych modyfikatorów. (Ife741)
  • Wycofanie interfejsów API DismissDirectionDismissValue. Zostały one scalone w wartości SwipeToDismissValue, których wartości wskazują zarówno pozycję, jak i kierunek SwipeToDismissBox. Wartość w polu DismissState.progress jest teraz oznaczona jako FloatRange między 0.01.0. DismissState wycofane funkcje Saver i Constructor zostały usunięte. Obiekt komponentu SwipeToDismiss, 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ści FloatRange. 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 PullToRefreshContainerPullToRefreshState, które razem zapewniają implementację odświeżania przez przeciągnięcie w Material3. (I16456, b/261760718)

Zmiany w interfejsie API

  • Oznacz SwipeToDismissBox DismissDirectionDismissValue jako eksperymentalne. (I517b0)
  • Zmień nazwę SwipeToDismiss na SwipeToDismissBox. Zmień nazwę funkcji background na backgroundContent, a funkcji dismissContent na content. (I7f4d3)
  • Ustaw konstruktor ChipElevationSelectableChipElevation jako publiczny. (Ie0c48, b/308432421)
  • Dodaję ModalBottomSheetProperties. Przenoszę securePolicy do ModalBottomSheetProperties. Dodaję użytkowników isFocusable i shouldDismissOnBackPress do listy ModalBottomSheetProperties. Te nowe wartości logiczne pomagają określić, jak modalny panel dolny powinien obsługiwać zdarzenia IME. (Iea56f, b/278216859)
  • Zaktualizowano stany RangeSliderSlider, 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 klasy BorderStroke. (I89cc2)
  • Interfejsy API etykiet objaśnień podstawy to teraz @ExperimentalFoundationApi. (I30b0b)
  • Funkcje TabRowScrollableTabRow 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 z BorderStroke. (I89b9b)
  • Zmieniliśmy nazwę ogólnej funkcji AlertDialog na BasicAlertDialog i wycofaliśmy poprzednią funkcję. (Idbe52)
  • Zmień nazwę interfejsów API SwipeToDismiss na SwipeDismiss i przekaż nowe interfejsy API SwipeDismiss do wersji stabilnej. (I14cbe)
  • Dodano elementy tonalElevationshadowElevation do interfejsów API tooltip. Dodatkowo interfejsy API TooltipBox, PlainTooltipRichTooltip 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 opóźnionymi. (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 BadgeBadgedBox do stabilnej. (I67f16, b/261565132)
  • Dodanie parametru securePolicy do elementu ModalBottomSheet, aby użytkownicy mogli określić działanie elementu WindowManager.LayoutParams.FLAG_SECURE. (Icdac8, b/296250262)
  • Dodano nowe przeciążenia funkcji LinearProgressIndicator i CircularProgressIndicator, które przyjmują progress jako funkcję lambda. Powinny one działać wydajniej niż poprzednie wersje. (I824e6, b/295616656)
  • Zmienia nazwę StandardSizeClasses na AllSizeClasses. (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 ModalNavigationDrawerDismissibleNavigationDrawer korzystają z nowych interfejsów AnchoredDraggable. Metoda animateTo klasy DrawerState 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 w currentOffset. (I0a72c)
  • Dodano funkcje nieskładane, które umożliwiają bezpośrednie tworzenie funkcji DatePickerStateDateRangePickerState. W razie potrzeby te funkcje można używać jako alternatywy dla funkcji Composable rememberDatePickerStaterememberDateRangePickerState. (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.
  • PrimaryScrollableTabRowSecondaryScrollableTabRow 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, aby arkusz zajmował całą szerokość ekranu, możesz przekazać parametr Dp.Unspecified. (Ifb7c9, b/266697696)
  • Dodano interfejsy API PlainTooltipBoxRichTooltipBox 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 wykonania 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 element BottomAppBarScrollBehavior, 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 rusztowaniu zamiast być nad nim zakotwiczony. (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 kontrolować, 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 funkcji onDismissedRequest, 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 commity.

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 implementuje DraggableState (I9b116)
  • Zmień kształt na wymagany parametr. Zmień nazwę position na index 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 do compose.foundation oraz zaktualizowano PlainTooltipBoxRichTooltipBox, aby używać TooltipBox z nowymi komponentami PlainTooltipRichTooltip. (I79e1d)

Poprawki błędów

  • Parametry dynamicLightColorSchemedynamicDarkColorScheme zwracają teraz wyższe wartości chromatyczne dla ról powierzchni i surfaceContainer. (I5e901)
  • Rozwiązaliśmy problem, który powodował, że niektóre komponenty korzystające z podkompozycji (np. BottomSheetScaffold) w ramach szkieletu w LookaheadScope 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ę w pobliż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ę w pobliż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 instancji CheckboxColors 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)
  • W separatorach jest teraz parametr, który umożliwia kontrolowanie orientacji w celu obsługi separatorów pionowych. (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ą SelectableSegmentedButtonRowToggelableSegmentedButtonRow. (I38740)
  • Nazwa Divider została zmieniona na HorizontalDivider. Dodano funkcję VerticalDivider. (I5975c)
  • Aby zminimalizować automatyczne tworzenie pudełek, w eksperymentalnych interfejsach API Material3 zmień użycie ClosedFloatingPointRange na lżejszą wersję FloatRange. (I4aab5)
  • Dodano nowe wyrównanie Start dla FabPosition (Ib7aea, b/170592777).

Poprawki błędów

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 na false. Domyślny styl wysokości wiersza został również zmieniony na Trim.NoneAlignment.Center, a do TextStyle Typography dodano jawne lineHeight (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. Utworzono RangeSliderState, który zawiera wszystkie informacje o bieżącym aktywnym śladzie, pomiary komponentów RangeSlider 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 role SurfaceContainer.
  • 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órz StandardSizeClasses dla WindowSizeClasses (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ów topBarbottomBar 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 dynamicLightColorSchemedynamicDarkColorScheme 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, gdy windowInsets 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 dla BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
  • Wycofaj Indicator i dodaj Primary/SecondaryIndicator, aby dopasować specyfikację do M3. PrimaryIndicator pasuje do szerokości treści na karcie, podczas gdy SecondaryIndicator zajmuje całą dostępną szerokość. SecondaryIndicator jest odpowiednikiem wycofanej funkcji Indicator i może być jej bezpośrednim zamiennikiem. (I27604)
  • Dodano opcję przekazywania wartości ScrollState podczas tworzenia obiektu DropdownMenu lub ExposedDropdownMenu, 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 SliderState, który zawiera wszystkie informacje o bieżącym aktywnym śladzie, pomiary komponentów Slider oraz logikę przeciągania i gestyk. (I124a5)
  • Zmiana nazwy usługi Semantics o nazwie isContainer na isTraversalGroup (I121f6)
  • Dodano zoptymalizowany TextStyle.merge(...) z pełną listą parametrów. (Iad234, b/246961787)
  • Udostępniono interfejsy TooltipState, RichTooltipStatePlainTooltipState. Dodano stany domyślne RichTooltipStateImplPlainTooltipStateImpl. Dodano funkcje remember*State, które umożliwiają uzyskanie tych wdrożonych stanów. Usunięto TooltipSync na rzecz TooltipDefault.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 DatePickerStateDateRangePickerState są teraz interfejsami publicznymi z domyślnymi implementacjami, które można pobrać za pomocą interfejsów rememberDatePickerStaterememberDateRangePickerState. (I71c52)
  • Usunęliśmy parametr dateValidator z elementów DatePickerDateRangePicker oraz wprowadziliśmy interfejs SelectableDates, który można ustawić w stanie, aby kontrolować, które daty lub lata są dostępne do wyboru w interfejsie. (Ic2fc6)
  • Interfejs API 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 aktualizowana. (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 zamówienia z 3 wierszami, w których ListItem używało nieprawidłowego wypełnienia. (I6e235)
  • ModalBottomSheet może teraz wyświetlać klawiaturę IME (Idc508, b/262140644, b/268380384, b/272483584).

Wersja 1.2.0-alpha01

10 maja 2023 r.

androidx.compose.material3:material3:1.2.0-alpha01androidx.compose.material3:material3-window-size-class:1.2.0-alpha01 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.2androidx.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: TimePickerState zwraca nieprawidłowe godziny po zainicjowaniu 23 godzin. (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.1androidx.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 parametru windowInset, aby zapewnić zgodność binarną. (Ib7959)
  • Dodaj parametr okna do ModalBottomSheet.
    • Ekran ModalBottomSheet może być teraz wyświetlany za paskiem stanu, gdy windowInsets 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 dla BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)

Wersja 1.1.0

10 maja 2023 r.

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

  • Interfejs API 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)

Wersja 1.1.0-beta02

5 kwietnia 2023 r.

androidx.compose.material3:material3:1.1.0-beta02androidx.compose.material3:material3-window-size-class:1.1.0-beta02 są dostępne. Wersja 1.1.0-beta02 zawiera te commity.

Zmiany w interfejsie API

  • Użytkownik SheetState ma teraz parametr opcjonalny skipHiddenState
  • Użytkownik rememberStandardBottomSheetState ma teraz parametr opcjonalny skipHiddenState
  • 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 na BottomSheetDefaults.HiddenShape (I839f4, b/273870234)

Poprawki błędów

  • Gdy włączone jest dotykanie, nie przechodź z tarczy godzin na tarczę minut. (I717d0)
  • Semantyka uchwytu przeciągania w komponentach ModalBottomSheetBottomSheetScaffold została połączona. (I05afb)
  • Parametry BottomSheetScaffold, containerColor i contentColor mają teraz wpływ tylko na zawartość. (I992cb)
  • BottomSheetScaffold nestedScroll dla treści arkuszy korzysta teraz z przewijania. (I992cb)

Wersja 1.1.0-beta01

22 marca 2023 r.

androidx.compose.material3:material3:1.1.0-beta01androidx.compose.material3:material3-window-size-class:1.1.0-beta01 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 cienie w elementach 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 planszy dolnej mają teraz etykiety. (I277b0)

Wersja 1.1.0-alpha08

8 marca 2023 r.

androidx.compose.material3:material3:1.1.0-alpha08androidx.compose.material3:material3-window-size-class:1.1.0-alpha08 są dostępne. Wersja 1.1.0-alpha08 zawiera te zatwierdzenia.

Nowe funkcje

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

Zmiany w interfejsie API

  • Dodaliśmy do funkcji DatePickerStateDateRangePickerState 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 funkcja setSelection wyrzuca wyjątek, jeśli podana data nie spełnia warunku wstępnego (patrz dokumentacja). (Ifa645, b/268609314, b/270427389)
  • Zmień nazwę sekcji SheetValue w sekcji skurczonej na PartiallyExpanded, aby bardziej elastycznie i dokładnie odzwierciedlać 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 przypadkach ReadOnlyComposables. (I69a25)
  • Przeniesienie interfejsów API interaktywnej przeglądarki 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 przycisku ModalBottomSheet. (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-alpha07androidx.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(). Jest on zgodny ze specyfikacją M3 dotyczącą danych wejściowych czasu (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 parametr placeholderColor 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 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

  • wycofanie niektórych wersji interfejsu Slider API i usunięcie zbędących przeciążeń Slidera, które są obsługiwane przez nowy eksperymentalny Slider z niestandardowym przyciskiem i ścieżką; Awansowanie klastra RangeSlider do stabilnego. (Ie8fbd)
  • Zmieniono nazwę funkcji podwyższania poziomu w urządzeniach z defaultElevation na elevation. (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 szkieletu. (Ibb51e, b/261565765, b/261436953)

Poprawki błędów

  • Domyślny kształt ModalBottomSheet to teraz zawsze SheetDefaults.ExpandedShape. (I0dfca)
  • Ulepszenia ułatwień dostępu w przypadku Material 3 DatePickerDateRangePicker. (I5087e)
  • Usunięto błąd polegający na tym, że ograniczenie maksymalnej wysokości jest rozpowszechniane i może spowodować awarię. (I30d8c)
  • Usunięto role semantyczne z klikalnych i wybieralnych powierzchni. Zaktualizowano komponenty, które używały tych ról, aby ustawiały role za pomocą modifier.semantics (I793d9).

Wersja 1.1.0-alpha06

8 lutego 2023 r.

androidx.compose.material3:material3:1.1.0-alpha06androidx.compose.material3:material3-window-size-class:1.1.0-alpha06 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 ModalBottomSheetModalBottomSheetDefaults. Wprowadza też elementy SheetState i rememberSheetState, 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, ListItemDefaultsListItemColors z wersji eksperymentalnej do wersji stabilnej (I7e7fa, b/261438882)
  • Przeniesienie interfejsów SliderPositions, SliderDefaults.ThumbSliderDefaults.Track do wersji stabilnej oraz dodanie nieeksperymentalnych interfejsów SliderRangeSlider, które zawierają niestandardowe miniatury i ścieżki. Wycofujemy też poprzednie interfejsy API SliderRangeSlider. (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 API PlainTooltipBox, aby nie zezwalać na wartość null dla parametru TooltipState. Teraz ma on wartość domyślną. (Ie2fb7)
  • Aby zachować spójność, ProgressIndicatorDefaults.circularTrackColor zostało oznaczone jako @Composable. (Id29cc)
  • Przywrócono metodę LocalMinimuTouchTargetEnforcement, która jest oznaczona jako wycofana i przekierowuje do LocalMinimumInteractiveComponentEnforcement. (I60dd5)

Wersja 1.1.0-alpha05

26 stycznia 2023 r.

androidx.compose.material3:material3:1.1.0-alpha05androidx.compose.material3:material3-window-size-class:1.1.0-alpha05 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

Wersja 1.1.0-alpha04

11 stycznia 2023 r.

androidx.compose.material3:material3:1.1.0-alpha04androidx.compose.material3:material3-window-size-class:1.1.0-alpha04 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 użytkownika kalendarza. Ten interfejs API jest nadal modyfikowany. (I722b9)
  • Dodaliśmy 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 zakończenia obrysu zarówno dla kółkowych, jak 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 na androidx.compose.foundation:1.4.0-alpha04 może wystąpić błąd java.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 biblioteki androidx.compose.materialandroidx.compose.material3 do najnowszej wersji(1.1.0-alpha04) lub obniż wersję biblioteki androidx.compose.foundation do 1.4.0-alpha03.

Wersja 1.1.0-alpha03

7 grudnia 2022 r.

androidx.compose.material3:material3:1.1.0-alpha03androidx.compose.material3:material3-window-size-class:1.1.0-alpha03 są dostępne. Wersja 1.1.0-alpha03 zawiera te commity.

Zmiany w interfejsie API

  • Zmieniliśmy nazwę consumedWindowInsets() na consumeWindowInsets(), a withConsumedWindowInsets() na onConsumedWindowInsetsChanged() 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 Scrollable 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 UICompose 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-alpha02androidx.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 awaitFirstDownwaitForUpOrCancellation obsługują teraz parametr PointerEventPass (poprawiono też problem z wyświetlaniem menu podczas przewijania w funkcji ExposedDropdownMenuBox).(I7579a, b/212091796)
  • Dodano parametr minLines do komponentów material i material3 Text, TextFieldOutlinedTextField, który umożliwia ustawienie minimalnej wysokości komponentu w ujęciu liczby wierszy (I4af1d).
  • wycofanie funkcji TopAppBarDefaults smallTopAppBarColors na rzecz nowej funkcji topAppBarColors, której należy używać podczas tworzenia funkcji TopAppBar; (Ie6cb9)
  • Dodano parametr minLines do BasicText i BasicTextField. 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 i IconToggleBotton do kształtu warstwy stanu komponentu (np. koła). (I9da8f)
  • Aktualizacja pasków aplikacji z Material3 o średniej i dużej wielkości, aby zastosować ten sam kolor tła na całej ich powierzchni, oraz umożliwić 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-alpha01androidx.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.1androidx.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.0androidx.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

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ącej WindowSizeClass.

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

Wersja 1.0.0-rc01

5 października 2022 r.

androidx.compose.material3:material3:1.0.0-rc01androidx.compose.material3:material3-window-size-class:1.0.0-rc01 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-beta03androidx.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 modyfikator Modifier.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 Material 3. (I645e2, b/245575782)

Wersja 1.0.0-beta02

7 września 2022 roku

androidx.compose.material3:material3:1.0.0-beta02androidx.compose.material3:material3-window-size-class:1.0.0-beta02 są dostępne. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Domyślne wstawki komponentów wprowadzone w komponentach m3 w wersji beta01 nie uwzględniają już wstawek IME.
  • Komponent 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-beta01androidx.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 paska 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 karty 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-alpha16androidx.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 NavigationBarNavigationRail, 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 BadgeBadgedBox 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 DividerMenuDefaultsTabDefaults (I4e33c)

Wersja 1.0.0-alpha15

27 lipca 2022 roku

androidx.compose.material3:material3:1.0.0-alpha15androidx.compose.material3:material3-window-size-class:1.0.0-alpha15 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 FilterChipElevatedFilterChip, które mają na celu usunięcie slotu selectedIcon i zachęcanie do ponownego używania interfejsu leadingIcon 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 ListItemDefaultsListItemColors jako eksperymentalne. (I1f3ec)
  • Zmiany w interfejsie API górnego paska aplikacji, które lepiej odzwierciedlają znaczenie właściwości stanu. Oznacz też interfejs API 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 funkcji Checkbox. (I5eefc)
  • Usunięto adnotację @ExperimentalMaterial3Api z funkcji RadioButton. (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 niektórychś elementów w próbkach 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-alpha14androidx.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 kolory FilterChip dla wybranego stanu wyłączonego. (I55244, b/235792432)
  • Dodaj BottomAppBar domyślny przycisk FAB (Ida4c8)
  • Dodano ColorScheme.surfaceColorAtElevation (Id41af)
  • Interfejsy w bibliotekach kompozytowych są teraz tworzone za pomocą domyślnych metod interfejsu w wersji JDK 8 (I5bcf1).
  • WindowWidthSizeClassWindowHeightSizeClass 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-alpha13androidx.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-alpha12androidx.compose.material3:material3-window-size-class:1.0.0-alpha12 są dostępne. Wersja 1.0.0-alpha12 zawiera te zatwierdzenia.

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-alpha11androidx.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 AssistChipInputChip (I0d25a)
  • Dodaje obsługę Material3 FilterChipSuggestionChip (I9fdf3)

Zmiany w interfejsie API

  • Zmieniono nazwę nakładki TextFieldDefaults.BorderStroke, która rysuje obrys w komponowalnym elemencie OutlinedTextField, na TextFieldDefaults.BorderBox. (I5f295)
  • Zmiany wizualne w 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 jest używane wewnętrzne wypełnienie (I72293, b/226951418)

Wersja 1.0.0-alpha10

20 kwietnia 2022 r.

androidx.compose.material3:material3:1.0.0-alpha10androidx.compose.material3:material3-window-size-class:1.0.0-alpha10 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 API WindowSizeClass. 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 BottomAppBar z FAB. (I92c47)
  • Dodaje Material3 FilledIconButton, FilledTonalIconButtonOutlinedIconButton. (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 wdrożyć 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 kopie PointerInputChange 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 polu tekstowym Materiał 3 zmieniliśmy nazwę parametru backgroundColor na containerColor. (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órny pasek. (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 (zwanych też „wyeksponowanymi menu rozwijanymi” lub „polem kombi”). (I1b832)
  • Dodano parametr shape do podsystemu MaterialTheme i Shape. (I37426)
  • Do ExtendedFloatingActionButton dodaliśmy parametr „expanded”, aby kontrolować, czy przycisk szybkiego dostępu ma być rozwinięty czy zwinięty, z animowanym przejściem 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

Zmiany w interfejsie API

  • Dodaj domyślny podział menu (I01374)
  • Do klasy ColorScheme dodano parametr koloru surfaceTint. (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 LazyVerticalGridLazyHorizontalGrid są teraz stabilne. (I307c0)
  • LazyVerticalGrid/LazyHorizontalGrid i wszystkie powiązane interfejsy API zostały przeniesione do podpakietu .grid. Zaktualizuj importy z androidx.compose.foundation.lazy 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. Funkcja ViewCompat.getWindowInsetsController została wycofana na rzecz funkcji WindowCompat.getInsetsController, aby zapewnić używanie odpowiedniego okna (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 PermanentNavigationDrawerDismissibleNavigationDrawer 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 na ModalNavigationDrawer (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 do FloatingActionButtonDefaults. (Ia71cf)
  • Naprawiono błąd dotyczący ukrytych przycisków AlertDialog, gdy dodano długi tekst za pomocą przycisku LazyColumn. (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 i Modifier.clickable(). (I211c6)
  • Dodano obsługę tłomienia dźwigni w przyciśniętym i wyróżnionym stanie. (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. Dzięki temu zmniejsza się liczba generowanych przez kompilator sprawdzeń zapamiętywania (równa) wszystkich parametrów, które są powtarzane w wezwanej 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 do MaterialTheme 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 zatwierdzenia.

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 z compose.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

Więcej informacji znajdziesz w sekcji Material Design 3 i Material You w przewodniku Styl Material w Compose.