Wear Compose Material 3
Najnowsza aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
27 sierpnia 2025 roku | 1.5.0 | - | - | - |
Deklarowanie zależności
Aby dodać zależność od Wear, musisz dodać repozytorium Google Maven do projektu. Więcej informacji znajdziesz w repozytorium Maven Google.
Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle
aplikacji lub modułu:
Groovy
dependencies { implementation "androidx.wear.compose:compose-foundation:1.5.0" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material3:1.5.0" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.5.0" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.5.0") // 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") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material3:1.5.0") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.5.0") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.5.0") // 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 odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nową kartę, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wear Compose Material3 w wersji 1.5
Wersja 1.5.0
27 sierpnia 2025 roku
Publikacja androidx.wear.compose:compose-*:1.5.0
Wersja 1.5.0 zawiera te zmiany.
Ważne zmiany od wersji 1.4.0
Pierwsza wersja biblioteki Wear Compose Material 3, która obsługuje nowy system projektowania Material 3 Expressive. Ta wersja zawiera:
- Zaktualizowano
MaterialTheme
i dynamiczne motywy kolorystyczne. - Nowe komponenty
AppScaffold, ScreenScaffold
,HorizontalPagerScaffold
iVerticalPagerScaffold
do określania struktury ekranu i koordynowania animacjiScrollIndicator
,TimeText
,HorizontalPageIndicator
iVerticalPageIndicator
. - Zmieniające się kształty
IconButton
,TextButton
,IconToggleButton
iTextToggleButton
z wariantami, które animują się po naciśnięciu lub zaznaczeniu. EdgeButton
, który ma specjalny kształt zaprojektowany z myślą o dolnej części ekranu.ButtonGroup
ma ekspresyjną grupę przycisków w rzędzie, które zmieniają kształt po dotknięciu.AlertDialog
iConfirmationDialog
z wariantami dla dodatkowej zawartości okna.TimePicker
iDatePicker
.- Wskaźniki postępu to m.in.
CircularProgressIndicator
(z wariantem podzielonym na segmenty),ArcProgressIndicator
iLinearProgressIndicator
.
Dodatkowo Wear Compose Foundation 1.5.0 zawiera:
TransformingLazyColumn
, czyli leniwa lista przewijana w pionie, która obsługuje skalowanie i animacje przekształcania.- Obsługa stronicowania w Wear Compose Foundation za pomocą
HorizontalPager
iVerticalPager
. - Hierarchical Focus Groups (hierarchiczne grupy fokusowe) – służą do dodawania adnotacji do komponentów w aplikacji, aby śledzić aktywną część kompozycji i koordynować fokus.
Więcej informacji o Material 3 Expressive na Wear OS
Wersja 1.5.0-rc02
13 sierpnia 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-rc02
Wersja 1.5.0-rc02 zawiera te zmiany.
Poprawki błędów
- Usunęliśmy błąd w
TimePicker
, w którym długie, zlokalizowane ciągi znaków dla okresu (AM/PM) mogły powodować problemy z układem. (I0fa81)
Wersja 1.5.0-rc01
30 lipca 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-rc01
Wersja 1.5.0-rc01 zawiera te zmiany.
Poprawki błędów
TimePicker
jest teraz w pełni zależny od ustawień regionalnych użytkownika, a do określania kolejności i zawartości selektorów i separatorów używaDateFormat.getBestDateTimePattern
. Rozwiązuje to problemy z nieprawidłową kolejnością kolumn w przypadku języków CJK, problemy z układem od prawej do lewej w językach takich jak arabski, używa separatorów dostosowanych do języka i obsługuje formaty godzinowe 0–11 i 1–12 w zależności od ustawień regionalnych (I5d543).DatePicker
wyświetla teraz w niektórych regionach, np.w Chinach, Japonii i Korei, miesiąc w formacie liczbowym, aby uniknąć mieszania formatów liczbowych i językowych (np. 2025 | 07 | 02 zamiast 2025 | 7月 | 02). Ta zmiana stosuje heurystykę, która sprawdza, czy w danym języku używane są przyrostki językowe dla roku. Jeśli tak, format miesiąca jest zmieniany z tekstowego (MMM) na numeryczny (MM), aby zachować spójność. (Ia93fe)- Pionowa przestrzeń nagłówka w komponencie selektora jest teraz stała, co zapobiega widocznemu przesunięciu po wybraniu kolumny selektora, zwłaszcza w trybie
Talkback
. (I7f8b7) - Usunęliśmy błąd ułatwień dostępu spowodowany rysowaniem symboli
HorizontalPageIndicator
iVerticalPageIndicator
na pełnym ekranie. Wskaźniki stron nie są już wyświetlane na pełnym ekranie i są umieszczane automatycznie, gdy są używane zHorizontalPagerScaffold
lubVerticalPagerScaffold
. Jeśli nie używasz szkieletu pagera, określ wyrównanie jawnie za pomocąmodifier = Modifier.align(Alignment.BottomCenter)
zHorizontalPageIndicator
imodifier =Modifier.align(Alignment.CenterEnd)
zVerticalPageIndicator
. (I3a0ad) - Kierunek przesuwania w
SwipeToReveal
jest teraz taki sam w przypadku języków pisanych od lewej do prawej i od prawej do lewejLayoutDirections
. (I6d427) - Przywróciliśmy
SwipeToReveal
wyśrodkowanie pionowe działań. JeślihasPartiallyRevealedState = true
, wywołujący powinien zresetować wartośćRevealState
doRevealValue.Covered
podczas przewijania. (I6473d) SwipeDismissableNavHost
teraz prawidłowo przycina treści w przypadku interfejsu API w wersji 36 i nowszych. (Ib9a44)
Wersja 1.5.0-beta06
16 lipca 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-beta06
Wersja 1.5.0-beta06 zawiera te zmiany.
Poprawki błędów
- Napraw animację
EdgeButton
, gdyLazyColumn
lubScalingLazyColumn
mająreverseLayout = true
. (I46a1a) - Rozwiązaliśmy błąd w
ScreenScaffold
, który powodował, że funkcja czytania dotykiem nie działała w TalkBack, jeśli podanoScrollIndicator/PageIndicator
. (I6dcee) TransformingLazyColumn
umożliwia teraz niestandardowe przekształcanie zTransformationSpec
przez odczytywanie wartościitemHeight
podanej przezTransformationSpec
w malowaniu tła. (I6a599)- Animowane przejścia kolorów włączone/wyłączone dla
IconButton
, aby zachować spójność zIconToggleButton
. (Ife10a) - Usunęliśmy ograniczenie minimalnej sekcji w
CircularProgressIndicator
, aby uniknąć zauważalnego skoku do minimalnego rozmiaru kropki podczas animacji. W ramach tej zmiany parametrtargetProgress
wdrawCircularProgressIndicator
nie jest już używany. (I33309) - Selektor ma teraz rolę semantyczną
ValuePicker
, która może być używana przez czytniki ekranu, aby zwiększyć dostępność selektorów. Selektor ma też zaktualizowane etykiety kliknięć ułatwień dostępu, które rozróżniają dostosowywanie wartości w trybie tylko do odczytu i wybieranie bieżącej wartości w innych przypadkach. (I33309)
Wersja 1.5.0-beta05
2 lipca 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-beta05
Wersja 1.5.0-beta05 zawiera te zmiany.
Poprawki błędów
- Zaktualizowaliśmy dokumentację, aby wyjaśnić użycie
Modifier.edgeSwipeToDismiss
(I78cb5). - Usunięto błąd, który powodował, że w listach ładowanych na żądanie mogło się wyświetlać wiele ujawnionych elementów z symbolem
SwipeToReveal
(I1d4f6). - Kształty kontenerów w
TransformingLazyColumn
są teraz skalowane, aby uniknąć przycinania treści. (I9221a) - Etykiety
TimePicker
iDatePicker
dla godziny/minuty/sekundy lub roku/miesiąca/dnia mają teraz semantykę nagłówka dla czytników ekranu (I77d8b). - Usunięto przerwę między pętlami w nieokreślonym stanie
CircularProgressIndicator
(Iaf0bb). - Rozwiązanie problemu z animacją w
TransformingLazyColumn
podczas usuwania elementów. (I73034) - Poprawiono obsługę elementów kotwiczących w
TransformingLazyColumn
po usunięciu elementów. (I841a8) PickerGroup
teraz animuje selektory w poziomie, gdy automatyczne wyśrodkowywanie jest włączone i zmienia się wybrany (wyśrodkowany) selektor. (Ic82c4)
Wersja 1.5.0-beta04
18 czerwca 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-beta04
Wersja 1.5.0-beta04 zawiera te zmiany.
Poprawki błędów
- Usunięto błąd układu w
TransformingLazyColumn
, w którym treści mieszczące się na ekranie były teraz prawidłowo wyrównywane od góry ekranu (I80115). - Rozwiązaliśmy problem z
TransformingLazyColumn
, który powodował, że ostatni element był nieprawidłowo skalowany podczas przewijania na sam dół listy zEdgeButton
. Podczas przywracania układu postęp przewijania jest teraz zgodny z metodą gradientu zstępującego. (Iea375) TransformingLazyColumn
odczytuje teraz wysokość elementu w malowaniu tła, co umożliwia niestandardowymTransformationSpecs
implementowanie przekształceń. (I022f0)SwipeToReveal
teraz prawidłowo wyśrodkowuje pionowo ujawnione działania. (I4419b)- Usunęliśmy błąd w
SwipeToReveal
, który uniemożliwiał prawidłowe działanie funkcji zamykania gestem, jeśli na ekranie były używane zarówno widoki, jak i kompozycja. (I5dc0e) - Usunęliśmy błąd, który powodował, że podczas przewijania działania
SwipeToReveal
były rysowane z pionowym przesunięciem. (I29444) AlertDialog
,ConfirmationDialog
,OpenOnPhoneDialog
iSwipeToReveal
zaokrąglają teraz w górę dopełnienia i rozmiary obliczane jako procent rozmiaru ekranu. (I76367)ButtonDefaults.outlinedButtonBorder
teraz aktualizuje się po zmianach stanu włączony/wyłączony size(If2ddd)- Usunęliśmy błąd wysokości
EdgeButton
, który występował na złożonych ekranach z komponentami Pager iScreenScaffold
. (I946e3) - Naprawiliśmy warunek wyścigu, który mógł powodować zatrzymanie animacji obiektu zastępczego. (I53530)
- Poprawiliśmy wydajność
HorizontalPageIndicator
iVerticalPageIndicator
, rysując w Canvas. (Ifae1e) - Poprawiliśmy kształt przycisku EdgeButton, aby wygładzić przejścia między wielokropkiem a okręgami tworzącymi kontur. (I7721e)
- Naprawiliśmy błąd w
LevelIndicator
, który powodował zatrzymywanie animacji z powodu niepotrzebnych ponownych kompozycji. (I45d08)
Wersja 1.5.0-beta03
4 czerwca 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-beta03
Wersja 1.5.0-beta03 zawiera te zmiany.
Zmiany w interfejsie API
OpenOnPhoneDialog
odczytuje teraz tylko tekst wiadomości w TalkBack i pomija semantykę ikony. ZaktualizowaliśmyOpenOnPhoneDialogDefaults
, aby usunąć z funkcjiicon()
parametryiconContentDescription
icontentDescription
.ConfirmationDialogDefaults
ma teraz też parametry modyfikatora w kompozycjachSuccessIcon
iFailureIcon
. (Id2ae2)
Poprawki błędów
- Zmieniliśmy kolejność stosowania efektu parametrów
SurfaceTransformation
. Wcześniej przekształcenia stosowane do komponentów Wear Material3 były wykonywane w następującej kolejności: malowanie tła, przekształcenie kontenera, przekształcenie treści. Teraz pierwsze 2 elementy są odwrócone, a między nimi stosujemy dowolny przekazany modyfikator, więc ma on wpływ na przekształcenia kontenera. Rozwiązuje to problemy, takie jak używanie efektu migotania elementu zastępczego z elementami w TLC przy użyciu parametru przekształcenia. (I786cf) RevealState.Saver
został dodany, aby przywracać stanSwipeToReveal
, gdy aktywność lub proces są odtwarzane. FunkcjarememberRevealState
używa teraz domyślnie tego narzędzia do zapisywania. (Ie0ecb)SwipeToReveal
przyciski działań podstawowych i dodatkowych powinny mieć domyślnie wartośćButtonDefault.Height
(naprawiono błąd, w którym przyciski o większej wysokości wypełniały maksymalną wysokość); (Ibfba1)- Zmieniliśmy
SwipeToReveal
, aby resetować ostatni komponent, z którym użytkownik wszedł w interakcję, gdy wykona gest przesunięcia w prawo. (Ia8450) SwipeToReveal
został zmieniony na stanRevealing
, gdy pozycja końcowa przesunięcia znajduje się między punktami zakotwiczenia ujawniania i ujawnionego, a bliżej punktu zakotwiczenia ujawniania. (If4458)- Treści
ButtonGroup
są teraz prawidłowo odwrócone w układzie RTL (Ib378d). AnimatedText
obsługuje teraz kierunek tekstu od prawej do lewej (I4533c)TransformingLazyColumn
– teraz prawidłowo zmienia rozmiar elementów po usunięciu elementu na dole (Idacab).TransformingLazyColumn
wykonuje teraz tylko 1 przejście pomiarowe, co zwiększa wydajność dzięki skróceniu czasu klatki. (I501a1)
Wersja 1.5.0-beta02
20 maja 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-beta02
Wersja 1.5.0-beta02 zawiera te zmiany.
Poprawki błędów
- Zaktualizowano profile podstawowe bibliotek foundation, material i material3. (I53f06)
- Naprawiliśmy błąd w
TransformingLazyColumn
, który powodował zmianę rozmiaru elementów po usunięciu elementu znajdującego się na dole. (Idacab) - Usunęliśmy błąd związany z
TransformingLazyColumn
, który powodował, że lista blokowała się u góry lub u dołu. (I49d00) OpenOnPhoneDialog
w sekcji TalkBack powinien odczytywać zakrzywiony tekst, a nie opis zawartości ikony. (I4efe8)- Naprawiliśmy błąd w
SwipeToReveal
, który powodował zgłaszanie nieprawidłowego elementu zakotwiczenia wRevealState.currentValue
, gdy wartośćhasPartiallyRevealedState
była ustawiona na false. (I9c7cf) - Przyciski cofania
SwipeToReveal
są teraz domyślnieButtonDefaults.Height
. (I1f6c8) BasicSwipeToDismissBox
zwiększono wydajność przez wyeliminowanie użycia elementu Canvas do rysowania półprzezroczystych nakładek. (I68f2c)- Rozwiązanie problemu z dostępnością w suwaku, który powodował, że po aktualizacji ogłaszany odsetek nie zgadzał się z wartością (I91146).
- Naprawiono błąd w implementacji
placeholderShimmer
. (Iee39b TransformingLazyColumn
– skuteczność została zwiększona dzięki optymalizacji obliczeńScrollProgress
o 30%. (I4c4cb)
Wersja 1.5.0-beta01
7 maja 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-beta01
Wersja 1.5.0-beta01 zawiera te zmiany.
Wersja 1.5.0-beta01 biblioteki Compose na Wear OS oznacza, że ta wersja biblioteki jest w pełni funkcjonalna, a interfejs API jest zablokowany (z wyjątkiem funkcji oznaczonych jako eksperymentalne).
Wear Compose w wersji 1.5.0-beta01 zawiera bibliotekę Wear Compose Material3, która obsługuje nowy system projektowania interfejsu o nazwie Material 3 Expressive. Zalecamy przejście z Material na Material 3, aby wykorzystać nowy wygląd aplikacji i korzystać z nowych komponentów w ten sposób:
MaterialTheme
– zaktualizowane i rozszerzone schematy kolorów, typografia i kształty, które nadadzą Twoim projektom głębi i różnorodności;- Dynamiczne motywy kolorystyczne, które automatycznie generują schemat kolorów aplikacji pasujący do kolorów tarczy zegarka.
- Nowe komponenty domyślnie automatycznie dostosowują się do większych rozmiarów ekranu.
- Zmieniający się kształt – 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 przylegający do krawędzi o specjalnym kształcie, przeznaczony do umieszczenia u dołu ekranu.- Scaffolds – wprowadzenie
AppScaffold
iScreenScaffold
do określania struktury ekranu i koordynowania animacjiScrollIndicator
iTimeText
. - Przyciski – obsługiwane są liczne przyciski w kształcie stadionu z elastycznymi kontenerami z jednym miejscem i wariantami z wieloma miejscami na przyciski z ikonami i etykietami. Symbole
CheckboxButton
iSwitchButton
są używane, gdy potrzebne są przyciski przełączania, aRadioButton
to dostępny przycisk wyboru (dostępne są też warianty „podzielone” przycisków przełączania i wyboru). ButtonGroup
– implementuje ekspresyjną grupę przycisków w rzędzie, które zmieniają kształt po dotknięciu.AlertDialog
obsługują przyciski OK/Anuluj lubEdgeButton
.ConfirmationDialog
może wyświetlać komunikat z limitem czasu, obsługując specjalne animacje w przypadku powodzenia, niepowodzenia i otwierania na telefonie.- Selektory – obsługiwane są warianty
TimePicker
iDatePicker
, a także komponenty selektora iPickerGroup
do tworzenia własnych ekranów selektora. ProgressIndicators
– obsługiwane są okrągłe i liniowe wskaźniki postępu (CircularProgressIndicator
ma warianty podzielone na segmenty i nieokreślone).- Karty – dostępnych jest kilka wariantów kart, w tym
TitleCard
, który oferuje konkretne układy kart z tytułem, czasem, podtytułem lub miejscami na treści.TitleCard
może też mieć obraz tła, który wzmacnia znaczenie informacji na karcie. - Pagers – komponenty
HorizontalPagerScaffold
,VerticalPagerScaffold
iAnimatedPage
koordynują animacjeHorizontalPageIndicator
iVerticalPagerIndicator
.HorizontalPager
iVerticalPager
są dostępne w bibliotece Wear Compose Foundation. - Elementy zastępcze – rysują szkieletowy kształt nad komponentem w sytuacjach, gdy nie są dostępne żadne treści tymczasowe.
- Suwaki i krokomierze – zarówno suwaki, jak i krokomierze umożliwiają użytkownikom wybór z zakresu wartości. Suwaki są bardziej kompaktowe i można je podzielić na segmenty, a komponent Stepper zajmuje cały ekran i jest zwykle połączony z
StepperLevelIndicator
. SwipeToReveal
– służy do dodawania dodatkowych działań do komponentu, gdy jest on przesuwany od prawej do lewej.
Dodatkowo Wear Compose Foundation w wersji 1.5.0-beta01 zawiera te nowe komponenty:
TransformingLazyColumn
– leniwa lista przewijana w pionie, która obsługuje skalowanie i animacje przekształcania;- Hierarchical Focus Groups (hierarchiczne grupy fokusowe) – służą do dodawania adnotacji do komponentów w aplikacji, aby śledzić aktywną część kompozycji i koordynować fokus.
- Pagers – komponenty
HorizontalPager
iVerticalPager
oparte na komponentach Compose Foundation z ulepszeniami dostosowanymi do Wear, które zwiększają wydajność i zgodność z wytycznymi Wear OS.
Zmiany w interfejsie API
- Zaktualizowaliśmy interfejs Hierarchical Focus API – zmieniliśmy nazwę
Modifier.hierarchicalFocus
naModifier.hierarchicalFocusGroup
i usunęliśmy parametr wywołania zwrotnego; usunęliśmy przeciążenieModifier.hierarchicalFocusRequester
z parametremFocusRequester
; utworzyliśmy noweCompositionLocal
iLocalScreenIsActive
, aby komponenty mogły informować o tym, który ekran jest aktywny, i sprawdzać to. (I5ff7c). - Wycofano
SwipeToReveal
z Wear Compose Foundation na rzecz interfejsów APISwipeToReveal
w Wear Compose Material i Wear Compose Material3. Aby nadal korzystać z interfejsów API, zastąp importy Wear FoundationSwipeToReveal
importami Wear Compose Material lub Wear Compose Material3. (Ia147d). - Zależności Wear Compose Material3
SwipeToReveal
od Foundation zostały przeniesione 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 ten sposób: dodaliśmy parametryprimaryAction
,onFullSwipe
,secondaryAction
,undoPrimaryAction
,undoSecondaryAction
ihasPartiallyRevealedState
do funkcji kompozycyjnejSwipeToReveal
; usunęliśmy możliwość dostosowywania parametrówpositionalThreshold
ianimationSpec
z funkcjiRevealState
; usunęliśmy parametrylastActionType
,revealThreshold
i szerokość z funkcjiRevealState
; zmieniliśmy konstruktorRevealState
tak, aby akceptował parametrRevealDirection
zamiast punktów zakotwiczenia; usunęliśmy funkcjecreateRevealAnchors
, punkty zakotwiczenia ibidirectionalAnchors
; funkcjeSwipeToRevealScope
primaryAction
,secondaryAction
,undoPrimaryAction
iundoSecondaryAction
zostały zmienione naPrimaryActionButton
,SecondaryActionButton
,UndoActionButton
i przekształcone w funkcje kompozycyjne; oznaczyliśmy funkcjęRevealActionType
jako wewnętrzną. (I885d0). - Dalsze aktualizacje interfejsu API: zmieniono nazwę
onFullSwipe
naonSwipePrimaryAction
; zmieniono nazwęSwipeToRevealNonAnchoredSample
, aby wskazywała użycie parametruhasPartiallyRevealedState
; usuniętoactionButtonHeight
, ponieważ domyślna wysokość przycisku jest domyślną wysokością, a większą wysokość można ustawić za pomocą modyfikatora; usuniętoSmallActionButtonHeight
zSwipeToRevealDefaults
; ustawiono parametr wartości w konstruktorachRevealValue
iRevealDirection
jako prywatny.SwipeToReveal
(I465ce).
Poprawki błędów
- Poprawiono obsługę
ScreenScaffold
EdgeButton
, tak aby po usunięciu elementuTransformingLazyColumn
EdgeButton
animował się na swoje miejsce. (I6d366). - Zaktualizowaliśmy zależności Wear Compose w bibliotekach Compose do wersji 1.8.0. (I2ef3f).
- Zaktualizowano ruch nieokreślonego
CircularProgressIndicator
, aby nie cofał się już tymczasowo. (Ieddb1). - Rozwiązaliśmy
SwipeDismissableNavHost
błąd – po przesunięciu palcem do tyłu fokus nie przełączał się prawidłowo, co powodowało niepowodzenie wprowadzania danych za pomocą pokrętła (dotyczyło to API 36 lub nowszego, które korzysta z przewidywanego powrotu). (Ieddb1). - Zmieniona dokumentacja interfejsu Hierarchical Focus API (Idf2ff).
- Zaktualizowaliśmy dokumentację dotyczącą komponentów Button i Card, aby wyjaśnić, jak elementy
containerPainter
idisabledContainerPainter
zastępują elementycontainerColor
idisabledContainerColor
(I4a453). - Cofnięto zmianę wprowadzoną w
TimeText
w poprzedniej wersji, która przenosiłaBroadcastReceiver
do wątku roboczego, ponieważ powodowała problemy w aplikacjach, które zarządzają własnymi wątkami podczas nawigacji. (I34d02). - Zaktualizowano przykłady selektora, aby usunąć niepotrzebne wywołania zapamiętywania i zamiast tego używać
rememberUpdatedState
w selektorze do zapamiętywania najnowszej funkcji lambdacontentDescription
. (Icb5b1). - Zaktualizowano style tekstu w
TimePicker
iDatePicker
, aby zmiany czcionki nie powodowały już obcinania tekstu. (I26194). ListHeader
iListSubHeader
mają teraz domyślne wyrównanie tekstu do środka i do początku. (I78339).- Zaktualizowaliśmy przykłady i wersje demonstracyjne komponentu Foundation i Material Swipe to Reveal, aby ogłaszać niestandardowe działania związane z ułatwieniami dostępu (niestandardowe działania muszą być dodawane jako semantyka treści, a nie w samym komponencie
SwipeToReveal
). (Ie92a3). - Zaktualizowano domyślny
MaxLines
ustawiony na treściEdgeButton
zgodnie z rozmiarem – teraz wynosi on 1 w przypadku bardzo małych, 2 w przypadku małych i średnich oraz 3 w przypadku dużych. (Ie35f6). - Uproszczono
LocalReduceMotion
, aby obserwator był rejestrowany tylko raz, co zwiększa wydajność. (Ib1979). - Zminimalizowaliśmy liczbę ponownych rysowań w
ScrollIndicator
, aby zwiększyć wydajność. (Ia7a67). - Rozwiązaliśmy błąd w
TransformingLazyColumn
, który powodował, że najwyższy widoczny element na liście nie był prawidłowo skalowany, gdy przycisk EdgeButton osiągał pełną wysokość. (I30580).
Wear Compose Material3 w wersji 1.0
Wersja 1.0.0-alpha37
23 kwietnia 2025 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha37
Wersja 1.0.0-alpha37 zawiera te zmiany.
Zmiany w interfejsie API
- Usunięto
scrollTransform
z publicznego interfejsu API. Jeśli potrzebujesz tej samej funkcjonalności, użyj kombinacji modyfikatorówtransformedHeight
igraphicsLayer
. (Ie181d) - Zastąpiono funkcje kompozycyjne
ImageButton
iImageCard
odpowiednio przeciążeniamiButton
iCard/TitleCard
. Zmieniono nazwęimageButtonColors
nabuttonWithContainerPainterColors
iimageCardColors
nacardWithContainerPainterColors
. Dodano publiczneButtonDefaults.scrimBrush
iCardDefaults.scrimBrush
. Zmieniono nazwy przyciskówimageBackgroundGradientStartColor
iimageBackgroundGradientEndColor
nascrimGradientStartColor
iscrimGradientEndColor
. NazwaCardDefaults.ImageContentPadding
została zmieniona naCardDefaults.CardWithContainerPainterContentPadding
(I7b8b6) Picker
iPickerGroup
przyjmują terazcontentDescription
jako lambdę, aby uniknąć niepotrzebnych ponownych kompozycji. (I002dd)
Poprawki błędów
- Rozwiązaliśmy problem polegający na tym, że nieokreślony stan
CircularProgressIndicator
drgał podczas animacji, jeśli szerokość nie była równa wysokości. (I76bfe) - Rozwiązaliśmy problem z układem przycisków krawędziowych w przypadku nieprawidłowego rozmiaru. Zapobiega teraz aktualizowaniu układu przycisku krawędziowego, gdy wysokość to NaN. (I32b93)
- Zwiększyliśmy maksymalny kąt zamachu w
OpenOnPhoneDialog
, aby domyślny tekst „Sprawdź telefon” nie był obcięty przy największym rozmiarze czcionki. (I90af9)
Wersja 1.0.0-alpha36
9 kwietnia 2025 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha36
Wersja 1.0.0-alpha36 zawiera te zmiany.
Zmiany w interfejsie API
- Tekst
ButtonDefaults.imageBackgroundButtonColors
został zamieniony naImageButton
,ButtonDefaults.imageButtonColors
,ButtonDefaults.containerPainter
iButtonDefaults.disabledContainerPainter
. Podobne zmiany wprowadziliśmy w przypadku karty. Malarze zostaną usunięci z listyButtonColors
iCardColors
. (I8c6a1) - Zaktualizowano symbole zastępcze, aby uprościć interfejs API. Udostępniamy teraz 2 modyfikatory:
Modifier.placeholderShimmer
, który umożliwia zastosowanie efektu połysku na poziomie komponentu, orazModifier.placeholder
, który umożliwia zastosowanie maski na niezaładowanej treści (Iaee7a).
Poprawki błędów
- Zintegrowano przewijanie poza krawędź w
ScrollIndicator
. (Icfb7f) - Rozwiązaliśmy problem z pustym tłem i brakującymi oknami po uruchomieniu okien material3. (Ice597)
- Rozwiązaliśmy problemy w
FadingExpandingLabel
, gdy tekst obejmuje wiele wierszy. (I04eb7) - Zaktualizowano odstęp między etykietami główną i dodatkową na przyciskach. (I99b7b)
- Wartość
ArcLarge
została zmniejszona z20sp
do18sp
, a odstępy między literami w przypadkuArcLarge
iArcSmall
zostały zaktualizowane.ConfirmationDialog
/OpenOnPhoneDialog
używają teraz domyślnegoArcLarge
zamiast zastępować go wartością18sp
. (Id39a8)
Aktualizacje zależności
- Ta biblioteka jest teraz kierowana na poziom języka Kotlin 2.0 i wymaga KGP w wersji 2.0.0 lub nowszej. (Idb6b5)
Wersja 1.0.0-alpha35
26 marca 2025 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha35
Wersja 1.0.0-alpha35 zawiera te zmiany.
Zmiany w interfejsie API
AlertDialog
domyślny górny odstęp został zmniejszony, gdy podana jest ikona – pozwala to w pełni wykorzystać dostępny rozmiar ekranu. (Ief06c)- Nazwa
PagerScaffoldDefaults.FadeOutAnimation
została zmieniona naPagerScaffoldDefaults.FadeOutAnimationSpec
. Parametr strony wAnimatedPage
został zmieniony napageIndex
. (I701f2) - Zmieniono nazwy podziału
TransformingLazyColumn
naSurfaceTransformation
–applyTransformation
naapplyContainerTransformation
iapplyContentTransformation
oraz zmieniono nazwęcreateBackgroundPainter
nacreateContainerPainter
. Dalsze zmiany nazw w przypadkuTransformationSpec
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) ArcLarge
zmniejszono z 20 sp do 18 sp, a odstępy między literami wArcLarge
iArcSmall
zostały zaktualizowane.ConfirmationDialog/OpenOnPhoneDialog
używają teraz domyślnego rozmiaruArcLarge
zamiast zastępować go rozmiarem 18 sp. (Id39a8)- Zaktualizowano animację nagłówka w przypadku
DatePicker
iTimePicker
, tak aby animacja zanikania i pojawiania się działała jako jedna animacja sprężynowa. (I68963) - Zoptymalizowany
PagerScaffold
przez unikanie odczytywaniacurrentPageOffsetFraction
w funkcjiAnimatedPage
. (I433ef) - Wszystkie skale typów zostały zaktualizowane, aby domyślnie zawierały cyfry proporcjonalne, ponieważ jest to najczęstszy przypadek użycia, a domyślne ustawienie cyfr tabelarycznych powodowało zbyt duże odstępy między niektórymi parami liczb.
TimePicker
iDatePicker
nadal obowiązują w przypadkuFontFeatureSetting=tnum
cyfr tabelarycznych. (I88929) - Poprawiono początkowe wyróżnienie danych RSB w przypadku
TimePicker
iDatePicker
. (I1c773) - Zaktualizowano domyślny tekst na
OpenOnPhoneDialog
na „Sprawdź telefon”. (I00a3f) - Zaktualizowano wagi dla
ArcLarge
iArcMedium
z 600 na 599, aby obejść problem polegający na tym, że waga 600 jest traktowana jako pogrubiona (I2a51d). - Zaktualizuj
SwipeToReveal
dopełnienia między treścią a przyciskami działania, a także dopełnienie między ikoną a tekstem przycisków działania. (Ic46cb)
Wersja 1.0.0-alpha34
12 marca 2025 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha34
Wersja 1.0.0-alpha34 zawiera te zmiany.
Zmiany w interfejsie API
PagerScaffold
nie emituje już komponentuPager
– zamiast tego musi być on dostarczany za pomocą funkcjicontent
Composable.AnimatedPage
isnapWithSpringFlingBehaviour
są teraz publiczne i można ich używać razem z Wear FoundationPager
, aby uzyskać poprzednie działanie M3PagerScaffold
. (Zobacz zaktualizowane przykłady). (Ia4724)- Zaktualizowano
PagerState
, usuwając klasę bazową Compose FoundationPagerState
i dodając właściwościcurrentPage
,currentPageOffsetFraction
ipageCount
. Zaktualizowaliśmy interfejsGestureInclusion
, zmieniając nazwę metody naignoreGestureStart
. (I4ae07) - Parametry kąta skanowania
LevelIndicator
są teraz oznaczone symbolemFloatRange(0, 360)
(I7e636). - Dodaliśmy
CurvedModifier.clearAndSetSemantics
, aby umożliwić wyłączenie zakrzywionej semantyki.CurvedText
nadal domyślnie ustawia opis treści na tekst, aletimeTextCurvedText
itimeTextSeparator
nie odczytują teraz swoich treści. (I4b568) - Dodano parametry tła i domyślnego koloru treści do
AppScaffold
. (I56652) - Domyślna obsługa gestów przesuwania w
HorizontalPager
została zmieniona naPagerDefaults.gestureInclusion
. Domyślnie ignorowane są teraz tylko gesty przesuwania, które zaczynają się na lewej krawędzi pierwszej strony, i tylko wtedy, gdy Talkback jest wyłączony. W innych przypadkach domyślnie gesty przesuwania nie są ignorowane przez pager, więc nie są dostępne dla modułów obsługi przesuwania w celu zamknięcia. (Iee486) - Dodano parametr
SurfaceTransformation
do komponentów przycisku, karty i nagłówka listy, aby można było stosować różne transformacje tła i treści, gdy są one używane w kontenerach, które zmieniają wygląd elementów w zależności od ich pozycji, np. w komponencieTransformingLazyColumn
. (Iabe3f) - Zaktualizowaliśmy właściwości „public const val” w naszym interfejsie Wear Compose Material3 API na „public val”, aby uniknąć wstawiania wartości w kodzie. (Ib0f32)
- Dodaliśmy obsługę strefy przesunięcia od krawędzi do elementu
SwipeToReveal
. Domyślne działanie biblioteki FoundationSwipeToReveal
polega teraz na blokowaniu przesuwania, gdy gest zaczyna się od krawędzi. Domyślne działanie Material3SwipeToReveal’
polega teraz na uniemożliwieniu przesuwania, gdy gest rozpoczyna się od krawędzi, a właściwośćSwipeDirection
jest ustawiona na jeden kierunek. (I32ef0) - Dodano funkcję
FadingExpandingLabel
composable, która umożliwia stopniowe pojawianie się tekstu z animacją wiersz po wierszu. (Ic60fa) TransformingLazyColumn
domyślnie używa teraz pustego elementucontentPadding
zamiast umieszczać pierwszego i ostatniego elementu na środku. (I77ab7)- Usunięto
SwipeToReveal
rememberRevealState
z biblioteki Wear Compose Material3. (I8c0e0)
Poprawki błędów
- Biblioteki Wear Compose zostały zaktualizowane do kompilatora Kotlin 2.0. (I2de79)
- Usunęliśmy z Material3 obsługę nieokrągłych elementów
ScrollIndicator
iPageIndicator
. Obsługa kwadratowych ekranów nie jest już też częścią wymagań Wear OS. Więcej informacji znajdziesz w przewodniku dla początkujących. (I9a852) - Znak
CurvedTextStyle
używany wConfirmationDialogDefaults
iOpenOnPhoneDialogDefaults
został zaktualizowany do typografiiArcLarge
o rozmiarze18sp
i odstępie między literami1.8sp
. (Ic9ced) Card
,ListHeader
,RadioButton
,CheckboxButton
,SwitchButton
nie ograniczają już domyślnie wysokości swoich treści. W razie potrzeby użyj ikonyModifier.height(IntrinsicSize.Min)
, aby przywrócić poprzednie działanie. (I80bb8)- Zaktualizowaliśmy domyślne kolory
TimeText
iScrollIndicator
, aby uwzględnić więcej odcieni szarości, ponieważ bezpośrednie użycie koloruOnBackground
(białego) miało zbyt dużą wagę wizualną w porównaniu z innymi treściami na ekranie, takimi jak tytuły. (I8b36f) - Skróciliśmy czas oczekiwania na animację ikon
TimeText
iScrollIndicator
w komponentach szkieletowych do 2 sekund. (I52021) - Zaktualizowaliśmy animację okna dialogowego, aby skala tła okna dialogowego była zsynchronizowana z przesuwaniem w celu zamknięcia. (I925a9)
- Dodaj wersję demonstracyjną M3
SwipeToReveal
za pomocą modyfikatoraedgeSwipeToDismiss
. (I02b07) - W sekcjach
DatePicker
iTimePicker
w TalkBacku dodaliśmy nagłówek, aby poinformować użytkownika, że musi przewinąć, aby ustawić datę i godzinę. (Id738d) AnimatedText
jest teraz zgodny z ustawieniem zmniejszania ruchu. (Ib6578)- Ulepszyliśmy optymalizację używania
AppScaffold
w przypadku treści okna dialogowego wyświetlanego na ekranie, aby umożliwić wyświetlanie wielu okien dialogowych jedno na drugim (I1209c).
Wersja 1.0.0-alpha33
26 lutego 2025 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha33
Wersja 1.0.0-alpha33 zawiera te zmiany.
Zmiany w interfejsie API
- Usunęliśmy parametr etykiety z funkcji
SwipeToRevealScope
,primaryAction
isecondaryAction
. Semantyka działania niestandardowego powinna być dodawana bezpośrednio do treści komponentuSwipeToReveal
przez dewelopera. (Ia67f3) - Usunęliśmy prefiksy „Button” z rozmiarów, stylów tekstu i funkcji kolorów w
IconToggleButtonDefaults
iTextToggleButtonDefaults
(I5471d). - Usunęliśmy eksperymentalną funkcję
LocalMinimumInteractiveComponentEnforcement
(I4ad8a). - Zastąpiliśmy
PickerGroupScope
DSL komponentem. W związku z tym usunęliśmy metodępickerGroupItem
zPickerGroupScope
i dodaliśmy@Composable PickerGroupItem
, której należy używać do dodawania selektora doPickerGroup
. Zmieniliśmy też typ parametruPickerGroup
„content” na@Composable PickerGroupScope.() -> Unit
. (Ic6aec) - Dodaliśmy przeciążenie
LevelIndicator
dla wartości ułamkowych i prefiks Stepper do tych przeciążeń, które zawierają parametr zakresu (odpowiedni do użycia z komponentem Stepper). (If4234) - Dodaliśmy do interfejsu API
TransformingLazyColumn
TransformationSpec
, który umożliwia zdefiniowanie dokładnych przekształceń elementów podczas przewijania ich w TLC. (I21856) - Zaktualizowaliśmy
IconButtonShapes
,IconToggleButtonShapes
,TextButtonShapes
iTextToggleButtonShapes
, aby były zgodne z klasami compose/material3 (I5a081). - Dodaliśmy parametr
overscrollEffect
doScalingLazyColumn
,TransformingLazyColumn
iScreenScaffold
. (I0cee8) - Zmieniliśmy nazwę parametru
swipeDirection
narevealDirection
wrememberRevealState
. (I7472f) - Wear Pager ma teraz własny element
PagerScope
zamiast korzystać z elementu ComposePagerScope
. (I9195b) - Usunęliśmy funkcję
LinearProgressIndicatorContent
. Używaj bezpośrednio funkcjiLinearProgressIndicator
, aby zmiany wartości były domyślnie animowane. (I2c4ad) - Usunęliśmy funkcję
CircularProgressIndicatorStatic
composable i dodaliśmy publiczną funkcjęDrawScope
drawCircularProgressIndicator
o takiej samej funkcjonalności. Używaj bezpośrednio komponentuCircularProgressIndicator
, aby zmiany były domyślnie animowane, ale w razie potrzeby niestandardowych animacji utwórz własny komponent z komponentudrawCircularProgressIndicator
. (Ie762f) - Zmieniliśmy kolejność parametrów w pliku
DrawScope.drawCircularProgressIndicator
, aby przenieść parametrtargetProgress
wyżej. (I8ab92) - Interfejs
OpenOnPhoneDialog
został zaktualizowany, aby był bardziej przejrzysty i spójny z innymi oknami. Parametrshow
został zmieniony navisible
, a wartośćcurvedText
jest teraz podawana przez dzwoniącego zamiast wartości domyślnej. (Idec2d) - Zmieniliśmy nazwę
openOnPhoneCurvedText
naopenOnPhoneDialogCurvedText
(I65bdd) - Dodaliśmy
ScrollIndicatorColors
, aby umożliwić dostarczanie niestandardowych kolorów doScrollIndicator
. (I9eb8c) - Umożliwia skonfigurowanie koloru tła za elementem
TimeText
. (I9f5d9) - Zaktualizowano typografię
ArcLarge
,ArcMedium
iArcSmall
naCurvedTextStyle
(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 okien dialogowych lub przyciski zatrzymania. (I70998)
Poprawki błędów
- Przypięliśmy
wear.compose.material3
do wersji 1.15.0 pakietuandroidx.core.core
(I132e9). - Zwiększyliśmy wydajność komponentu Dialog, używając
AppScaffold
do nakładania okien dialogowych na inne treści na ekranie (I1b9a4). - Zmniejszono wewnętrzne dopełnienie pionowe elementu
EdgeButton
. (I1a5bb) - Dodaliśmy do przycisków suwaka semantykę przycisku. (I80cc6)
Wersja 1.0.0-alpha32
29 stycznia 2025 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha32
Wersja 1.0.0-alpha32 zawiera te zmiany.
Zmiany w interfejsie API
- Na
CurvedTextStyle
odstępy między literami zostały podzielone na odstępy między literami w kierunku zgodnym z ruchem wskazówek zegara i w kierunku przeciwnym do ruchu wskazówek zegara. Jest to wymagane, ponieważ litery pisane zgodnie z ruchem wskazówek zegara rozchodzą się od linii bazowej, a litery pisane przeciwnie do ruchu wskazówek zegara zbiegają się (dlatego potrzebny jest większy odstęp między literami) (I4b848). - Zaktualizowaliśmy biblioteki
IconButtonShapes
,IconToggleButtonShapes
,TextButtonShapes
iTextToggleButtonShapes
, aby zwiększyć spójność w bibliotekach Material3. Ta zmiana wprowadza też buforowanie kształtów, aby zmniejszyć liczbę alokacji. (I049fc) - Usunęliśmy parametr
pressedShapeCornerSizeFraction
z metodyvariantAnimatedShape
wIconToggleButton
iTextToggleButton
(I58a65). - Wprowadzamy ulepszenia renderowania zakrzywionego tekstu (w tym
TimeText
), które są niezgodne z ekranami nieokrągłymi. Obsługa ekranów innych niż okrągłe nie jest już częścią wymagań Wear OS. Więcej informacji znajdziesz w przewodniku dla początkujących. (I1cc1c) - Zaktualizowaliśmy
ButtonGroupScope
ButtonGroup
, zastępującButtonGroupItem
opartą na DSLModifier.weight
,Modifier.minWidth
iModifier.enlargeOnPress
. (I16c3c) - W interfejsie
ButtonGroup
API zaktualizowaliśmy nowy modyfikatorButtonGroupScope
:enlargeOnPress
nazywa się terazanimateWidth
i przyjmuje wartośćInteractionSource
zamiastMutableInteractionSource
, ponieważ nie trzeba jej zmieniać. Dodaliśmy też publiczną stałąButtonGroupDefaults.DefaultMinWidth
, czyli domyślną minimalną szerokość przycisków wButtonGroup
. (Ie27ec) - Zaktualizowaliśmy właściwość
ListHeaderDefaults.contentColor
, aby zaczynała się od małej litery, ponieważ jest to właściwość złożona (I125a5). - Dodaliśmy do parametrów
SliderDefaults.DecreaseIcon
iSliderDefaults.IncreaseIcon
parametr opisu treści z odpowiednimi wartościami domyślnymi (I2e1a7). - Zmieniliśmy nazwę parametru
spacing
w plikachPicker
iPickerGroup
naverticalSpacing
(Ib75cc). - Usunęliśmy
ConfirmationDialogDefaults.successText
ifailureText
, ponieważ oczekujemy, że osoby wywołujące funkcjęConfirmationDialog
będą podawać ciągi znaków z większym kontekstem. Zmieniono też nazwę zconfirmationCurvedText
naconfirmationDialogCurvedText
. Na koniec zmieniliśmy nazwę parametru Dialogshow
na visible, aby zachować spójność z innymi niedawnymi aktualizacjami okien dialogowych. (I10074) IconButton
zmienił(a) nazwędisabledImageOpacity
naDisabledImageOpacity
. (I5f94a)
Poprawki błędów
- Naprawiliśmy błąd w animacji
EdgeButton
, dzięki czemu w każdej klatce używany jest prawidłowy rozmiar (Id3b58). - Rozwiązanie problemu polegającego na tym, że
animateContentSize
nie działało zButton
. (Ib18a0) - Zmieniliśmy skalę typu tytułu dużego na rozmiar czcionki
18dp
(Ic9d52). - Zaktualizowaliśmy odstępy
AlertDialog
i rozmiar ikony (Iac28c) - Usunęliśmy niespójności w przypadku punktów przerwania na dużych ekranach (ekrany o rozmiarze co najmniej 225 dp są uważane za duże) (I36474).
- Naprawiono drobny błąd w pozycjonowaniu przycisków (I952c2).
Wersja 1.0.0-alpha31
15 stycznia 2025 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha31
Wersja 1.0.0-alpha31 zawiera te zmiany.
Zmiany w interfejsie API
- Zaktualizowaliśmy wszystkie biblioteki Wear Compose do trybu „explicit API”. (Iebf9f)
- Zaktualizowaliśmy interfejsy API
ScreenScaffold
iEdgeButton
, aby ułatwić określanie dopełnienia treści na ekranach zawierających elementEdgeButton
. W nowym interfejsie API parametrsize
elementuEdgeButton
jest przekazywany tylko do elementuEdgeButton
, a elementScreenScaffold
przyjmuje parametredgeButtonSpacing
określający odstęp między elementemEdgeButton
a zawartością listy. (I424fd) - W
DatePicker
zmieniliśmy nazwy parametrówminDate
namaxDate
iminValidDate
namaxValidDate
. WDatePickerColors
zmieniliśmy nazwę parametruselectedPickerContentColor
naactivePickerContentColor
, a parametruunselectedPickerContentColor
nainactivePickerContentColor
(Iba17b). - Zaktualizowaliśmy domyślne wartości
ArcProgressIndicator
dostrokeWidth=6dp
i zalecamydiameter = 81.24%
wysokości ekranu (I6f248). - Zaktualizowaliśmy interfejs Confirmation API, aby odzwierciedlał jego użycie jako okna. Kompozycja nosi teraz nazwę
ConfirmationDialog
. Zmieniliśmy też nazwy kolorów i klas domyślnych. Zmieniliśmy też nazwę parametrushow
navisible
, aby zapewnić zgodność z innymi interfejsami API animacji Compose. Dodatkowo udostępniliśmy interfejsyConfirmationDialogContent
,SuccessConfirmationDialogContent
iFailureConfirmationDialogContent
, które umożliwiają programistom dostosowywanie animacji okien wprowadzających i końcowych. (Iaeb33) - Zaktualizowaliśmy
CircularProgressIndicatorContent
doCircularProgressIndicatorStatic
(nieanimowanej wersjiCircularProgressIndicator
), aby można było jej używać do tworzeniaCircularProgressIndicator
z animacjami niestandardowymi. (I1346f) - Poprawiliśmy kolejność parametrów w
ArcProgressIndicator
, umieszczając na pierwszym miejscu parametr modyfikatora (I4656a). - Ulepszyliśmy interfejs
SwipeToReveal
API, aby otrzymywał parametr miejsca na tekst dla etykiet działań (z wyjątkiem działania dodatkowego) i usuwał parametry etykiet z działania cofania (I5b3db).
Poprawki błędów
- Naprawiliśmy błąd, w którym wibracje
LongPress
były wywoływane więcej niż raz w przypadkuButton
,Card
,IconButton
,TextButton
(Ia8b0f). - Zmiany w UX
AlertDialog
– na dużych ekranach przyciski potwierdzenia i odrzucenia są teraz mniejsze. Zwiększono też odstęp poniżej przycisków potwierdzenia i odrzucenia. (I4f066) - Zmieniliśmy specyfikacje animacji etykiety przycisku działania w komponencie
SwipeToReveal
. (Ib87fb) - Zmieniono
SwipeToReveal
, aby rozszerzać kontener w tym samym czasie, w którym wyświetlany jest tekst. (I44cf8) - Ulepszono
SwipeToReveal
, aby wibracje były wywoływane, gdy przesunięcie przekroczy próg, przy którym wykonywane jest działanie główne. (I23efe) - Zaktualizowaliśmy
SwipeToReveal
, aby domyślnie wyświetlać wielokropek w przypadku przepełnienia tekstu w działaniach głównych i cofania. (I71f5a) - Rozwiązaliśmy problem powodujący drgania animacji
ButtonGroup
. (I63f8f) - Dodaliśmy semantykę tekstu do
AnimatedText
(I6063c) - Okno dialogowe resetuje teraz skalowanie tła po usunięciu go z kompozycji (bez tej poprawki ekran uruchamiania mógłby pozostać w stanie zmniejszonym) (Id24ac).
- Dodaliśmy animację przekształcania kształtu do przycisków w komponencie Stepper (Id6ed3).
Wersja 1.0.0-alpha30
11 grudnia 2024 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha30
Wersja 1.0.0-alpha30 zawiera te zmiany.
Zmiany w interfejsie API
- Zmodyfikowano modyfikator
scrollTransform
dlaTransformingLazyColumn
, co spowodowało zmianę interfejsu API. (I0c6dc) - Zaktualizowaliśmy parametry
IconToggleButtonShapes
iTextToggleButtonShapes
, aby miały 2 różne parametry kształtu:uncheckedPressed
icheckedPressed
(I85dbd). - Nieprawidłowe opcje miesiąca lub dnia są teraz widoczne w
DatePicker
z nowym elementeminvalidPickerContentColor
podczas korzystania z funkcjiminDate
lubmaxDate
. (If4541) - Zaktualizowaliśmy interfejs
Stepper
API, aby udostępniać miejscaincreaseIcon
idecreaseIcon
– treści dla nich można tworzyć jak zwykle z komponentu Icon. (Id35da) - Zaktualizowaliśmy funkcję
dynamicColorScheme
, usuwając opcjonalny parametrdefaultColorScheme
i zwracając teraz wartość nullColorScheme
. Oznacza to, że wywołujący musi jawnie obsługiwać przypadek rezerwowy, gdy nie jest podany dynamiczny schemat kolorów. (I6d62e) - Zaktualizowaliśmy rozmiary ikon w
ButtonDefaults
, aby można było ich używać wCompactButton
. W przypadku elementuCompactButton
zawierającego tylko ikonę należy użyć atrybutuButtonDefaults.SmallIconSize = 24.dp
, a w przypadku elementuCompactButton
zawierającego zarówno ikonę, jak i tekst należy użyć atrybutuButtonDefaults.ExtraSmallIconSize = 20.dp
. Zalecamy, aby elementCompactButton
otaczał swoją zawartość (zamiast wypełniać maksymalną szerokość). Przykłady zostały zaktualizowane, aby to pokazać. (I0582c) - Dodaliśmy
EdgeButtonDefaults
z zalecanymi rozmiarami ikon dla 4 różnychEdgeButtonSizes
. Zaktualizowaliśmy teżEdgeButton
, aby dolny odstęp był nieco większy niż górny, co poprawia wygląd zarówno ikony, jak i tekstu. (Id772a) - Dodaliśmy ruch do
LinearProgressIndicator
i udostępniliśmyLinearProgressIndicatorContent
, które zawiera treści wizualne bez animacji. (Idee99) - Dodaliśmy nowy komponent
CircularProgressIndicatorContent
, który wyświetla treści wizualneCircularProgressIndicator
bez animacji. (Ie33d4) TransformingLazyColumn
nowo udostępnia kompozycję lokalnąLocalTransformingLazyColumnItemScope
, któraCard
s,Button
s iListHeader
s teraz automatycznie przekształcają się po umieszczeniu wTransformingLazyColumn
. Rozmówcy mogą wyłączyć automatyczne przekształcanie za pomocą nowego elementuTransformExclusion
. (I1652f)- Zmieniliśmy typ
ButtonDefaults.shape
naRoundedCornerShape
(Iccdf2)
Poprawki błędów
- Naprawiliśmy błąd związany z uwzględnianiem istniejącego kanału alfa w przypadku tła
TimeText
(I1eb60). - W naszej typografii domyślnie ustawiliśmy wartość
TextMotion
naAnimated
, aby uniknąć drgania tekstu spowodowanego przyciąganiem znaków do granic pikseli podczas skalowania. (I626fa) - Zaktualizowaliśmy wygląd ikony
ScrollIndicator
, zwiększając jej szerokość i rozmiar odstępu, aby poprawić widoczność. (Ied7cb) - Naprawiliśmy błąd w
Modifier.scrollTransform
, który występował podczas dodawania, usuwania i przenoszenia elementów. (I6830f) - Rozwiązaliśmy problem z animacją okrągłego przycisku w przypadku krótkich kliknięć (wcześniej nie zawsze był zachowywany minimalny czas trwania animacji). (I757a7)
- Zaktualizowaliśmy kąt skanowania dla
LevelIndicator
do 20% (czyli 72 stopni). (Idde5c) - Rozwiązaliśmy problem z pozycjonowaniem elementu
ScrollIndicator
, gdy elementScalingLazyColumn
był używany z elementemAutoCenteringParams
. (I387dd) - Zaktualizowaliśmy kolory i typografię w przypadku
ListHeader
iListSubHeader
. Dotyczy to też kolorów przełączników na stronachCheckboxButton
iSwitchButton
. (I39817) - Naprawiliśmy pozycjonowanie
ScrollIndicator
wLazyColumn
iScalingLazyColumn
za pomocąContentPadding
. (I2bc51) - Naprawiliśmy błąd w animacji postępu
OpenOnPhoneDialog
, używając nowego elementuCircularProgressIndicatorContent
. (I3e443) - Zaktualizowaliśmy elementy
HorizontalPagerScaffold
iVerticalPagerScaffold
, aby wyłączać animacje, gdy włączona jest opcja ograniczenia ruchu (Iaaf68). - Wprowadziliśmy osobną animację okrągłych wskaźników postępu, gdy postęp przekracza 100%. (I47135)
- Naprawiliśmy błąd, który powodował, że w komponentach Pager (I91db9) element
EdgeButton
mógł być rysowany w nieprawidłowym kształcie.
Wersja 1.0.0-alpha29
13 listopada 2024 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha29
Wersja 1.0.0-alpha29 zawiera te zmiany.
Zmiany w interfejsie API
- Zaktualizowaliśmy
TimeText
, aby wyświetlać domyślne treści z godziną. (Id23b3) - Uprościliśmy
ScrollInfoProvider
dlaPagerState
, usuwając parametrorientation
, który nie jest już potrzebny. Nowe zachowanie polega na tym, że elementTimeText
pozostaje na swoim miejscu zarówno w przypadku przewijania w pionie, jak i w poziomie. (I71767) LocalHapticFeedback
udostępnia teraz domyślną implementacjęHapticFeedback
, gdy interfejs Vibrator API wskazuje, że haptyka jest obsługiwana. DoHapticFeedbackType
–Confirm
,ContextClick
,GestureEnd
,GestureThresholdActivate
,Reject
,SegmentFrequentTick
,SegmentTick
,ToggleOn
,ToggleOff
,VirtualKey
dodano: Komponenty Wear Compose, które można długo klikać, takie jakButton
,IconButton
,TextButton
iCard
, teraz wywołująLONG_PRESS
wibracje, gdy podano obsługę długiego kliknięcia. (I5083d)
Poprawki błędów
- Zaktualizowaliśmy animację potwierdzeń. (I04bff)
- Zaktualizowaliśmy minimalną zależność interfejsu API do wersji 1.7.4 w przypadku bibliotek Compose. (I88b46)
- Dodano nowy ruch w przypadku okna
OpenOnPhone
. (I1e10a) - Naprawiliśmy błąd w
LevelIndicator
, dzięki czemu jest on teraz prawidłowo wyświetlany, gdy poziom wynosi zero. (Ie95a4) - Zaktualizowaliśmy animacje
HorizontalPageIndicator
iVerticalPageIndicator
. (I5c8f3) - Dodaliśmy animację zwijania do kropki w przypadku nieokreślonego stanu
ArcProgressIndicator
. (I9fd51)
Wersja 1.0.0-alpha28
30 października 2024 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha28
Wersja 1.0.0-alpha28 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaliśmy wariant łukowy nieokreślonego kołowego wskaźnika postępu (I2efc1).
- Udostępniliśmy funkcje kompozycyjne
AlertDialogContent
iDialog
, które składają się na interfejsAlertDialog
API, aby w razie potrzeby można było dodać dostosowanie (np. dostosować animacjęAlertDialog
przy zachowaniu zalecanego układu treści). Dodaliśmy też parametryModifier
iColor
do elementówEdgeButton
,ConfirmButton
iDismissButton
wAlertDialogDefaults
. (I4eb71) - Zaktualizowaliśmy interfejs
Placeholder
API w ten sposób: zmieniliśmy nazwyPlaceholderState.startPlaceholderAnimation
naPlaceholderState.animatePlaceholder
,PlaceholderState.isShowContent
naPlaceholderState.isHidden
iPlaceholderDefaults.shape
naPlaceholderDefaults.Shape
; zmieniliśmy nazwę parametrupainter
wpainterWithPlaceholderOverlayBackgroundBrush
naoriginalPainter
; zmieniliśmy widocznośćPlaceholderState.placeholderProgression
z publicznej na wewnętrzną i zmieniliśmy jego nazwę naplaceholderShimmerProgression
; dodaliśmy doPlaceholderDefaults
stałe wartości czasu trwania animacji symbolu zastępczego. (Ie5a59) - Zaktualizowaliśmy interfejs
EdgeButton
API w ten sposób: zmieniliśmy nazwę parametru wScreenScaffold
zbottomButton
naedgeButton
oraz przekształciliśmyEdgeButtonSize
w klasę wartości. (Ieef15) - Zmieniliśmy widoczność kategorii
copy()
na publiczną w przypadku klas kolorów materiału wear material3 (I0287f)
Poprawki błędów
- Dodano minimalny czas trwania animacji dla
IconToggleButton
iTextToggleButton
po kliknięciu (Ieb333) - Dodano minimalny czas trwania animacji kształtu
IconButton
iTextButton
(Iebcee) - Poprawiono stan opcji powtarzania
DatePicker
. (I3587c) - Dodano animację do okien alertów i potwierdzeń. (I173b1)
Wersja 1.0.0-alpha27
16 października 2024 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha27
Wersja 1.0.0-alpha27 zawiera te zmiany.
Zmiany w interfejsie API
- Zaktualizowaliśmy
ScreenScaffold
iScrollIndicator
po zmianie nazwy Wear Compose FoundationLazyColumn
naTransformingLazyColumn
. (I0608b) - Parametr
EdgeButton
'spreferredHeight
został zmieniony nabuttonSize
, a jego wartość można wybrać tylko z 4 stałych w nowo wprowadzonej klasie wartościEdgeButtonSize
. (Icdd70) - Zmieniliśmy nazwę
ListSubheader
naListSubHeader
i dodaliśmy publicznie dostępne wartości domyślne dlaListHeader
iListSubHeader
. (I96730) - Dodaliśmy nowe komponenty
HorizontalPagerScaffold
iVerticalPagerScaffold
dla Wear, które zapewniają nowe animacje i koordynację między komponentami tekstu czasu i wskaźnika strony. (Iff7d0) - Dodaliśmy obsługę pokrętła do
HorizontalPagerScaffold
iVerticalPagerScaffold
, dzięki czemu użytkownicy mogą poruszać się po stronach za pomocą urządzeń wejściowych z pokrętłem. (I9770d) - Wprowadziliśmy
MotionScheme
zmiany w interfejsie API, aby uprościć jego używanie i zwiększyć spójność. Usunęliśmy wbudowane funkcje zapamiętywania i przenieśliśmy wbudowane schematy ruchu do specjalnego obiektu towarzyszącego MotionScheme. Zmieniliśmy nazwystandardMotionScheme
iexpressiveMotionScheme
na standardowe i ekspresywne. (I5fd45) - Dodaliśmy obsługę dynamicznego schematu kolorów opartego na kolorach systemowych. (I073e9)
- Zaktualizowaliśmy komponent Stepper do najnowszych specyfikacji UX. (I622bb)
Poprawki błędów
- Zaktualizowaliśmy typografię i wypełnienia komponentów karty. (I3ae48)
- Zgodnie ze specyfikacją UX (Ie55f0) zmieniliśmy odstęp w
AlertDialog
między przyciskami Potwierdź/Odrzuć a pozostałą częścią treści z 8 dp na 12 dp. - Zaktualizowaliśmy przezroczystość koloru komponentu Suwak. (Idb383)
Wersja 1.0.0-alpha26
2 października 2024 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha26
Wersja 1.0.0-alpha26 zawiera te zmiany.
Zmiany w interfejsie API
- Zaktualizowaliśmy interfejs API i wygląd
HorizontalPageIndicator
oraz dodaliśmyVerticalPageIndicator
do użytku zVerticalPager
(Ic9309). AlertDialog
obsługuje teraz możliwość pomijania domyślnego przycisku dolnego w wariancie stosu przycisków w przypadku układów niestandardowych, w których EdgeButton nie jest wymagany. (I34fa9)- Dodaliśmy komponent
SwipeToReveal
dla Wear Material 3 (Ic38b2). - Dodaliśmy obsługę dwukierunkowego przesuwania w
SwipeToReveal
w rzadkich przypadkach, gdy bieżący ekran nie obsługuje przesuwania w celu zamknięcia. Domyślnie nadal obowiązuje przesuwanie w celu wyświetlenia tylko w przypadku przesuwania od prawej do lewej. Zdecydowanie zalecamy zachowanie domyślnego działania, aby uniknąć konfliktu z przesuwaniem w celu zamknięcia. (Ifac04) - Zmieniliśmy nazwę parametru
buttonHeight
wEdgeButton
napreferredHeight
. (I4fab3) - Wersja Kotlina została zaktualizowana do wersji 1.9 (I1a14c).
- Zmieniliśmy nazwę
OpenOnPhoneDialogDefaults.Icon
naOpenOnPhoneDialogDefaults.OpenOnPhoneIcon
, aby uniknąć konfliktu zIcon
(I0f391) - Dodaliśmy obsługę właściwości
ScrollIndicator
w przypadku elementuLazyColumn
. (Ia546a) - Zaktualizowaliśmy wartości domyślne dla
TextToggleButton
iIconToggleButton
. (I7aaa9) - Uprościliśmy interfejsy API
Picker
iPickerGroup
. (Id0653) - Dodaliśmy symbole
CardDefaults.Shape
iCardDefaults.Height
, które (jako tokeny) były wcześniej dostępne tylko dla deweloperów korzystających z biblioteki. (I1594a, b/347649765) - Zmieniliśmy nazwę parametru postępu w przypadku binarnego segmentowego kołowego wskaźnika postępu na
segmentValue
. (Ib72d9) - Zaktualizowaliśmy kolory i układ suwaka. (Ic3eec)
Poprawki błędów
- Zaktualizowaliśmy animację ikony
openOnPhone
(I66f85). - W
Slider
,TimePicker
iDatePicker
używamy teraz ikon Google Symbols. (I46c7c) - Zaktualizowaliśmy dopełnienia w przypadku elementów
Confirmation
iOpenOnPhoneDialog
. (Iaa82e)
Wersja 1.0.0-alpha25
18 września 2024 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha25
Wersja 1.0.0-alpha25 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaliśmy nieokreślony kołowy wskaźnik postępu. (I427a7)
- Dodaliśmy obsługę przekroczenia postępu (postęp > 100%) w przypadku znaczników
CircularProgressIndicator
iSegmentedCircularProgressIndicator
. Gdy postęp przekroczy 1,0, będzie to oznaczone nowym koloremoverflowTrack
. (Iaaa3d) - Elementy okrągłe
IconToggleButton
iTextToggleButton
obsługują teraz nowy wariant animacji kształtu, w którym różne kształty reprezentują stany zaznaczenia, odznaczenia i naciśnięcia. Wcześniejsza animowana odmiana kształtu dla stanu „właśnie naciśnięto” jest nadal obsługiwana. (I29f03) - Usunęliśmy obsługę
EdgeButton
w przypadkuColumn
, ponieważ wScreenScaffold
trzeba było wyraźnie określić wysokośćEdgeButton
. (Ie353d) - Dodaliśmy obsługę Wear Compose
LazyColumn
w naszymScreenScaffold
(i wdrożyliśmyScrollInfoProvider
wLazyColumnState
). (Ib8d29) - Połączyliśmy
LocalTextMaxLines
,LocalTextAlign
iLocalTextOverflow
w jedną kompozycjęLocalTextConfiguration
lokalną, aby zapewnić bardziej skalowalne rozwiązanie na przyszłość. (I5edbc) - Dodaliśmy skalę arc-large, która jest zarezerwowana dla krótkich ciągów tekstowych nagłówków u góry lub u dołu ekranu, np. w nakładkach potwierdzenia. (I60e3e)
- Dodaliśmy do komponentu Button wartości domyślne zalecanych dużych i bardzo dużych rozmiarów ikon oraz dopełnienia treści. (I84675)
Poprawki błędów
- Zaktualizowaliśmy kolory dla
IconButton
iTextButton
. (I48324) - Zmieniliśmy przeciążenia podstawowego przycisku, aby były wyrównane do środka w pionie, co zapewnia spójność z innymi przeciążeniami. Aby przywrócić poprzednie działanie, użyj
Modifier.align
zRowScope
. (I66e57)
Wersja 1.0.0-alpha24
4 września 2024 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha24
Wersja 1.0.0-alpha24 zawiera te zmiany.
Zmiany w interfejsie API
- Do motywu Material3 dodaliśmy schemat ruchu. Będzie on używany przez komponenty w bibliotece do stosowania specyfikacji animacji, takich jak sprężyny, w celu uzyskania ekspresyjnego ruchu. (I54ff3)
- Do biblioteki Material3 dodaliśmy komponenty
AppScaffold
iScreenScaffold
, które zawierają funkcje koordynowania warstw i przejść elementówTimeText
iScrollIndicator
.AppScaffold
zapewnia najwyższy poziom komponentów struktury, które znajdują się na wszystkich ekranach. Dlatego dodanieTimeText
doAppScaffold
pozwala mu pozostać na miejscu podczas przesuwania między ekranami. Ekrany mogą zastępować lub ukrywać tekst z godziną.ScreenScaffold
udostępnia miejsce naScrollIndicator
i automatycznie animuje wskaźnik przewijania podczas przewijania, w tym czas oczekiwania na ukrycie wskaźnika przewijania po okresie bezczynności. (I047d6) - Dodaliśmy
ScrollIndicator
z nowym wyglądem Material 3. Ma stały rozmiar miniatury oparty na początkowej zawartości listy, aby uniknąć zmian rozmiaru podczas wczytywania do niej treści w trybie leniwym. (Ic228d) - Zmieniliśmy interfejs
ScrollAway
API tak, abyScreenStage
był klasą wartości zamiast klasy wyliczeniowej, co umożliwi dodawanie w przyszłości dodatkowych etapów w razie potrzeby. (I48c93) - Dodaliśmy
EdgeButton
, charakterystyczny przycisk na zegarku Wear o kształcie dopasowanym do zaokrąglenia dolnej części ekranu (I16369). - Dodaliśmy do elementu
ScreenScaffold
nowy slot na przycisk u dołu (np.EdgeButton
), który będzie wyświetlany i zmieniany w zależności od przewijanej treści (I032eb). - Dodaliśmy
Modifier.scrollTransform
iModifier.targetMorphingHeight
, aby dodać efekty ruchu Material3 do elementów wLazyColumn
. (Ie229a) - Dodaliśmy
SegmentedCircularProgressIndicator
jako odmianęCircularProgressIndicator
. Podzielona wersja pokazuje jedną wartość postępu we wszystkich segmentach lub pokazuje, że każdy segment jest włączony lub wyłączony. (I6e059) - Dodaliśmy
LinearProgressIndicator
jako alternatywę dla dotychczasowej wartościCircularProgressIndicator
. (I89182) - Dodaliśmy
AlertDialog
, które udostępnia układy do wyświetlania użytkownikowi ważnych promptów. Warianty obejmują parę przycisków potwierdzenia i odrzucenia lub pojedynczy przycisk u dołu (zwykle EdgeButton) pod stosem opcji. Obie wersje mają miejsca na ikonę, tytuł i dodatkowy tekst, który zawiera więcej szczegółów. (Ieb873) - Dodaliśmy symbol
OpenOnPhoneDialog
, który należy stosować, aby wskazać działanie, które będzie kontynuowane na telefonie użytkownika.OpenOnPhoneDialog
zostanie zamknięte po upływie określonego czasu. (I978fd) - Dodaliśmy komponent
Confirmation
, który zawiera miejsca na ikonę oraz tekst zakrzywiony lub liniowy. W przypadku komunikatów o sukcesie lub niepowodzeniu podane są konkretne warianty. Potwierdzenia są automatycznie zamykane po upływie limitu czasu. (Ib43e8) - Dodaliśmy tło do
TimeText
, aby rozwiązać problemy, w których treści iTimeText
nakładały się na siebie i zasłaniały godzinę. (Ia11fd) - Dodaliśmy komponent
LevelIndicator
, który wyświetla wartość ustawienia, np. głośności, i może być używany z dotychczasowym komponentemStepper
do tworzenia ekranu głośności.LevelIndicator
jest podobny doScrollIndicator
, ale jest wyświetlany po przeciwnej stronie ekranu i ma domyślnie większą szerokość linii oraz inny kolor wskaźnika. (I8a4ac) - Dodaliśmy
TimePicker
z układami dla formatu 24-godzinnego (z sekundami lub bez) lub 12-godzinnego z wyborem przedpołudnia/popołudnia. (Ia5124) - Dodaliśmy
DatePicker
z konfiguracją kolejności kolumn (np. dzień-miesiąc-rok, miesiąc-dzień-rok lub rok-miesiąc-dzień) oraz opcjonalnymi datami minimalną i maksymalną. (Ibf13b) - Do funkcji
TimeText
text
dodaliśmy parametr wagi. W przypadku, gdy element TimeText składa się z więcej niż 1 elementu tekstowego, pozwala to kontrolować sposób rozmieszczenia spacji. (I36700) - Dodaliśmy komponenty
RadioButton
iSplitRadioButton
, które upraszczają poprzedni interfejs API, łącząc zarówno komponent (Split)SelectableButton
, jak i element sterujący radiowy podrzędny (If7ae8). - Dodaliśmy komponenty
CheckboxButton
iSplitCheckboxButton
, które upraszczają poprzedni interfejs API, łącząc zarówno komponent (Split)ToggleButton
, jak i element sterujący polem wyboru podrzędnym (Ia8f70). - Dodaliśmy komponenty
SwitchButton
iSplitSwitchButton
, które upraszczają poprzedni interfejs API, łącząc zarówno(Split)ToggleButton
, jak i kontrolkę podrzędną Switch (I0d349). - Zaktualizowaliśmy dokumentację
AnimatedText
, aby wyjaśnić zachowanie związane z przekraczaniem limitu. (Iff30a) - Dodaliśmy
ButtonGroup
, aby połączyć 2 lub 3 przyciski w taki sposób, aby ich naciśnięcie powodowało skoordynowaną animację. (Ie27db) - Dodaliśmy opcjonalną animację kształtu dla przycisków
IconButton
iTextButton
po ich naciśnięciu. (Iffca5) - Dodaliśmy kolejny wariant koloru,
FilledVariant
, do kolorówButton
,IconButton
,TextButton
,CompactButton
iEdgeButton
(I65fc3). - Dodaliśmy parametr
forcedSize
doImageWithScrimPainter
, dzięki czemu tła obrazów przycisków domyślnie zachowują rozmiar komponentu. UstawienieforcedSize = null
powoduje przyjęcie wartościPainter.instrinsicSize
. (Ic57af) - Dodaliśmy długie kliknięcie przycisków (Ib613d).
- Dodaliśmy też obsługę długiego kliknięcia w przypadku elementów
IconButton
iTextButton
. (I38891) - Dodaliśmy obsługę długiego kliknięcia w przypadku kart. (I305d5)
- Dodaliśmy
LocalTextMaxLines
,LocalTextAlign
,LocalTextOverflow
jakoCompositionLocals
i użyliśmy ich jako domyślnych parametrów na stronieText
. Lokalne kompozycje mogą być teraz używane przez komponenty takie jakCheckboxButton
,SwitchButton
,RadioButton
do wdrażania wskazówek dotyczących UX, ale w razie potrzeby deweloperzy mogą zastąpić parametry. (Iab841) - Dodaliśmy
Placeholder
, aby maskować zawartość komponentów, takich jak przyciski i karty, do czasu załadowania danych. (I1a532) - Dodaliśmy symbole
IconToggleButtonColors
iTextToggleButtonColors
, które zastąpiły usunięty symbolToggleButtonColors
. (Ie0bf1)
Poprawki błędów
- Zaktualizowaliśmy parametry
Button
,FilledTonalButton
,OutlinedButton
,ChildButton
,CompactButton
, aby korzystały z nowych parametrówCompositionLocals
LocalTextMaxLines
,LocalTextAlign
,LocalTextOverflow
w celu wdrożenia wskazówek dotyczących UX. Deweloperzy mogą w razie potrzeby zastąpić te parametry bezpośrednio w tekście (Ie51f7). - Zmieniliśmy domyślną szerokość kreski
LevelIndicator
na6dp
, aby odróżnić ją odScrollIndicator
, która ma szerokość kreski4dp
. (If6f63) - Rozwiązaliśmy problem w
TimeText
, dzięki czemu obsługiwane są większe kąty skanowania. (Ie489f) - Rozwiązaliśmy problem podczas ponownego komponowania
EdgeButton
. (I4cdca) - Poprawiono układy podzielonych przycisków przełączania, gdy podano niestandardowy odstęp od treści. (Ia33d3)
- Zaokrąglanie w górę małych wartości postępu do co najmniej szerokości linii wskaźnika postępu. (I3bd84)
Wersja 1.0.0-alpha23
14 maja 2024 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha23
Wersja 1.0.0-alpha23 zawiera te zmiany.
Zmiany w interfejsie API
- Zaktualizowaliśmy interfejsy API
ToggleButton
iRadioButton
, aby można było konfigurować wyłączone kolory. (If13a7) - Dodaliśmy nowy
CircularProgressIndicator
dla Material3. (Ib3bd7)
Poprawki błędów
- Naprawiliśmy błąd, który powodował, że przyciski, które można było wybrać, były odczytywane jako „kliknij dwukrotnie, aby przełączyć”, nawet jeśli były już wybrane. (I7ed88)
Wersja 1.0.0-alpha22
1 maja 2024 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha22
Wersja 1.0.0-alpha22 zawiera te zmiany.
Zmiany w interfejsie API
- Zaktualizowaliśmy
ColorScheme
Material3. (I7b2b8) - Zaktualizowaliśmy przełącznik Material3. Oprócz zmian kolorów, symbol zaznaczenia jest teraz taki sam jak w przypadku pola wyboru. (Icac7b)
Poprawki błędów
- Zaktualizuj wszystkie wersje demonstracyjne integracji, aby używać nowego modyfikatora
rotaryScrollable
. (I25090)
Wersja 1.0.0-alpha21
17 kwietnia 2024 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha21
Wersja 1.0.0-alpha21 zawiera te zmiany.
- Ta wersja została udostępniona z powodu problemu technicznego w poprzedniej wersji, który spowodował brak plików JAR źródłowych. W tej wersji nie ma nowych commitów.
Wersja 1.0.0-alpha20
3 kwietnia 2024 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha20
Wersja 1.0.0-alpha20 zawiera te zmiany.
Poprawki błędów
- Dostosowaliśmy wartości alfa stanu naciśnięcia i skupienia efektu Ripple, aby zwiększyć kontrast. (I59f0a)
- Dodaliśmy odstępy między etykietami głównymi i dodatkowymi w przypadku
Button
,ToggleButton
iRadioButton
zgodnie z najnowszymi zmianami w stylach typograficznych i wysokościach wierszy. (I2c0ba)
Wersja 1.0.0-alpha19
6 marca 2024 roku
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha19
Wersja 1.0.0-alpha19 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaliśmy
TimeText
do biblioteki Wear Compose Material3. Ten komponent wyświetla aktualny czas (i dodatkowe informacje o stanie) u góry ekranu. Nowy, zwięzły interfejs Material3 API eliminuje powielanie treści liniowych i zakrzywionych. (I4d7c3) - Zmieniliśmy nazwy parametrów z
onSelected
naonSelect
w przypadkuRadioButton
. (I1a971) - Ztokenizuj
RadioButton
iSplitRadioButton
, a także zmień istniejące metody, aby zmniejszyć liczbę wyszukiwańCompositionLocal
przez dodanie buforowanych instancji kolorów i uczynienie metodRadioButtonColors
iSplitRadioButtonColors
wewnętrznymi. (I02b33)
Wersja 1.0.0-alpha18
21 lutego 2024 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha18
Wersja 1.0.0-alpha18 zawiera te zmiany.
Zmiany w interfejsie API
- Przebudowaliśmy wzorzec wartości domyślnych dla
CardColors
,ToggleButtonColors
iSplitToggleButtonColors
, tworząc wewnętrznie instancje w pamięci podręcznej i ograniczając użycieCompositionLocal
. (If3fec)
Wersja 1.0.0-alpha17
7 lutego 2024 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha17
Wersja 1.0.0-alpha17 zawiera te zmiany.
Zmiany w interfejsie API
- Zaktualizowaliśmy interfejs Button API, aby domyślnie używał
buttonColors
, i usunęliśmy duplikatfilledButtonColors
. (I4fe3b) - Przebudowaliśmy domyślne wzorce dla
ButtonColors
,IconButtonColors
iTextButtonColors
, tworząc wewnętrznie instancję w pamięci podręcznej i ograniczając użycieCompositionLocal
. (I5f51c) - Usunęliśmy narzut
rememberUpdatedState
w klasach kolorów specyficznych dla komponentów i oznaczyliśmy metody dostępu w klasach kolorów jako wewnętrzne. (If6571)
Poprawki błędów
- Zaktualizowaliśmy
Modifier.minimumInteractiveComponentSize
, aby korzystać zModifier.node
. (Iba6b7)
Wersja 1.0.0-alpha16
24 stycznia 2024 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha16
Wersja 1.0.0-alpha16 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy komponent
CompactButton
, który może używać tych samych kolorów wypełnionych, wypełnionych tonalnych i konturowych co komponent Button.(I05df0)
Zmiany w interfejsie API
- Dodaliśmy elementy
RadioButton
/SplitRadioButton
jako kontenery dla elementów sterujących wyboru, takich jak element sterujący Radio. Różni się to od obecnej funkcjiToggleButton
, ponieważRadioButton
można wybrać (i działa ona w grupie wyboru), aToggleButton
można włączyć lub wyłączyć (i działa ona niezależnie). (I61275) - Usuwamy
LocalContentAlpha
z biblioteki Wear Compose Material3, aby zachować spójność z biblioteką Compose Material3. (I49a0a) - Komponenty Wear Material i Wear Material 3, które w swoim interfejsie API udostępniały wartość
MutableInteractionSource
, zostały zaktualizowane i teraz udostępniają wartośćMutableInteractionSource
z możliwością wartości null, która domyślnie ma wartość null. Nie ma tu żadnych zmian semantycznych: przekazanie wartości null oznacza, że nie chcesz podnosićMutableInteractionSource
, a w razie potrzeby zostanie on utworzony w komponencie. Ustawienie wartości null powoduje, że niektóre komponenty nigdy nie przydzielająMutableInteractionSource
, a inne tworzą instancję tylko wtedy, gdy jest to potrzebne, co zwiększa wydajność tych komponentów. Jeśli nie używasz elementuMutableInteractionSource
przekazywanego do tych komponentów, zalecamy przekazywanie zamiast niego wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (Ib90fc, b/298048146) - Dodaje nowy interfejs API efektu falowania w bibliotekach
wear:compose-material
iwear:compose-material3
, który zastępuje wycofany interfejsrememberRipple
. Dodaje też tymczasoweCompositionLocal
,LocalUseFallbackRippleImplementation
, aby przywrócić komponenty Material do korzystania z wycofanych interfejsów APIrememberRipple/RippleTheme
. Zostanie ona usunięta w kolejnej stabilnej wersji i ma być tylko tymczasowym ułatwieniem migracji w przypadkach, gdy podajesz niestandardowy elementRippleTheme
. Więcej informacji o migracji i szczegółowe wyjaśnienie tej zmiany znajdziesz na stronie developer.android.com. (af92b21) - Wprowadziliśmy drobne ulepszenia interfejsu
HorizontalPageIndicator
API i jego dokumentacji. (I60efc) - Zaktualizowaliśmy
ColorScheme
, aby był niezmienny, co sprawia, że indywidualne aktualizacje kolorów są mniej wydajne, ale bardziej wydajne jest częstsze używanie kolorów. Powodem tej zmiany jest to, że większość aplikacji nie ma aktualizowania poszczególnych kolorów jako głównego przypadku użycia. Jest to nadal możliwe, ale będzie wymagało większej liczby ponownych kompozycji niż wcześniej. W rezultacie znacznie zmniejszymy liczbę subskrypcji stanu w całym kodzie materiału, co wpłynie na koszt inicjowania i działania w przypadku bardziej standardowych zastosowań. (Ibc2d6) - Zaktualizowano interfejsy API
ToggleButton
iSplitToggleButton
, aby umożliwić dostosowywanie wyłączonych kolorów. Dodatkowo w przypadku wartości kolorów i typografii używane są teraz tokeny Material Design. (If087c) - Zaktualizowano kolory tła obrazu przycisku, aby używać tokenów Material Design. (Iba215)
- Zmieniliśmy komponenty
Checkbox
,Switch
iRadioButton
, aby były tylko wyświetlane. Usunęliśmy obsługę kliknięć. Te komponenty mają być używane w(Split)ToggleButton
, który obsługuje kliknięcie, więc są teraz wyraźniej oznaczone jako przeznaczone tylko do wyświetlania (i nie są przeznaczone do samodzielnego używania na urządzeniach z Wear). (I2322e)
Poprawki błędów
- Dodaliśmy tokeny dla wartości ruchu w przypadku czasów trwania i funkcji przejścia w Wear Compose Material 3. (I437cd)
- Naprawiliśmy błąd w przypadku elementów
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
iRadioButton
, aby komunikaty ułatwień dostępu nie były powtarzane (wcześniej role semantyczne były duplikowane). (Ica281) - Usunęliśmy warstwę materialcore dla
CompactButton
, aby zwiększyć wydajność. (7902858)
Wersja 1.0.0-alpha15
15 listopada 2023 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha15
Wersja 1.0.0-alpha15 zawiera te zmiany.
Zmiany w interfejsie API
- Zmieniliśmy nazwę poziomu podstawowego
SwipeToDismissBox
naBasicSwipeToDismissBox
. Dzięki temu łatwiej odróżnić komponent poziomu podstawowego od komponentu poziomu Material3SwipeToDismissBox
. Ten drugi pobiera kolory zMaterialTheme
, aby używać ich w warstwach przyciemniających, a pozostałą część implementacji przekazuje doBasicSwipeToDismissBox
. (Ibecfc)
Poprawki błędów
- Usunęliśmy warstwę material-core z przycisku Material3, aby zwiększyć wydajność. (I55555)
Wersja 1.0.0-alpha14
18 października 2023 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha14
Wersja 1.0.0-alpha14 zawiera te zmiany.
Zmiany w interfejsie API
- Usunęliśmy parametr
indicatorStyle
z funkcjiHorizontalPageIndicator
w Material3 – zamiast tego będzie ona dopasowywać się do kształtu ekranu urządzenia (liniowego lub okrągłego). (I83728) - Oddzieliliśmy kolory dla
SplitToggleButton
od kolorów dlaToggleButton
, dodając nową klasęSplitToggleButtonColors
. (I78bee)
Wersja 1.0.0-alpha13
4 października 2023 roku
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha13
Wersja 1.0.0-alpha13 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaliśmy opcjonalne pole Podtytuł do
TitleCard
. (Ifc45a) - Dodaliśmy tokeny kolorów Material Design dla
TextButton
. (I769dc)
Wersja 1.0.0-alpha12
20 września 2023 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha12
Wersja 1.0.0-alpha12 zawiera te zmiany.
Zmiany w interfejsie API
- Zaktualizowaliśmy
IconButton
, aby korzystać z tokenów Material Design. (I3f137) - Zaktualizowaliśmy
IconToggleButton
, aby korzystać z tokenów Material Design. (I7d263) - Udostępniliśmy konstruktory
CheckboxColors
,RadioButtonColors
,SwitchColors
. (I82b73)
Wersja 1.0.0-alpha11
6 września 2023 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha11
Wersja 1.0.0-alpha11 zawiera te zmiany.
Poprawki błędów
- Zaktualizowaliśmy typografię kart Material 3 na
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.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha10
Wersja 1.0.0-alpha10 zawiera te zmiany.
Nowe funkcje
- Dodaj
HorizontalPageIndicator
w bibliotece Wear Material3. (Ifee99)
Zmiany w interfejsie API
- Zaktualizuj kod przycisków, aby używać tokenów projektu Material 3. (I92fe4)
- Oznaczenie interfejsów API Wear Material 3 Stepper i Slider jako eksperymentalnych, ponieważ szczegóły interfejsu użytkownika są nadal dopracowywane. (I84d54)
- Usunęliśmy rozmiary
ExtraSmall
z okrągłychTextButton
iTextToggleButton
, ponieważ ten rozmiar dotyczy tylkoIconButton
. (Ibc7d5)
Poprawki błędów
- Zaktualizowaliśmy wskazówki dotyczące typografii w przypadku komponentu TextToggleButton, aby w przypadku rozmiaru LargeButtonSize używać etykiety LabelLarge (Ib10fa).
- Zaktualizowaliśmy wskazówki dotyczące typografii w przypadku elementu TextButton, aby w przypadku elementu LargeButtonSize używać stylu LabelLarge (I8f3a7).
- Ustawiliśmy minimalny docelowy element dotykowy karty na 48 dp, aby zapewnić dostępność. (Ieb9b1)
- Dodanie karty aplikacji z obrazem demonstracyjnym, usunięcie karty aplikacji z tłem demonstracyjnym (Id735f)
- Naprawiliśmy błąd w okrągłych przyciskach, który powodował, że modyfikatory nie były prawidłowo łączone. (I5e162)
Wersja 1.0.0-alpha09
9 sierpnia 2023 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha09
Wersja 1.0.0-alpha09 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy
ToggleButton
dla atrybutu material3 (I6bed6)
Zmiany w interfejsie API
- Włączyliśmy adnotację
FloatRange
jako ograniczenia interfejsu API , które wcześniej były podane w komentarzach. (Icb401) - Zaktualizowaliśmy typografię Wear Material3, aby była zgodna z najnowszymi wytycznymi Material3. (I1bad6)
Poprawki błędów
- Zaktualizowaliśmy kolory
Button
,IconButton
iTextButton
zgodnie z zasadami Material3. (Ib2495) - Poprawiliśmy widoczność zaznaczenia pola wyboru w stanach wyłączonych. (Ib25bf)
Wersja 1.0.0-alpha08
26 lipca 2023 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha08
Wersja 1.0.0-alpha08 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy te elementy sterujące wyboru w Material3:
Switch
,Checkbox
,RadioButton
. (Ib918c) - Do Material3 dodaliśmy
IconToggleButton
iTextToggleButton
, czyli okrągłe przyciski przełączania z jednym miejscem na ikonę i tekst. W przypadku różnych rozmiarówToggleButton
zalecamy używanieModifier.touchTargetAwareSize
z rozmiarami podanymi w odpowiednich przyciskach. (I9f015) - Dodaliśmy do naszych komponentów Material3 elementy
ListHeader
iListSubheader
. (Ibaefe) - Dodaliśmy Material3
SwipeToDismissBox
, który wywołuje nowy FoundationSwipeToDismissBox
i dostarcza domyślne wartości kolorów z motywu. (I275fb) - Dodaliśmy do Wear Compose
InlineSlider
Material3. Umożliwia użytkownikom wybór z zakresu wartości. Zakres wyboru 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 Wear Material 3, aby zamiast kształtu używać
RoundedCornerShape
. (Idb133) - Udostępniliśmy stałe wartości wysokości przycisku (Idbfde).
- Zaktualizowano pliki interfejsu API, aby dodać adnotacje dotyczące wyłączenia zgodności (I8e87a, b/287516207).
- Zaktualizowaliśmy
InlineSliderColors
w Wear Compose Material 3, aby miał publiczny konstruktor i publiczne właściwości. (I6b632) - Zaktualizowaliśmy wszystkie klasy kolorów w Wear Compose Material 3, aby miały publiczne konstruktory i publiczne właściwości. (I17702)
- Udostępniliśmy stałe wartości dopełnienia poziomego i pionowego elementu Button. (Ieeaf7)
Poprawki błędów
- Przycisk będzie teraz dostosowywać swoją wysokość do treści, które urosły z powodu dużych czcionek ułatwiających dostęp, w razie potrzeby (Iaf302).
- Zaktualizowaliśmy kilka wersji demonstracyjnych 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.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha07
Wersja 1.0.0-alpha07 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy komponent
Stepper
do naszej biblioteki Compose for Wear OS Material 3. Jest to podobne do poprzedniej wersji Material, ale domyślnie pomija semantykę zakresu, zgodnie z opiniami deweloperów. PodajemyModifier.rangeSemantics
przypadki, w których wymagana jest semantyka zakresu. (Ic39fd) - Dodaliśmy
curvedText
do naszej biblioteki Compose for Wear OS Material 3. (Ia8ae3)
Poprawki błędów
- Zaktualizowaliśmy
wear.compose.foundation
, aby był zależnością interfejsu API odwear.compose.material3
(I72004, b/285404743).
Wersja 1.0.0-alpha06
7 czerwca 2023 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha06
Wersja 1.0.0-alpha06 zawiera te zmiany.
Poprawki błędów
- Zaktualizowaliśmy
TextButton
, aby używać funkcji rozszerzeniatoDisabledColor
w przypadku prawidłowych wyłączonych wartości alfa. (I814c8)
Wersja 1.0.0-alpha05
24 maja 2023 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha05
Wersja 1.0.0-alpha05 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy do Material 3
TextButton
, czyli okrągły przycisk z jednym miejscem na tekst. W przypadku różnych rozmiarówTextButton
zalecamy używanieModifier.touchTargetAwareSize
iExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
iLargeButtonSizeIcon
podanych wTextButtonDefaults
. Domyślny stylTextButton
nie ma obramowania i ma przezroczyste tło w przypadku działań o niskim priorytecie. W przypadku działań, które wymagają dużego nacisku, użyj ikonyfilledTextButtonColors
. W przypadku średniego nacisku użyj ikonyTextButton
z obramowaniem ustawionym naButtonDefaults.outlinedButtonBorder
. W przypadku ikony wypełnionej w połowie użyj ikonyfilledTonalTextButtonColors
. (I667e4) - Dodaliśmy do biblioteki Wear Compose Material3 komponenty
Card
,OutlinedCard
,AppCard
iTitleCard
.AppCard
iTitleCard
można też wyświetlać w formie konturu za pomocąCardDefaults.outlinedCardColors
iCardDefaults.outlinedCardBorder
(I80e72)
Zmiany w interfejsie API
- Przenieśliśmy parametr etykiety przycisku na koniec, aby obsługiwać składnię lambda końcową, i usunęliśmy parametr roli (można go zastąpić za pomocą
Modifier.semantics
). KonstruktoryButtonColors
są teraz publiczne. (Ie1b6d)
Wersja 1.0.0-alpha04
10 maja 2023 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha04
Wersja 1.0.0-alpha04 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy
IconButton
do Material3, okrągły przycisk z 1 miejscem na ikonę lub obraz. Dostępne są 4 warianty:IconButton
,FilledIconButton
,FilledTonalIconButton
iOutlinedIconButton
. W przypadku różnych rozmiarówIconButton
zalecamy używanieModifier.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.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha03
Wersja 1.0.0-alpha03 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaliśmy komponent Przycisku Material 3 – to nasz przycisk w kształcie stadionu, który wcześniej w bibliotece Wear Compose Material nosił nazwę Chip (zmieniliśmy ją na Button, aby zachować spójność z biblioteką Compose Material 3). Domyślny przycisk ma wypełnione tło. Dostępne są też warianty przycisków:
FilledTonal
(stonowane tło), Obrysowany (przezroczysty z cienką obwódką) i Podrzędny (przezroczyste tło bez obwódki, używany w przypadku dodatkowych działań o najmniejszym znaczeniu). Okrągłe przyciski z prostą ikoną i tekstem zostaną wprowadzone w przyszłej wersji.(Ia6942)
Wersja 1.0.0-alpha02
5 kwietnia 2023 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha02
Wersja 1.0.0-alpha02 zawiera te zmiany.
Poprawki błędów
- Dodaliśmy
DefaultTextStyle
do Wear Compose Material 3, które domyślnie ustawiaPlatformTextStyle.includeFontPadding
na wartość „true” (obecne ustawienie). Dzięki temu w przyszłości będziemy mogli domyślnie synchronizować wyłączanie dopełnienia czcionki z bibliotekami Compose (patrz Fix font padding in Compose for background). (I7e461)
Wersja 1.0.0-alpha01
22 marca 2023 r.
Publikacja androidx.wear.compose:compose-material3:1.0.0-alpha01
Wersja 1.0.0-alpha01 zawiera te zmiany.
Nowe funkcje
Material 3 to kolejna ewolucja Material Design, która obejmuje zaktualizowane motywy i przeprojektowane komponenty. Material 3 w Wear Compose jest zaprojektowany tak, aby był spójny z biblioteką Material 3 Compose na Androida. Ta pierwsza wersja alfa zawiera wczesne, działające implementacje tych funkcji:
Będziemy nadal rozwijać równolegle Wear Material (
androidx.wear.compose:compose-material
) i Wear Material 3 (androidx.wear.compose:compose-material3
). W przyszłych wersjach biblioteki Material 3 zestaw widżetów zostanie rozszerzony o inne znane komponenty z Compose na Wear OS, takie jak przyciski, selektory i suwaki.Biblioteki Wear Material i Wear Material 3 wykluczają się wzajemnie i nie powinny być używane w tej samej aplikacji, ponieważ odwołują się do różnych motywów, co prowadzi do nieoczekiwanych niespójności.