Wear Compose Material 3
Ostatnia aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
4 czerwca 2025 r. | - | - | 1.5.0-beta03 | - |
Deklarowanie zależności
Aby dodać zależność od Wear, musisz dodać repozytorium Google Maven do projektu. 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:
Odlotowe
dependencies { implementation "androidx.wear.compose:compose-foundation:1.5.0-beta03" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material3:1.5.0-beta03" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.5.0-beta03" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.5.0-beta03") // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material // or androidx.compose.material:material. // androidx.wear.compose:compose-material3 is designed as a replacement, // not an addition, to both of these other libraries. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material3, please raise a bug to let us know. }
Kotlin
dependencies { implementation("androidx.wear.compose:compose-foundation:1.5.0-beta03") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material3:1.5.0-beta03") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.5.0-beta03") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.5.0-beta03") // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material // or androidx.compose.material:material. // androidx.wear.compose:compose-material3 is designed as a replacement, // not an addition, to both of these other libraries. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material3, please raise a bug to let us know. }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk z gwiazdką.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wear Compose Material3 w wersji 1.5
Wersja 1.5.0-beta03
4 czerwca 2025 r.
Element androidx.wear.compose:compose-*:1.5.0-beta03
został zwolniony. Wersja 1.5.0-beta03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
OpenOnPhoneDialog
odczytuje teraz tylko tekst wiadomości w ramach funkcji TalkBack, pomijając semantykę ikony. FunkcjaOpenOnPhoneDialogDefaults
została zaktualizowana w celu usunięcia parametrówiconContentDescription
icontentDescription
z funkcjiicon()
. Ponadto komponentConfirmationDialogDefaults
ma teraz parametry modyfikatorów w komponentachSuccessIcon
iFailureIcon
. (Id2ae2)
Poprawki błędów
- Zmieniliśmy kolejność, w jakiej stosujemy efekt parametrów
SurfaceTransformation
. Wcześniej przekształcenia stosowane do komponentów Wear Material3 były wykonywane w ten sposób: malowanie tła, przekształcenie kontenera, przekształcenie zawartości. Pierwsze 2 elementy są odwrócone, a między nimi stosujemy dowolny przekazany modyfikator, więc podlegają one przekształceniom kontenera. Rozwiązanie to dotyczy takich przypadków jak użycie efektu migotania obiektu zastępczego z elementami w ramach TLC za pomocą parametru transformacji. (I786cf) RevealState.Saver
został dodany, aby służyć do przywracania stanuSwipeToReveal
podczas ponownego tworzenia aktywności lub procesu. FunkcjarememberRevealState
domyślnie używa teraz tej funkcji oszczędzania. (Ie0ecb)- Domyślne przyciski działań głównych i dodatkowych
SwipeToReveal
powinny mieć wartośćButtonDefault.Height
(naprawiono błąd, w którym przyciski zajmowały maksymalną wysokość w przypadku wyższych przycisków). (Ibfba1) - Zmieniliśmy
SwipeToReveal
, aby po wykonaniu gestu przesunięcia palcem w prawo zresetować ostatni komponent, z którym nastąpiła interakcja. (Ia8450) SwipeToReveal
zostało zmienione, aby przyjmowało stanRevealing
, gdy końcowa pozycja przesunięcia znajduje się między ujawniającymi się i ujawnionymi kotwicami oraz jest bliższa kotwi ujawniającej się. (If4458)- Teraz zawartość
ButtonGroup
jest prawidłowo odwrócona w układzie RTL (Ib378d) AnimatedText
obsługuje teraz kierunek tekstu RTL (I4533c).TransformingLazyColumn
poprawnie zmienia rozmiar elementów po usunięciu dolnego elementu (Idacab)TransformingLazyColumn
wykonuje teraz tylko 1 przebieg pomiaru, co zwiększa wydajność dzięki skróceniu czasu trwania klatek. (I501a1)
Wersja 1.5.0-beta02
20 maja 2025 r.
Element androidx.wear.compose:compose-*:1.5.0-beta02
został zwolniony. Wersja 1.5.0-beta02 zawiera te commity.
Poprawki błędów
- Zaktualizowano profile bazowe bibliotek foundation, material i material3. (I53f06)
- Naprawiliśmy błąd w
TransformingLazyColumn
, który powodował zmianę rozmiaru elementów po usunięciu dolnego elementu. (Idacab) - Usunęliśmy błąd związany z
TransformingLazyColumn
, gdy lista zatrzymywała się na górze lub na dole. (I49d00) OpenOnPhoneDialog
w TalkBack powinien odczytywać tekst wygięty w poziomie, a nie opis zawartości ikony. (I4efe8)- Naprawiliśmy błąd w funkcji
SwipeToReveal
, który powodował niewłaściwe raportowanie kotwicy w funkcjiRevealState.currentValue
, gdy parametrhasPartiallyRevealedState
ma wartość false. (I9c7cf) - Przyciski cofnij w
SwipeToReveal
są teraz domyślnieButtonDefaults.Height
. (I1f6c8) BasicSwipeToDismissBox
została poprawiona dzięki wyeliminowaniu korzystania z Canvas do rysowania zasłon. (I68f2c)- Naprawienie błędu ułatwień dostępu w suwaku, w którym ogłoszony procent nie pasował do wartości po aktualizacjach (I91146)
- Naprawiono błąd implementacji
placeholderShimmer
. (Iee39b - Skuteczność
TransformingLazyColumn
została zwiększona dzięki optymalizacji obliczeńScrollProgress
o 30%. (I4c4cb)
Wersja 1.5.0-beta01
7 maja 2025 r.
Element androidx.wear.compose:compose-*:1.5.0-beta01
został zwolniony. Wersja 1.5.0-beta01 zawiera te komity.
Wersja 1.5.0-beta01 biblioteki Compose na Wear OS oznacza, że ta wersja biblioteki jest kompletna pod względem funkcji, a interfejs API jest zablokowany (z wyjątkiem wersji oznaczonych jako eksperymentalne).
Wear Compose 1.5.0-beta01 zawiera bibliotekę Wear Compose Material3, która obsługuje nowy system projektowania interfejsu użytkownika o nazwie Material 3 Expressive. Zalecamy przejście z Material na Material 3, aby wprowadzić nowy projekt wizualny w aplikacjach i korzystać z nowych komponentów w ten sposób:
MaterialTheme
, aby skorzystać z aktualizowanych i rozszerzonych schematów kolorów, typografii i kształtów, które nadadzą Twoim projektom głębi i różnorodności.- Dynamiczne motywy kolorystyczne, które automatycznie generują schemat kolorów aplikacji dopasowany do kolorów tarczy zegarka.
- Nowe komponenty automatycznie dostosowują się do większych rozmiarów ekranu
- Przekształcanie kształtu – komponenty okrągłych przycisków, takie jak
IconButton
,TextButton
,IconToggleButton
iTextToggleButton
, obsługują warianty, które animują się po naciśnięciu lub zaznaczeniu. EdgeButton
– nowy przycisk z zaokrąglonymi rogami o specjalnym kształcie, który pasuje do dolnej części ekranu.- szkielety – wprowadzenie
AppScaffold
iScreenScaffold
w celu rozplanowania struktury ekranu i zsynchronizowania animacjiScrollIndicator
iTimeText
; - Przyciski – obsługiwane są liczne przyciski w kształcie stadionu z elastycznymi kontenerami jednoslotowymi i wariantami wieloslotowymi dla przycisków z ikonami i etykietami.
CheckboxButton
iSwitchButton
są dostępne, gdy potrzebne są przełączniki, aRadioButton
to przycisk wyboru (dostępne są też opcje „Split” przełączników i przycisków wyboru). ButtonGroup
– implementuje wyrazistą grupę przycisków w wierszu, które zmieniają kształt po dotknięciu.AlertDialog
odmiany obsługują przyciski OK/Anuluj lubEdgeButton
.ConfirmationDialog
służy do wyświetlania komunikatu z czasem oczekiwania. Obsługuje specjalne animacje dla wersji na telefony, które wskazują na powodzenie, niepowodzenie lub otwarcie.- Selektory – obsługiwane są warianty
TimePicker
iDatePicker
, a także komponenty Picker iPickerGroup
do tworzenia własnych ekranów selektora. ProgressIndicators
– obsługiwane są wskaźniki postępu okrągłe i liniowe (elementCircularProgressIndicator
ma warianty segmentowane i nieokreślone).- Karty – dostępnych jest kilka wariantów kart, w tym
TitleCard
, który oferuje określone układy kart z polami na tytuł, czas, napisy lub treść.TitleCard
może też mieć tło z obrazem, aby wzmocnić znaczenie informacji na karcie. - Przewijanie – komponenty
HorizontalPagerScaffold
,VerticalPagerScaffold
iAnimatedPage
koordynują animacjeHorizontalPageIndicator
iVerticalPagerIndicator
. KomponentyHorizontalPager
iVerticalPager
są dostępne w bibliotece Compose Foundation na Wear. - Zastępniki – rysują one szkieletowy kształt na komponencie w sytuacjach, gdy nie ma dostępnych treści tymczasowych.
- Suwaki i suwaki krokowe – zarówno suwaki, jak i suwaki krokowe umożliwiają użytkownikom wybór spośród zakresu wartości. Suwaki są bardziej kompaktowe i można je podzielić na segmenty, a Stepper to komponent pełnoekranowy, który jest zwykle połączony z elementem
StepperLevelIndicator
. SwipeToReveal
– służy do dodawania dodatkowych działań do komponentu po jego przesunięciu z prawa do lewej.
Dodatkowo pakiet Wear Compose Foundation 1.5.0-beta01 zawiera te nowe komponenty:
TransformingLazyColumn
– lista z lazy load, która przewija się pionowo i obsługuje animacje skalowania i przekształcania- Hierarchiczne grupy punktów skupienia uwagi – służą do adnotacji komponentów w aplikacji, aby śledzić aktywną część kompozycji i koordynować punkt skupienia uwagi.
- Przeglądarki – komponenty
HorizontalPager
iVerticalPager
, oparte na komponentach Compose Foundation z ulepszeniami dotyczącymi Wear, które zwiększają wydajność i spełniają wytyczne dotyczące Wear OS.
Zmiany w interfejsie API
- Zaktualizowano interfejs API hierarchicznej funkcji Focus – zmieniono nazwę parametru
Modifier.hierarchicalFocus
naModifier.hierarchicalFocusGroup
i usunięto parametr wywołania zwrotnego. Usunięto też przeciążenie parametruModifier.hierarchicalFocusRequester
z parametremFocusRequester
. Utworzono też nowy parametrCompositionLocal
,LocalScreenIsActive
, dzięki któremu komponenty mogą informować i sprawdzać, który ekran jest aktywny. (I5ff7c). - Wycofany interfejs
SwipeToReveal
z fundamentów Wear Compose w zamian zastąpiony interfejsami APISwipeToReveal
w komponencie Wear Compose Material i Wear Compose Material3. Aby nadal korzystać z interfejsów API, zastąp importowanie interfejsu Wear FoundationSwipeToReveal
importowaniem interfejsu Wear Compose Material lub Wear Compose Material3. (Ia147d). - Zależność Wear Compose Material3
SwipeToReveal
od Foundation została przeniesiona do pakietu material3, np.RevealValue
,RevealDirection
,RevealActionType
,RevealState
,rememberRevealState
. Deweloperzy powinni zmienić importowanie tych klas i funkcji zandroidx.wear.compose.foundation
naandroidx.wear.compose.material3
. (I640e6). - Zaktualizowaliśmy interfejs API Wear Compose Material3
SwipeToReveal
w następujący sposób: dodaliśmy parametryprimaryAction
,onFullSwipe
,secondaryAction
,undoPrimaryAction
,undoSecondaryAction
ihasPartiallyRevealedState
do kompozytuSwipeToReveal
; usunęliśmy z komponentuRevealState
możliwość dostosowywania elementówpositionalThreshold
ianimationSpec
; usunęliśmy z komponentuRevealState
parametrylastActionType
,revealThreshold
i szerokość; zmieniliśmy konstruktorRevealState
tak, aby przyjmował elementRevealDirection
zamiast elementów kotwiujących; usunęliśmy funkcjecreateRevealAnchors
, kotwy ibidirectionalAnchors
; funkcjeSwipeToRevealScope
primaryAction
,secondaryAction
,undoPrimaryAction
iundoSecondaryAction
zostały przemianowane naPrimaryActionButton
,SecondaryActionButton
,UndoActionButton
i przekształcone w funkcje kompozytowe; elementRevealActionType
został oznaczony jako wewnętrzny. (I885d0). - Dalsze zmiany interfejsu
SwipeToReveal
: zmieniliśmy nazwęonFullSwipe
naonSwipePrimaryAction
; zmieniliśmy nazwęSwipeToRevealNonAnchoredSample
, aby wskazywała użycie parametruhasPartiallyRevealedState
; usunęliśmyactionButtonHeight
, ponieważ domyślna wysokość przycisku jest domyślna, a większą wysokość można ustawić za pomocą modyfikatora; usunęliśmySmallActionButtonHeight
zSwipeToRevealDefaults
; parametr value w konstruktorachRevealValue
iRevealDirection
jest teraz prywatny. (I465ce).
Poprawki błędów
- Poprawiono obsługę
ScreenScaffold
wEdgeButton
, tak aby po usunięciu elementuTransformingLazyColumn
elementEdgeButton
był animowany na swoje miejsce. (I6d366). - Zaktualizowaliśmy zależności Wear Compose od bibliotek Compose do wersji 1.8.0. (I2ef3f).
- Zaktualizowano ruch nieokreślony
CircularProgressIndicator
, aby nie cofał się tymczasowo. (Ieddb1). - Rozwiązanie problemu z interfejsem
SwipeDismissableNavHost
– po przesunięciu palcem w lewo nie przełączał się fokus, co powodowało niepowodzenie wprowadzania za pomocą pokrętła (dotyczy to interfejsu API 36+, który używa przewidywanego cofnięcia). (Ieddb1). - Poprawiona dokumentacja interfejsu Hierarchical Focus API (Idf2ff).
- Zaktualizowaliśmy dokumentację dotyczącą przycisków i kart, aby wyjaśnić, jak
containerPainter
idisabledContainerPainter
zastępującontainerColor
idisabledContainerColor
(I4a453). - W poprzedniej wersji cofnęliśmy zmianę w komponencie
TimeText
, która przeniosłaBroadcastReceiver
do wątku roboczego, ponieważ powodowała problemy w przypadku aplikacji zarządzających własnymi wątkami podczas nawigacji. (I34d02). - Zaktualizowaliśmy przykłady selektora, aby usunąć niepotrzebne wywołania funkcji remember i zamiast tego używać w Pickerze funkcji
rememberUpdatedState
, aby zapamiętać najnowszą funkcję lambdacontentDescription
. (Icb5b1). - Zaktualizowano style tekstu w
TimePicker
iDatePicker
, aby zmiany czcionki nie powodowały już obcinania tekstu. (I26194). - Domyślne wyrównanie tekstu w elementach
ListHeader
iListSubHeader
to odpowiednio wyrównanie do środka i wyrównanie do lewej. (I78339). - Zaktualizowaliśmy przykłady i demonstracje komponentu Foundation oraz komponentu Material Swipe to Reveal, aby uwzględnić w nich niestandardowe działania ułatwień dostępu (niestandardowe działania muszą zostać dodane jako semantyka w treści, a nie w samym komponencie
SwipeToReveal
). (Ie92a3). - Zaktualizowano domyślny
MaxLines
ustawiony na treściEdgeButton
zgodnie z ich rozmiarem – teraz jest to 1 dla bardzo małych, 2 dla małych i średnich oraz 3 dla dużych. (Ie35f6). - Uproszczone
LocalReduceMotion
, aby zwiększyć wydajność. Dzięki temu obserwator jest rejestrowany tylko raz. (Ib1979). - Zmniejszono liczbę ponownych rysowań w
ScrollIndicator
, aby poprawić wydajność. (Ia7a67). - Rozwiązaliśmy błąd w
TransformingLazyColumn
, który powodował, że górny widoczny element na liście nie był prawidłowo skalowany, gdy przycisk krawędzi osiągnął pełną wysokość. (I30580).
Wear Compose Material3 w wersji 1.0
Wersja 1.0.0-alpha37
23 kwietnia 2025 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha37
został zwolniony. Wersja 1.0.0-alpha37 zawiera te komity.
Zmiany w interfejsie API
- Usunięto
scrollTransform
z publicznego interfejsu API. Jeśli chcesz uzyskać te same funkcje, użyj kombinacji modyfikatorówtransformedHeight
igraphicsLayer
. (Ie181d) - Zastąpiono kompozytyle
ImageButton
iImageCard
odpowiednio przez przeciążeniaButton
iCard/TitleCard
. Zmieniono nazwęimageButtonColors
nabuttonWithContainerPainterColors
, aimageCardColors
nacardWithContainerPainterColors
. Dodano publiczneButtonDefaults.scrimBrush
iCardDefaults.scrimBrush
. Zmieniono nazwy przyciskówimageBackgroundGradientStartColor
iimageBackgroundGradientEndColor
nascrimGradientStartColor
iscrimGradientEndColor
. NazwaCardDefaults.ImageContentPadding
została zmieniona naCardDefaults.CardWithContainerPainterContentPadding
(I7b8b6) - Funkcje
Picker
iPickerGroup
przyjmują teraz funkcjęcontentDescription
jako funkcję lambda, aby uniknąć niepotrzebnych ponownych składań. (I002dd)
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że nieokreślony
CircularProgressIndicator
kołysał się podczas animacji, jeśli szerokość nie była równa wysokości. (I76bfe) - Rozwiązaliśmy problem z rozmieszczeniem przycisków krawędzi w nieprawidłowym rozmiarze. Zapobiega teraz aktualizowaniu układu przycisku krawędzi, gdy wysokość jest NaN. (I32b93)
- Zwiększono maksymalny kąt skanowania w
OpenOnPhoneDialog
, aby domyślny tekst „Sprawdź telefon” nie był przycinany przy największym rozmiarze czcionki. (I90af9)
Wersja 1.0.0-alpha36
9 kwietnia 2025 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha36
został zwolniony. Wersja 1.0.0-alpha36 zawiera te komisy.
Zmiany w interfejsie API
- Zawartość komórki
ButtonDefaults.imageBackgroundButtonColors
została zastąpiona przez komórkiImageButton
,ButtonDefaults.imageButtonColors
,ButtonDefaults.containerPainter
iButtonDefaults.disabledContainerPainter
. I podobne zmiany w przypadku kart. Malarze zostali usunięci z funkcjiButtonColors
iCardColors
. (I8c6a1) - Zaktualizowano obiekty zastępcze, aby uprościć interfejs API. Udostępniamy teraz 2 modyfikatory:
Modifier.placeholderShimmer
, który pozwala zastosować efekt migotania na poziomie komponentu, orazModifier.placeholder
, który pozwala zastosować maskę na wierzchu wyładowanych treści (Iaee7a).
Poprawki błędów
- Zintegrowanie przewijania w
ScrollIndicator
. (Icfb7f) - Rozwiązanie problemu z pustymi tłami i brakiem okienek podczas uruchamiania okienek Material3. (Ice597)
- Rozwiązaliśmy problemy w elementach
FadingExpandingLabel
, gdy tekst zajmuje kilka wierszy. (I04eb7) - Zaktualizowano odstęp między etykietami głównymi i dodatkowymi na przyciskach. (I99b7b)
- Wartość
ArcLarge
została zmniejszona z20sp
do18sp
, a odstępy między literami w elementachArcLarge
iArcSmall
zostały zaktualizowane.ConfirmationDialog
/OpenOnPhoneDialog
używają teraz domyślnej wartościArcLarge
zamiast zastępować ją wartością18sp
. (Id39a8)
Aktualizacje zależności
- Biblioteka ta jest teraz kierowana na poziom języka Kotlin 2.0 i wymaga pakietu KGP 2.0.0 lub nowszego. (Idb6b5)
Wersja 1.0.0-alpha35
26 marca 2025 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha35
został zwolniony. Wersja 1.0.0-alpha35 zawiera te komity.
Zmiany w interfejsie API
AlertDialog
Górny margines jest teraz domyślnie zmniejszany, gdy jest podana ikona – pozwala to lepiej wykorzystać dostępny rozmiar ekranu. (Ief06c)- Nazwa
PagerScaffoldDefaults.FadeOutAnimation
została zmieniona naPagerScaffoldDefaults.FadeOutAnimationSpec
. Parametr stronyAnimatedPage
został przemianowany napageIndex
. (I701f2) - Zaktualizowano nazwy
TransformingLazyColumn
SurfaceTransformation
–applyTransformation
podzielono naapplyContainerTransformation
iapplyContentTransformation
, acreateBackgroundPainter
zmieniono nacreateContainerPainter
. Zmiany nazwTransformationSpec
iResponsiveTransformationSpec
. (I1c534) - Nazwa
AppScaffold backgroundColor
została zmieniona nacontainerColor
. (I4e63f)
Poprawki błędów
- Rozwiązaliśmy problem w
FadingExpandingLabel
, który powodował, że tekst nie zawsze był prawidłowo rozwijany. (I0e773) - Wartość
ArcLarge
została zmniejszona z 20 sp do 18 sp, a odstępy między literami w elementachArcLarge
iArcSmall
zostały zaktualizowane.ConfirmationDialog/OpenOnPhoneDialog
teraz używa domyślnej wartościArcLarge
zamiast zastępować ją wartością 18 sp. (Id39a8) - Zaktualizowaliśmy animację nagłówka w wersjach
DatePicker
iTimePicker
, tak aby animacja zanikania i pojawiania się działała jak jedna animacja sprężynowa. (I68963) - Zoptymalizowano
PagerScaffold
, unikając odczytucurrentPageOffsetFraction
w komponencieAnimatedPage
. (I433ef) - Wszystkie typy skal zostały zaktualizowane, aby domyślnie zawierały proporcjonalne cyfry, ponieważ jest to najczęstszy przypadek użycia, a ustawienie domyślnego formatu tabelarycznego powodowało zbyt duże odstępy między niektórymi parami cyfr.
TimePicker
iDatePicker
nadal stosująFontFeatureSetting=tnum
do cyfr w tabelach. (I88929) - Poprawiono początkowy fokus RSB dla
TimePicker
iDatePicker
. (I1c773) - Zaktualizowano domyślny tekst na stronie
OpenOnPhoneDialog
na „Sprawdź telefon”. (I00a3f) - Zaktualizowano wartości wag dla
ArcLarge
iArcMedium
z 600 na 599, aby rozwiązać problem, w którym waga 600 była traktowana jako pogrubienie (I2a51d). - Zaktualizuj
SwipeToReveal
dopełnienie między treścią a przyciskami akcji, a także dopełnienie między ikoną a tekstem przycisków akcji. (Ic46cb)
Wersja 1.0.0-alpha34
12 marca 2025 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha34
został zwolniony. Wersja 1.0.0-alpha34 zawiera te komity.
Zmiany w interfejsie API
PagerScaffold
nie emituje już komponentuPager
– zamiast tego musisz go podać za pomocą kompozytucontent
.AnimatedPage
isnapWithSpringFlingBehaviour
są teraz publiczne i można ich używać razem z Wear FoundationPager
, aby uzyskać poprzednie zachowanie M3PagerScaffold
. (zobacz zaktualizowane przykłady). (Ia4724)- Zaktualizowano klasę
PagerState
, usuwając z niej klasę podstawową Compose FoundationPagerState
i dodając właściwościcurrentPage
,currentPageOffsetFraction
orazpageCount
. Zaktualizowaliśmy interfejsGestureInclusion
, zmieniając nazwę metody naignoreGestureStart
. (I4ae07) - Parametry kąta
LevelIndicator
są teraz opatrzone adnotacjąFloatRange(0, 360)
(I7e636) - Dodaliśmy opcję
CurvedModifier.clearAndSetSemantics
, aby umożliwić wyłączenie wygiętej semantyki.CurvedText
nadal domyślnie ustawia opis treści jako tekst, aletimeTextCurvedText
itimeTextSeparator
nie ogłaszają już treści. (I4b568) - Dodano parametry tła i domyślnego koloru treści do
AppScaffold
. (I56652) - Domyślne obsługiwanie gestów przesuwania przez
HorizontalPager
zostało przemianowane naPagerDefaults.gestureInclusion
. Domyślnie gesty przesuwania są ignorowane tylko wtedy, gdy zaczynają się od lewej krawędzi pierwszej strony i tylko wtedy, gdy Talkback jest wyłączony. W innych przypadkach domyślnie gesty przesuwania nie są ignorowane przez przeglądarkę, więc nie są dostępne dla obsługi gestów przesuwania w celu zamknięcia. (Iee486) - Dodaliśmy parametr
SurfaceTransformation
do komponentów przycisku, karty i nagłówka listy, aby można było stosować różne przekształcenia tła i treści podczas używania ich w kontenerach, które zmieniają wygląd elementów w zależności od ich pozycji, np.TransformingLazyColumn
. (Iabe3f) - Zaktualizowaliśmy właściwości „public const val” w interfejsie API Wear Compose Material3 na „public val”, aby uniknąć wstawiania wartości. (Ib0f32)
- Dodano obsługę strefy przesunięcia palcem po krawędzi w funkcji
SwipeToReveal
. Domyślne działanie przeglądarki FoundationSwipeToReveal
polega teraz na niedopuszczaniu do przesuwania, gdy gest rozpoczyna się od krawędzi. Domyślne zachowanie Material3SwipeToReveal’
polega teraz na niedopuszczaniu do przesuwania, gdy gest rozpoczyna się od krawędzi, gdySwipeDirection
jest ustawiony na jeden kierunek. (I32ef0) - Dodano komponent
FadingExpandingLabel
, który umożliwia stopniowe pojawianie się tekstu w ramach animacji. (Ic60fa) TransformingLazyColumn
używa teraz domyślnie pustegocontentPadding
zamiast umieszczania pierwszych i ostatnich elementów na środku. (I77ab7)- Usunięto komponent
SwipeToReveal
rememberRevealState
z biblioteki Material3 na Wear. (I8c0e0)
Poprawki błędów
- Biblioteki Wear Compose zostały zaktualizowane do kompilatora Kotlin 2.0. (I2de79)
- Z Material3 usunięto obsługę nieokrągłych wartości
ScrollIndicator
iPageIndicator
. Obsługa kwadratowego ekranu nie jest już wymagana na Wear OS. Więcej informacji znajdziesz w przewodniku Pierwsze kroki. (I9a852) - Element
CurvedTextStyle
użyty w elementachConfirmationDialogDefaults
iOpenOnPhoneDialogDefaults
został zaktualizowany, aby używać czcionkiArcLarge
o rozmiarze18sp
i odstępach między literami1.8sp
. (Ic9ced) - Elementy
Card
,ListHeader
,RadioButton
,CheckboxButton
iSwitchButton
nie ograniczają już domyślnie wysokości swoich zawartości. W razie potrzeby użyj opcjiModifier.height(IntrinsicSize.Min)
, aby przywrócić poprzedni sposób działania. (I80bb8) - Zaktualizowaliśmy domyślne kolory
TimeText
iScrollIndicator
, aby zawierały więcej odcieni szarości, ponieważ używanie koloruOnBackground
(białego) było zbyt rzucające się w oczy w porównaniu z innymi elementami na ekranie, takimi jak tytuły. (I8b36f) - Skróciliśmy limit czasu animacji elementów
TimeText
iScrollIndicator
w składnikach szablonu do 2 sekund. (I52021) - Zaktualizowaliśmy animację okna dialogowego, tak aby skala tła okna była zsynchronizowana z przesunięciem w celu zamknięcia. (I925a9)
- Dodaj demonstrację M3
SwipeToReveal
z modyfikatoremedgeSwipeToDismiss
. (I02b07) - Dodaliśmy nagłówek do
DatePicker
iTimePicker
w TalkBack, aby poinformować użytkownika, że musi przewinąć, aby ustawić datę lub godzinę. (Id738d) AnimatedText
będzie teraz przestrzegać ustawienia redukcji ruchu. (Ib6578)- Zoptymalizowano użycie wartości
AppScaffold
do wyświetlania treści okna dialogowego, aby umożliwić wyświetlanie wielu okien nakładających się na siebie (I1209c).
Wersja 1.0.0-alpha33
26 lutego 2025 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha33
został zwolniony. Wersja 1.0.0-alpha33 zawiera te komisy.
Zmiany w interfejsie API
- Usunęliśmy parametr label z funkcji
primaryAction
isecondaryAction
w usłudzeSwipeToRevealScope
. Deweloper powinien bezpośrednio dodać semantykę niestandardowego działania do treści komponentuSwipeToReveal
. (Ia67f3) - Usunęliśmy prefiks „Button” z funkcji rozmiarów, stylów tekstu i kolorów w elementach
IconToggleButtonDefaults
iTextToggleButtonDefaults
(I5471d). - Usunęliśmy eksperymentalną wersję
LocalMinimumInteractiveComponentEnforcement
(I4ad8a) - Funkcję
PickerGroupScope
DSL zastąpiliśmy komponentem. W związku z tym usunęliśmy metodępickerGroupItem
z elementuPickerGroupScope
, a zamiast niej dodaliśmy metodę@Composable PickerGroupItem
, która powinna służyć do dodawania selektora do elementuPickerGroup
. Zmieniliśmy też typ parametruPickerGroup
„content” na@Composable PickerGroupScope.() -> Unit
. (Ic6aec) - Dodaliśmy przeciążenie
LevelIndicator
dla wartości ułamkowych i dodaliśmy prefiks Stepper do tych przeciążeń, które zawierają parametr zakresu (są one odpowiednie do użycia z elementem Stepper). (If4234) - Dodaliśmy do interfejsu API
TransformingLazyColumn
TransformationSpec
, co umożliwia definiowanie dokładnych przekształceń elementów podczas ich przewijania w treściach. (I21856) - Zaktualizowaliśmy komponenty
IconButtonShapes
,IconToggleButtonShapes
,TextButtonShapes
iTextToggleButtonShapes
, aby były zgodne z klasami compose/material3 (I5a081). - Dodaliśmy parametr
overscrollEffect
do albumówScalingLazyColumn
,TransformingLazyColumn
iScreenScaffold
. (I0cee8) - Zmieniliśmy nazwę parametru
swipeDirection
narevealDirection
w plikurememberRevealState
. (I7472f) - W przypadku Wear Pager zamiast Compose
PagerScope
jest teraz używana funkcjaPagerScope
. (I9195b) - Usunęliśmy kompozyt
LinearProgressIndicatorContent
. Używaj bezpośrednio kompozytuLinearProgressIndicator
, aby zmiany wartości były domyślnie animowane. (I2c4ad) - Usunęliśmy kompozyt
CircularProgressIndicatorStatic
i dodaliśmy publiczną funkcjęDrawScope
drawCircularProgressIndicator
o tych samych możliwościach. Używaj bezpośrednio komponentuCircularProgressIndicator
, aby zmiany były domyślnie animowane, ale jeśli potrzebujesz niestandardowych animacji, utwórz własny komponent na podstawie komponentudrawCircularProgressIndicator
. (Ie762f) - Zmieniliśmy kolejność parametrów w pliku
DrawScope.drawCircularProgressIndicator
, aby przesunąć parametrtargetProgress
wyżej. (I8ab92) - Interfejs API
OpenOnPhoneDialog
został zaktualizowany, aby był bardziej przejrzysty i spójny z innymi dialogami. Nazwa parametrushow
została zmieniona navisible
, a zamiast wartości domyślnej wywołujący musi teraz podać parametrcurvedText
. (Idec2d) - Zmieniliśmy nazwę
openOnPhoneCurvedText
naopenOnPhoneDialogCurvedText
(I65bdd). - Dodaliśmy
ScrollIndicatorColors
doScrollIndicator
, aby umożliwić dodawanie kolorów niestandardowych. (I9eb8c) - Zezwalaj na konfigurację koloru używanego do rysowania tła za
TimeText
. (I9f5d9) - Zaktualizowano typografię
ArcLarge
,ArcMedium
iArcSmall
, aby była zgodna zCurvedTextStyle
(Iffc41). - Usunęliśmy
ScreenScaffoldDefaults.contentPaddingWithEdgeButton
. (Ia923e) - Dodaliśmy
errorDim
doColorScheme
w przypadku błędów o wysokim priorytecie lub działań awaryjnych, takich jak alerty bezpieczeństwa, nieudane nakładki dialogowe lub przyciski zatrzymania. (I70998)
Poprawki błędów
- Zablokowaliśmy wersję
wear.compose.material3
1.15.0 aplikacjiandroidx.core.core
(I132e9). - Zwiększyliśmy wydajność dialogów, używając
AppScaffold
do nakładania dialogów na inne treści na ekranie (I1b9a4). - Zmniejszono wewnętrzne wypełnienie pionowe
EdgeButton
. (I1a5bb) - Dodaliśmy do przycisków suwaka semantykę przycisków. (I80cc6)
Wersja 1.0.0-alpha32
29 stycznia 2025 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha32
został zwolniony. Wersja 1.0.0-alpha32 zawiera te komisy.
Zmiany w interfejsie API
- W
CurvedTextStyle
odstępy między literami zostały podzielone na odstępy w lewo i w prawo. Jest to wymagane, ponieważ litery w kierunku zgodnym z kierunkiem ruchu wskazówek zegara rozchodzą się od linii bazowej, a litery w kierunku przeciwnym do ruchu wskazówek zegara – zbliżają się do niej (potrzebne jest więc większe odstępowanie liter) (I4b848) - Zaktualizowaliśmy usługi
IconButtonShapes
,IconToggleButtonShapes
,TextButtonShapes
iTextToggleButtonShapes
, aby zwiększyć spójność w bibliotekach Material3. Ta zmiana wprowadza też buforowanie kształtów w celu zmniejszenia liczby alokacji. (I049fc) - Parametr
pressedShapeCornerSizeFraction
został usunięty z metodyvariantAnimatedShape
w funkcjachIconToggleButton
iTextToggleButton
(I58a65). - Wprowadzamy ulepszenia dotyczące renderowania krzywizn tekstowych (w tym
TimeText
), które są niezgodne z ekranami nieokrągłymi. Obsługa ekranów innych niż okrągłe nie jest już wymagana w przypadku Wear OS. Więcej informacji znajdziesz w przewodniku Pierwsze kroki. (I1cc1c) - Zaktualizowaliśmy
ButtonGroupScope
wButtonGroup
, zastępującButtonGroupItem
oparte na DSL przezModifier.weight
,Modifier.minWidth
iModifier.enlargeOnPress
. (I16c3c) - W interfejsie API
ButtonGroup
wprowadziliśmy nowy modyfikatorButtonGroupScope
:enlargeOnPress
ma teraz nazwęanimateWidth
i oczekuje argumentuInteractionSource
, a nieMutableInteractionSource
, ponieważ nie trzeba go modyfikować. Dodaliśmy też publiczną stałąButtonGroupDefaults.DefaultMinWidth
, która jest domyślną minimalną szerokością przycisków w komponencieButtonGroup
. (Ie27ec) - Zmiana właściwości
ListHeaderDefaults.contentColor
, która teraz zaczyna się małą literą, ponieważ jest to właściwość kompozytowa (I125a5). - Dodaliśmy parametr opisu treści do parametrów
SliderDefaults.DecreaseIcon
iSliderDefaults.IncreaseIcon
z odpowiednimi wartościami domyślnymi (I2e1a7). - Zmieniliśmy nazwę parametru
spacing
w plikachPicker
iPickerGroup
naverticalSpacing
(Ib75cc). - Usunęliśmy funkcje
ConfirmationDialogDefaults.successText
ifailureText
, ponieważ wywołujący funkcjęConfirmationDialog
powinien przekazywać ciągi znaków z większym kontekstem. Zmieniono też nazwęconfirmationCurvedText
naconfirmationDialogCurvedText
. Na koniec zmieniliśmy nazwę parametru Dialogshow
na visible, aby zachować spójność z innymi niedawnymi zmianami w dialogach. (I10074) - Użytkownik
IconButton
zmienił nazwę elementu zdisabledImageOpacity
naDisabledImageOpacity
. (I5f94a)
Poprawki błędów
- Naprawiliśmy błąd w animacji
EdgeButton
, aby w każdym ujęciu używany był prawidłowy rozmiar (Id3b58). - Rozwiązanie problemu polegającego na tym, że
animateContentSize
nie działało zButton
. (Ib18a0) - Zmieniliśmy skalę czcionki Title Large na rozmiar
18dp
(Ic9d52). - Zaktualizowaliśmy odstępy i rozmiar ikony
AlertDialog
(Iac28c) - Usunięto niespójności w punktach przecięcia dużych ekranów (duże ekrany to ekrany o rozdzielczości 225 dp lub większej) (I36474)
- Naprawiono drobny błąd związany z pozycjonowaniem przycisków (I952c2).
Wersja 1.0.0-alpha31
15 stycznia 2025 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha31
został zwolniony. Wersja 1.0.0-alpha31 zawiera te komisy.
Zmiany w interfejsie API
- Zaktualizowaliśmy wszystkie biblioteki Wear Compose do trybu „wyraźnego interfejsu API”. (Iebf9f)
- Zaktualizowaliśmy interfejsy API
ScreenScaffold
iEdgeButton
, aby ułatwić określanie wypełniania treści na ekranach, które zawierająEdgeButton
. W nowym interfejsie API parametrEdgeButton
obiektuEdgeButton
jest przekazywany tylko do obiektuEdgeButton
, a obiektScreenScaffold
przyjmuje parametredgeButtonSpacing
, który określa odstęp między elementemEdgeButton
a zawartością listy.size
(I424fd) - W pliku
DatePicker
zmieniliśmy nazwy parametrówminDate
namaxDate
, a parametrówminValidDate
namaxValidDate
. W językuDatePickerColors
zmieniliśmy nazwę parametruselectedPickerContentColor
naactivePickerContentColor
, a parametrunselectedPickerContentColor
nainactivePickerContentColor
(Iba17b) - Zaktualizowaliśmy domyślne wartości
ArcProgressIndicator
nastrokeWidth=6dp
i zalecanediameter = 81.24%
wysokości ekranu (I6f248) - Zaktualizowaliśmy interfejs Confirmation API, aby odzwierciedlał jego użycie w ramach okna dialogowego. Element składany nosi teraz nazwę
ConfirmationDialog
, a powiązane z nim nazwy kolorów i klas domyślnych zostały zaktualizowane. Zmieniliśmy też nazwę parametrushow
navisible
, aby zapewnić zgodność z innymi interfejsami API animacji w Compose. Dodatkowo udostępniliśmy funkcjeConfirmationDialogContent
,SuccessConfirmationDialogContent
iFailureConfirmationDialogContent
na potrzeby sytuacji, w których deweloperzy muszą dostosować animacje dialogów w intro i outro. (Iaeb33) - Zaktualizowaliśmy element
CircularProgressIndicatorContent
do wersjiCircularProgressIndicatorStatic
(nieanimowanej wersji elementuCircularProgressIndicator
), aby można było go używać do tworzenia elementuCircularProgressIndicator
z niestandardowymi animacjami. (I1346f) - Naprawiliśmy kolejność parametrów w
ArcProgressIndicator
, umieszczając na pierwszym miejscu parametr modyfikatora (I4656a). - Ulepszony interfejs API
SwipeToReveal
, aby otrzymywać parametr slotu tekstowego dla etykiet działań (z wyjątkiem działania dodatkowego) oraz usunąć parametry etykiety z działania cofnij (I5b3db).
Poprawki błędów
- Naprawiliśmy błąd, który powodował, że
LongPress
wibracje były wyzwalane więcej niż raz wButton
,Card
,IconButton
,TextButton
(Ia8b0f) - Zmiany w UX
AlertDialog
– na dużych ekranach przyciski potwierdzenia i zamknięcia są teraz mniejsze. Zwiększyliśmy też odstęp pod przyciskami Potwierdź i Odrzuć. (I4f066) - Zmieniliśmy specyfikacje animacji etykiety przycisku polecenia w komponencie
SwipeToReveal
. (Ib87fb) - Zmieniliśmy
SwipeToReveal
, aby kontener był rozwijany w tym samym czasie, gdy wyświetlany jest tekst. (I44cf8) - Ulepszona funkcja
SwipeToReveal
, która zapewnia sprzężenie zwrotne haptyczne, gdy gest przesunięcia przekroczy próg, po którym następuje działanie główne. (I23efe) - Zaktualizowaliśmy
SwipeToReveal
, aby domyślnie wyświetlać wielokropek w przypadku przepełnienia tekstu w przypadku działań głównych i cofnięcia. (I71f5a) - Naprawiliśmy problem z drganiem animacji
ButtonGroup
. (I63f8f) - Dodaliśmy semantykę tekstu do
AnimatedText
(I6063c) - Dialog teraz resetuje skalowanie tła, gdy zostanie usunięty z kompozycji (bez tej poprawki ekran uruchamiania mógł pozostać w zmienionym stanie) (Id24ac)
- Dodaliśmy animację zmiany kształtu do przycisków w komponencie Stepper (Id6ed3).
Wersja 1.0.0-alpha30
11 grudnia 2024 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha30
został zwolniony. Wersja 1.0.0-alpha30 zawiera te komity.
Zmiany w interfejsie API
- Modyfikator
scrollTransform
w przypadkuTransformingLazyColumn
został przekształcony, co spowodowało zmianę w interfejsie API. (I0c6dc) - Zaktualizowaliśmy parametry
IconToggleButtonShapes
iTextToggleButtonShapes
, aby zawierały 2 różne parametry kształtu:uncheckedPressed
icheckedPressed
(I85dbd). - Nieprawidłowe opcje miesiąca/dnia są teraz widoczne w sekcji
DatePicker
, a nowa opcjainvalidPickerContentColor
jest dostępna w przypadku korzystania z opcjiminDate
lubmaxDate
. (If4541) - Zaktualizowaliśmy interfejs API
Stepper
, aby udostępnić slotyincreaseIcon
idecreaseIcon
. Treści do tych slotów można tworzyć jak zwykle za pomocą komponentu Ikona. (Id35da) - Zaktualizowaliśmy funkcję
dynamicColorScheme
, usuwając opcjonalny parametrdefaultColorScheme
i zwracając wartośćColorScheme
, która może być pusta. Oznacza to, że wywołujący musi wyraźnie obsłużyć przypadek awaryjny, gdy nie podano dynamicznego schematu kolorów. (I6d62e) - Zaktualizowaliśmy rozmiary ikon w
ButtonDefaults
, aby można było ich używać wCompactButton
. W przypadkuCompactButton
zawierającego tylko ikonę należy użyć atrybutuButtonDefaults.SmallIconSize = 24.dp
, a w przypadkuCompactButton
zawierającego zarówno ikonę, jak i tekst – atrybutuButtonDefaults.ExtraSmallIconSize = 20.dp
. Zalecamy, abyCompactButton
zawijała zawartość (zamiast wypełniać maksymalną szerokość). Zaktualizowaliśmy próbki, aby to pokazać. (I0582c) - Dodaliśmy
EdgeButtonDefaults
z zalecanymi rozmiarami ikon dla 4 różnychEdgeButtonSizes
. Zaktualizowaliśmy też układEdgeButton
, aby miał nieco większy odstęp od dołu niż od góry, co poprawia wygląd zarówno ikony, jak i treści tekstowej. (Id772a) - Dodaliśmy animację do
LinearProgressIndicator
i ujawnieniaLinearProgressIndicatorContent
, które zawierają treści wizualne bez animacji. (Idee99) - Dodaliśmy nowy komponent
CircularProgressIndicatorContent
, który umożliwia wyświetlanie treści wizualnych z poziomuCircularProgressIndicator
bez animacji. (Ie33d4) TransformingLazyColumn
udostępnia teraz kompozycję lokalnąLocalTransformingLazyColumnItemScope
, którejCard
s,Button
s iListHeader
s używają do automatycznego przekształcania się po umieszczeniu wTransformingLazyColumn
. Rozmówcy mogą wyłączyć automatyczne przekształcanie za pomocą nowego opakowaniaTransformExclusion
. (I1652f)- Zmieńliśmy typ pola
ButtonDefaults.shape
naRoundedCornerShape
(Iccdf2).
Poprawki błędów
- Naprawiliśmy błąd dotyczący zachowania istniejącej przezroczystości tła w
TimeText
(I1eb60). - W naszej typografii domyślnie ustawiliśmy wartość
TextMotion
naAnimated
, aby uniknąć drgań tekstu spowodowanych przyciąganiem glif liter do granic pikseli podczas operacji skalowania. (I626fa) - Zaktualizowaliśmy wygląd
ScrollIndicator
, zwiększając szerokość i odstęp, aby poprawić widoczność. (Ied7cb) - Naprawiliśmy błąd w
Modifier.scrollTransform
dotyczący dodawania, usuwania i przenoszenia elementów. (I6830f) - Rozwiązaliśmy problem z animowaniem okrągłego przycisku w przypadku krótkich dotknięć (wcześniej minimalny czas trwania animacji nie był zawsze przestrzegany). (I757a7)
- Zaktualizowaliśmy kąt skanowania dla
LevelIndicator
do 20% (czyli 72 stopnie). (Idde5c) - Rozwiązaliśmy problem z pozycjonowaniem
ScrollIndicator
, gdy używana jest funkcjaScalingLazyColumn
w ramachAutoCenteringParams
. (I387dd) - Zaktualizowaliśmy kolory i typografię w przypadku
ListHeader
iListSubHeader
. Dotyczy to również kolorów przełącznikówCheckboxButton
iSwitchButton
. (I39817) - Rozwiązaliśmy problem z pozycjonowaniem
ScrollIndicator
w wersjachLazyColumn
iScalingLazyColumn
z użyciemContentPadding
. (I2bc51) - Poprawiliśmy błąd występujący w animacji postępu
OpenOnPhoneDialog
, używając nowegoCircularProgressIndicatorContent
. (I3e443) - Zaktualizowaliśmy
HorizontalPagerScaffold
iVerticalPagerScaffold
, aby wyłączyć animacje, gdy włączona jest opcja Ogranicz animacje (Iaaf68). - Wprowadziliśmy osobną animację dla okrągłych wskaźników postępu, gdy postęp osiąga ponad 100%. (I47135)
- Naprawiliśmy błąd, który powodował, że komponenty strony
EdgeButton
mogły być rysowane z nieprawidłowym kształtem (I91db9).
Wersja 1.0.0-alpha29
13 listopada 2024 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha29
został zwolniony. Wersja 1.0.0-alpha29 zawiera te komity.
Zmiany w interfejsie API
- Zaktualizowaliśmy
TimeText
, aby wyświetlał domyślne treści z godzinami. (Id23b3) - Uprościliśmy funkcję
ScrollInfoProvider
, zmieniając ją w funkcjęPagerState
, i usunęliśmy parametrorientation
, który nie jest już potrzebny. Nowe zachowanie polega na tym, żeTimeText
pozostaje na swoim miejscu zarówno w przypadku przewijania poziomego, jak i pionowego. (I71767) LocalHapticFeedback
udostępnia teraz domyślną implementacjęHapticFeedback
, gdy interfejs API wibratora wskazuje, że haptyka jest obsługiwana. DoHapticFeedbackType
dodaliśmy te zmienne:Confirm
,ContextClick
,GestureEnd
,GestureThresholdActivate
,Reject
,SegmentFrequentTick
,SegmentTick
,ToggleOn
,ToggleOff
,VirtualKey
. Komponenty Wear Compose, które można kliknąć dłużej, takie jakButton
,IconButton
,TextButton
iCard
, wykonują teraz haptyczneLONG_PRESS
, gdy zostanie podany moduł obsługi długiego kliknięcia. (I5083d)
Poprawki błędów
- Zaktualizowaliśmy animację potwierdzenia. (I04bff)
- W przypadku bibliotek Compose zaktualizowaliśmy minimalną wersję interfejsu API do 1.7.4. (I88b46)
- Dodano nowy ruch w oknie
OpenOnPhone
. (I1e10a) - Naprawiliśmy błąd w usługach
LevelIndicator
, dzięki czemu są one teraz wyświetlane prawidłowo, gdy poziom wynosi 0. (Ie95a4) - Zaktualizowaliśmy animacje
HorizontalPageIndicator
iVerticalPageIndicator
. (I5c8f3) - Dodaliśmy animację kurczenia się do kropki do nieokreślonego
ArcProgressIndicator
. (I9fd51)
Wersja 1.0.0-alpha28
30 października 2024 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha28
został zwolniony. Wersja 1.0.0-alpha28 zawiera te komity.
Zmiany w interfejsie API
- Dodaliśmy wariant łuku w nieokreślonym kołowym wskaźniku postępu (I2efc1).
- Udostępniliśmy komponenty
AlertDialogContent
iDialog
, które składają się na interfejs APIAlertDialog
, aby umożliwić w razie potrzeby dodanie własnych ustawień (np. dostosowanie animacjiAlertDialog
przy zachowaniu zalecanego układu treści). Dodatkowo do elementówEdgeButton
,ConfirmButton
iDismissButton
grupyAlertDialogDefaults
dodaliśmy parametryModifier
iColor
. (I4eb71) - Zaktualizowaliśmy interfejs
Placeholder
w następujący sposób: zmieniliśmy nazwę parametruPlaceholderState.startPlaceholderAnimation
naPlaceholderState.animatePlaceholder
,PlaceholderState.isShowContent
naPlaceholderState.isHidden
iPlaceholderDefaults.shape
naPlaceholderDefaults.Shape
; zmieniliśmy nazwę parametrupainter
w interfejsiepainterWithPlaceholderOverlayBackgroundBrush
naoriginalPainter
; zmieniliśmy widoczność parametruPlaceholderState.placeholderProgression
z publicznej na wewnętrzną i zmieniliśmy jego nazwę naplaceholderShimmerProgression
; dodaliśmy stałe wartości czasu trwania animacji w interfejsiePlaceholderDefaults
. (Ie5a59) - Zaktualizowaliśmy interfejs API
EdgeButton
w następujący sposób: zmieniliśmy nazwę parametruScreenScaffold
zbottomButton
naedgeButton
; parametrEdgeButtonSize
został oznaczony jako klasa wartości. (Ieef15) - Zmieniliśmy widoczność
copy()
na publiczną w klasach kolorów wear material3 (I0287f).
Poprawki błędów
- Dodano minimalny czas animacji dla
IconToggleButton
iTextToggleButton
po kliknięciu (Ieb333). - Dodano minimalny czas trwania animacji kształtów
IconButton
iTextButton
(Iebcee). - Poprawiono stan opcji powtarzania
DatePicker
. (I3587c) - Dodano animację dla okien alertu i poświadczenia. (I173b1)
Wersja 1.0.0-alpha27
16 października 2024 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha27
został zwolniony. Wersja 1.0.0-alpha27 zawiera te komity.
Zmiany w interfejsie API
- Zaktualizowaliśmy
ScreenScaffold
iScrollIndicator
po zmianie nazwy pakietu Wear Compose Foundation zLazyColumn
naTransformingLazyColumn
. (I0608b) - Parametr
EdgeButton
o nazwiepreferredHeight
został przemianowany nabuttonSize
, a jego wartość może być wybrana tylko spośród 4 stałych wartości w nowo wprowadzonej klasie wartościEdgeButtonSize
. (Icdd70) - Zmieniliśmy nazwę parametru
ListSubheader
naListSubHeader
i dodaliśmy publicznie dostępne wartości domyślne dla parametrówListHeader
iListSubHeader
. (I96730) - Dodaliśmy nowe komponenty
HorizontalPagerScaffold
iVerticalPagerScaffold
dla Wear, które zapewniają nowe animacje i koordynację między tekstem czasu a elementami wskaźnika strony. (Iff7d0) - Dodaliśmy obsługę urządzeń z pokrętłem do
HorizontalPagerScaffold
iVerticalPagerScaffold
, aby umożliwić użytkownikom poruszanie się po menu za pomocą urządzeń z pokrętłem. (I9770d) - Wprowadziliśmy zmiany w interfejsie
MotionScheme
API, aby uprościć jego używanie i ulepszyć spójność. Usunęliśmy wbudowane funkcje zapamiętaj i przemieściliśmy wbudowane schematy animacji do dedykowanego obiektu towarzyszącego MotionScheme. Zmieniono nazwystandardMotionScheme
iexpressiveMotionScheme
na standardowe i wyraziste. (I5fd45) - Dodaliśmy obsługę dynamicznego schematu kolorów opartego na kolorach systemu. (I073e9)
- Zaktualizowaliśmy sekwencję zgodnie z najnowszymi specyfikacjami UX. (I622bb)
Poprawki błędów
- Zaktualizowaliśmy typografię i odstępy w komponentach kart. (I3ae48)
- Zmieńliśmy w
AlertDialog
odstęp między przyciskami Potwierdź/Anuluj a resztą treści z 8 dp na 12 dp zgodnie ze specyfikacją UX (Ie55f0). - Zaktualizowaliśmy przezroczystość kolorów w komponencie Suwak. (Idb383)
Wersja 1.0.0-alpha26
2 października 2024 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha26
został zwolniony. Wersja 1.0.0-alpha26 zawiera te komity.
Zmiany w interfejsie API
- Zaktualizowaliśmy interfejs API i wygląd usługi
HorizontalPageIndicator
oraz dodaliśmy funkcjęVerticalPageIndicator
do użycia z usługąVerticalPager
(Ic9309) AlertDialog
umożliwia teraz pominięcie domyślnego przycisku dolnego w wariantach grupy przycisków w przypadku niestandardowych układów, w których przycisk EdgeButton nie jest wymagany. (I34fa9)- Dodaliśmy komponent
SwipeToReveal
dla Wear Material 3 (Ic38b2). - Dodaliśmy obsługę dwukierunkowego przesuwania w aplikacji
SwipeToReveal
na wypadek rzadkich sytuacji, w których bieżący ekran nie obsługuje funkcji usuwania przez przesunięcie. Domyślnie przewijanie w celu wyświetlenia jest nadal możliwe tylko przy przesuwaniu od prawej do lewej. Zdecydowanie zalecamy zachowanie domyślnego zachowania, aby uniknąć konfliktu z przesuwaniem w celu zamknięcia. (Ifac04) - Zmieniliśmy nazwę parametru
buttonHeight
w modeluEdgeButton
napreferredHeight
. (I4fab3) - Wersja Kotlin została zaktualizowana do 1.9 (I1a14c).
- Zmieniliśmy nazwę
OpenOnPhoneDialogDefaults.Icon
naOpenOnPhoneDialogDefaults.OpenOnPhoneIcon
, aby uniknąć konfliktu z poziomemIcon
(I0f391). - Dodaliśmy obsługę właściwości
ScrollIndicator
w przypadku właściwościLazyColumn
. (Ia546a) - Zaktualizowaliśmy wartości domyślne dla
TextToggleButton
iIconToggleButton
. (I7aaa9) - Uprościliśmy interfejsy API
Picker
iPickerGroup
. (Id0653) - Dodaliśmy zmienne
CardDefaults.Shape
iCardDefaults.Height
, które (jako tokeny) były wcześniej prywatne dla deweloperów korzystających z biblioteki. (I1594a, b/347649765) - Zmieniliśmy nazwę parametru postępu w przypadku binarnego segmentowanego koła postępu na
segmentValue
. (Ib72d9) - Zaktualizowaliśmy kolory i układ suwaka. (Ic3eec)
Poprawki błędów
- Zaktualizowaliśmy animację ikony
openOnPhone
(I66f85). - W usługach
Slider
,TimePicker
iDatePicker
używamy teraz ikon Google Symbols. (I46c7c) - Zaktualizowaliśmy wypełnienie w elementach
Confirmation
iOpenOnPhoneDialog
. (Iaa82e)
Wersja 1.0.0-alpha25
18 września 2024 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha25
został zwolniony. Wersja 1.0.0-alpha25 zawiera te komity.
Zmiany w interfejsie API
- Dodaliśmy okrągły wskaźnik postępu z nieokreślonym czasem trwania. (I427a7)
- Dodaliśmy obsługę przepełnienia postępu (powyżej 100%), zarówno w przypadku
CircularProgressIndicator
, jak iSegmentedCircularProgressIndicator
. Gdy postęp przekroczy 1,0, zostanie to oznaczone nowym koloremoverflowTrack
. (Iaaa3d) - Okrągłe przyciski
IconToggleButton
iTextToggleButton
obsługują teraz nową animację kształtu, w której różne kształty oznaczają stany zaznaczone, niezaznaczone i wciśnięte. Wcześniejsza animowana wersja kształtu w stanie „wciśnięte” jest nadal obsługiwana. (I29f03) - Usunęliśmy obsługę
EdgeButton
w komponencieColumn
, ponieważ w komponencieScreenScaffold
należy wyraźnie określić wysokośćEdgeButton
. (Ie353d) - Dodaliśmy obsługę
LazyColumn
w komponencie Wear Compose w komponencieScreenScaffold
(i dodaliśmy implementacjęScrollInfoProvider
w komponencieLazyColumnState
). (Ib8d29) - Aby zapewnić bardziej elastyczne rozwiązanie, połączyliśmy komponenty
LocalTextMaxLines
,LocalTextAlign
iLocalTextOverflow
w jedną kompozycję lokalnąLocalTextConfiguration
. (I5edbc) - Dodaliśmy typ arc-large jako dodatkowy typ skali, zarezerwowany dla krótkich ciągów tekstowych nagłówka u samego góry lub u samego dołu ekranu, np. w przypadku nakładek z potwierdzeniem. (I60e3e)
- Do przycisku dodaliśmy domyślne wartości zalecanych rozmiarów ikon i odstępów treści. (I84675)
Poprawki błędów
- Zaktualizowaliśmy kolory
IconButton
iTextButton
. (I48324) - Zmieniliśmy podstawową wersję przeciążenia przycisku, aby była wyrównana do środka w pionowej, tak aby była spójna z innymi przeciążeniami. Aby przywrócić poprzedni sposób działania, użyj
Modifier.align
z poziomuRowScope
. (I66e57)
Wersja 1.0.0-alpha24
4 września 2024 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha24
został zwolniony. Wersja 1.0.0-alpha24 zawiera te komity.
Zmiany w interfejsie API
- Do motywu Material 3 dodaliśmy schemat Motion. Będzie ono używane przez komponenty w bibliotece do stosowania specyfikacji animacji, takich jak sprężyny do wyrażania ruchu. (I54ff3)
- Do biblioteki Material3 dodaliśmy komponenty
AppScaffold
iScreenScaffold
, które obejmują funkcję do koordynowania warstw i przejśćTimeText
iScrollIndicator
.AppScaffold
zapewnia najwyższy poziom komponentów szkieletu, które znajdują się na wierzchu wszystkich ekranów. DodanieTimeText
doAppScaffold
pozwala mu pozostać na miejscu podczas przesuwania między ekranami. Ekrany mogą same zastąpić lub ukryć tekst czasu.ScreenScaffold
udostępnia slot dlaScrollIndicator
i automatycznie animuje wskaźnik przewijania podczas przewijania, w tym czas oczekiwania na ukrycie wskaźnika po okresie bezczynności. (I047d6) - Dodaliśmy
ScrollIndicator
z nowym wzornictwem Material 3. Ma on stały rozmiar miniatury na podstawie początkowej zawartości listy, aby uniknąć różnic w rozmiarze podczas wczytywania treści na liście. (Ic228d) - Zmieniliśmy interfejs API
ScrollAway
tak, abyScreenStage
była klasą wartości zamiast klasy wyliczenia. Dzięki temu w przyszłości będzie można dodawać kolejne etapy w miarę potrzeby. (I48c93) - Dodaliśmy
EdgeButton
, czyli charakterystyczny przycisk na Wear, którego kształt odpowiada zakrzywionej dolnej krawędzi ekranu (I16369). - Dodaliśmy do
ScreenScaffold
nowy boks na przycisk dolny (np.EdgeButton
), który będzie wyświetlany i zmieniał rozmiar w zależności od treści przewijanych (I032eb) - Dodaliśmy elementy
Modifier.scrollTransform
iModifier.targetMorphingHeight
, aby dodać efekty ruchu Material 3 do elementów wLazyColumn
. (Ie229a) - Dodaliśmy
SegmentedCircularProgressIndicator
jako wariantCircularProgressIndicator
. Wersja z segmentacją wyświetla jedną wartość postępu we wszystkich segmentach lub pokazuje każdy segment jako włączony/wyłączony (I6e059). - Dodaliśmy
LinearProgressIndicator
jako alternatywę dla dotychczasowej funkcjiCircularProgressIndicator
. (I89182) - Dodaliśmy
AlertDialog
, czyli układy do wyświetlania użytkownikowi ważnych promptów. Dostępne są warianty z parą przycisków potwierdzenia/odrzucenia lub pojedynczym przyciskiem u dołu (zwykle przycisk EdgeButton) pod zbiorem opcji. Oba warianty mają sloty na ikonę, tytuł i dodatkowy tekst, w których można podać więcej szczegółów. (Ieb873) - Dodaliśmy symbol
OpenOnPhoneDialog
, który powinien być używany do wskazywania działania, które będzie kontynuowane na telefonie użytkownika.OpenOnPhoneDialog
jest odrzucany po upływie określonego czasu. (I978fd) - Dodaliśmy komponent dialogu
Confirmation
, który zawiera 2 miejsca na ikonę i tekst w wersji wygiętej lub liniowej. W przypadku komunikatów o sukcesie lub niepowodzeniu dostępne są różne wersje. Po upływie limitu czasu potwierdzenia są automatycznie odrzucane. (Ib43e8) - Dodaliśmy tło do
TimeText
, aby rozwiązać problemy, które występowały, gdy podstawowe treści iTimeText
nakładały się na siebie i zasłaniały czas. (Ia11fd) - Dodaliśmy komponent
LevelIndicator
, który pokazuje wartość ustawienia, np. głośności. Można go używać z dotychczasowym komponentemStepper
do tworzenia ekranu głośności.LevelIndicator
jest podobny doScrollIndicator
, ale wyświetla się po przeciwnej stronie ekranu, ma szerszą obwódkę i domyślnie inny kolor wskaźnika. (I8a4ac) - Dodaliśmy
TimePicker
z układami dla czasu 24-godzinnego (z sekundami lub bez nich) oraz 12-godzinnego z opcją wyboru pory dnia. (Ia5124) - Dodaliśmy
DatePicker
z konfiguracją sortowania kolumn (np. dzień-miesiąc-rok, miesiąc-dzień-rok lub rok-miesiąc-dzień) oraz opcjonalne daty minimalne i maksymalne. (Ibf13b) - Dodaliśmy parametr wagi do funkcji
text
w funkcjiTimeText
. W przypadku, gdy element TimeText składa się z więcej niż jednego elementu tekstowego, umożliwia to kontrolowanie sposobu rozmieszczenia przestrzeni. (I36700) - Dodaliśmy elementy
RadioButton
iSplitRadioButton
, które upraszczają poprzedni interfejs API dzięki połączeniu elementówSelectableButton
(Split) i elementu podrzędnego radio control (If7ae8). - Dodaliśmy elementy
CheckboxButton
iSplitCheckboxButton
, które upraszczają poprzedni interfejs API dzięki połączeniu elementu (Split)ToggleButton
i podrzędnego elementu kontrolnego pola wyboru (Ia8f70). - Dodaliśmy
SwitchButton
iSplitSwitchButton
– te komponenty upraszczają poprzedni interfejs API, łącząc interfejs(Split)ToggleButton
i podrzędny element kontrolny Switch (I0d349). - Zaktualizowaliśmy dokumentację
AnimatedText
, aby wyjaśnić działanie funkcji przeregulowania. (Iff30a) - Dodaliśmy
ButtonGroup
, aby połączyć 2 lub 3 przyciski, tak aby ich naciśnięcia wywoływały zsynchronizowaną animację. (Ie27db) - Dodaliśmy opcjonalną animację kształtu dla przycisków
IconButton
iTextButton
. (Iffca5) - Dodaliśmy dodatkowy wariant kolorystyczny
FilledVariant
doButton
,IconButton
,TextButton
,CompactButton
iEdgeButton
(I65fc3) - Do parametru
forcedSize
dodaliśmy parametrforcedSize
, dzięki czemu tła obrazów przycisku zachowują teraz domyślnie rozmiar komponentu.ImageWithScrimPainter
UstawienieforcedSize = null
powoduje przyjęcie wartościPainter.instrinsicSize
. (Ic57af) - Dodano długie kliknięcie do przycisków (Ib613d).
- Dodaliśmy też obsługę długiego kliknięcia do właściwości
IconButton
iTextButton
. (I38891) - Do kart dodano obsługę długiego kliknięcia. (I305d5)
- Dodaliśmy parametry
LocalTextMaxLines
,LocalTextAlign
iLocalTextOverflow
jakoCompositionLocals
i użyliśmy ich jako domyślnych parametrów w funkcjiText
. Lokalne wartości kompozycji mogą teraz być używane przez komponenty takie jakCheckboxButton
,SwitchButton
iRadioButton
do implementowania wskazówek dotyczących UX, ale w razie potrzeby deweloperzy mogą je zastąpić. (Iab841) - Dodaliśmy
Placeholder
, aby umożliwić maskowanie zawartości komponentów takich jak przyciski i karty do momentu załadowania danych. (I1a532) - Dodaliśmy
IconToggleButtonColors
iTextToggleButtonColors
, aby zastąpić usunięty adresToggleButtonColors
. (Ie0bf1)
Poprawki błędów
- Zaktualizowaliśmy parametry
Button
,FilledTonalButton
,OutlinedButton
,ChildButton
iCompactButton
, aby używały nowych parametrówCompositionLocals
LocalTextMaxLines
,LocalTextAlign
iLocalTextOverflow
. Dzięki temu możesz wdrożyć zalecenia dotyczące UX. W razie potrzeby deweloperzy mogą bezpośrednio zastąpić te parametry w Tekście (Ie51f7). - Domyślną szerokość kreski
LevelIndicator
zmieniliśmy na6dp
, aby odróżnić ją odScrollIndicator
, która ma szerokość kreski4dp
. (If6f63) - Naprawiliśmy problem w
TimeText
, aby obsługiwać większe kąty skanowania. (Ie489f) - Rozwiązaliśmy problem z rekompozycją
EdgeButton
. (I4cdca) - Poprawione układy podzielonych przycisków przełączników, gdy jest ustawione niestandardowe wypełnienie treści. (Ia33d3)
- małe wartości postępu są zaokrąglane w górę do szerokości linii wskaźnika postępu; (I3bd84)
Wersja 1.0.0-alpha23
14 maja 2024 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha23
został zwolniony. Wersja 1.0.0-alpha23 zawiera te komity.
Zmiany w interfejsie API
- Zaktualizowaliśmy interfejsy API
ToggleButton
iRadioButton
, aby umożliwić konfigurowanie wyłączonych kolorów. (If13a7) - Dodaliśmy nową
CircularProgressIndicator
dla Material 3. (Ib3bd7)
Poprawki błędów
- Naprawiliśmy błąd polegający na tym, że przyciski do wyboru wyświetlały komunikat o kliknięciu dwukrotnym, gdy były już wybrane. (I7ed88)
Wersja 1.0.0-alpha22
1 maja 2024 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha22
został zwolniony. Wersja 1.0.0-alpha22 zawiera te komity.
Zmiany w interfejsie API
- Zaktualizowaliśmy Material3
ColorScheme
. (I7b2b8) - Zaktualizowaliśmy przełącznik Material3 – oprócz zmian kolorów znacznik jest teraz zgodny z tym, który jest używany w przypadku pola wyboru. (Icac7b)
Poprawki błędów
- Zaktualizuj wszystkie demonstracje integracji, aby używać nowego modyfikatora
rotaryScrollable
. (I25090)
Wersja 1.0.0-alpha21
17 kwietnia 2024 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha21
został zwolniony. Wersja 1.0.0-alpha21 zawiera te komity.
- Ta wersja została opublikowana z powodu błędu technicznego w poprzedniej wersji, który spowodował brak plików źródłowych jar. W tej wersji nie ma nowych commitów.
Wersja 1.0.0-alpha20
3 kwietnia 2024 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha20
został zwolniony. Wersja 1.0.0-alpha20 zawiera te komity.
Poprawki błędów
- Dostosowaliśmy przezroczystość stanu naciśnięcia i skupienia przycisku Ripple. (I59f0a)
- W ramach najnowszych zmian w stylach typograficznych i wysokości linii dodaliśmy odstęp między etykietami głównymi i dodatkowymi w elementach
Button
,ToggleButton
iRadioButton
. (I2c0ba)
Wersja 1.0.0-alpha19
6 marca 2024 roku
Element androidx.wear.compose:compose-material3:1.0.0-alpha19
został zwolniony. Wersja 1.0.0-alpha19 zawiera te komisy.
Zmiany w interfejsie API
- Dodaliśmy
TimeText
do biblioteki Material3 na Wear. Ten komponent wyświetla u góry ekranu aktualną godzinę (i dodatkowy stan). Nowe, zwięzłe API Material3 pozwala uniknąć powielania treści linearnych i zawijanych. (I4d7c3) - Zmieniliśmy nazwy parametrów
RadioButton
zonSelected
naonSelect
. (I1a971) - Tokenizuj
RadioButton
iSplitRadioButton
, a także zrefaktoryzuj istniejące metody, aby zmniejszyć liczbę wyszukiwańCompositionLocal
przez dodanie do pamięci podręcznej wystąpień kolorów i ustawienie metodRadioButtonColors
iSplitRadioButtonColors
jako wewnętrznych. (I02b33)
Wersja 1.0.0-alpha18
21 lutego 2024 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha18
został zwolniony. Wersja 1.0.0-alpha18 zawiera te commity.
Zmiany w interfejsie API
- Zmieniliśmy wzór domyślnych wartości dla funkcji
CardColors
,ToggleButtonColors
iSplitToggleButtonColors
, tworząc wewnętrznie instancje z wykorzystaniem pamięci podręcznej i zmniejszając użycie funkcjiCompositionLocal
. (If3fec)
Wersja 1.0.0-alpha17
7 lutego 2024 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha17
został zwolniony. Wersja 1.0.0-alpha17 zawiera te commity.
Zmiany w interfejsie API
- Zaktualizowaliśmy interfejs Button API, aby domyślnie używał interfejsu
buttonColors
, i usunęliśmy duplikatfilledButtonColors
. (I4fe3b) - Przekształciliśmy domyślne wzorce w przypadku funkcji
ButtonColors
,IconButtonColors
iTextButtonColors
, tworząc wewnętrznie instancję z wykorzystaniem pamięci podręcznej i zmniejszając użycie funkcjiCompositionLocal
. (I5f51c) - Usunęliśmy nadmiar
rememberUpdatedState
w klasach kolorów związanych ze składnikami i oznaczyliśmy metody dostępu w klasach kolorów jako wewnętrzne. (If6571)
Poprawki błędów
- Zaktualizowaliśmy aplikację
Modifier.minimumInteractiveComponentSize
, aby korzystać z funkcjiModifier.node
. (Iba6b7)
Wersja 1.0.0-alpha16
24 stycznia 2024 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha16
został zwolniony. Wersja 1.0.0-alpha16 zawiera te commity.
Nowe funkcje
- Dodaliśmy
CompactButton
, który może używać tych samych kolorów wypełnień, wypełnień tonalnych i konturów co przycisk (I05df0).
Zmiany w interfejsie API
- Dodaliśmy elementy
RadioButton
/SplitRadioButton
jako kontenery dla elementów sterujących wyborem, takich jak element radiowy. Różnica międzyRadioButton
aToggleButton
polega na tym, żeRadioButton
można wybrać (i działa on w ramach grupy wyboru), podczas gdyToggleButton
można włączać i wyłączać (jest niezależny). (I61275) - Usunęliśmy komponent
LocalContentAlpha
z biblioteki Material3 na Wear, aby zachować spójność z biblioteką Compose Material3. (I49a0a) - Komponenty Wear Material i Wear Material3, 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 zwiększa wydajność tych komponentów. Jeśli nie używasz wartościMutableInteractionSource
przekazywanej do tych komponentów, zalecamy przekazanie zamiast niej wartości null. Zalecamy też wprowadzenie podobnych zmian w własnych komponentach. (Ib90fc, b/298048146) - Dodaje nowy interfejs API ripple do bibliotek
wear:compose-material
iwear:compose-material3
, który zastępuje wycofany interfejsrememberRipple
. Dodaje też tymczasowyCompositionLocal
,LocalUseFallbackRippleImplementation
, aby przywrócić komponentom Material Design korzystanie z wycofanych interfejsów APIrememberRipple/RippleTheme
. Zostanie on usunięty w kolejnych stabilnych wersjach. Jest to tylko tymczasowe ułatwienie migracji w przypadku, gdy używasz niestandardowegoRippleTheme
. Więcej informacji o migracji i tłumaczenie tej zmiany znajdziesz na stronie developer.android.com. (af92b21) - Wprowadziliśmy drobne ulepszenia w interfejsie API
HorizontalPageIndicator
i jego dokumentacji. (I60efc) - Zmieniliśmy właściwości
ColorScheme
, aby były niezmienne, co zmniejsza efektywność zmian poszczególnych kolorów, ale zwiększa efektywność częstszego ich używania. 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 kompilacji niż wcześniej. W związku z tym znacznie zmniejszyliśmy liczbę subskrypcji stanu w całym kodzie materiału, a także koszt inicjalizacji i czasu wykonywania w przypadku standardowych zastosowań. (Ibc2d6) - Zaktualizowano interfejsy API
ToggleButton
iSplitToggleButton
, aby umożliwić dostosowywanie wyłączonych kolorów. Dodatkowo tokeny Material Design są teraz używane do wartości kolorów i typografii. (If087c) - Zaktualizowano kolory tła obrazu przycisku, aby używać tokenów Material Design. (Iba215)
- Składniki
Checkbox
,Switch
iRadioButton
są teraz tylko do wyświetlania, ponieważ usunęliśmy obsługę kliknięć. Te komponenty są przeznaczone do użycia w komponencie(Split)ToggleButton
, który obsługuje kliknięcie, dlatego są teraz wyraźniej oznaczone jako komponenty tylko do wyświetlania (nie są przeznaczone do samodzielnego używania na Wear). (I2322e)
Poprawki błędów
- Dodaliśmy tokeny dla wartości animacji czasu trwania i wygładzania w komponowaniu interfejsu na Wear OS 3. (I437cd)
- Naprawiliśmy błąd w elementach
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
iRadioButton
, aby zapobiec powtarzaniu się komunikatów ułatwień dostępu (wcześniej role semantyczne były powielane). (Ica281) - Aby zwiększyć wydajność, usunęliśmy warstwę materialcore w przypadku
CompactButton
. (7902858)
Wersja 1.0.0-alpha15
15 listopada 2023 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha15
został zwolniony. Wersja 1.0.0-alpha15 zawiera te commity.
Zmiany w interfejsie API
- Zmieniliśmy nazwę poziomu Podstawy
SwipeToDismissBox
naBasicSwipeToDismissBox
. Dzięki temu wyraźniej widać różnicę między komponentem na poziomie Foundation a poziomem Material3SwipeToDismissBox
. Drugi z nich pobiera kolory z poziomuMaterialTheme
, aby wykorzystać je w przesłonach, a pozostałe elementy implementuje w poziomieBasicSwipeToDismissBox
. (Ibecfc)
Poprawki błędów
- Aby zwiększyć wydajność, usunęliśmy warstwę material-core w przypadku przycisku Material3. (I55555)
Wersja 1.0.0-alpha14
18 października 2023 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha14
został zwolniony. Wersja 1.0.0-alpha14 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Usunęliśmy parametr
indicatorStyle
z Material3HorizontalPageIndicator
– zamiast tego będzie on dostosowywany do kształtu ekranu urządzenia (prostokątny lub okrągły). (I83728) - Oddzieliliśmy kolory
SplitToggleButton
od kolorówToggleButton
, dodając nową klasęSplitToggleButtonColors
. (I78bee)
Wersja 1.0.0-alpha13
4 października 2023 roku
Element androidx.wear.compose:compose-material3:1.0.0-alpha13
został zwolniony. Wersja 1.0.0-alpha13 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaliśmy opcjonalne pole z napisami do
TitleCard
. (Ifc45a) - Dodaliśmy tokeny kolorów Material Design dla
TextButton
. (I769dc)
Wersja 1.0.0-alpha12
20 września 2023 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha12
został zwolniony. Wersja 1.0.0-alpha12 zawiera te commity.
Zmiany w interfejsie API
- Zaktualizowaliśmy aplikację
IconButton
, aby używała tokenów Material Design. (I3f137) - Zaktualizowaliśmy aplikację
IconToggleButton
, aby używała tokenów Material Design. (I7d263) - Udostępniliśmy konstruktory
CheckboxColors
,RadioButtonColors
iSwitchColors
. (I82b73)
Wersja 1.0.0-alpha11
6 września 2023 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha11
został zwolniony. Wersja 1.0.0-alpha11 zawiera te commity.
Poprawki błędów
- Zaktualizowaliśmy typografię na kartach Material3 do wersji
TitleMedium
. (I597bd) - Zaktualizowaliśmy typografię i wyrównanie w przypadku naszych komponentów Material 3
ListHeader
iListSubheader
. (Ib5ceb)
Wersja 1.0.0-alpha10
23 sierpnia 2023 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha10
został zwolniony. Wersja 1.0.0-alpha10 zawiera te commity.
Nowe funkcje
- Dodaj
HorizontalPageIndicator
do biblioteki Material3 na Wear. (Ifee99)
Zmiany w interfejsie API
- Zaktualizuj kod przycisków, aby używać tokenów projektowych Material3. (I92fe4)
- Oznaczenie interfejsów API dla Wear Material 3 Stepper i Slider jako eksperymentalne, ponieważ szczegóły interfejsu są jeszcze w trakcie opracowywania. (I84d54)
- Usunęliśmy rozmiary
ExtraSmall
z okrągłychTextButton
iTextToggleButton
, ponieważ rozmiar ten dotyczy tylkoIconButton
. (Ibc7d5)
Poprawki błędów
- Zaktualizowaliśmy wskazówki dotyczące typografii w przypadku przycisku tekstowego, aby używać etykiety dużej dla rozmiaru przycisku dużego (Ib10fa).
- Zaktualizowaliśmy wskazówki dotyczące typografii w przypadku elementu TextButton, aby używać etykiety Large w przypadku rozmiaru LargeButton (I8f3a7).
- Ze względu na ułatwienia dostępności minimalny rozmiar docelowego elementu dotykowego karty został ustawiony na 48 dp. (Ieb9b1)
- Dodawanie karty aplikacji z demonstracją obrazu i usuwanie karty aplikacji z demonstracją tła (Id735f)
- Naprawiliśmy błąd w przyciskach okrągłych, w których modyfikatory nie były prawidłowo połączone. (I5e162)
Wersja 1.0.0-alpha09
9 sierpnia 2023 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha09
został zwolniony. Wersja 1.0.0-alpha09 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy
ToggleButton
dla material3 (I6bed6).
Zmiany w interfejsie API
- Włączyliśmy adnotację
FloatRange
jako ograniczenia interfejsu API , które zostały wcześniej podane w komentarzach. (Icb401) - Zaktualizowaliśmy typografię na Wear w ramach Material 3, aby była zgodna z najnowszymi wytycznymi Material 3. (I1bad6)
Poprawki błędów
- Zaktualizowaliśmy kolory elementów
Button
,IconButton
iTextButton
zgodnie z Material Design 3. (Ib2495) - Rozwiązaliśmy problem z widokością pola wyboru w wyłączonych stanach. (Ib25bf)
Wersja 1.0.0-alpha08
26 lipca 2023 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha08
został zwolniony. Wersja 1.0.0-alpha08 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy te elementy sterujące wyborem dla Material3:
Switch
,Checkbox
,RadioButton
. (Ib918c) - Do Material 3 dodaliśmy
IconToggleButton
iTextToggleButton
, czyli okrągły przełącznik z jednym gniazdem na ikonę i tekst. W przypadku różnych rozmiarówToggleButton
zalecamy użycieModifier.touchTargetAwareSize
z rozmiarami podanymi w odpowiednich przyciskach przełączania. (I9f015) - Dodaliśmy do komponentów Material 3 elementy
ListHeader
iListSubheader
. (Ibaefe) - Dodaliśmy bibliotekę Material3
SwipeToDismissBox
, która wywołuje nową bibliotekę FoundationSwipeToDismissBox
i podaje domyślne wartości kolorów z jej motywu. (I275fb) - Dodaliśmy do aplikacji Compose na Wear interfejs Material3
InlineSlider
. Umożliwia użytkownikom wybranie jednej z kilku wartości. Zakres opcji jest wyświetlany jako pasek między minimalną a maksymalną wartością zakresu, z którego użytkownicy mogą wybrać jedną wartość.InlineSlider
idealnie nadaje się do regulacji ustawień takich jak głośność czy jasność. (I7085f)
Zmiany w interfejsie API
- Zaktualizowaliśmy motyw Kształty w Material 3 na Wear, aby używał
RoundedCornerShape
zamiast Kształtu. (Idb133) - Stałe wysokości przycisku są teraz publicznie dostępne (Idbfde).
- Zaktualizowano pliki interfejsu API, aby dodać adnotacje do pominięcia zgodności (I8e87a, b/287516207).
- Zaktualizowaliśmy
InlineSliderColors
w komponowaniu na Wear Material 3, aby zawierał publiczny konstruktor i publiczne właściwości. (I6b632) - Zaktualizowaliśmy wszystkie klasy kolorów w komponencie Wear Compose Material 3, aby zawierały publiczne konstruktory i publiczne właściwości. (I17702)
- Udostępniliśmy publicznie poziome i pionowy margines przycisku. (Ieeaf7)
Poprawki błędów
- Przycisk będzie teraz dostosowywać swoją wysokość do treści, które zostały powiększone ze względu na duże czcionki, aby zapewnić ułatwienia dostępu (Iaf302)
- Zaktualizowaliśmy kilka demonstracji przycisku, aby rozwiązać problemy z dostępnością. (I61ce9)
Stepper
iInlineSlider
obsługują teraz powtarzane kliknięcia przy długim naciśnięciu, dzięki czemu możesz szybko zwiększać lub zmniejszać wartośćStepper
iInlineSlider
, przytrzymując przyciski + lub - (I27359)
Wersja 1.0.0-alpha07
21 czerwca 2023 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha07
został zwolniony. Wersja 1.0.0-alpha07 zawiera te commity.
Nowe funkcje
- Dodaliśmy komponent
Stepper
do biblioteki Compose dla Wear OS Material 3. Jest to funkcja podobna do poprzedniej wersji Material, ale zgodnie z opiniami deweloperów domyślnie pomija semantykę zakresu.Modifier.rangeSemantics
w przypadkach, gdy wymagana jest semantyka zakresu. (Ic39fd) - Dodaliśmy
curvedText
do biblioteki Compose dla Wear OS Material 3. (Ia8ae3)
Poprawki błędów
- Zaktualizowaliśmy usługę
wear.compose.foundation
, aby była zależna od interfejsu API usługiwear.compose.material3
(I72004, b/285404743).
Wersja 1.0.0-alpha06
7 czerwca 2023 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha06
został zwolniony. Wersja 1.0.0-alpha06 zawiera te commity.
Poprawki błędów
- Zaktualizowaliśmy funkcję
TextButton
, aby używała funkcji rozszerzeniatoDisabledColor
do prawidłowego wyłączania wartości alfa. (I814c8)
Wersja 1.0.0-alpha05
24 maja 2023 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha05
został zwolniony. Wersja 1.0.0-alpha05 zawiera te commity.
Nowe funkcje
- Do Material3 dodaliśmy element
TextButton
, czyli okrągły przycisk z 1 miejscem na tekst. W przypadku różnych rozmiarówTextButton
zalecamy użycieModifier.touchTargetAwareSize
iExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
iLargeButtonSizeIcon
podanych wTextButtonDefaults
. Domyślna ikonaTextButton
nie ma obramowania i przezroczystego tła w przypadku działań o niskim stopniu podkreślenia. W przypadku działań wymagających mocnego podkreślenia użyjfilledTextButtonColors
. Aby uzyskać średni stopień podkreślenia, użyj obrysuTextButton
i ustaw obramowanie naButtonDefaults.outlinedButtonBorder
. Aby uzyskać średni stopień podkreślenia, użyj obrysuTextButton
i ustaw obramowanie naButtonDefaults.outlinedButtonBorder
. Aby uzyskać średni stopień podkreślenia, użyj obrysufilledTonalTextButtonColors
. (I667e4) - Dodaliśmy do biblioteki Material3 na Wear Compose komponenty
Card
,OutlinedCard
,AppCard
iTitleCard
. ObiektyAppCard
iTitleCard
mogą też mieć obrys, jeśli użyjesz atrybutówCardDefaults.outlinedCardColors
iCardDefaults.outlinedCardBorder
(I80e72).
Zmiany w interfejsie API
- Parametr label w przycisku został przeniesiony na koniec, aby umożliwić obsługę nawiasów klamrowych w składni lambda. Usunęliśmy też parametr role (można go zastąpić za pomocą
Modifier.semantics
). KonstruktoryButtonColors
są teraz publiczne. (Ie1b6d)
Wersja 1.0.0-alpha04
10 maja 2023 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha04
został zwolniony. Wersja 1.0.0-alpha04 zawiera te commity.
Nowe funkcje
- Do Material3 dodaliśmy okrągły przycisk
IconButton
z 1 miejscem na ikonę lub obraz. Dostępne są 4 warianty:IconButton
,FilledIconButton
,FilledTonalIconButton
iOutlinedIconButton
. W przypadku różnych rozmiarówIconButton
zalecamy użycieModifier.touchTargetAwareSize
iExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
iLargeButtonSizeIcon
podanych wIconButtonDefaults
. Udostępniamy teżIconButtonDefaults.iconSizeFor
, aby określić zalecany rozmiar ikony dla danego rozmiaru przycisku. (I721d4)
Wersja 1.0.0-alpha03
19 kwietnia 2023 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha03
został zwolniony. Wersja 1.0.0-alpha03 zawiera te commity.
Zmiany w interfejsie API
- Dodaliśmy komponent przycisku Material 3. Jest to przycisk w kształcie stadionu, który wcześniej w bibliotece Material na Wear w Compose nosił nazwę Chip (został przemianowany na Button, aby zachować spójność z biblioteką Material 3 w Compose). Domyślny przycisk ma wypełnione tło. Dostępne są też jego warianty:
FilledTonal
(przyciemnione tło), Outlined (przezroczysty z cienką ramką) i Child (przezroczysty bez ramki, używany do działań dodatkowych o najmniejszej widoczności). Okrągłe przyciski z prostą ikoną i tekstem pojawią się w przyszłej wersji (Ia6942).
Wersja 1.0.0-alpha02
5 kwietnia 2023 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha02
został zwolniony. Wersja 1.0.0-alpha02 zawiera te commity.
Poprawki błędów
- Do Wear Compose Material 3 dodaliśmy opcję
DefaultTextStyle
, która ustawia domyślnie wartośćPlatformTextStyle.includeFontPadding
na „prawda” (obecne ustawienie). Pozwoli nam to w przyszłości zsynchronizować domyślne wyłączanie wyrównywania czcionki z bibliotekami w sekcji „Utwórz” (patrz Poprawka wyrównywania czcionki w sekcji „Utwórz” na potrzeby tła). (I7e461)
Wersja 1.0.0-alpha01
22 marca 2023 r.
Element androidx.wear.compose:compose-material3:1.0.0-alpha01
został zwolniony. Wersja 1.0.0-alpha01 zawiera te commity.
Nowe funkcje
Material 3 to kolejna wersja Material Design, która zawiera zaktualizowane motywy i przeprojektowane komponenty. Materiał 3 na Wear Compose jest zgodny z biblioteką Compose w wersji Material 3 na Androida. Ta pierwsza wersja alfa zawiera wczesne, funkcjonalne implementacje tych funkcji:
Będziemy równolegle rozwijać interfejs Wear Material (
androidx.wear.compose:compose-material
) i Wear Material 3 (androidx.wear.compose:compose-material3
). Przyszłe wersje material3 rozszerzą zestaw widżetów o inne znane komponenty z Compose na Wear OS, takie jak przyciski, selektory i suwaki.Biblioteki Wear Material i Wear Material 3 są wzajemnie wykluczające się i nie należy ich stosować w tej samej aplikacji, głównie dlatego, że odwołują się do różnych motywów, co może prowadzić do nieoczekiwanych niespójności.