Utwórz materiał 3

Twórz interfejsy użytkownika Jetpack Compose za pomocą komponentów Material Design 3, czyli nowej ewolucji Material Design. Material 3 zawiera zaktualizowane motywy i komponenty oraz funkcje personalizacji Material You, takie jak dynamiczny kolor. Został zaprojektowany tak, aby zachować spójność z nowym stylem wizualnym i interfejsem systemu Androida 12.
Najnowsza aktualizacja Wersja stabilna Kandydat do publikacji Wersja Beta Wersja alfa
20 marca 2024 r. 1.2.1 - - 1.3.0-alfa03

Struktura

Tworzenie stanowi połączenie 7 identyfikatorów grupy Maven w usłudze androidx. Każda grupa zawiera wybrany podzbiór funkcji z własnym zestawem informacji o wersjach.

W tej tabeli opisano grupy i linki do poszczególnych zestawów informacji o wersji.

GrupaOpis
compose.animation,Twórz animacje w aplikacjach Jetpack Compose, aby zwiększyć wygodę użytkowników.
compose.buildr,Przekształć funkcje @Composable i włącz optymalizacje za pomocą wtyczki kompilatora Kotlin.
compose.foundationPisz aplikacje Jetpack Compose, korzystając z gotowych elementów składowych i rozszerzaj podstawy do tworzenia własnych elementów systemu.
compose.material,Twórz interfejsy użytkownika Jetpack Compose z gotowymi do użycia komponentami Material Design. Jest to punkt wejścia wyższego poziomu Compose, zaprojektowany z myślą o dostarczaniu komponentów pasujących do tych opisanych na stronie www.material.io.
compose.material3,Twórz interfejsy użytkownika Jetpack Compose za pomocą komponentów Material Design 3, czyli nowej ewolucji Material Design. Material 3 zawiera zaktualizowane motywy i komponenty oraz funkcje personalizacji Material You, takie jak dynamiczny kolor. Został zaprojektowany tak, aby zachować spójność z nowym stylem wizualnym i interfejsem systemu Androida 12.
compose.runtime,Podstawowe elementy modelu programowania i zarządzania stanem w usłudze Compose, a także podstawowe środowisko wykonawcze, na które ma być kierowana wtyczka Compose Compiler.
compose.ui;Podstawowe komponenty interfejsu tworzenia wiadomości niezbędne do interakcji z urządzeniem, w tym układ, rysowanie i wprowadzanie tekstu.

Deklarowanie zależności

Aby dodać zależność od Compose, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.

W pliku build.gradle aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:

Odlotowy

