Wear Compose Material 3

  
Twórz aplikacje Jetpack Compose na urządzenia z Wear OS, udostępniając funkcje obsługujące różne rozmiary urządzeń i gesty nawigacyjne za pomocą systemu projektowania Material 3 Expressive.
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.

Tworzenie nowego problemu

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, HorizontalPagerScaffoldVerticalPagerScaffold do określania struktury ekranu i koordynowania animacji ScrollIndicator, TimeText, HorizontalPageIndicatorVerticalPageIndicator.
  • Zmieniające się kształty IconButton, TextButton, IconToggleButtonTextToggleButton 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.
  • AlertDialogConfirmationDialog z wariantami dla dodatkowej zawartości okna.
  • TimePickerDatePicker.
  • Wskaźniki postępu to m.in. CircularProgressIndicator (z wariantem podzielonym na segmenty), ArcProgressIndicatorLinearProgressIndicator.

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ą HorizontalPagerVerticalPager.
  • 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żywa DateFormat.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 HorizontalPageIndicatorVerticalPageIndicator na pełnym ekranie. Wskaźniki stron nie są już wyświetlane na pełnym ekranie i są umieszczane automatycznie, gdy są używane z HorizontalPagerScaffold lub VerticalPagerScaffold. Jeśli nie używasz szkieletu pagera, określ wyrównanie jawnie za pomocą modifier = Modifier.align(Alignment.BottomCenter)HorizontalPageIndicatormodifier =Modifier.align(Alignment.CenterEnd)VerticalPageIndicator. (I3a0ad)
  • Kierunek przesuwania w SwipeToReveal jest teraz taki sam w przypadku języków pisanych od lewej do prawej i od prawej do lewej LayoutDirections. (I6d427)
  • Przywróciliśmy SwipeToReveal wyśrodkowanie pionowe działań. Jeśli hasPartiallyRevealedState = true, wywołujący powinien zresetować wartość RevealState do RevealValue.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, gdy LazyColumn lub ScalingLazyColumn 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 podano ScrollIndicator/PageIndicator. (I6dcee)
  • TransformingLazyColumn umożliwia teraz niestandardowe przekształcanie z TransformationSpec przez odczytywanie wartości itemHeight podanej przez TransformationSpec w malowaniu tła. (I6a599)
  • Animowane przejścia kolorów włączone/wyłączone dla IconButton, aby zachować spójność z IconToggleButton. (Ife10a)
  • Usunęliśmy ograniczenie minimalnej sekcji w CircularProgressIndicator, aby uniknąć zauważalnego skoku do minimalnego rozmiaru kropki podczas animacji. W ramach tej zmiany parametr targetProgressdrawCircularProgressIndicator 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 TimePickerDatePicker 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 z EdgeButton. 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 niestandardowym TransformationSpecs 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, OpenOnPhoneDialogSwipeToReveal 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 i ScreenScaffold. (I946e3)
  • Naprawiliśmy warunek wyścigu, który mógł powodować zatrzymanie animacji obiektu zastępczego. (I53530)
  • Poprawiliśmy wydajność HorizontalPageIndicator i VerticalPageIndicator, 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śmy OpenOnPhoneDialogDefaults, aby usunąć z funkcji icon() parametry iconContentDescriptioncontentDescription. ConfirmationDialogDefaults ma teraz też parametry modyfikatora w kompozycjach SuccessIconFailureIcon. (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ć stan SwipeToReveal, gdy aktywność lub proces są odtwarzane. Funkcja rememberRevealState 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 stan Revealing, 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 w RevealState.currentValue, gdy wartość hasPartiallyRevealedState była ustawiona na false. (I9c7cf)
  • Przyciski cofania SwipeToReveal są teraz domyślnie ButtonDefaults.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, IconToggleButtonTextToggleButton, 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 AppScaffoldScreenScaffold do określania struktury ekranu i koordynowania animacji ScrollIndicatorTimeText.
  • 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 CheckboxButtonSwitchButton są używane, gdy potrzebne są przyciski przełączania, a RadioButton 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 lub EdgeButton.
  • 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 TimePickerDatePicker, a także komponenty selektora i PickerGroup 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, VerticalPagerScaffoldAnimatedPage koordynują animacje HorizontalPageIndicatorVerticalPagerIndicator. HorizontalPagerVerticalPager 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 HorizontalPagerVerticalPager 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 na Modifier.hierarchicalFocusGroup i usunęliśmy parametr wywołania zwrotnego; usunęliśmy przeciążenie Modifier.hierarchicalFocusRequester z parametrem FocusRequester; utworzyliśmy nowe CompositionLocalLocalScreenIsActive, 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 API SwipeToReveal w Wear Compose Material i Wear Compose Material3. Aby nadal korzystać z interfejsów API, zastąp importy Wear Foundation SwipeToReveal 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 z androidx.wear.compose.foundation na androidx.wear.compose.material3. (I640e6).
  • Zaktualizowaliśmy interfejs API Wear Compose Material3 SwipeToReveal w ten sposób: dodaliśmy parametry primaryAction, onFullSwipe, secondaryAction, undoPrimaryAction, undoSecondaryActionhasPartiallyRevealedState do funkcji kompozycyjnej SwipeToReveal; usunęliśmy możliwość dostosowywania parametrów positionalThresholdanimationSpec z funkcji RevealState; usunęliśmy parametry lastActionType, revealThreshold i szerokość z funkcji RevealState; zmieniliśmy konstruktor RevealState tak, aby akceptował parametr RevealDirection zamiast punktów zakotwiczenia; usunęliśmy funkcje createRevealAnchors, punkty zakotwiczenia i bidirectionalAnchors; funkcje SwipeToRevealScope primaryAction, secondaryAction, undoPrimaryActionundoSecondaryAction zostały zmienione na PrimaryActionButton, SecondaryActionButton, UndoActionButton i przekształcone w funkcje kompozycyjne; oznaczyliśmy funkcję RevealActionType jako wewnętrzną. (I885d0).
  • Dalsze aktualizacje interfejsu API: zmieniono nazwę onFullSwipe na onSwipePrimaryAction; zmieniono nazwę SwipeToRevealNonAnchoredSample, aby wskazywała użycie parametru hasPartiallyRevealedState; usunięto actionButtonHeight, ponieważ domyślna wysokość przycisku jest domyślną wysokością, a większą wysokość można ustawić za pomocą modyfikatora; usunięto SmallActionButtonHeightSwipeToRevealDefaults; ustawiono parametr wartości w konstruktorach RevealValueRevealDirection jako prywatny.SwipeToReveal (I465ce).

Poprawki błędów

  • Poprawiono obsługę ScreenScaffold EdgeButton, tak aby po usunięciu elementu TransformingLazyColumn 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 containerPainterdisabledContainerPainter zastępują elementy containerColordisabledContainerColor (I4a453).
  • Cofnięto zmianę wprowadzoną w TimeText w poprzedniej wersji, która przenosiła BroadcastReceiver 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 lambda contentDescription. (Icb5b1).
  • Zaktualizowano style tekstu w TimePickerDatePicker, aby zmiany czcionki nie powodowały już obcinania tekstu. (I26194).
  • ListHeaderListSubHeader 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ści EdgeButton 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ów transformedHeightgraphicsLayer. (Ie181d)
  • Zastąpiono funkcje kompozycyjne ImageButtonImageCard odpowiednio przeciążeniami ButtonCard/TitleCard. Zmieniono nazwę imageButtonColors na buttonWithContainerPainterColorsimageCardColors na cardWithContainerPainterColors. Dodano publiczne ButtonDefaults.scrimBrush i CardDefaults.scrimBrush. Zmieniono nazwy przycisków imageBackgroundGradientStartColorimageBackgroundGradientEndColor na scrimGradientStartColorscrimGradientEndColor. Nazwa CardDefaults.ImageContentPadding została zmieniona na CardDefaults.CardWithContainerPainterContentPadding (I7b8b6)
  • PickerPickerGroup przyjmują teraz contentDescription 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 na ImageButton, ButtonDefaults.imageButtonColors, ButtonDefaults.containerPainter i ButtonDefaults.disabledContainerPainter. Podobne zmiany wprowadziliśmy w przypadku karty. Malarze zostaną usunięci z listy ButtonColorsCardColors. (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, oraz Modifier.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 z 20sp do 18sp, a odstępy między literami w przypadku ArcLargeArcSmall zostały zaktualizowane. ConfirmationDialog/OpenOnPhoneDialog używają teraz domyślnego ArcLarge 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 na PagerScaffoldDefaults.FadeOutAnimationSpec. Parametr strony w AnimatedPage został zmieniony na pageIndex. (I701f2)
  • Zmieniono nazwy podziału TransformingLazyColumn na SurfaceTransformationapplyTransformation na applyContainerTransformationapplyContentTransformation oraz zmieniono nazwę createBackgroundPainter na createContainerPainter. Dalsze zmiany nazw w przypadku TransformationSpecResponsiveTransformationSpec. (I1c534)
  • Nazwa AppScaffold backgroundColor została zmieniona na containerColor. (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 w ArcLargeArcSmall zostały zaktualizowane. ConfirmationDialog/OpenOnPhoneDialog używają teraz domyślnego rozmiaru ArcLarge zamiast zastępować go rozmiarem 18 sp. (Id39a8)
  • Zaktualizowano animację nagłówka w przypadku DatePickerTimePicker, tak aby animacja zanikania i pojawiania się działała jako jedna animacja sprężynowa. (I68963)
  • Zoptymalizowany PagerScaffold przez unikanie odczytywania currentPageOffsetFraction w funkcji AnimatedPage. (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 i DatePicker nadal obowiązują w przypadku FontFeatureSetting=tnum cyfr tabelarycznych. (I88929)
  • Poprawiono początkowe wyróżnienie danych RSB w przypadku TimePickerDatePicker. (I1c773)
  • Zaktualizowano domyślny tekst na OpenOnPhoneDialog na „Sprawdź telefon”. (I00a3f)
  • Zaktualizowano wagi dla ArcLargeArcMedium 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ż komponentu Pager – zamiast tego musi być on dostarczany za pomocą funkcji content Composable. AnimatedPagesnapWithSpringFlingBehaviour są teraz publiczne i można ich używać razem z Wear Foundation Pager, aby uzyskać poprzednie działanie M3 PagerScaffold. (Zobacz zaktualizowane przykłady). (Ia4724)
  • Zaktualizowano PagerState, usuwając klasę bazową Compose Foundation PagerState i dodając właściwości currentPage, currentPageOffsetFractionpageCount. Zaktualizowaliśmy interfejs GestureInclusion, zmieniając nazwę metody na ignoreGestureStart. (I4ae07)
  • Parametry kąta skanowania LevelIndicator są teraz oznaczone symbolem FloatRange(0, 360) (I7e636).
  • Dodaliśmy CurvedModifier.clearAndSetSemantics, aby umożliwić wyłączenie zakrzywionej semantyki. CurvedText nadal domyślnie ustawia opis treści na tekst, ale timeTextCurvedTexttimeTextSeparator 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 na PagerDefaults.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 komponencie TransformingLazyColumn. (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 Foundation SwipeToReveal polega teraz na blokowaniu przesuwania, gdy gest zaczyna się od krawędzi. Domyślne działanie Material3 SwipeToReveal’ 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 elementu contentPadding zamiast umieszczać pierwszego i ostatniego elementu na środku. (I77ab7)
  • Usunięto SwipeToRevealrememberRevealState 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 ScrollIndicatorPageIndicator. 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 w ConfirmationDialogDefaultsOpenOnPhoneDialogDefaults został zaktualizowany do typografii ArcLarge o rozmiarze 18sp i odstępie między literami 1.8sp. (Ic9ced)
  • Card, ListHeader, RadioButton, CheckboxButton, SwitchButton nie ograniczają już domyślnie wysokości swoich treści. W razie potrzeby użyj ikony Modifier.height(IntrinsicSize.Min), aby przywrócić poprzednie działanie. (I80bb8)
  • Zaktualizowaliśmy domyślne kolory TimeTextScrollIndicator, aby uwzględnić więcej odcieni szarości, ponieważ bezpośrednie użycie koloru OnBackground (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 TimeTextScrollIndicator 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ą modyfikatora edgeSwipeToDismiss. (I02b07)
  • W sekcjach DatePickerTimePicker 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, primaryActionsecondaryAction. Semantyka działania niestandardowego powinna być dodawana bezpośrednio do treści komponentu SwipeToReveal przez dewelopera. (Ia67f3)
  • Usunęliśmy prefiksy „Button” z rozmiarów, stylów tekstu i funkcji kolorów w IconToggleButtonDefaultsTextToggleButtonDefaults (I5471d).
  • Usunęliśmy eksperymentalną funkcję LocalMinimumInteractiveComponentEnforcement (I4ad8a).
  • Zastąpiliśmy PickerGroupScope DSL komponentem. W związku z tym usunęliśmy metodę pickerGroupItemPickerGroupScope i dodaliśmy @Composable PickerGroupItem, której należy używać do dodawania selektora do PickerGroup. Zmieniliśmy też typ parametru PickerGroup „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 TransformingLazyColumnTransformationSpec, który umożliwia zdefiniowanie dokładnych przekształceń elementów podczas przewijania ich w TLC. (I21856)
  • Zaktualizowaliśmy IconButtonShapes, IconToggleButtonShapes, TextButtonShapesTextToggleButtonShapes, aby były zgodne z klasami compose/material3 (I5a081).
  • Dodaliśmy parametr overscrollEffect do ScalingLazyColumn, TransformingLazyColumnScreenScaffold. (I0cee8)
  • Zmieniliśmy nazwę parametru swipeDirection na revealDirectionrememberRevealState. (I7472f)
  • Wear Pager ma teraz własny element PagerScope zamiast korzystać z elementu Compose PagerScope. (I9195b)
  • Usunęliśmy funkcję LinearProgressIndicatorContent. Używaj bezpośrednio funkcji LinearProgressIndicator, 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 komponentu CircularProgressIndicator, aby zmiany były domyślnie animowane, ale w razie potrzeby niestandardowych animacji utwórz własny komponent z komponentu drawCircularProgressIndicator. (Ie762f)
  • Zmieniliśmy kolejność parametrów w pliku DrawScope.drawCircularProgressIndicator, aby przenieść parametr targetProgress wyżej. (I8ab92)
  • Interfejs OpenOnPhoneDialog został zaktualizowany, aby był bardziej przejrzysty i spójny z innymi oknami. Parametr show został zmieniony na visible, a wartość curvedText jest teraz podawana przez dzwoniącego zamiast wartości domyślnej. (Idec2d)
  • Zmieniliśmy nazwę openOnPhoneCurvedText na openOnPhoneDialogCurvedText (I65bdd)
  • Dodaliśmy ScrollIndicatorColors, aby umożliwić dostarczanie niestandardowych kolorów do ScrollIndicator. (I9eb8c)
  • Umożliwia skonfigurowanie koloru tła za elementem TimeText. (I9f5d9)
  • Zaktualizowano typografię ArcLarge, ArcMediumArcSmall na CurvedTextStyle (Iffc41).
  • Usunęliśmy ScreenScaffoldDefaults.contentPaddingWithEdgeButton. (Ia923e)
  • Dodaliśmy errorDim do ColorScheme 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 pakietu androidx.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, TextButtonShapesTextToggleButtonShapes, 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 metody variantAnimatedShapeIconToggleButtonTextToggleButton (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ąc ButtonGroupItem opartą na DSL Modifier.weight, Modifier.minWidthModifier.enlargeOnPress. (I16c3c)
  • W interfejsie ButtonGroup API zaktualizowaliśmy nowy modyfikator ButtonGroupScope: enlargeOnPress nazywa się teraz animateWidth i przyjmuje wartość InteractionSource zamiast MutableInteractionSource, ponieważ nie trzeba jej zmieniać. Dodaliśmy też publiczną stałą ButtonGroupDefaults.DefaultMinWidth, czyli domyślną minimalną szerokość przycisków w ButtonGroup. (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.DecreaseIconSliderDefaults.IncreaseIcon parametr opisu treści z odpowiednimi wartościami domyślnymi (I2e1a7).
  • Zmieniliśmy nazwę parametru spacing w plikach PickerPickerGroup na verticalSpacing (Ib75cc).
  • Usunęliśmy ConfirmationDialogDefaults.successTextfailureText, ponieważ oczekujemy, że osoby wywołujące funkcję ConfirmationDialog będą podawać ciągi znaków z większym kontekstem. Zmieniono też nazwę z confirmationCurvedText na confirmationDialogCurvedText. Na koniec zmieniliśmy nazwę parametru Dialog show na visible, aby zachować spójność z innymi niedawnymi aktualizacjami okien dialogowych. (I10074)
  • IconButton zmienił(a) nazwę disabledImageOpacity na DisabledImageOpacity. (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 z Button. (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 ScreenScaffoldEdgeButton, aby ułatwić określanie dopełnienia treści na ekranach zawierających element EdgeButton. W nowym interfejsie API parametr size elementu EdgeButton jest przekazywany tylko do elementu EdgeButton, a element ScreenScaffold przyjmuje parametr edgeButtonSpacing określający odstęp między elementem EdgeButton a zawartością listy. (I424fd)
  • DatePicker zmieniliśmy nazwy parametrów minDate na maxDateminValidDate na maxValidDate. W DatePickerColors zmieniliśmy nazwę parametru selectedPickerContentColor na activePickerContentColor, a parametru unselectedPickerContentColor na inactivePickerContentColor (Iba17b).
  • Zaktualizowaliśmy domyślne wartości ArcProgressIndicator do strokeWidth=6dp i zalecamy diameter = 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ę parametru show na visible, aby zapewnić zgodność z innymi interfejsami API animacji Compose. Dodatkowo udostępniliśmy interfejsy ConfirmationDialogContent, SuccessConfirmationDialogContentFailureConfirmationDialogContent, które umożliwiają programistom dostosowywanie animacji okien wprowadzających i końcowych. (Iaeb33)
  • Zaktualizowaliśmy CircularProgressIndicatorContent do CircularProgressIndicatorStatic (nieanimowanej wersji CircularProgressIndicator), aby można było jej używać do tworzenia CircularProgressIndicator 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 przypadku Button, 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 dla TransformingLazyColumn, co spowodowało zmianę interfejsu API. (I0c6dc)
  • Zaktualizowaliśmy parametry IconToggleButtonShapesTextToggleButtonShapes, aby miały 2 różne parametry kształtu: uncheckedPressedcheckedPressed (I85dbd).
  • Nieprawidłowe opcje miesiąca lub dnia są teraz widoczne w DatePicker z nowym elementem invalidPickerContentColor podczas korzystania z funkcji minDate lub maxDate. (If4541)
  • Zaktualizowaliśmy interfejs Stepper API, aby udostępniać miejsca increaseIcondecreaseIcon – treści dla nich można tworzyć jak zwykle z komponentu Icon. (Id35da)
  • Zaktualizowaliśmy funkcję dynamicColorScheme, usuwając opcjonalny parametr defaultColorScheme i zwracając teraz wartość null ColorScheme. 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ć w CompactButton. W przypadku elementu CompactButton zawierającego tylko ikonę należy użyć atrybutu ButtonDefaults.SmallIconSize = 24.dp, a w przypadku elementu CompactButton zawierającego zarówno ikonę, jak i tekst należy użyć atrybutu ButtonDefaults.ExtraSmallIconSize = 20.dp. Zalecamy, aby element CompactButton 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óżnych EdgeButtonSizes. 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śmy LinearProgressIndicatorContent, które zawiera treści wizualne bez animacji. (Idee99)
  • Dodaliśmy nowy komponent CircularProgressIndicatorContent, który wyświetla treści wizualne CircularProgressIndicator bez animacji. (Ie33d4)
  • TransformingLazyColumn nowo udostępnia kompozycję lokalną LocalTransformingLazyColumnItemScope, która Cards, Buttons i ListHeaders teraz automatycznie przekształcają się po umieszczeniu w TransformingLazyColumn. Rozmówcy mogą wyłączyć automatyczne przekształcanie za pomocą nowego elementu TransformExclusion. (I1652f)
  • Zmieniliśmy typ ButtonDefaults.shape na RoundedCornerShape (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 na Animated, 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 element ScalingLazyColumn był używany z elementem AutoCenteringParams. (I387dd)
  • Zaktualizowaliśmy kolory i typografię w przypadku ListHeaderListSubHeader. Dotyczy to też kolorów przełączników na stronach CheckboxButtonSwitchButton. (I39817)
  • Naprawiliśmy pozycjonowanie ScrollIndicatorLazyColumnScalingLazyColumn za pomocą ContentPadding. (I2bc51)
  • Naprawiliśmy błąd w animacji postępu OpenOnPhoneDialog, używając nowego elementu CircularProgressIndicatorContent. (I3e443)
  • Zaktualizowaliśmy elementy HorizontalPagerScaffoldVerticalPagerScaffold, 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 dla PagerState, usuwając parametr orientation, który nie jest już potrzebny. Nowe zachowanie polega na tym, że element TimeText 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. Do HapticFeedbackTypeConfirm, ContextClick, GestureEnd, GestureThresholdActivate, Reject, SegmentFrequentTick, SegmentTick, ToggleOn, ToggleOff, VirtualKey dodano: Komponenty Wear Compose, które można długo klikać, takie jak Button, IconButton, TextButtonCard, 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 HorizontalPageIndicatorVerticalPageIndicator. (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 AlertDialogContentDialog, które składają się na interfejs AlertDialog 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ż parametry ModifierColor do elementów EdgeButton, ConfirmButtonDismissButtonAlertDialogDefaults. (I4eb71)
  • Zaktualizowaliśmy interfejs Placeholder API w ten sposób: zmieniliśmy nazwy PlaceholderState.startPlaceholderAnimation na PlaceholderState.animatePlaceholder, PlaceholderState.isShowContent na PlaceholderState.isHiddenPlaceholderDefaults.shape na PlaceholderDefaults.Shape; zmieniliśmy nazwę parametru painterpainterWithPlaceholderOverlayBackgroundBrush na originalPainter; zmieniliśmy widoczność PlaceholderState.placeholderProgression z publicznej na wewnętrzną i zmieniliśmy jego nazwę na placeholderShimmerProgression; dodaliśmy do PlaceholderDefaults stałe wartości czasu trwania animacji symbolu zastępczego. (Ie5a59)
  • Zaktualizowaliśmy interfejs EdgeButton API w ten sposób: zmieniliśmy nazwę parametru w ScreenScaffoldbottomButton na edgeButton oraz przekształciliśmy EdgeButtonSize 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 IconToggleButtonTextToggleButton po kliknięciu (Ieb333)
  • Dodano minimalny czas trwania animacji kształtu IconButtonTextButton (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 ScreenScaffoldScrollIndicator po zmianie nazwy Wear Compose Foundation LazyColumn na TransformingLazyColumn. (I0608b)
  • Parametr EdgeButton's preferredHeight został zmieniony na buttonSize, a jego wartość można wybrać tylko z 4 stałych w nowo wprowadzonej klasie wartości EdgeButtonSize. (Icdd70)
  • Zmieniliśmy nazwę ListSubheader na ListSubHeader i dodaliśmy publicznie dostępne wartości domyślne dla ListHeaderListSubHeader. (I96730)
  • Dodaliśmy nowe komponenty HorizontalPagerScaffoldVerticalPagerScaffold 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 HorizontalPagerScaffoldVerticalPagerScaffold, dzięki czemu użytkownicy mogą poruszać się po stronach za pomocą urządzeń wejściowych z pokrętłem. (I9770d)
  • Wprowadziliśmy MotionSchemezmiany 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 nazwy standardMotionSchemeexpressiveMotionScheme 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śmy VerticalPageIndicator do użytku z VerticalPager (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 buttonHeightEdgeButton na preferredHeight. (I4fab3)
  • Wersja Kotlina została zaktualizowana do wersji 1.9 (I1a14c).
  • Zmieniliśmy nazwę OpenOnPhoneDialogDefaults.Icon na OpenOnPhoneDialogDefaults.OpenOnPhoneIcon, aby uniknąć konfliktu z Icon(I0f391)
  • Dodaliśmy obsługę właściwości ScrollIndicator w przypadku elementu LazyColumn. (Ia546a)
  • Zaktualizowaliśmy wartości domyślne dla TextToggleButtonIconToggleButton. (I7aaa9)
  • Uprościliśmy interfejsy API PickerPickerGroup. (Id0653)
  • Dodaliśmy symbole CardDefaults.ShapeCardDefaults.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).
  • Slider, TimePickerDatePicker używamy teraz ikon Google Symbols. (I46c7c)
  • Zaktualizowaliśmy dopełnienia w przypadku elementów ConfirmationOpenOnPhoneDialog. (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 CircularProgressIndicatorSegmentedCircularProgressIndicator. Gdy postęp przekroczy 1,0, będzie to oznaczone nowym kolorem overflowTrack. (Iaaa3d)
  • Elementy okrągłe IconToggleButtonTextToggleButton 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 przypadku Column, ponieważ w ScreenScaffold trzeba było wyraźnie określić wysokość EdgeButton. (Ie353d)
  • Dodaliśmy obsługę Wear Compose LazyColumn w naszym ScreenScaffold (i wdrożyliśmy ScrollInfoProviderLazyColumnState). (Ib8d29)
  • Połączyliśmy LocalTextMaxLines, LocalTextAlignLocalTextOverflow 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 i TextButton. (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.alignRowScope. (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 AppScaffoldScreenScaffold, które zawierają funkcje koordynowania warstw i przejść elementów TimeTextScrollIndicator. AppScaffold zapewnia najwyższy poziom komponentów struktury, które znajdują się na wszystkich ekranach. Dlatego dodanie TimeText do AppScaffold pozwala mu pozostać na miejscu podczas przesuwania między ekranami. Ekrany mogą zastępować lub ukrywać tekst z godziną. ScreenScaffold udostępnia miejsce na ScrollIndicator 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, aby ScreenStage 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.scrollTransformModifier.targetMorphingHeight, aby dodać efekty ruchu Material3 do elementów w LazyColumn. (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ści CircularProgressIndicator. (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 i TimeText 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 komponentem Stepper do tworzenia ekranu głośności. LevelIndicator jest podobny do ScrollIndicator, 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 TimeTexttext 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 RadioButtonSplitRadioButton, 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 CheckboxButtonSplitCheckboxButton, 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 SwitchButtonSplitSwitchButton, 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 IconButtonTextButton po ich naciśnięciu. (Iffca5)
  • Dodaliśmy kolejny wariant koloru, FilledVariant, do kolorów Button, IconButton, TextButton, CompactButtonEdgeButton (I65fc3).
  • Dodaliśmy parametr forcedSize do ImageWithScrimPainter, dzięki czemu tła obrazów przycisków domyślnie zachowują rozmiar komponentu. Ustawienie forcedSize = null powoduje przyjęcie wartości Painter.instrinsicSize. (Ic57af)
  • Dodaliśmy długie kliknięcie przycisków (Ib613d).
  • Dodaliśmy też obsługę długiego kliknięcia w przypadku elementów IconButtonTextButton. (I38891)
  • Dodaliśmy obsługę długiego kliknięcia w przypadku kart. (I305d5)
  • Dodaliśmy LocalTextMaxLines, LocalTextAlign, LocalTextOverflow jako CompositionLocals i użyliśmy ich jako domyślnych parametrów na stronie Text. Lokalne kompozycje mogą być teraz używane przez komponenty takie jak CheckboxButton, 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 IconToggleButtonColorsTextToggleButtonColors, które zastąpiły usunięty symbol ToggleButtonColors. (Ie0bf1)

Poprawki błędów

  • Zaktualizowaliśmy parametry Button, FilledTonalButton, OutlinedButton, ChildButton, CompactButton, aby korzystały z nowych parametrów CompositionLocals 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 na 6dp, aby odróżnić ją od ScrollIndicator, która ma szerokość kreski 4dp. (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 ToggleButtonRadioButton, 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, ToggleButtonRadioButton 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 na onSelect w przypadku RadioButton. (I1a971)
  • Ztokenizuj RadioButtonSplitRadioButton, a także zmień istniejące metody, aby zmniejszyć liczbę wyszukiwań CompositionLocal przez dodanie buforowanych instancji kolorów i uczynienie metod RadioButtonColorsSplitRadioButtonColors 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, ToggleButtonColorsSplitToggleButtonColors, tworząc wewnętrznie instancje w pamięci podręcznej i ograniczając użycie CompositionLocal. (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 duplikat filledButtonColors. (I4fe3b)
  • Przebudowaliśmy domyślne wzorce dla ButtonColors, IconButtonColorsTextButtonColors, tworząc wewnętrznie instancję w pamięci podręcznej i ograniczając użycie CompositionLocal. (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ć z Modifier.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 funkcji ToggleButton, ponieważ RadioButton można wybrać (i działa ona w grupie wyboru), a ToggleButton 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 elementu MutableInteractionSource 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-materialwear:compose-material3, który zastępuje wycofany interfejs rememberRipple. Dodaje też tymczasowe CompositionLocal, LocalUseFallbackRippleImplementation, aby przywrócić komponenty Material do korzystania z wycofanych interfejsów API rememberRipple/RippleTheme. Zostanie ona usunięta w kolejnej stabilnej wersji i ma być tylko tymczasowym ułatwieniem migracji w przypadkach, gdy podajesz niestandardowy element RippleTheme. 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 ToggleButtonSplitToggleButton, 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, SwitchRadioButton, 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, SwitchRadioButton, 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 na BasicSwipeToDismissBox. Dzięki temu łatwiej odróżnić komponent poziomu podstawowego od komponentu poziomu Material3 SwipeToDismissBox. Ten drugi pobiera kolory z MaterialTheme, aby używać ich w warstwach przyciemniających, a pozostałą część implementacji przekazuje do BasicSwipeToDismissBox. (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 funkcji HorizontalPageIndicator 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 dla ToggleButton, 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 ListHeaderListSubheader. (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łych TextButtonTextToggleButton, ponieważ ten rozmiar dotyczy tylko IconButton. (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, IconButtonTextButton 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 IconToggleButtonTextToggleButton, czyli okrągłe przyciski przełączania z jednym miejscem na ikonę i tekst. W przypadku różnych rozmiarów ToggleButton zalecamy używanie Modifier.touchTargetAwareSize z rozmiarami podanymi w odpowiednich przyciskach. (I9f015)
  • Dodaliśmy do naszych komponentów Material3 elementy ListHeaderListSubheader. (Ibaefe)
  • Dodaliśmy Material3SwipeToDismissBox, 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)
  • StepperInlineSlider obsługują teraz powtarzane kliknięcia przy długim naciśnięciu, dzięki czemu możesz szybko zwiększać lub zmniejszać wartość StepperInlineSlider, 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. Podajemy Modifier.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 od wear.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 rozszerzenia toDisabledColor 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ów TextButton zalecamy używanie Modifier.touchTargetAwareSizeExtraSmallButtonSize, SmallButtonSize, DefaultButtonSizeLargeButtonSizeIcon podanych w TextButtonDefaults. Domyślny styl TextButton 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 ikony filledTextButtonColors. W przypadku średniego nacisku użyj ikony TextButton z obramowaniem ustawionym na ButtonDefaults.outlinedButtonBorder. W przypadku ikony wypełnionej w połowie użyj ikony filledTonalTextButtonColors. (I667e4)
  • Dodaliśmy do biblioteki Wear Compose Material3 komponenty Card, OutlinedCard, AppCardTitleCard. AppCard i TitleCard można też wyświetlać w formie konturu za pomocą CardDefaults.outlinedCardColors i CardDefaults.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). Konstruktory ButtonColors 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, FilledTonalIconButtonOutlinedIconButton. W przypadku różnych rozmiarów IconButton zalecamy używanie Modifier.touchTargetAwareSizeExtraSmallButtonSize, SmallButtonSize, DefaultButtonSizeLargeButtonSizeIcon podanych w IconButtonDefaults. 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 ustawia PlatformTextStyle.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:

    • Motyw Material – konfiguruje schemat kolorów, typografię i kształty w spójny sposób we wszystkich komponentach biblioteki. Motyw Material 3 ma zmienione kolory, które zapewniają odpowiedni kontrast. (I84005)
    • Tekst/Ikona – elementy składowe aplikacji Wear Compose (I8e06a)
  • 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.