dependencies {
    implementation "androidx.compose.material3:material3:1.2.1"
    implementation "androidx.compose.material3:material3-window-size-class:1.2.1"
    implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material3:material3:1.2.1")
    implementation("androidx.compose.material3:material3-window-size-class:1.2.1")
    implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.

Utwórz nowy numer

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

Compose Material3 Adaptive Navigation Suite w wersji 1.0

Wersja 1.0.0-alfa05

6 marca 2024 roku

Opublikowano androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha05 i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha05. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.

Zmiany w interfejsie API

Wersja 1.0.0-alfa04

21 lutego 2024 r.

Opublikowano androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha04, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha04 i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha04. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Zaktualizuj zależności adaptacyjne Material3 do nowych ścieżek modułów. (Ibc421)
  • Przejdź na korzystanie z klas rozmiarów okien w wersji Menedżera okien. (I3794d)

Wersja 1.0.0-alfa03

7 lutego 2024 r.

Opublikowano androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha03, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha03 i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Zmień nazwę pakietu na Navigationsuite z nawigacji-suite (I7eff7)
  • Komponenty Material3 ujawniające w interfejsie API obiekt MutableInteractionSource zostały zaktualizowane tak, aby ujawniać teraz wartość MutableInteractionSource z wartością null, która domyślnie ma wartość null. Nie ma tu żadnych zmian semantycznych: przekazanie wartości null oznacza, że nie chcesz przenosić obiektu MutableInteractionSource – w razie potrzeby zostanie on utworzony w komponencie. Zmiana na wartość null sprawi, że niektóre komponenty nigdy nie będą przydzielać elementu MutableInteractionSource, a inne komponenty będą mogły tylko leniwe tworzenie instancji, gdy będzie to konieczne, co zwiększy wydajność tych komponentów. Jeśli nie używasz obiektu MutableInteractionSource przekazywanego do tych komponentów, zalecamy przekazywanie zamiast niego wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (I41abb, b/298048146)

Wersja 1.0.0-alfa02

13 grudnia 2023 r.

Opublikowano androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02 i androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Nowe funkcje

Poprawki błędów

  • Napraw problem, który powoduje, że komponent nawigacji wypełnia cały ekran, gdy na powierzchni głównej występuje modifier.fillMaxSize. (c9cf250, b/312664933)

Wersja 1.0.0-alfa01

15 listopada 2023 r.

Aplikacja androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

Aplikacja Compose Material3 w wersji adaptacyjnej 1.0

Wersja 1.0.0-alfa06

7 lutego 2024 r.

Opublikowano androidx.compose.material3:material3-adaptive:1.0.0-alpha06, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha06 i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha06. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano dodatkowe opcje zachowania powrotu do poprzedniego elementu ThreePaneScaffoldNavigator. (I858aa)
  • Do historii nawigacji dodano opcjonalną treść miejsca docelowego. (Ibd7e6)

Wersja 1.0.0-alfa05

24 stycznia 2024 r.

Opublikowano androidx.compose.material3:material3-adaptive:1.0.0-alpha05, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha05 i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha05. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.

Nowe funkcje

  • Zwiększaj świadomość historii w nawigacji w scaffold i obliczaniu wartości (I71d46)

Wersja 1.0.0-alfa04

10 stycznia 2024 r.

Opublikowano androidx.compose.material3:material3-adaptive:1.0.0-alpha04, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha04 i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha04. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano obsługę od krawędzi do krawędzi na rusztach panelowych (I1b462)

Zmiany w interfejsie API

  • Właściwości granic zawiasów w usłudze Posture zostały przeniesione na listę informacji o zawiasie (I24f90)

Poprawki błędów

  • Poprawka AnimatedPane nie została utworzona ponownie (C3F573d)

Wersja 1.0.0-alfa03

13 grudnia 2023 r.

Opublikowano androidx.compose.material3:material3-adaptive:1.0.0-alpha03, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha03 i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Zmień role w scaffold na aliasy użytkownika ThreePaneScaffoldRole. (I65bd1)
  • Utwórz klasę bazową dla ról scaffold (I4784d)
  • Usuń zbędny parametr z treści AnimatedPane (Ibc73b)
  • Zmienia nazwę funkcji collectWindowSizeAsState i zamiast tego zwraca nieprzetworzone wartości (I480f4)

Wersja 1.0.0-alfa02

29 listopada 2023 r.

Opublikowano androidx.compose.material3:material3-adaptive:1.0.0-alpha02, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha02 i androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Podziel interfejsy API nawigacyjne na interfejs API adaptacyjnego scaffold. (Ic4045)
  • Usuń GutterSize zajęcia. (I785b3)

Poprawki błędów

  • Panele rozwiązywania problemów nie są przełączane, gdy nie jest używany język AnimatedPane (D88f181)

Wersja 1.0.0-alfa01

15 listopada 2023 r.

Aplikacja androidx.compose.material3:material3-adaptive:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

Interfejsy API warunków adaptacyjnych Material3:

Interfejsy API dyrektywy scaffold panelu adaptacyjnego Material3:

Interfejsy API środowiska adaptacyjnego Material3 panelu adaptacyjnego Material3:

Compose Material3 w wersji 1.3

Wersja 1.3.0-alfa03

20 marca 2024 r.

Aplikacja androidx.compose.material3:material3-*:1.3.0-alpha03 została zwolniona. Wersja 1.3.0-alpha03 zawiera te zatwierdzenia.

Istotne zmiany wizualne

  • Aby zapewnić wystarczający kontrast kolorów, zaktualizuj nakładkę stanu ostrości na 0,1f. (I7ea77)
  • Niewielkie zmiany domyślnych kolorów powierzchni i tła w lightColorScheme i darkColorScheme. (I9db52)

Nowe funkcje

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

Zmiany w interfejsie API

  • Flaga ScaffoldSubcomposeInMeasureFix została usunięta. (Ie2a4b).
  • Element NavigationRailItemColors jest teraz oznaczony jako @Immutable. (If6112, b/327660613)
  • Element NavigationBarItemColors jest teraz oznaczony jako @Immutable. (I42a30, b/298064514)
  • Zmiana kolejności parametrów w elemencie kompozycyjnym ścieżki suwaka. (I9f315)
  • Zasób ExposedDropdownMenu został zaimplementowany za pomocą metody Popup. Działanie powinno być takie samo, jednak podczas pisania na klawiaturze można zamknąć menu, które można zaznaczyć, oraz pola tekstowe z możliwością edytowania.

Poprawki błędów

  • Role bazowe kontenera Powierzchnia i Powierzchnia zostały nieco zmienione, aby dodać odcień w motywach jasnych i ciemnych. (I677a5)
  • Zaktualizowano kolory suwaka i ProgressIndicator, aby były zgodne z nowymi specyfikacjami dotyczącymi kontrastu innego niż tekst. (I26807)
  • Aby zapewnić wystarczający kontrast kolorów, zaktualizuj nakładkę stanu ostrości na 0,1f. (I7ea77)
  • Niewielkie zmiany domyślnych kolorów powierzchni i tła w lightColorScheme i darkColorScheme. (I9db52)

Wersja 1.3.0-alfa02

6 marca 2024 roku

Aplikacja androidx.compose.material3:material3-*:1.3.0-alpha02 została zwolniona. Wersja 1.3.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Ponownie ustawiam stabilny stan suwaka. Znowu zmieniam wartość State.onValueChangeFinished na wartość. Tworzę element onValueChangeFinished w elemencie rememberUpdatedState. (I82ab2, b/322269951)
  • Komponenty nawigacji korzystają teraz z nowych ról SurfaceContainer. DrawerDefaults ma teraz odrębne atrybuty standardContainerColor i modalContainerColor. DrawerDefaults.ModalDrawerElevation to teraz 0.dp. (I7fbac)
  • Usunięto: @Stable ze stanów Slider, ponieważ zmieniamy typ state.onValueChangeFinished na var. (Ied34a, b/322269951)
  • Specyfikacja animacji ModalBottomSheet i StandardBottomSheet to teraz TweenSpec, zaktualizowana na podstawie animacji sprężyny. Rozwiązuje to problem z widoczną nadmierną liczbą wyświetleń. Wycofane konstruktory SheetState bez gęstości zostały usunięte. (I7babc, b/285847707)

Poprawki błędów

  • Komponenty są teraz używane przez SurfaceContainer warianty. Komponenty, które formalnie obliczają kolor za pomocą pola Powierzchnia i TonalElevation, używają teraz domyślnie ról SurfaceContainer, na które nie ma wpływu wysokość tonalna. (b/304584161)
  • Naprawiono błąd, który powodował, że kolor kontenera ElevatedFilterChip nie był wybrany, a kontener był czarny. (I400e6, b/322407043)
  • Naprawianie nieokreślonego wskaźnika postępu, gdy postęp wynosi 0 (Id6582)
  • Naprawiono błąd Slider i RangeSlider w układzie od prawej do lewej (Iab0e1)
  • Dodano SliderRangeTolerance do obliczenia zakresu suwaka, ponieważ zaokrąglanie liczby zmiennoprzecinkowej może być niedokładne. (Ic918a, b/324934900)
  • Upewnij się, że element DatePickerDialog ma widoczne przyciski, gdy zagnieżdżasz element DateRangePicker lub wyświetlasz dowolny selektor daty na małych ekranach z większymi czcionkami. (Ie4758, b/325107799, b/277768544)
  • Menu wykorzystuje teraz rolę SurfaceContainer jako kolor kontenera. MenuDefaults.TonalElevation to teraz 0.dp. (I135b7)
  • TextField wykorzystuje teraz rolę SurfaceContainerHighest jako kolor kontenera. (i4dced).
  • Elementy podwyższone korzystają teraz z roli SurfaceContainerLow (I7cd2f)
  • Kolor kontenera DatePicker to teraz SurfaceContainerHigh. DatePickerDefaults.TonalElevation to teraz 0.dp. (Ida753).
  • Zmienia kolor kontenera dolnych arkuszy i kolor uchwytu. (I72a0a)
  • Kolor kontenera RichTooltip to teraz SurfaceContainer. (Ia8b45)
  • Kolor kontenera SearchBar to teraz SurfaceContainerHighest. SearchBarDefaults.TonalElevation to teraz 0.dp. (I88604)
  • Przełącznik aktualizacji jest wyłączony, a odznaczone ścieżki/ikony wykorzystują 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 użytkownika FilledCard (SurfaceContainerHighest). (I35141).
  • Kolor kontenera ElevatedButton to teraz SurfaceContainerLow. Elementy FilledIconButton, które nie są zaznaczone, mają teraz kolor kontenera SurfaceContainerHighest. (I792c9)
  • Zmienia rolę koloru kontenera i tarczy zegara w aplikacji TimePicker na SurfaceContainerHighest. (I43b93)

Wersja 1.3.0-alfa01

21 lutego 2024 r.

Aplikacja androidx.compose.material3:material3-*:1.3.0-alpha01 została zwolniona. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

  • Zaktualizuj aplikację Compose M3 ModalBottomSheet, aby obsługiwała funkcję przewidywania wstecznego w U+ (Iccf32, b/281967264, b/304850357)
  • Zaktualizowano funkcję tworzenia M3 SearchBar, aby obsługiwała funkcję przewidywania wstecznego w U+ (I657f8)
  • Zaktualizowano suwak, aby zwiększyć dostępność przez dodanie przerwy i wskaźnika zatrzymania. (I3058e)
  • Zaktualizowano ProgressIndicator, aby ułatwić dostęp przez dodanie przerwy i wskaźnika zatrzymania. (I21451).
  • Dodanie domyślnego kursora dla etykiet z elementami rozszerzonymi oraz nowy interfejs API Rich tooltip umożliwia teraz rysowanie niestandardowego kursora po zakotwiczeniu LayoutCoordinates. (Ifd42c)

Zmiany w działaniu

  • Komponenty materiałowe zostały przeniesione, aby korzystały z nowych interfejsów API Echa i nie wysyłają już zapytań dotyczących interfejsu RippleTheme.

Zmiany w interfejsie API

  • Zabawa z kategorii drawStopIndicator jest teraz dostępna publicznie. (I3f59f)
  • Oznacz funkcję formatWithSkeleton obiektu DatePicker jako funkcję wewnętrzną (Ic65dc)
  • DropdownMenu obsługuje teraz niestandardowy kolor, kształt, wysokość i obramowanie. (I8e981, b/289554448, b/301887035, b/283654243)
  • Komponenty Material3 ujawniające w interfejsie API obiekt MutableInteractionSource zostały zaktualizowane tak, aby ujawniać teraz wartość MutableInteractionSource z wartością null, która ma domyślną wartość null. Nie ma tu żadnych zmian semantycznych: przekazanie wartości null oznacza, że nie chcesz przenosić obiektu MutableInteractionSource – w razie potrzeby zostanie on utworzony w komponencie. Zmiana na wartość null sprawi, że niektóre komponenty nigdy nie będą przydzielać elementu MutableInteractionSource, a inne komponenty będą mogły tylko leniwe tworzenie instancji, gdy będzie to konieczne, co zwiększy wydajność tych komponentów. Jeśli nie używasz obiektu MutableInteractionSource przekazywanego do tych komponentów, zalecamy przekazywanie zamiast niego wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (I41abb, b/298048146)
  • Dodaje właściwości RippleConfiguration i LocalRippleConfiguration, aby umożliwić dostosowywanie echa w poszczególnych komponentach / poddrzewach za pomocą stałych wartości. Możesz na przykład zmienić kolor komponentu, nad którym nie masz kontroli, lub wyłączyć marszczenie komponentu. W większości przypadków należy użyć wartości domyślnych: te interfejsy API są funkcją wyjścia awaryjnego do dostosowywania poszczególnych komponentów lub ograniczonych poddrzew. W przypadku szerszych zmian i niestandardowych systemów projektowania stwórz własną fali za pomocą funkcji createRippleModifierNode. (I7b5d6, b/298048146)
  • Dodano nowy interfejs API Ripple w Material3, który zastępuje wycofany rememberRipple. Dodaje też tymczasowy element CompositionLocal (LocalUseFallbackRippleImplementation), który pozwala przywrócić komponenty material3 do wycofanych interfejsów API rememberRipple / RippleTheme. Zostanie ona usunięta w następnej stabilnej wersji. Ma być tymczasową pomoc przy migracji tylko w przypadkach, gdy udostępniasz niestandardowy RippleTheme. (I34cbc, b/298048146)

Poprawki błędów

  • Usunięto kompozycję podrzędną w elemencie ModalBottomSheet, aby poprawić wydajność. Naprawiono błąd, który powodował awarię ModalBottomSheet w określonych scenariuszach w połączeniu z polem LookaheadScope. (I2a198)
  • Usunięto kompozycję podrzędną w elemencie BottomSheetScaffold, aby poprawić wydajność. Naprawiono błąd, który powodował awarię BottomSheetScaffold w określonych sytuacjach w połączeniu z atrybutem LookaheadScope. (Ie6401)
  • Wyrównanie plakietki zostało ustawione tak, aby znajdowały się bliżej środka treści kotwicy względem prawego górnego rogu. (I18a28)
  • Naprawiono problem z DateRangePicker, który powodował, że tytuł tekstowy miesiąca roku był przekazywany użytkownikom czytników ekranu oraz użytkowników Switch Access i Voice Access jako praktyczny. (I2ac55)
  • Naprawiliśmy błąd związany z kolejnością parametrów w mediumTopAppBarColors. (Ibe64a)

Wersja 1.2

Wersja 1.2.1

6 marca 2024 roku

Aplikacja androidx.compose.material3:material3-*:1.2.1 została zwolniona. Wersja 1.2.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Ponownie ustaw stabilny stan suwaka. Znowu zmieniam wartość State.onValueChangeFinished na wartość. Tworzę element onValueChangeFinished w elemencie rememberUpdatedState. (Ie8fd0, b/322269951)
  • Usunięto: @Stable ze stanów Slider, ponieważ zmieniamy typ state.onValueChangeFinished na var. (I82ba1, b/322269951)
  • Popraw NavigationBar kolorów niestandardowych, aby skopiować je z wartości domyślnych. (80a779, b/326894020)
  • Popraw regresję w obiekcie ExposedDropdownMenu, aby z powrotem można go było zaznaczyć (3fcec1, b/323694447)
  • Rozwiąż problem z buforowaniem koloru przycisku (3e5bbcb/327371655)

Wersja 1.2.0

7 lutego 2024 r.

Aplikacja androidx.compose.material3:material3-*:1.2.0 została zwolniona. Wersja 1.2.0 zawiera te zatwierdzenia.

Znany problem

  • W ramach zmiany w wydajności w PrimaryTabRow został wprowadzony błąd renderowania w interfejsie View-Compose. Obejściem problemu jest użycie TabRow z TabRowDefaults.PrimaryIndicator

Ważne zmiany od wersji 1.1.0

Nowe komponenty Material Design 3

Ulepszenia dotychczasowych komponentów Material Design 3.

Eksperymentalne interfejsy API zostały zmienione na stabilne.

Ulepszenia wydajności

Wersja 1.2.0-rc01

24 stycznia 2024 r.

Aplikacja androidx.compose.material3:material3-*:1.2.0-rc01 została zwolniona. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiliśmy błąd związany z kolejnością parametrów w mediumTopAppBarColors. (Ibe64a)
  • Naprawiliśmy błąd występujący w funkcji 1.2.0-beta02 w interfejsie CardDefaults.cardColors, który nie aktualizował contentColor na podstawie wartości parametru containerColor. (Iee041, b/319671246)
  • Naprawiliśmy błąd w disabledContentColor w 1.2.0-beta02 i dodaliśmy niewielką optymalizację. (I6dda1, b/318428829)

Wersja 1.2.0-beta02

10 stycznia 2024 r.

Aplikacja androidx.compose.material3:material3-*:1.2.0-beta02 została zwolniona. Wersja 1.2.0-beta02 zawiera te zatwierdzenia.

Znany błąd

  • Błąd w IconButtonColors domyślnie przypisze wartość disabledContentColor do wersji alfa (0.38f) parametru LocalContentColor, a nie użytkownika contentColor określonego przez użytkownika. Aby obejść ten problem, musisz bezpośrednio ustawić disabledContentColor. Naprawimy to w następnej wersji.

Zmiany w interfejsie API

  • Dodano możliwość włączenia kursorów etykietek dla interfejsów API typu plain Tooltip. (Ibf767)
  • Nazwy SwipeToDismissState, rememberSwipeToDismiss i SwipeToDismissValue zostały zmienione na _SwipeToDismissBox_. (I68d6d)

Poprawki błędów

  • Poprawiono wartość dopełnienia końcowego ListItem, aby dopasować ją do specyfikacji (Ibd68b, b/305342674).
  • Kolor konturu karty jest teraz prawidłowo zmapowany na kolor OutlineVariant. (I75480, b/310979715)
  • Kolory dynamiczne są teraz pobierane z ról kolorów zdefiniowanych przez system. Zwiększa to kontrast dostępnych treści i pozwala lepiej dopasować kolor dynamiczny do specyfikacji Material (I1de96).
  • Naprawiono obsługę wsteczną ModalBottomSheet w Androidzie T/13 i nowszych, gdy android:enableOnBackInvokedCallback="true". (I728dc, b/306196110)

Wersja 1.2.0-beta01

13 grudnia 2023 r.

Aplikacja androidx.compose.material3:material3-*:1.2.0-beta01 została zwolniona. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Oznacz TabIndicatorScope jako eksperyment. (I45c88)
  • Usuwanie wycofanych, eksperymentalnych interfejsów API dla etykietki. (I438cb)
  • Zmień nowe przeciążenia TabRow, aby nie używać kompozycji podrzędnych. W ten sposób tworzy się wskaźniki TabRow z niestandardowymi modyfikatorami w inny sposób. (Ife741)
  • Wycofuj interfejsy API DismissDirection i DismissValue. Zostały one scalone z elementem SwipeToDismissValue, którego wartości wskazują zarówno pozycję, jak i kierunek elementu SwipeToDismissBox. Pole DismissState.progress jest teraz oznaczone jako FloatRange między 0.0 a 1.0. Wycofane narzędzia Oszczędzanie i Konstruktor (DismissState) zostały usunięte. Komponent, stan i obiekt wartości domyślnych SwipeToDismiss zostały oznaczone jako eksperymentalne. (Ib54f2)

Poprawki błędów

  • Domyślnym wskaźnikiem dla elementu PullToRefresh jest teraz otwarty grot strzałki, a nie pełny trójkąt. (I67be3)

Wersja 1.2.0-alfa12

29 listopada 2023 r.

Aplikacja androidx.compose.material3:material3-*:1.2.0-alpha12 została zwolniona. Wersja 1.2.0-alpha12 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • RangeSlider przyjmuje teraz zakres Kotlin (np. 0f..1f), zamiast niestandardowej klasy wartości FloatRange. SnapFlingBehavior.kt używa teraz również zakresu Kotlin. (I025cb)
  • Oznacz funkcje fabryki modyfikatorów jako @Stable. (Ib109f)

Wersja 1.2.0-alfa11

15 listopada 2023 r.

Aplikacja androidx.compose.material3:material3-*:1.2.0-alpha11 została zwolniona. Wersja 1.2.0-alpha11 zawiera te zatwierdzenia.

Nowe funkcje

  • Implementacja PullToRefreshContainer i PullToRefreshState, które razem umożliwiają odświeżanie implementacji w Material3. (I16456, b/261760718)

Zmiany w interfejsie API

  • Oznacz SwipeToDismissBox DismissDirection i DismissValue jako eksperymentalne. (I517b0)
  • Zmień nazwę społeczności SwipeToDismiss na SwipeToDismissBox. Zmień nazwę funkcji background na backgroundContent i dismissContent na końcową funkcję content lambda. (I7f4d3)
  • Ustaw konstruktor ChipElevation i SelectableChipElevation jako publiczny. (Ie0c48, b/308432421)
  • Dodaję ModalBottomSheetProperties. Przenoszę zasób securePolicy do folderu ModalBottomSheetProperties. Dodaję użytkowników isFocusable i shouldDismissOnBackPress do domu ModalBottomSheetProperties. Te nowe wartości logiczne pomagają określić, jak modalna plansza dolna powinna obsługiwać zdarzenia IME. (Iea56f, b/278216859)
  • Zaktualizowano stany RangeSlider i Slider, aby usunąć initialOnValueChange, początkowe prefiksy i odpowiednie pliki kdocs. (I57d30)
  • Wycofaj klasę ChipBorder i powiązane z nią wywołania funkcji. Zamiast niej zalecamy bezpośrednie użycie klasy BorderStroke. (I89cc2)
  • Interfejsy API etykiet podstawowych to teraz @ExperimentalFoundationApi. (I30b0b)
  • Metody TabRow i ScrollableTabRow nie są już wycofane. Nowe warianty główne i dodatkowe są oznaczone jako eksperymentalne. (I0def6)
  • Filtry i elementy wejściowe korzystają teraz bezpośrednio z elementu BorderStroke. (I07a8d)
  • SegmentedButton używa teraz bezpośrednio interfejsu BorderStroke. (I89b9b)
  • Zmieniliśmy nazwę ogólnej funkcji AlertDialog na BasicAlertDialog i wycofano poprzednią. (Idbe52).
  • Zmień nazwy interfejsów API SwipeToDismiss na SwipeDismiss i promuj nowe interfejsy API SwipeDismiss do wersji stabilnej. (I14cbe)
  • Dodaję tonalElevation i shadowElevation do interfejsów API etykietek. Dodatkowo przeniesiemy interfejsy API TooltipBox, PlainTooltip i RichTooltip do wersji eksperymentalnej, ponieważ zostały one przypadkowo udostępnione jako stabilne. (If0f66, b/293939035)
  • Zmień eksperymentalne interfejsy API z elementami na stabilne. (Iea2c3)
  • Usunęliśmy adnotację @ExperimentalMaterial3Api z kart Material3, które można kliknąć. (I88dbf)

Poprawki błędów

  • Naprawiono błąd, który powodował awarię usługi SwipeToDismiss w niektórych scenariuszach z zagnieżdżonymi układami Lookahead i Leni. (Ica8d1, b/297226562)

Wersja 1.2.0-alfa10

18 października 2023 r.

Aplikacja androidx.compose.material3:material3-*:1.2.0-alpha10 została zwolniona. Wersja 1.2.0-alpha10 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Awansuję wersje Badge i BadgedBox do wersji stabilnej. (I67f16, b/261565132)
  • Dodano securePolicy jako parametr do ModalBottomSheet, aby użytkownicy mogli definiować działanie WindowManager.LayoutParams.FLAG_SECURE. (Icdac8, b/296250262)
  • Dodano nowe przeciążenia procesów LinearProgressIndicator i CircularProgressIndicator, które wykorzystują progress jako lambda. Powinny one działać wydajniej niż poprzednie wersje. (I824e6, b/295616656)
  • Zmienia nazwę StandardSizeClasses na AllSizeClasses. (I8cb07)
  • Połącz funkcje obliczeniowe klas rozmiaru okna. (Iad935)

Poprawki błędów

  • Naprawa awarii usługi DatePicker podczas szybkiego klikania przycisków strzałek nawigacyjnych, gdy wyświetlany miesiąc jest na granicy dozwolonej liczby lat. (I46f36, b/290954897, b/297002119)
  • [Kolejka nawigacyjny/pasek] Obsługa przezroczystego koloru wskaźnika. (Ie0a9b, b/267289987)

Wersja 1.2.0-alfa09

4 października 2023 r.

Aplikacja androidx.compose.material3:material3-*:1.2.0-alpha09 została zwolniona. Wersja 1.2.0-alpha09 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • ModalNavigationDrawer i DismissibleNavigationDrawer zostały przeniesione, aby można było używać nowych interfejsów API AnchoredDraggable. Pole animateTo klasy DrawerState zostało zastąpione metodami otwierania i zamykania, a przesunięcie jest teraz widoczne w postaci liczby zmiennoprzecinkowej, a nie obiektu stanu. Dostęp do przesunięcia możesz uzyskać bezpośrednio na stronie currentOffset. (I0a72c)
  • Aby umożliwić bezpośrednie utworzenie DatePickerState i DateRangePickerState, dodano funkcje inne niż kompozycyjne. W razie potrzeby można ich używać jako alternatywy dla funkcji rememberDatePickerState i rememberDateRangePickerState funkcji kompozycyjnej. (I70326, b/291524052)
  • Poprawione i przewijane elementy TabRows mają teraz wersje główne i dodatkowe. Mają one odpowiednie odzwierciedlenie w zachowaniu kolorów i wskaźników zgodnie z definicją w Material3.
  • Aplikacje PrimaryScrollableTabRow i SecondaryScrollableTabRow pokazują teraz stan przewijania. (Iec8f5, b/260572337)
  • Dodaliśmy nowy parametr sheetMaxWidth, który programiści mogą ustawić, aby określić maksymalną szerokość rozpiętości arkusza. Dp.Nieokreślone można przekazać w parametrze, jeśli potrzebny jest arkusz rozciągający się na całą szerokość ekranu. (Ifb7c9, b/266697696)
  • Dodaję z powrotem interfejsy API PlainTooltipBox i RichTooltipBox jako wycofane metody. (I246fa)

Poprawki błędów

  • Naprawa awarii, gdy DatePicker został zainicjowany przy użyciu klucza DatePickerFormatter, który ma określone szkielety daty, które pozostają nienaruszone po przekonwertowaniu na wzorce daty (np. YY). (I01f29)

Wersja 1.2.0-alfa08

20 września 2023 r.

Aplikacja androidx.compose.material3:material3-*:1.2.0-alpha08 została zwolniona. Wersja 1.2.0-alpha08 zawiera te zatwierdzenia.

Zmiana w związku z naruszeniem zachowania

  • ColorScheme jest teraz niezmienny, dzięki czemu poszczególne zmiany kolorów są mniej efektywne, ale bardziej efektywne używanie kolorów jest bardziej wydajne. Powodem tej zmiany jest to, że w przypadku większości aplikacji nie trzeba aktualizować poszczególnych kolorów. Nadal jest to możliwe, ale spowoduje ponowne utworzenie większej liczby subskrypcji niż do tej pory. To z kolei znacznie zmniejszymy liczbę subskrypcji stanowych w całym kodzie Material Design, co wpłynie na inicjowanie i koszty środowiska wykonawczego w przypadku bardziej standardowych przypadków użycia. (Ic447d, b/297212873)
  • Wzniesienie tonalne nie jest już animowane w różnych stanach interakcji w celu dopasowania do specyfikacji (Icdd12).

Zmiany w interfejsie API

  • Dodano nowy element BottomAppBar, który przyjmuje jako parametr BottomAppBarScrollBehavior, aby automatycznie ukrywać go podczas przewijania treści. Dodano również element FabPosition.EndOverlay, który umożliwia nałożenie przycisku typu FAB na dolny pasek aplikacji w ramach rusztowania zamiast być zakotwiczony nad nim. (Iecb47).
  • Dodaliśmy prosty komponent Etykieta, który tworzy się na podstawie elementu BasicTooltipBox. Nie można go zamknąć, gdy użytkownik kliknie poza granicami etykiety. (I821f9)

Poprawki błędów

  • Usunięto możliwość używania etykiety rememberSaveable na potrzeby etykietek. (Icc131, b/299500338)
  • Wprowadziliśmy tymczasową flagę, która określa, czy narzędzie Scaffold ma dokonywać pomiarów elementów podrzędnych podczas pomiaru czy w trakcie umieszczania urządzenia. Domyślnie będzie to mierzone w pomiarach. Jeśli masz problemy z nowym działaniem, zgłoś nam to. (I0b354)
  • Naprawiliśmy pomiar od krawędzi do krawędzi w poziomie w BottomSheet w celu korzystania z prawidłowego pomiaru szerokości ekranu urządzenia. (I1df0c, b/299058752)
  • Naprawiono błąd, który powodował, że aplikacja ModalBottomSheet nie wywoływała funkcji onDismissedRequest podczas zamykania arkusza przez przesunięcie palcem w dół. (Idfdd8)

Wersja 1.2.0-alfa07

6 września 2023 r.

Aplikacja androidx.compose.material3:material3-*:1.2.0-alpha07 została zwolniona. Wersja 1.2.0-alpha07 zawiera te zatwierdzenia.

Nowe funkcje

  • W compose material 1.6.0-alpha05 dodaliśmy obsługę ikon automatycznego tworzenia odbicia lustrzanego. Szczegółowe informacje o ikonach tej funkcji znajdziesz w informacjach o wersji.

Zmiany w interfejsie API

  • SliderState implementuje DraggableState (I9b116)
  • Zmień kształt na wymagany. Zmień nazwę position na index w funkcji pomocniczej kształtu. (I34941)
  • Aktualizuje formatWithSkeleton w DatePicker, aby uwzględnić mapę, która służy jako pamięć podręczna w celu zwiększenia wydajności. (I3195f)
  • Dodano element BasicTooltipBox do aplikacji compose.foundation oraz zaktualizowano PlainTooltipBox i RichTooltipBox, aby używać elementu TooltipBox z nowymi elementami kompozycyjnymi PlainTooltip i RichTooltip. (I79e1d)

Poprawki błędów

  • dynamicLightColorScheme i dynamicDarkColorScheme zwracają teraz wyższe kolory kolorów powierzchni i ról surfaceContainer. (I5e901)
  • Rozwiązaliśmy problem, który powodował, że niektóre komponenty korzystające z kompozycji podrzędnej (np. BottomSheetScaffold) w scaffold w LookaheadScope próbowały zbyt wcześnie odczytać ich rozmiar. (I297b4, I871f1, b/295536718)

Wersja 1.2.0-alfa06

23 sierpnia 2023 r.

Aplikacja androidx.compose.material3:material3-*:1.2.0-alpha06 została zwolniona. Wersja 1.2.0-alpha06 zawiera te zatwierdzenia.

Poprawki błędów

  • Poprawiono obliczanie wartości offset w funkcji DropdownMenu, więc przesunięcia X zależą wyłącznie od kierunku układu lokalnego. Odsunięcia Y nie są już odwracane, gdy menu znajduje się u dołu ekranu. (Iccc74, b/294103942)
  • Poprawiono obliczanie wartości offset w funkcji DropdownMenu, więc przesunięcia X zależą wyłącznie od kierunku układu lokalnego. Odsunięcia Y nie są już odwracane, gdy menu znajduje się u dołu ekranu. (Ib87a2, b/294103942)

Wersja 1.2.0-alfa05

9 sierpnia 2023 r.

Aplikacja androidx.compose.material3:material3-*:1.2.0-alpha05 została zwolniona. Wersja 1.2.0-alpha05 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Zmiany kolorów pola wyboru i TriStateCheckbox. Pole CheckboxDefaults.colors() disabledUncheckedColor wpływa teraz tylko na obramowanie pola wyboru. Szczególne przypadki, które wymagają ustawienia wewnętrznego koloru pola, gdy ta opcja jest wyłączona lub odznaczona, wymaga utworzenia niestandardowego wystąpienia elementu CheckboxColors z odpowiednimi wartościami koloru. (I77d17, b/291943198)

Wersja 1.2.0-alfa04

26 lipca 2023 r.

Aplikacja androidx.compose.material3:material3-*:1.2.0-alpha04 została zwolniona. Wersja 1.2.0-alpha04 zawiera te zatwierdzenia.

Nowe funkcje

  • Eksperymentalny interfejs API Segmented Button (Ifc8fb)
  • Rozdzielacze mają teraz parametr, za pomocą którego można kontrolować orientację pionową. (I4c899, b/288438593)

Zmiany w interfejsie API

  • Przenosimy zależność gęstości do poziomu komponentu. Dotyczy to tych komponentów: SwipeToDismiss i komponentów opartych na arkuszu. Użyj nowego przeciążenia, w którym gęstość jest parametrem. (I1846e)
  • Dodatkowe adnotacje do określania dozwolonych danych wejściowych w obiektach kompozycyjnych (Ief234)
  • Dodaj parametr ikony do podzielonego na segmenty przycisku z semantyką podziału, aby umożliwić wybór podzielonych przycisków, aby umożliwić ich wybór w celu wdrożenia jednokrotnego wyboru, i przełączanie w celu implementacji wielokrotnego wyboru (odpowiednio SelectableSegmentedButtonRow i ToggelableSegmentedButtonRow). (I38740)
  • Nazwa separatora została zmieniona na HorizontalDivider. Dodano funkcję VerticalDivider. (I5975c)
  • Zmień wykorzystanie ClosedFloatingPointRange jako lżejszego elementu FloatRange w eksperymentalnych interfejsach API Material3, aby zminimalizować autoboxing. (I4aab5)
  • Dodano nowe wyrównanie początkowe dla zakresu FabPosition (Ib7aea, b/170592777)

Poprawki błędów

Wersja 1.2.0-alfa03

21 czerwca 2023 r.

Aplikacja androidx.compose.material3:material3-*:1.2.0-alpha03 została zwolniona. Wersja 1.2.0-alpha03 zawiera te zatwierdzenia.

Zmiany w działaniu

  • includeFontPadding domyślnie jest teraz ustawiony jako false w typografii Material 3. Domyślny styl wysokości wiersza również został zmieniony na Trim.None i Alignment.Center, a jawny styl lineHeight (w sp) został dodany do parametru TextStyle w kolumnie Typography. Jeśli chcesz dostosować te wartości, zapoznaj się z dokumentacją interfejsu API i przeczytaj posta na blogu, w którym znajdziesz szczegółowe objaśnienie tych zmian. (I6266f, Icabc3)

Nowe funkcje

  • Dodano przeciążenie w elemencie RangeSlider, który jest wersją stanową komponentu. Utworzono tabelę RangeSliderState, która zawiera wszystkie informacje o bieżącej aktywnej ścieżce, pomiary komponentów ścieżki RangeSlider oraz funkcje przeciągania i gestów. (I8c270)
  • Pasek wyszukiwania obsługuje teraz cienie za pomocą nowo dodanego parametru shadowElevation. (Ia5369, b/271040353)
  • ColorScheme obsługuje teraz nowe role SurfaceContainer.
  • Nakładka wysokości tonacji powierzchni można teraz wyłączyć przy użyciu lokalnej kompozycji LocalTonalElevationEnabled. (Ic203c, b/277774590)

Zmiany w interfejsie API

  • Otwórz konstruktory kolorów komponentu. (I8c4a6)
  • Dodano parametr możliwy do zaznaczenia do obu interfejsów API etykiet, aby deweloperzy mogli skonfigurować etykietkę do obsługi zdarzeń dotyku. Uważaj, bo może to zakłócić automatyczne poruszanie się po funkcjach ułatwień dostępu. (Ie32d8)
  • Zoptymalizowane ułatwienia dostępu pod kątem wydajności i przydziału 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 Scaffold respektuje teraz wstawione elementy wykorzystane w oknach. Zwróć uwagę, że po podaniu tych parametrów zachowanie dopełnienia treści na podstawie parametrów topBar i bottomBar pozostaje bez zmian. (I08b73, b/264601542)
  • Popraw wyrównanie środkowego paska aplikacji u góry, by długi tytuł nie wyświetlał się nad ikonami działań lub ikoną nawigacji. (I4369f, b/236994621)
  • Pozycje kart wymagają teraz minimalnej szerokości treści wynoszącej 24 dp. Zapewnia to dostępny docelowy element dotykowy dla wskaźników karty. (Id8861)
  • Dynamiczne palety kolorów z dynamicLightColorScheme i dynamicDarkColorScheme obsługują teraz nowe role powierzchni. (I1252e)
  • Aktualizacja wyrównania powiadomień plakietki tak, aby nie przycinały się w przypadku konfliktu z pradziadkami. (Idf75a).

Wersja 1.2.0-alfa02

24 maja 2023 r.

Aplikacja androidx.compose.material3:material3-*:1.2.0-alpha02 została zwolniona. Wersja 1.2.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodaj do ModalBottomSheet parametr wcięcia okien.
    • Baza dla wskaźnika ModalBottomSheet może być teraz rysowana za paskiem stanu, gdzie wartość windowInsets jest ustawiona na 0
    • Zaktualizowano domyślną funkcję ModalBottomSheet, aby pozostawała poza paskami systemu, w tym z nawigacją
    • Obsługa wstawiania paska stanu od krawędzi do krawędzi zapewnia uchwyt przeciągania.
    • BottomSheetDefaults uwzględnia wstawienia okien dla: BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/26148, b/26148
  • Wycofaj obsługę Indicator i dodaj Primary/SecondaryIndicator, aby zapewnić zgodność ze specyfikacją M3. PrimaryIndicator odpowiada szerokości zawartości karty, a SecondaryIndicator obejmuje całą dostępną szerokość. SecondaryIndicator jest odpowiednikiem wycofanej już Indicator i może być bezpośrednim zamiennikiem. (I27604)
  • Dodano opcję przekazywania elementu ScrollState podczas tworzenia elementu DropdownMenu lub ExposedDropdownMenu do kontrolowania stanu przewijania w pionie wyświetlanych pozycji menu. (Ia0734, b/185304441)
  • Dodano przeciążenie w elemencie Slider, który jest wersją stanową komponentu. Utworzono tabelę SliderState, która zawiera wszystkie informacje o bieżącej aktywnej ścieżce, pomiary komponentów ścieżki Slider oraz funkcje przeciągania i gestów. (I124a5)
  • Zmiana nazwy właściwości semantycznej isContainer na isTraversalGroup (I121f6)
  • Dodano zoptymalizowane parametry TextStyle.merge(...) z pełną listą parametrów. (Iad234, b/246961787)
  • Utworzono interfejsy publiczne w TooltipState, RichTooltipState i PlainTooltipState. Dodano RichTooltipStateImpl i PlainTooltipStateImpl dla stanów domyślnych. Dodano funkcje remember*State, aby uzyskać te zaimplementowane stany. Usunięto: TooltipSync na rzecz: TooltipDefault.GlobalMutatorMutex. (I7813d)
  • Zaktualizowano DatePickerColors, aby uwzględnić dodatkowe opcje dostosowania kolorów separatora selektora daty, nawigacji i kolorów pól wprowadzania tekstu. (I1a685, b/274626815)
  • DatePickerState i DateRangePickerState są teraz interfejsami publicznymi z implementacjami domyślnymi, które mogą być pobierane przez rememberDatePickerState i rememberDateRangePickerState. (I71c52)
  • Usunięto dateValidator z DatePicker i DateRangePicker oraz wprowadziliśmy interfejs SelectableDates, w którym można ustawić stan, aby określić, jakie daty lub lata można wybrać w interfejsie. (Ic2fc6)
  • Usunięto TimePicker ze stabilnego interfejsu API; należy spodziewać się dalszych zmian w interfejsie API stanu (I3f39a)
  • Aplikacja ModalBottomSheet została przeniesiona tylko na Androida. Aplikacja ModalBottomSheet nie jest zalecana na komputery, a funkcja ta nie jest aktywnie obsługiwana. (Ib3778)

Poprawki błędów

  • Naprawiono działanie odrzucenia AlertDialog, które było wyświetlane pod działaniem potwierdzenia, gdy działania były nakładane na siebie, aby zmieściły się w szerokości okna. Ta poprawka dostosowuje implementację do specyfikacji Material Design (I029de, b/235454277).
  • Poprawiono błąd w ListItem obejmującym nieprawidłowe dopełnienie w elementach 3-wierszowych. (I6e235)
  • ModalBottomSheet może teraz wyświetlać klawiaturę IME (Idc508, b/262140644, b/268380384, b/272483584)

Wersja 1.2.0-alfa01

10 maja 2023 r.

Opublikowano androidx.compose.material3:material3:1.2.0-alpha01 i androidx.compose.material3:material3-window-size-class:1.2.0-alpha01. Wersja 1.2.0-alpha01 zawiera te zatwierdzenia.

Wersja 1.1

Wersja 1.1.2

20 września 2023 r.

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

Poprawki błędów

  • Naprawiony modyfikator nieprawidłowo przekazywany do dwóch funkcji kompozycyjnych. (b/282761472)
  • Poprawiono funkcję TimePickerState zwraca nieprawidłowe godziny po zainicjowaniu na podstawie 23 godzin. (b/278242122)
  • Poprawiono początkowy stan przełączania weryfikacji w południe i minutę. (b/269768197, b/282790635)
  • Poprawiono zwracanie nieprawidłowej wartości dla godziny 23:00 przez funkcję state.hour. (b/282761472, b/278242122)

Wersja 1.1.1

21 czerwca 2023 r.

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

Poprawki błędów

  • Dodaje wywołanie funkcji ModalBottomSheet bez parametru windowInset na potrzeby zgodności plików binarnych. (Ib7959)
  • Dodaj do ModalBottomSheet parametr wcięcia okien.
    • Baza dla wskaźnika ModalBottomSheet może być teraz rysowana za paskiem stanu, gdzie wartość windowInsets jest ustawiona na 0
    • Zaktualizowano domyślną funkcję ModalBottomSheet, aby pozostawała poza paskami systemu, w tym z nawigacją
    • Obsługa wstawiania paska stanu od krawędzi do krawędzi zapewnia uchwyt przeciągania.
    • BottomSheetDefaults uwzględnia wstawienia okien dla: BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/26148, b/26148

Wersja 1.1.0

10 maja 2023 r.

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

Główne funkcje wersji 1.1.0

Nowe komponenty Material Design 3

Ulepszenia dotychczasowych komponentów Material Design 3.

Eksperymentalne interfejsy API zostały zmienione na stabilne.

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

Wersja 1.1.0-rc01

19 kwietnia 2023 r.

Opublikowano androidx.compose.material3:material3:1.1.0-rc01 i androidx.compose.material3:material3-window-size-class:1.1.0-rc01. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Usunięto TimePicker ze stabilnego interfejsu API; należy spodziewać się dalszych zmian w interfejsie API stanu (I3f39a)
  • Aplikacja ModalBottomSheet została przeniesiona tylko na Androida. Aplikacja ModalBottomSheet nie jest zalecana na komputery, a funkcja ta nie jest aktywnie obsługiwana. (Ib3778)

Wersja 1.1.0-beta02

5 kwietnia 2023 r.

Opublikowano androidx.compose.material3:material3:1.1.0-beta02 i androidx.compose.material3:material3-window-size-class:1.1.0-beta02. Wersja 1.1.0-beta02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • SheetState ma teraz opcjonalny parametr skipHiddenState
  • rememberStandardBottomSheetState ma teraz opcjonalny parametr skipHiddenState
  • BottomSheetScaffold ma teraz zdefiniowaną ukrytą kotwicę, ale jest domyślnie wyłączona
  • Dokumentacja SheetState.requireOffset została zaktualizowana
  • Nazwa BottomSheetDefaults.MinimizedShape została zmieniona na BottomSheetDefaults.HiddenShape (I839f4, b/273870234)

Poprawki błędów

  • Nie przełączaj tarczy z godziną na minutę, gdy włączona jest funkcja czytania dotykiem. (I717d0)
  • Semantyka uchwytu przeciągania ModalBottomSheet i BottomSheetScaffold została scalona. (I05afb)
  • Modyfikator BottomSheetScaffold, parametry containerColor i contentColor mają teraz wpływ tylko na treść. (I992cb)
  • Funkcja BottomSheetScaffold nestedScroll w zawartości arkusza zawiera teraz rzuty. (I992cb)

Wersja 1.1.0-beta01

22 marca 2023 r.

Opublikowano androidx.compose.material3:material3:1.1.0-beta01 i androidx.compose.material3:material3-window-size-class:1.1.0-beta01. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodaj parametr typu układu do funkcji TimePicker kompozycyjnej. Umożliwia użycie różnych układów w zależności od konfiguracji ekranu (Ia0e16).
  • Projekt SearchBarDefaults został oznaczony jako eksperyment. (I65561)
  • Dodano wysokość cienia w: BottomSheetScaffold (I94e0f)
  • Dodaliśmy obsługę wyświetlania selektora daty bez części nagłówka. Interfejs API zmienia się, aby umożliwić przekazywanie nagłówka o wartości null podczas tworzenia selektora daty. Aby wyświetlić selektor bez interfejsu graficznego, możesz teraz przekazywać wartość null nagłówka, tytułu i elementu showToggleMode = false. (Id3f3a, b/266132421, b/267194809)

Poprawki błędów

  • Paski wyszukiwania są teraz automatycznie usuwane po wyłączeniu. (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 poprawnie ustawiają teraz swoje elementy tekstowe, gdy rozmiar czcionki jest mniejszy niż oczekiwany. Może to spowodować zmianę kilku pikseli w aplikacjach w zależności od ustawień czcionki i skryptu. (I8b8d0)
  • Działania semantyczne dolnej planszy mają teraz etykiety. (I277b0)

Wersja 1.1.0-alfa08

8 marca 2023 r.

Opublikowano androidx.compose.material3:material3:1.1.0-alpha08 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha08. Wersja 1.1.0-alpha08 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano obsługę systemów BottomSheetScaffold i BottomSheetScaffoldState. (I063d4)

Zmiany w interfejsie API

  • Do ustawień DatePickerState i DateRangePickerState dodano funkcje umożliwiające ustawianie dat po początkowym utworzeniu stanu, a także resetowanie wyboru przez ustawianie sygnatur czasowych o wartości null. Ręczne ustawianie dat należy robić z rozwagą. Jeśli podana data nie spełni warunku wstępnego, nowa funkcja setSelection zgłosi wyjątek (zobacz dokumentację). (Ifa645, b/268609314, b/270427389)
  • Zmień nazwę zwiniętego komponentu SheetValue na PartiallyExpanded, aby dokładniej i elastyczniej zaprezentować zachowanie w tym stanie. (Ia1491).
  • Zmieniono nazwy parametru ListItem na _content zamiast _text. Domyślne metody pobierania mają teraz wartość ReadOnlyComposables (tam, gdzie ma to zastosowanie). (I69a25)
  • Zakończ eksperymentowanie interaktywnych interfejsów API Surface. (I90d59, b/261561812)

Poprawki błędów

  • Naprawiono błąd polegający na tym, że stan HalfExpanded w funkcji ModalBottomSheet był obliczany nieprawidłowo, w wyniku czego arkusz sprawiał wrażenie pływającej. (I45e84, b/268411386)
  • Dodaj znacznik confirmValueChange do płatności zbliżeniowej dla ModalBottomSheet. (I2311a, b/270425759)
  • Przenieś semantyczne działania BottomSheet, aby przeciągnąć uchwyt. (I158ba)
  • W ModalBottomSheet poleceniami zaznaczania podczas uruchamiania i obsługą przycisku Wstecz. (I4d2ab).
  • Funkcja ModalBottomSheet onDismissRequest jest teraz obsługiwana również podczas zagnieżdżonego przesuwania przewijania. (I655c5, b/268433166)

Wersja 1.1.0-alfa07

22 lutego 2023 roku

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

Nowe funkcje

  • Dodaj element kompozycyjny danych wejściowych zegara, który działa z funkcją rememberTimePickerState(), jest zgodny ze specyfikacją M3 dotyczącą wprowadzania czasu (Ia4fab)
  • Dodano interfejs API DateRangePicker Material 3 do wybierania zakresu dat. (I7a6c3, b/267194809)
  • Dodaliśmy obsługę trybu wprowadzania Material 3 do wyboru zakresów dat za pomocą interfejsu API DateRangePicker. (Ifdbc4)
  • Teraz można dostosować kolory pól tekstowych:
    • Kolory pola do wprowadzania danych i tekstu zastępczego w zależności od stanu zaznaczenia i błędu. Nazwa parametru textColor została zmieniona na unfocusedTextColor, a placeholderColor na unfocusedPlaceholderColor.
    • Kolor kontenera wypełnionych pól tekstowych określony na podstawie stanu błędu przy użyciu nowego parametru errorContainerColor.
  • Kolory wyświetlanych pól tekstowych menu zostały zaktualizowane o parametry, aby umożliwić obsługę nowego interfejsu API prefiksów i sufiksów. (I9c8b4, b/254284181, b/264766350)

Zmiany w interfejsie API

  • Przywracanie niektórych wersji interfejsu Slider API i usunięcie nadmiarowych przeciążeń suwaka, które zostały uwzględnione w nowym, eksperymentalnym menu Slider z niestandardową opcją obsługi gestu i śledzenia. Awansuję RangeSlider do stabilnej wersji. (Ie8fbd)
  • Nazwa defaultElevation została zmieniona na elevation w funkcjach podnoszenia elementu. (I0f872)
  • Te interfejsy API pól tekstowych Material 3 nie są już eksperymentalne: TextField, OutlinedTextField, textFieldWithLabelPadding, textFieldWithoutLabelPadding, outlinedTextFieldPadding. (Ieb5c0, b/261561819)
  • TimePickers is24Hour używa ustawienia systemowego (I18856)
  • Usunięto eksperymentalną adnotację z interfejsów scaffold API. (Ibb51e, b/261565765, b/261436953)

Poprawki błędów

  • Domyślny kształt ModalBottomSheet to teraz zawsze SheetDefaults.ExpandedShape. (I0dfca)
  • Udoskonalone ułatwienia dostępu w materiałach DatePicker i DateRangePicker w Material 3. (I5087e)
  • Napraw błąd, który powoduje rozpowszechnianie ograniczenia maksymalnej wysokości, które mogą spowodować awarię. (I30d8c)
  • Usunęliśmy role semantyczne z platform z możliwością kliknięcia i wybierania, a także zaktualizowaliśmy komponenty, które używały ich do ustawiania ról za pomocą funkcji modyfikator.semantics (I793d9).

Wersja 1.1.0-alfa06

8 lutego 2023 r.

Opublikowano androidx.compose.material3:material3:1.1.0-alpha06 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha06. Wersja 1.1.0-alpha06 zawiera te zatwierdzenia.

Nowe funkcje

  • Pola tekstowe obsługują teraz tekst prefiksu i sufiksu (Ia8578, b/179884561)
  • Dodaliśmy funkcję TimePicker, która wyświetla selektor godziny zgodny ze specyfikacją Material 3, używany w połączeniu z metodą TimePickerState i metodą wygodną rememberTimePickerState (I71910).
  • Wpisanie daty jest teraz trybem wyświetlania w DatePicker. Dodaliśmy obsługę przełączania między selektorem daty a trybem wprowadzania daty. (Ieeff7)
  • Dodano interfejs API dla: RichTextTooltips. (I58ef3)
  • Modalna implementacja planszy dolnej w przypadku materiałów 3, w tym ModalBottomSheet i ModalBottomSheetDefaults. Wprowadzono też funkcje SheetState i rememberSheetState, których będzie można używać w przyszłych komponentach arkusza. (I0853a, b/244189383)

Zmiany w interfejsie API

  • Stabluj interfejs API showSnackbar (I195c2, b/261424370)
  • Stabilizacja interfejsów API w układzie wspomagającym i układie sugestii (Ibb67b, b/261424370)
  • Zmienia interfejs API ListItem, ListItemDefaults i ListItemColors na interfejs nieeksperymentalny (I7e7fa, b/261438882)
  • Przeniesienie interfejsów API SliderPositions, SliderDefaults.Thumb i SliderDefaults.Track do wersji stabilnej i dodanie nieeksperymentalnych interfejsów API Slider i RangeSlider, które zawierają niestandardowe kciuki i śledzenie. Wycofujemy też poprzednie interfejsy API Slider i RangeSlider. (Ie5ea6, b/261566890)
  • Upubliczniono Modifier.tooltipAnchor(), aby deweloperzy mogli go przekazać do kotwicy, aby wskazać, że przy długim naciśnięciu powinna być wyświetlana etykietka. Interfejs API PlainTooltipBox został zaktualizowany, aby nie włączał już wartości null w TooltipState i ma teraz wartość domyślną. (Ie2fb7)
  • Element ProgressIndicatorDefaults.circularTrackColor został oznaczony jako @Composable w celu zachowania spójności. (Id29cc)
  • Przywrócono metodę pobierania właściwości LocalMinimuTouchTargetEnforcement i oznacz ją jako wycofaną i przekieruj na adres LocalMinimumInteractiveComponentEnforcement. (I60dd5)

Wersja 1.1.0-alfa05

26 stycznia 2023 r.

Opublikowano androidx.compose.material3:material3:1.1.0-alpha05 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha05. Wersja 1.1.0-alpha05 zawiera te zatwierdzenia.

Nowe funkcje

  • Pomoc w języku: DatePickerDialog i ułatwienia dostępu
  • Dodano niestandardową miniaturę i ścieżkę do: RangeSlider.

Aktualizacje zależności

Wersja 1.1.0-alfa04

11 stycznia 2023 r.

Opublikowano androidx.compose.material3:material3:1.1.0-alpha04 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha04. Wersja 1.1.0-alpha04 zawiera te zatwierdzenia.

Nowe funkcje

  • Początkowy interfejs API DatePicker do wybierania pojedynczej daty za pomocą interfejsu kalendarza. W tym interfejsie API wciąż trwają zmiany. (I722b9)
  • W PlainTooltipBox dodano obsługę prostych etykiet. (I0cdfb)
  • Pasek wyszukiwania (Iad128)
  • SwipeToDismiss (I458a8, b/242889540)

Zmiany w interfejsie API

  • Dodano we właściwości semantycznej IsContainer w platformach. Ta właściwość będzie używana w późniejszej zmianie, która określa kolejność przechodzenia między elementami na podstawie semantycznego znaczenia elementów, takich jak powierzchnie. (I63379)
  • Oznacz interfejsy API powiązane z panelem nawigacji jako stabilne. (Iab01e, b/261439597)
  • Dodaliśmy parametr koloru ścieżki dla okrągłych wskaźników postępu oraz limit kreski dla liniowych i okrągłych wskaźników postępu. (Ie668c, b/216325962, b/222964817)
  • Więcej wartości null typu zwracanego w przypadku wycofanych ukrytych funkcji (Ibf7b0)
  • Dodaj Modifier.minimumInteractiveComponentSize. Można go użyć do zarezerwowania rozmiaru co najmniej 48 dp do ujednoznacznienia interakcji polegających na dotknięciu, jeśli element ma być mniejszy. (I33f58, b/258495559)
  • Dodano eksperymentalny interfejs API do funkcji kompozycyjnej AlertDialog z boksem na treść. (Iec4a2).

Poprawki błędów

  • Postęp dla wskaźników postępu jest teraz poprawnie ograniczony do oczekiwanego zakresu. (I8a7eb, b/262262727)

Znany problem

  • Podczas aktualizowania z androidx.compose.foundation:1.4.0-alpha03 do androidx.compose.foundation:1.4.0-alpha04 może wystąpić błąd java.lang.NoSuchFieldError. Tutaj został pierwotnie zgłoszony problem. Poprawka została przesłana i będzie dostępna przy następnej aktualizacji tworzenia wiadomości. Aby obejść ten problem, zaktualizuj biblioteki androidx.compose.material i androidx.compose.material3 do najnowszej wersji(1.1.0-alfa04) lub zmień wersję androidx.compose.foundation na 1.4.0-alfa03.

Wersja 1.1.0-alfa03

7 grudnia 2022 r.

Opublikowano androidx.compose.material3:material3:1.1.0-alpha03 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha03. Wersja 1.1.0-alpha03 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Nazwa consumedWindowInsets() została zmieniona na consumeWindowInsets(), a withConsumedWindowInsets() na onConsumedWindowInsetsChanged(), a modyfikatory zostały upublicznione. (Ie44e1).
  • Dodaj nowe domyślne dopełnienie treści na przycisku tekstowym z ikoną, której chcesz użyć. (I8f662)
  • Dodano wyłączone kolory paska nawigacyjnego i szyny. (Ia7892, b/258867034)
  • Dodano interfejs Modifier API do wysyłania zapytań o informacje o przewijaniu elementów nadrzędnych. (I2ba9d, b/203141462).
  • Używane w interfejsie Clickable do prawidłowego opóźnienia interakcji z naciśnięciami, gdy gesty mogą stać się zdarzeniami przewijania.
  • Naprawiono nieprawidłowe opóźnianie zmarszczek Clickables występującego w obrębie elementu Scrollable ViewGroup.
  • Zaktualizowano Szuflady i Arkusze, aby prawidłowo opóźniać naciśnięcia, jeśli gesty mogą zmienić się w zdarzenia przewijania.

Aktualizacje zależności

  • Compose UI i Compose Material zależą teraz od cyklu życia 2.5.1. (I05ab0, b/258038814)

Wersja 1.1.0-alfa02

9 listopada 2022 r.

Opublikowano androidx.compose.material3:material3:1.1.0-alpha02 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha02. Wersja 1.1.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • awaitFirstDown i waitForUpOrCancellation obsługują teraz PointerEventPass dla większej elastyczności (poprawka dotyczy też ExposedDropdownMenuBox wyświetlania menu podczas przewijania).(I7579a, b/212091796)
  • Dodano parametr minLines do elementów Material i Material3 Text, TextField i OutlinedTextField, co umożliwia ustawienie minimalnej wysokości komponentu w postaci liczby wierszy (I4af1d).
  • Zrezygnuj z funkcji TopAppBarDefaults smallTopAppBarColors na rzecz nowej funkcji topAppBarColors, która powinna być używana podczas tworzenia obiektu TopAppBar. (Ie6cb9)
  • Do parametru BasicText i BasicTextField dodano parametr minLines. Pozwala ustawić minimalną wysokość funkcji kompozycyjnych pod kątem liczby wierszy (I24294, b/122476634)

Poprawki błędów

  • Przytnij zawartość elementów Material3 IconButton i IconToggleBotton do kształtu warstwy stanu komponentu (np. okrągłego kształtu). (I9da8f)
  • Aktualizuje paski u góry aplikacji Material3 średniego i dużego, aby zastosować ten sam kolor tła na całej powierzchni i umożliwić zastąpienie domyślnych kolorów kolorami przezroczystymi. (I67659, b/249688556, b/250838918)

Wersja 1.1.0-alfa01

24 października 2022 r.

Opublikowano androidx.compose.material3:material3:1.1.0-alpha01 i androidx.compose.material3:material3-window-size-class:1.1.0-alpha01. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.

Poprawki błędów

  • Poprawia stan na górnym pasku aplikacji po zastosowaniu tytułu za pomocą TextStyle i Pędzla. (If667e)

Wersja 1.0

Wersja 1.0.1

9 listopada 2022 r.

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

Poprawki błędów

  • Aktualizuje paski u góry aplikacji Material3 średniego i dużego, aby zastosować ten sam kolor tła na całej powierzchni i umożliwić zastąpienie domyślnych kolorów kolorami przezroczystymi. (I67659, b/249688556, b/250838918)

Wersja 1.0.0

24 października 2022 r.

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

Główne funkcje wersji 1.0.0

To jest pierwsza stabilna wersja Compose Material 3.

Tworzenie motywów Material Design 3 i dynamiczne kolory Material You

Komponenty Material Design 3

Klasa rozmiaru okna

  • material3-window-size-class to nowa biblioteka, która zapewnia obsługę klas rozmiaru okna, czyli zbioru sprawdzonych punktów przerwania widocznego obszaru, które umożliwiają projektowanie, tworzenie i testowanie układów aplikacji z możliwością zmiany rozmiaru. Za pomocą polecenia calculateWindowSizeClass możesz pobrać instancję klasy rozmiaru okna, za pomocą której możesz określić, jak powinien wyglądać interfejs użytkownika. Możesz na przykład wyświetlić pasek nawigacyjny zamiast dolnej nawigacji w przypadku większych okien. Więcej informacji i przykładowe zastosowanie znajdziesz w dokumentacji interfejsu API WindowSizeClass.

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

Wersja 1.0.0-rc01

5 października 2022 r.

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

Zmiany w interfejsie API

  • Dodano parametr boksu do obsługi interfejsu API pola tekstowego (Iaac0d, b/227146125)

Wersja 1.0.0-beta03

21 września 2022 r.

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

Zmiany w interfejsie API

  • ExposedDropdownMenuDefaults ujawnia teraz wartość dopełnienia elementów menu. (I34ee1)
  • ExposedDropdownMenuBoxScope zawiera teraz modyfikator Modifier.menuAnchor(), który należy przekazać do pola tekstowego, aby zapewnić prawidłowe działanie. (I27fa3)
  • Dodano 2 przeciążone metody do bieżącego interfejsu Slider API, aby umożliwić użytkownikom przekazywanie kciukiem lub ścieżką w celu wypełnienia suwaka. (I21c00)

Poprawki błędów

  • Zaktualizowano mapowanie kolorów ciemnego motywu w kontenerze błędu na ton 90 (Ic5612)
  • Poprawka, aby umożliwić ustawienie przezroczystego tła w małych paskach aplikacji w interfejsie Material 3. (I645e2, b/245575782)

Wersja 1.0.0-beta02

7 września 2022 roku

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

Zmiany w interfejsie API

  • Domyślne wstawki komponentów wprowadzone w komponentach m3 w wersji beta01 nie uwzględniają już wstawionych komponentów IME.
  • Komponent Scaffold Material3 ma teraz parametr contentWindowInsets, który umożliwia określenie liczby wstawienia do boksu treści. (Icf11a, b/243713323)
  • Wycofuje eksperymentalną funkcję SmallTopAppBar materiału 3 i wprowadza równoważną funkcję TopAppBar. Przenieś wykorzystanie do nowej wersji. (I74404, b/226918634)
  • Zwiększa kontrolę nad działaniem przesuwania i przyciągania paska aplikacji. (I15c81)
  • Usuwa wcięcie z separatora startIndent i przenosi kolor do ostatniego parametru. (If7be2)

Poprawki błędów

  • Okna identyfikują się, aby poinformować użytkowników TalkBack – wypowiadają słowo Dialog podczas wyświetlania. (I857ef)

Wersja 1.0.0-beta01

24 sierpnia 2022 r.

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

Dokumentacja API

Najnowsze dostępne motywy, komponenty i inne elementy kompozycyjne znajdziesz w omówieniu interfejsu API Compose Material 3.

Zmiany w interfejsie API

  • Zaktualizowano górny pasek aplikacji Material 3, aby wyświetlał się całkowicie zwinięty i rozwinięty. Zaktualizowaliśmy też funkcję zachowania TopAppBarDefaults w funkcję kompozycyjną i podajemy domyślne wartości stanu górnego paska aplikacji oraz specyfikację animacji (I642b3).
  • Zaktualizowano podpisy komponentów FAB, aby pasowały do interfejsu API platformy (I3afaa)
  • Dodano wbudowaną obsługę górnych pasków aplikacji, szuflad, paska nawigacyjnego i drążka. Te komponenty, używane oddzielnie lub ze Scaffold, będą automatycznie obsługiwać wstawki dla programistów. Uwaga: ta zmiana nie dodaje automatycznej obsługi ikon na pasku stanu ani przezroczystości pasków stanu i nawigacji. Pamiętaj, aby robić to ręcznie, aby zapewnić jak najlepszą jakość obrazu. (I7e4e6, b/183161866)
  • Zaktualizowaliśmy ustawienia domyślne komponentów, aby ograniczyć powierzchnię interfejsu API i w przyszłości zapewnić większą elastyczność i większą wydajność. (I31820)
  • Zmieniono kolejność parametrów elementów i arkuszy panelu nawigacji w celu zachowania spójności w interfejsie API (I45d0b)
  • Usunięto parametr startIndent z separatora i przenieśliśmy kolor na ostatni parametr (If7be2).

Wersja 1.0.0-alfa16

10 sierpnia 2022 r.

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

Nowe funkcje

  • Obsługa określania niestandardowej szerokości w szufladzie nawigacji. (Ia7f10)

Zmiany w interfejsie API

  • Zmień kolejność parametrów kart Tab i Ikona lidera w celu zachowania spójności w interfejsie API (Ie2637)
  • Oznaczono aplikację BadgeDefaults jako eksperyment. (I98ef3)
  • Usuń wycofaną funkcję panelu nawigacji. (I4f2db)
  • Zmień kolejność parametrów suwaka w Material 3, aby zachować spójność w obrębie interfejsu API (I0aee7).
  • Zmień kolejność parametrów NavigationBar i NavigationRail, aby zachować spójność w interfejsie API (I51cda)
  • Zmień kolejność parametrów w Material 3, aby zachować spójność w całym interfejsie API. (If4ae1)
  • Zmień kolejność parametrów suwaka w Material 3, aby zachować spójność w interfejsie API (I62673)
  • Zmieniliśmy nazwę parametru ikon na działania, aby zachować spójność z górnym paskiem aplikacji (Id75be).
  • Oznacz Badge i BadgedBox jako eksperymentalne, ponieważ wyrównanie zakotwiczenia nadal się zmienia. (I1712e, b/236524516)
  • Zmień adnotacje @ExperimentalMaterial3Api na wariantach ikon na @OptIn (I070b5)
  • Wydzielone zawartość szuflady nawigacji na własny element kompozycyjny, aby umożliwić określanie niestandardowej szerokości. (Ia7f10)
  • Usuwa Divider z: MenuDefaults i TabDefaults (I4e33c)

Wersja 1.0.0-alfa15

27 lipca 2022 roku

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

Nowe funkcje

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

Zmiany w interfejsie API

  • Aktualizacje interfejsów API FilterChip i ElevatedFilterChip mające na celu usunięcie przedziału selectedIcon i promowanie ponownego użycia leadingIcon do wyświetlania wybranego stanu. (Ie5dc2)
  • Dodaj role kolorystyczne planszy i konturu. (Id6d54).
  • Popraw konwencje nazewnictwa domyślnych elementów kompozycyjnych. (I62b27)
  • Oznacz ListItemDefaults i ListItemColors jako eksperymentalne. (I1f3ec)
  • Zmiany w interfejsie API górnego paska aplikacji, aby lepiej odzwierciedlać znaczenie jego właściwości stanu. Oznacz też interfejs API górnego paska aplikacji jako eksperyment. (Ic0ad8)
  • Dodaliśmy teraz kolory zaznaczonego tekstu do usługi TextFieldColors, aby zwiększyć wykrywalność. (Iba1b8)
  • Dodano element ButtonDefault.ButtonWithIconContentPadding, który ma być używany w przypadku przycisków zawierających ikonę. (I2bf9c)
  • Pola tekstowe zostały oznaczone jako eksperymentalne, aby zapewnić większą elastyczność przy wprowadzaniu przyszłych zmian w interfejsie API. (I127b5)
  • Usunięto adnotację @ExperimentalMaterial3Api z funkcji Checkbox. (I5eefc)
  • Usunięto adnotację @ExperimentalMaterial3Api z funkcji RadioButton. (I17e2a)
  • Usunęliśmy adnotację @ExperimentalMaterial3Api z kart nieinteraktywnych. (I9bd49)
  • Aktualizuje różne domyślne obiekty komponentu, dodając kolory, kształty itp. (I96e11)

Poprawki błędów

  • Usunęliśmy niedziałające ikony końcowe z przykładów elementów wejściowych, aby nie wprowadzać użytkowników w błąd w aplikacji katalogowej (I9846a).

Wersja 1.0.0-alfa14

29 czerwca 2022 r.

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

Nowe funkcje

  • Dodano implementację listy M3; zapoznaj się z dokumentacją przykładowego użycia (Id7a20).

Zmiany w interfejsie API

  • Zmień nazwę parametru z wartości na wartość w argumencie RangeSlider (I3b79a)
  • Zmiany interfejsu API w implementacji InputChip umożliwiające obsługę stanu do wyboru zgodnie ze specyfikacją Material Design. Dodatkowa obsługa kolorów FilterChip w przypadku wybranych stanów wyłączenia. (I55244, b/235792432)
  • Dodaj domyślny przycisk typu FAB BottomAppBar (Ida4c8)
  • Dodano: ColorScheme.surfaceColorAtElevation (Id41af)
  • Interfejsy w bibliotekach tworzenia wiadomości są teraz tworzone przy użyciu domyślnych metod interfejsu jdk8 (I5bcf1)
  • Metody WindowWidthSizeClass i WindowHeightSizeClass implementują teraz funkcję Porównywalny(-a), dzięki czemu można je porównywać za pomocą operatorów (<, <=, >=, >) i innych interfejsów API. (I747d0)

Poprawki błędów

  • Zaktualizuj próbkę plakietki, aby dodać bardziej przydatny opis treści. (I10b9d)
  • Dodaje opcję użycia systemowego rozmiaru czcionki w selektorze motywów katalogu Material 3. (I10605)
  • Dodaje przykładowy kod plakietki i nieokreślonych wskaźników postępu. (I8fbe0)

Wersja 1.0.0-alfa13

1 czerwca 2022 r.

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

Zmiany w interfejsie API

  • Utrzymuje najwyższą pozycję paska aplikacji po zmianie konfiguracji. (I10459, b/216160958)

Wersja 1.0.0-alfa12

18 maja 2022 r.

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

Poprawki błędów

  • Element nadrzędny suwaka może mieć teraz szerokość 0. (b/231707291)

Wersja 1.0.0-alfa11

11 maja 2022 roku

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

Nowe funkcje

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

Zmiany w interfejsie API

  • Zmieniono nazwę elementu kompozycyjnego TextFieldDefaults.BorderStroke, który rysuje obramowanie w zakresie OutlinedTextField, na TextFieldDefaults.BorderBox. (I5f295)
  • Zmiany wizualne przełącznika M3 (Iab30e)
  • Zezwalaj na przekazywanie kolorów do standardowych przycisków ikon. (Ia2445)

Poprawki błędów

  • Dodaj kontrolę lindów do materiału Material3/Scaffold, by mieć pewność, że używane jest dopełnienie wewnętrzne (I72293, b/226951418)

Wersja 1.0.0-alfa10

20 kwietnia 2022 r.

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

Nowe funkcje

  • material3-window-size-class to nowa biblioteka, która zapewnia obsługę klas rozmiaru okna, czyli zbioru sprawdzonych punktów przerwania widocznego obszaru, które umożliwiają projektowanie, tworzenie i testowanie układów aplikacji z możliwością zmiany rozmiaru. Za pomocą polecenia calculateWindowSizeClass możesz pobrać instancję klasy rozmiaru okna, za pomocą której możesz określić, jak powinien wyglądać interfejs użytkownika. Możesz na przykład wyświetlić pasek nawigacyjny zamiast dolnej nawigacji w przypadku większych okien. Więcej informacji i przykładowe zastosowanie znajdziesz w dokumentacji interfejsu API WindowSizeClass. Więcej informacji o definicjach klasy rozmiaru okna znajdziesz w publicznych wskazówkach dotyczących obsługi różnych rozmiarów ekranu.

Zmiany w interfejsie API

  • Dodaje domyślną wysokość przycisku FAB w przypadku elementu BottomAppBar i usuwa końcową wartość lambda z funkcji BottomAppBar za pomocą przycisku FAB. (I92c47)
  • Dodaje Material3 FilledIconButton, FilledTonalIconButton i OutlinedIconButton. (Ib2bda)
  • Aktualizuje interfejs Material 3 Snackbar API tak, aby akceptował wartości kolorów dla opcjonalnego działania i działania odrzucenia. (Ibe4b4)
  • Częściowe wykorzystanie (pozycja niżej LUB) zostało wycofane w PointerInputChange. Możesz użyć consume(), aby w pełni zastosować tę zmianę. Za pomocą funkcji isConsumed możesz sprawdzić, czy ktoś inny korzystał wcześniej ze zmiany.
  • Teraz usługa PointerInputChange::copy() zawsze tworzy małą kopię. Oznacza to, że po wykorzystaniu jednej z nich kopie PointerInputChange zostaną zużyte. Jeśli chcesz utworzyć niepowiązany obiekt PointerInputChange, użyj konstruktora. (Ie6be4, b/225669674)
  • Zmiany w interfejsie Card API dotyczące otrzymywania kolorów kontenera i treści przez interfejs CardColors oraz obsługi stanu wyłączonego w przypadku kart możliwych do kliknięcia. (I927df)
  • Nazwa parametru backgroundColor została zmieniona na containerColor w polach tekstowych Material 3, aby poprawić spójność z innymi komponentami. (I6fbd9)

Poprawki błędów

  • Zmiany w standardowej wersji IconButton w celu dostosowania jej do specyfikacji Material3 (I09eab).
  • Przenieś wysokość górnego słupka Scaffold do dopełnienia przekazywanego do treści, aby treść była renderowana pod górnym paskiem aplikacji. Jeśli znak PaddingValues zostanie zignorowany, treść może być zasłonięta przez górny pasek. (I83cbc, b/217776202)

Wersja 1.0.0-alfa09

6 kwietnia 2022 roku

Aplikacja androidx.compose.material3:material3:1.0.0-alpha09 została zwolniona. Wersja 1.0.0-alpha09 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano interfejs Material 3 Switch API (I2c3ad).

Zmiany w interfejsie API

  • Dodaliśmy obsługę menu z polami tekstowymi (inaczej „udostępnione menu rozwijane” lub „pola kombi”). (I1b832)
  • Dodano parametr kształtu do podsystemu MaterialTheme i kształt. (I37426)
  • Do interfejsu ExtendedFloatingActionButton dodano parametr rozwinięty, który określa, czy przycisk typu FAB ma być rozwijany czy zwinięty, z animacjami między poszczególnymi stanami. Dodaliśmy rozszerzone przeciążenie FAB w przypadku rozszerzonych przycisków typu FAB z tekstem końcowym w przypadku tych przycisków bez ikony. (Iba7f1)

Wersja 1.0.0-alfa08

23 marca 2022 r.

Aplikacja androidx.compose.material3:material3:1.0.0-alpha08 została zwolniona. Wersja 1.0.0-alpha08 zawiera te zatwierdzenia.

Nowe funkcje

Zmiany w interfejsie API

  • Dodaj domyślny separator menu (I01374)
  • Dodano parametr koloru surfaceTint do klasy ColorScheme. (I2f558)

Poprawki błędów

  • Popraw przycisk Material3, aby odczytać jego domyślną wartość stylu tekstu z MaterialTheme. (Ie62fc)

Wersja 1.0.0-alfa07

9 marca 2022 r.

Aplikacja androidx.compose.material3:material3:1.0.0-alpha07 została zwolniona. Wersja 1.0.0-alpha07 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Aktualizacje interfejsu Material 3 Surface API, który przywraca przeciążone funkcje klikalnych platform, a także dodanie funkcji umożliwiającej obsługę platform z możliwością wyboru i przełączania. (I4bf18)
  • LazyVerticalGrid i LazyHorizontalGrid są teraz stabilne. (I307c0)
  • LazyVerticalGrid/LazyHorizontalGrid i wszystkie powiązane interfejsy API zostały przeniesione do podpakietu .grid. Zaktualizuj importy z androidx.compose.foundation.lazy na androidx.compose.foundation.lazy.grid. (I2d446)
  • Cofnięto poprzednią zmianę polegającą wyłącznie na widoku danych w przypadku WindowInsetsControllerCompat. Znowu wymagane jest okno, które jest wymagane do zarządzania niektórymi flagami okien. Wycofano atrybut ViewCompat.getWindowInsetsController na rzecz WindowCompat.getInsetsController, aby mieć pewność, że zostało użyte właściwe okno (np. jeśli widok danych jest w oknie). (I660ae, b/219572936)
  • Dodano nowy interfejs API LazyVerticalGrid do definiowania rozmiarów osi krzyżowej (I17723).

Poprawki błędów

  • Aktualizacje interfejsu Card API w celu dostosowania zmian w interfejsie Surface API (I3c8b9)

Wersja 1.0.0-alfa06

23 lutego 2022 r.

Aplikacja androidx.compose.material3:material3:1.0.0-alpha06 została zwolniona. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodano element NavigationDrawerItem reprezentujący jedno miejsce docelowe w szufladach (Ic396f, b/218286829).
  • Interfejsy PermanentNavigationDrawer oraz DismissibleNavigationDrawer zostały dodane jako eksperymentalne interfejsy API. Te szuflady dobrze się sprawdzają w przypadku urządzeń z dużymi ekranami. (I5f8ab, b/218286829)
  • Dodano obsługę paska aplikacji Material 3 u dołu (Ic432a)
  • Nazwa usługi NavigationDrawer została zmieniona na ModalNavigationDrawer (I1807d, b/218286829)
  • Dodano klasę suwaka Material 3 i tokeny (I1ccee).
  • Dodano implementację kart; przykładowe użycie kart znajdziesz w dokumentacji (Ie0146)

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że liniowa nawigacja czytnika ekranu TalkBack wybierała pusty tytuł paska aplikacji u góry. (Id4690).
  • Element IconSize został dodany do listy FloatingActionButtonDefaults. (Ia71cf)
  • Naprawiono błąd ukrytych przycisków AlertDialog po dodaniu długiego tekstu za pomocą LazyColumn. (Ib2cc9, b/216663029)

Wersja 1.0.0-alfa05

9 lutego 2022 r.

Aplikacja androidx.compose.material3:material3:1.0.0-alpha05 została zwolniona. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.

Nowe funkcje

Dodano komponenty Material Design 3

Zmiany w interfejsie API

  • Wycofana funkcja Surface, która przyjmuje wywołanie zwrotne onClick. Powierzchnie, które można kliknąć, powinny być tworzone za pomocą elementów InteractionSource i Modifier.clickable(). (I211c6)
  • Dodano obsługę wysokości naciśniętej i zaznaczonej (FAB). (Ibb584)
  • Zmieniono interfejs API Surface, aby otrzymywał parametr InteractionSource, który umożliwia kontrolowanie jego wyglądu w różnych stanach. (Iafbc8)

Poprawki błędów

  • Dodano brakujące kolory trzeciorzędne w dynamicznych schematach kolorów (I456c4, b/214588434).

Wersja 1.0.0-alfa04

26 stycznia 2022 r.

Aplikacja androidx.compose.material3:material3:1.0.0-alpha04 została zwolniona. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodano NonRestartableComposable do metod, które przeciążają istniejące metody bez złożonej logiki. Ogranicza to liczbę kontroli zapamiętanych przez kompilator (równa się) w przypadku wszystkich parametrów powtarzanych w wywoływanej funkcji wewnętrznej. (I90490)
  • Dodano separator Material 3. (Ica5fc)
  • Zaznacz pola wyboru i opcję eksperymentalną adnotacją do interfejsu API. (Ie44bb)
  • Dodaliśmy obsługę wskaźników postępu Material 3. (Iff232, b/205023841)

Poprawki błędów

  • Zmień wyłączony kolor kontenera TextButton's na przezroczysty (I6b248, b/213339737)

Wersja 1.0.0-alfa03

12 stycznia 2022 r.

Aplikacja androidx.compose.material3:material3:1.0.0-alpha03 została zwolniona. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.

Poprawki błędów

Aktualizacje zależności

  • Teraz zależy od Kotlin 1.6.10.

Wersja 1.0.0-alfa02

Grudzień 1, 2021

Aplikacja androidx.compose.material3:material3:1.0.0-alpha02 została zwolniona. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano obsługę pola wyboru i przycisku.
  • Zaktualizowano w celu zapewnienia zgodności z Kotlin 1.6.0

Zmiany w interfejsie API

  • Usuń szufladę z rusztowania Material 3. (I04f51)
  • Dodano obsługę Checkbox Material 3. (Id5542).
  • Dodano obsługę RadioButton Material 3. (I20334)

Poprawki błędów

  • Zmniejsz promień fal IconButton z 40 do 20 dp. (I68bbe, b/206674345)
  • Szybka ścieżka do zmiany numeru Text z compose.material (I30b03)
  • Usunięto problem, ale zakodowany na stałe przycisk zawsze był włączony. (Iea832, b/205335456)

Wersja 1.0.0-alfa01

27 października 2021 roku

Aplikacja androidx.compose.material3:material3:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

Tworzenie motywów Material Design 3 i dynamiczne kolory Material You

Komponenty Material Design 3

Aby dowiedzieć się więcej, zapoznaj się z sekcją Material Design 3 i Material You z przewodnika po motywowaniu materiałów do tworzenia.