Wear Compose
| Najnowsza aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja beta | Wersja alfa |
|---|---|---|---|---|
| 23 września 2026 r. | 1.7.0 | - | - | - |
Deklarowanie zależności
Aby dodać zależność od Wear, musisz dodać do projektu repozytorium Maven Google. 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.7.0" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material:1.7.0" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.7.0" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.7.0") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
Kotlin
dependencies { implementation("androidx.wear.compose:compose-foundation:1.7.0") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material:1.7.0") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.7.0") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.7.0") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Prześlij opinię
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 oddać głos na istniejący problem, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.7
Wersja 1.7.0
23 września 2026 r.
Publikacja androidx.wear.compose:compose-*:1.7.0 Wersja 1.7.0 zawiera te zmiany.
Ważne zmiany od wersji 1.6.0:
- Wprowadziliśmy nowy interfejs API do obsługi gestów wykonywanych jedną ręką, który obejmuje obsługę gestów dla działania podstawowego (podwójne uszczypnięcie) i dla działania zamykającego (obrót nadgarstka), a także animowane wskaźniki klikania, przewijania i przechodzenia między stronami, które pokazują, kiedy gesty są dostępne.
- Dodaliśmy obsługę
PinnableContainerwTransformingLazyColumn, aby przechowywać element w pamięci zamiast go usuwać, gdy zostanie przewinięty poza obszar widoczny. TransformingLazyColumnobsługuje teraz animowanie elementów, gdy opuszczają widoczny obszar, dzięki czemu mogą płynnie zsuwać się z ekranu zamiast zanikać.- Dodaliśmy
firstLayoutItemProviderdoTransformingLazyColumnjako opcjonalną możliwość dostosowania pierwszego elementu układu. Jeśli zostanie określony, dostawca definiuje element i jego krawędź używane jako początkowe odniesienie do umieszczenia. Jest to przydatne do kontrolowania kierunku przesuwania treści, gdy elementy są dynamicznie aktualizowane. - Ulepszenia
SwipeToReveal, które obejmują obsługę zagnieżdżonego przewijania, szybkich przesunięć, drugiego sygnału haptycznego w stanie częściowego ujawnienia iactionContentSpacingw przypadku odległości między główną treścią a przyciskami działania. - Wprowadziliśmy adnotacje
@FrequentlyChangingValuei@RememberInComposition, które wyświetlają ostrzeżenia narzędzia lint, aby zapobiegać problemom z wydajnością spowodowanym przez odczytywanie aktualizacji stanu o wysokiej częstotliwości lub zapominanie obiektów podczas tworzenia.
Poprawki błędów
- Zależność
androidx.lifecycle:lifecycle-runtimezostała zaktualizowana do wersji 2.10.0. Ta wersja jest wymagana, aby można było uruchamiać kontrole lint w pakiecie czasu działania cyklu życia w przypadku wtyczki Androida do obsługi Gradle w wersji 9.5.0-alpha04 lub nowszej. (If8e16)
Wersja 1.7.0-rc01
9 września 2026 r.
Publikacja androidx.wear.compose:compose-*:1.7.0-rc01 Wersja 1.7.0-rc01 zawiera te zmiany.
- Ta wersja aktualizuje wersję 1.7.0 biblioteki Compose na Wear OS do wersji kandydującej do publikacji, ale nie wprowadza żadnych znaczących zmian w porównaniu z wersją 1.7.0-beta02.
Wersja 1.7.0-beta02
26 sierpnia 2026 r.
Publikacja androidx.wear.compose:compose-*:1.7.0-beta02 Wersja 1.7.0-beta02 zawiera te zmiany.
Poprawki błędów
- Zaktualizowane profile bazowe bibliotek Wear Compose Foundation, Material3 i Navigation3. (I9b0a3)
- Naprawiono migotanie animacji podpowiedzi gestów w
OneHandedGestureScrollIndicator. (6e0c1cb)
Wersja 1.7.0-beta01
12 sierpnia 2026 r.
Publikacja androidx.wear.compose:compose-*:1.7.0-beta01 Wersja 1.7.0-beta01 zawiera te zmiany.
Wersja 1.7.0-beta01 biblioteki Compose na Wear OS oznacza, że ta wersja biblioteki jest w pełni funkcjonalna, a interfejs API jest zablokowany. Wear Compose w wersji 1.7.0-beta01 zawiera te nowe funkcje:
- Obsługa gestów wykonywanych jedną ręką, obejmująca obsługę gestów dla działania podstawowego (np. dwukrotne uszczypnięcie) i odrzucania (np. obrót nadgarstka) oraz animowane wskaźniki, które pokazują, kiedy gesty są dostępne w przypadku elementów interfejsu użytkownika, które można kliknąć (takich jak przyciski i karty), list z możliwością przewijania i pagerów.
- Dodaliśmy obsługę
PinnableContainerwTransformingLazyColumn, aby przechowywać element w pamięci zamiast go usuwać, gdy zostanie przewinięty poza obszar widoczny. TransformingLazyColumnobsługuje teraz animowanie elementów, gdy opuszczają widoczny obszar, dzięki czemu mogą płynnie zsuwać się z ekranu zamiast zanikać.- Dodaliśmy
firstLayoutItemProviderdoTransformingLazyColumnjako opcjonalną możliwość dostosowania pierwszego elementu układu. Jeśli zostanie określony, dostawca definiuje element i jego krawędź używane jako początkowe odniesienie do umieszczenia. Jest to przydatne do kontrolowania kierunku przesuwania treści, gdy elementy są dynamicznie aktualizowane. - Ulepszenia
SwipeToReveal, które obejmują obsługę zagnieżdżonego przewijania, szybkich przesunięć, drugiego sygnału haptycznego w stanie częściowego ujawnienia iactionContentSpacingw przypadku odległości między główną treścią a przyciskami działania. - Wprowadziliśmy adnotacje
@FrequentlyChangingValuei@RememberInComposition, które wyświetlają ostrzeżenia narzędzia lint, aby zapobiegać problemom z wydajnością spowodowanym przez odczytywanie częstych aktualizacji stanu lub zapominanie obiektów podczas tworzenia.
Zmiany w interfejsie API
- Zmiana nazwy
GestureActionnaOneHandedGestureAction,GesturePrioritynaOneHandedGesturePriorityiGestureIndicatorSizenaOneHandedGestureIndicatorSize(Ifc7f4, b/522761843)
Poprawki błędów
- Rozwiązaliśmy problem w
ScrollInfoProvider, który powodował, żeTimeTextmigał lub znikał, gdy elementy listy zmieniały się lub były zmieniane. (Ief762, b/537433564)
Wersja 1.7.0-alpha07
29 lipca 2026 r.
Publikacja androidx.wear.compose:compose-*:1.7.0-alpha07 Wersja 1.7.0-alpha07 zawiera te zmiany.
Zmiany w interfejsie API
- Przebudowano interfejsy API
OneHandedGesture, zastępując stan wskaźnika logicznego (który wymagał zresetowania po wyświetleniu wskaźnika) funkcją zawieszania, aby uruchamiać animację. Każdy typ wskaźnika ma teraz własną klasę stanu wskaźnika, która zawiera logikę animacji tego wskaźnika. Zmieniono nazwę zkeynagestureIdwGestureConfiguration. (I7974f, b/522761843) - Dodaj
CompactButtonprzepełnienie treści w jednym slocie (Idaffc, b/527889640) - Dodanie obsługi
PinnableContainerdoTransformingLazyColumn(Id3dc9, b/492418172)
Poprawki błędów
- Dodaliśmy i zaktualizowaliśmy dokumentację na poziomie modułu dotyczącą bibliotek Wear Compose Foundation, Material 3 i Navigation 3. (I111d7, b/498153783)
- Rozwiązaliśmy problem w
ScreenScaffold, który powodował, że ponowne komponowanie mogło resetować stan śledzenia przewijania w przypadku niezapamiętanychScrollInfoProvider. (I8be02, b/524620765) - Błąd adresu
IllegalArgumentException: maxWidth must be >= than minWidthspowodowany dużymi marginesami poziomymi (I014e8, b/531192734) - Naprawiono animację
EdgeButtonpodczas szybkiego przesunięcia. (I9657f, b/512700520)
Wersja 1.7.0-alpha06
15 lipca 2026 r.
Publikacja androidx.wear.compose:compose-*:1.7.0-alpha06 Wersja 1.7.0-alpha06 zawiera te zmiany.
Zmiany w interfejsie API
- Przeniesienie funkcji kompozycyjnych
ButtonContent,AppCardContentiTitleCardContentz Material3 do obiektówButtonDefaultsiCardDefaults. (I8d589, b/527889640) - Usuwanie wartości domyślnej z parametru
Modifier.oneHandedGesturegestureLabel(Ica100, b/527068051) - Zmiana nazwy parametru
gestureLabelnaonGestureLabelwModifier.oneHandedGesturei ustawienie go jako dopuszczającego wartość null, aby zachować spójność z innymi parametramicontentDescription(I952a8, b/527068051) - Wprowadź
OneHandedGestureIndicatorState, aby skoordynować widoczność i animację międzyModifier.oneHandedGesture()a wskaźnikami gestów. ZastąpInteractionSourcetym podejściem opartym na stanie, aby uzyskać lepszą kontrolę nad cyklem życia. Dodaj parametrwrapArounddoOneHandedGestureDefaults.scrollToNextPage, aby zachować spójność z innymi domyślnymi funkcjami przewijania za pomocą gestów. (I9e1e3, b/522761843)
Poprawki błędów
- Wyjaśnienie dokumentacji
interactionSourcedotyczącejModifier.oneHandedGesture, aby określić, które interakcje są emitowane (I2dc8d) - Obsługa gestów wykonywanych jedną ręką w
AlertDialogzostała tymczasowo usunięta z powodu problemów z zależnością od pakietu Wear SDK w przypadku konsumentów, którzy w innych sytuacjach nie korzystają z tego pakietu ani z gestów wykonywanych jedną ręką. (Ib19e0, b/503841738) - Ulepszona funkcja
TransformingLazyColumn, która obsługuje animacje umieszczania elementów wychodzących poza widoczny obszar, dzięki czemu mogą one zsuwać się z ekranu zamiast zanikać. Rozwiązaliśmy też problem z przyciąganiem wizualnym, który powodował, że elementy skalowane dynamicznie natychmiast przyciągały się do docelowej wysokości podczas animacji umieszczania (I89d84, b/525071281). - Używaj indeksowanych
ItemInfow usłudzefirstVisibleItemLayoutItemInfo. (I256e3, b/527881678) - Poprawiono działanie animacji
TimePicker, gdy włączona jest opcja Mniej animacji. (Ic9150, b/467288916)
Wersja 1.7.0-alpha05
1 lipca 2026 r.
Publikacja androidx.wear.compose:compose-*:1.7.0-alpha05 Wersja 1.7.0-alpha05 zawiera te zmiany.
Zmiany w interfejsie API
Dodano interfejs
TransformingLazyColumnFirstLayoutItemProviderw Foundation, aby umożliwić dostosowywanie treści, które zmieniają kierunek podczas aktualizacji, wraz z gotowymi implementacjamirememberTransformingLazyColumnFirstLayoutItemProviderirememberTransformingLazyColumnFirstVisibleItemProviderw Material3. (I54814, b/503353428)Zmieniono nazwę parametru rezerwowego z
currentnacenterItemwTransformingLazyColumnFirstLayoutItemProvider. DodanoTransformingLazyColumnStateextensionsfirstVisibleItemLayoutItemInfoilayoutItemInfoOforaz zaktualizowanorememberTransformingLazyColumnFirstLayoutItemProvider, aby używać czystej lambdy opartej na parametrach. (I9a8d9, b/503353428)Dodaj przeciążenia dla przycisku Material3 i zawartości karty z wieloma slotami, aby można było ich używać za pomocą gestów wykonywanych jedną ręką. (I74ccb, b/515718015, b/490343658)
Dodaj obsługę ułatwień dostępu do gestów wykonywanych jedną ręką. (I0054d, b/519085906)
Zmiana nazwy
OneHandedGestureDefaults.scrollToNextItem()naOneHandedGestureDefaults.scrollDownToNextItemi dodanie parametruwrapArounddo funkcji przewijaniaOneHandedGestureDefaults(I940ce, b/509639667)Dodaj atrybut non-composable
Modifier.oneHandedGesture(), jeśli deweloper chce podać klucz ręcznie. (I191e1, b/504712626)Zmień nazwę interfejsu API
offsetOfwRevealStatenapositionOf. (I2675f, b/522387997)Wprowadziliśmy parametr
actionContentSpacingwSwipeToReveal, który umożliwia deweloperom dostosowywanie odległości między miejscami na działania a treściami. (I2abaf, b/507073912)
Poprawki błędów
- Rozwiązaliśmy problem w
ScreenScaffold, który powodował, że ponowne komponowanie mogło resetować stan śledzenia przewijania niezapamiętanych elementówScrollInfoProvider. (I98f6d, b/524620765) TransformingLazyColumnkolor paska przewijania jest zgodny z kolorem tła wskaźnika gestów podczas animacji wskaźnika (I353fb, b/524915104)- Zmieniono domyślny
gestureIndicatorTinttypOneHandedGestureIndicatornaLocalContentColor(I1abd3, b/524228063) - Spraw, aby opisy treści w selektorach dnia i roku w
DatePickerbyły parametrami, które można dostosować do różnych języków. (I5dcd9, b/430563857) - Wprowadzenie adaptacyjnych częstotliwości wyświetlania w
GestureIndicatorsw zależności od tego, czy wskaźnik jest renderowany wewnątrz, czy na zewnątrz komponentu interfejsu hosta. (Ic618f, b/515071642) - Rozwiązaliśmy problem z jednoczesnym wykonywaniem gestów jedną ręką (I7b95f, b/512086558).
Wersja 1.7.0-alpha04
3 czerwca 2026 r.
Publikacja androidx.wear.compose:compose-*:1.7.0-alpha04 Wersja 1.7.0-alpha04 zawiera te zmiany.
Zmiany w interfejsie API
- Dodano funkcje
RevealState.drag(),SwipeToRevealDragScopei udostępniono niestandardową funkcjęflingBehaviorwSwipeToReveal, aby umożliwić programowe sterowanie gestami przesuwania, przesunięciami i animacjami zatrzymania. (Ibfe56, [b/484185090] - Rozszerzono
OneHandedGestureIndicator, aby obsługiwać zarówno działania główne, jak i odrzucanie. Przeniesiono architekturę powiązań doInteractionSourcew celu automatycznego zarządzania cyklem życia. (I7e893, [b/512836472] - Dodano nowe przewijanie oparte na gestach w przypadku komponentów opartych na ScalingLazyColumn i okien alertów. Ta aktualizacja wprowadza domyślne przewijanie ekranu o 50% dla lepszej przewidywalności i opcjonalny tryb przyciągania do elementu, który umożliwia precyzyjną nawigację. (Ie9cfb, [b/509639667]
- Zastąp flagę
isOneHandedGesturesInAlertDialogEnabledw bibliotece Wear Compose Material3 flagąLocalOneHandedGestureEnabledCompositionLocal, której można używać do wyłączania gestów wykonywanych jedną ręką w hierarchiach komponentów. (Ib9240, [b/516777416] - Wycofano
ButtonDefaults.ExtraSmallIconSizeiButtonDefaultsSmallIconSize. Te domyślne wartości były specyficzne dlaCompactButtoni zostały przeniesione doCompactButtonDefaults.ExtraSmallIconSizeiCompactButtonDefaults.SmallIconSize. (Id747c, [b/513588028]
Poprawki błędów
- Naprawiono animację
EdgeButtonpodczas szybkiego przesunięcia. (I88215, [b/512700520] - Naprawiono problem z nieaktualizowaniem się
AppScaffoldTimeTextpodczas rekompozycji. (Iecea5, [b/512439755] ScreenScaffoldmusi wyraźnie używaćPaddingValuesdostarczonego przez funkcję lambda treści wewnętrznych. (I20d71, [b/512355364]- Wprowadziliśmy adnotacje @
FrequentlyChangingValuei @RememberInComposition, aby wyświetlać ostrzeżenia narzędzia lint i zapobiegać problemom z wydajnością spowodowanym przez odczytywanie częstych aktualizacji stanu lub niezapamiętywanie obiektów podczas tworzenia. (I955f4, [b/409488336] - Upewnij się, że efekt rozchodzenia się fali rozpoczyna się od środka przycisku, gdy w przypadku komponentów
Buttonzostanie wywołany gest jedną ręką. (Ie61ec, [b/514600304] - Rozwiązaliśmy problem z kolizją kluczy w
Modifier.oneHandedGesture, uwzględniając w automatycznie generowanym kluczu działanie gestu i priorytet. (I49760, [b/517045657]
Wersja 1.7.0-alpha03
19 maja 2026 r.
Publikacja androidx.wear.compose:compose-*:1.7.0-alpha03 Wersja 1.7.0-alpha03 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaj element niekomponowalny
Modifier.oneHandedGesture(), jeśli deweloper chce podać klucz ręcznie. (I191e1, b/504712626) - Usunięcie wskaźników gestów z
OneHandedGestureDefaultsi dodanie obsługi kolorów do gestów wykonywanych jedną ręką (I7934f, b/505009712, b/504712626) - Dodaliśmy wyraźną obsługę gestów zamykania jedną ręką w
AlertDialog. (Id71e8, b/509675781) DeferredTargetAnimationnie jest już eksperymentalną funkcją. Zrezygnuj z niej. (I1e4ae, b/500030165)
Poprawki błędów
- Rozwiązaliśmy problem z jednoczesnym wykonywaniem gestów jedną ręką (I7b95f, b/512086558).
- Naprawiono problem z tym, że wskaźniki gestów wykonywanych jedną ręką były odzwierciedlane na podstawie orientacji nadgarstka, a nie
LayoutDirection. (I6db5d, b/512003346) - Poprawiono rysowanie obramowania elementów TLC (I0c3c1, b/510772213)
- Dodano podglądy obrazów w tekście dla przykładów w Kdoc w przypadku plików
SurfaceTransformation.kt,SwitchButton.kt iTextButton.kt. Obrazy te będą teraz renderowane w dokumentacji stron DAC Wear Compose Material 3, dzięki czemu deweloperzy będą mogli od razu zobaczyć kontekst wizualny każdej wersji przycisku i każdego przykładu. (Ib53ae, b/484905061) - Dodano podgląd obrazów wbudowanych dla wszystkich przykładów w Kdoc w pliku Button.kt. Obrazy te będą teraz renderowane bezpośrednio w dokumentacji na stronach DAC Wear Compose Material 3, co zapewni deweloperom natychmiastowy kontekst wizualny dla każdego wariantu przycisku i przykładu. (Ie2fb5, b/484905061)
- Dodano podglądy wbudowanych obrazów do przykładów w KDoc w
Card.kt,IconButton.kt,LevelIndicator.ktiListHeader.kt. Te obrazy będą teraz renderowane w dokumentacji na stronach DAC Wear Compose Material 3. (I371bc, b/484905061) - Dodaliśmy podglądy obrazów w tekście w przypadku przykładów w KDoc dla języków
Picker,SegmentedCircularProgressIndicator,SlideriStepper. Obrazy te będą teraz renderowane w dokumentacji stron DAC biblioteki Wear Compose Material 3, dzięki czemu deweloperzy będą mogli od razu zobaczyć kontekst wizualny tych komponentów i przykładów. (I6c6ef, b/484905061) - Dodano podglądy obrazów wbudowanych w przykładach w KDoc dla
CheckboxButton,SplitCheckboxButton,CircularProgressIndicator,ConfirmationDialog,SuccessConfirmationDialog,FailureConfirmationDialogicurvedText. Obrazy te będą teraz renderowane w dokumentacji stron DAC biblioteki Wear Compose Material 3, dzięki czemu deweloperzy będą mogli od razu zobaczyć kontekst wizualny tych komponentów i przykładów. (Ie4662, b/484905061) Fix AlertDialogScreenshotTest test(I9be58, b/508678506)- Dodaliśmy podglądy obrazów w treści w przypadku przykładów w KDoc dla
NonClickableCard,OpenOnPhoneDialog,VerticalPageIndicator,VerticalPagerScaffoldiRadioButton. Obrazy te będą teraz renderowane w dokumentacji stron DAC biblioteki Wear Compose Material 3, dzięki czemu deweloperzy będą mogli od razu zobaczyć kontekst wizualny tych komponentów i przykładów. (I2aa2d, b/484905061)
Wersja 1.7.0-alpha02
6 maja 2026 r.
Publikacja androidx.wear.compose:compose-*:1.7.0-alpha02 Wersja 1.7.0-alpha02 zawiera te zmiany.
Poprawki błędów
- Stały rozmiar
GestureIndicatorwAlertDialogs(I0c16e, b/504912009) - Dostosowano
LeftRevealed/RightRevealedkotwice elementuSwipeToRevealw celu ujawnienia pozycji poza zakresem. (Id84ff, b/498681589) - Dodanie opisu stanu do
CheckboxiSwitch(Iba12e, b/485098874) - Naprawiliśmy błąd wizualny w
FadingExpandingLabel, który powodował, że stary tekst migał, gdy zmniejszała się liczba wierszy. (Ia40c9, b/503709020) - Dodanie domyślnej obsługi gestów jedną ręką do
Material3 AlertDialog(I5848e, b/479098589) - Usunięto wbudowaną logikę widoczności w przypadku obsługi jedną ręką (I8c602, b/502903320)
Wersja 1.7.0-alpha01
8 kwietnia 2026 r.
Publikacja androidx.wear.compose:compose-*:1.7.0-alpha01 Wersja 1.7.0-alpha01 zawiera te zmiany.
Zmiany w interfejsie API
- Wprowadziliśmy nowy interfejs API do obsługi gestów wykonywanych jedną ręką, w którym można rejestrować wywołania zwrotne o wyższym priorytecie w przypadku działań podstawowych i zamykających. System automatycznie identyfikuje najbardziej odpowiedni element na ekranie, aby mieć pewność, że gesty i ich wskaźniki są uruchamiane tylko w przypadku elementów, które użytkownik może obecnie zobaczyć i z którymi może wejść w interakcję. Dodaj
Modifier.oneHandedGesturedo elementu kompozycyjnego powiązanego z gestem (np. przycisku) i użyjOneHandedGestureDefaults.GestureIndicator, aby wskazać użytkownikowi, kiedy działanie gestu jest dostępne. Przewijanie i stronicowanie można też wywoływać za pomocą gestu podstawowego. W wywołaniach zwrotnych zaleca się używanie wartościOneHandedGestureDefaults.scrollDowniOneHandedGestureDefaults.scrollToNextPage.OneHandedGestureDefaults.ScrollGestureIndicatoriOneHandedGestureDefaults.VerticalPageGestureIndicatorsą alternatywami dlaScrollIndicatoriPageIndicator, które służą do tymczasowego wyświetlania wskaźnika gestu użytkownikowi. (Ic6324, b/479098447, b/485488443) - Dodaliśmy
requestAnchorItemdoTransformingLazyColumnStatei wprowadziliśmyTransformingLazyColumnAnchorType, aby zapewnić deweloperom precyzyjną kontrolę nad kierunkiem rozwijania elementu i zakotwiczeniem układu. (I0c1e6, b/494301025) - Dodano flagę
isSwipeToRevealDualFlingThresholdEnabled, która jest domyślnie włączona, ale można ją wyłączyć, jeśli poprawki błędów w gestach przesuwania wSwipeToRevealw tej wersji spowodują regresję (w takim przypadku jak najszybciej zgłoś błąd) (Ie6db6, b/497743775).
Poprawki błędów
- Ulepszona funkcja
SwipeToReveal, która obsługuje szybkie przesunięcia, dzięki czemu użytkownicy mogą w pełni wyświetlać działania niezależnie od odległości przesunięcia (tę zmianę można wyłączyć, wyłączając flagę isSwipeToRevealDualFlingThresholdEnabled). (I833fd, b/490728860) - Naprawiono
SwipeToReveal, aby wywoływać pełne przesunięcie po przesunięciu palcem na ponad 75% szerokości ekranu (tę zmianę można wyłączyć, wyłączając flagęisSwipeToRevealDualFlingThresholdEnabled). (Id5604, b/490728860) - Dodano drugie wibracje dla
SwipeToReveal, gdy przesunięcie osiągnie stan częściowego odsłonięcia (tę zmianę można wyłączyć, wyłączając flagęisSwipeToRevealDualFlingThresholdEnabled). (Ic27e3, b/492273799) - Rozwiązaliśmy problem w
TransformingLazyColumn, który powodował, że animacje elementów (Modifier.animateItem) przestały działać. (I904ec, b/493167084) - Naprawiono błąd w
PickerGroup(a tym samym wDatePicker), aby zapobiec powodowaniu przez wielokrotne dotknięcia zamierzonego przewijania w niezaznaczonych kolumnach selektora (Id76c5, b/378646798).
Wear Compose w wersji 1.6
Wersja 1.6.2
19 maja 2026 r.
Publikacja androidx.wear.compose:compose-*:1.6.2 Wersja 1.6.2 zawiera te zmiany.
Poprawki błędów
Naprawiono rysowanie obramowania elementów
TransformingLazyColumn(I0c3c1, b/510772213)Napraw przypisanie
itemSpacingw strategii pomiaru dopełnienia treściTransformingLazyColumn(I12d2f, b/498137919)
Wersja 1.6.1
8 kwietnia 2026 r.
Publikacja androidx.wear.compose:compose-*:1.6.1 Wersja 1.6.1 zawiera te zmiany.
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że animacje elementów (za pomocą
Modifier.animateItem) przestały działać wTransformingLazyColumn. (I904ec, b/493167084)
Wersja 1.6.0
25 marca 2026 r.
Publikacja androidx.wear.compose:compose-*:1.6.0 Wersja 1.6.0 zawiera te zmiany.
Ważne zmiany od wersji 1.5.0:
- Wprowadziliśmy bibliotekę Wear Compose Navigation3, która integruje się z komponentami
NavDisplayiSceneStrategybiblioteki Navigation 3, dodając logikę odrzucania przez przesunięcie na urządzeniach z Wear OS za pomocą nowego komponentuSwipeDismissableSceneStrategy. - Dodano obsługę
TransformingLazyColumndlareverseLayout, przyciąganie za pomocąTransformingLazyColumnDefaults.snapFlingBehavioriModifier.minimumVerticalContentPadding, co umożliwia zdefiniowanie preferowanego dopełnienia treści dla elementów na liście, gdy znajdują się one na górnej lub dolnej krawędzi. - Dodaliśmy nowe przeciążenia funkcji
AlertDialog, które używają parametruTransformingLazyColumn, aby zachować spójność z przewijaniem na innych ekranach Material 3. - Ulepszone renderowanie zakrzywionego tekstu, zwłaszcza w przypadku czcionek pisanych, dzięki wprowadzeniu zniekształcania tekstu za pomocą nowego parametru
CurvedTextStylewarpOffset, który jest domyślnie włączony w przypadku interfejsu API w wersji 34 i nowszych. - Dodano
LocalAmbientModeManager, nowyCompositionLocal, który umożliwia definiowanie różnych interfejsów i zachowań w trybach interaktywnym i otoczenia. - Pełniejszą listę funkcji wprowadzonych w wersji 1.6.0 znajdziesz w informacjach o wersji beta01.
Wersja 1.6.0-rc01
11 marca 2026 r.
Publikacja androidx.wear.compose:compose-*:1.6.0-rc01 Wersja 1.6.0-rc01 zawiera te zmiany.
- Ta wersja aktualizuje Compose na Wear OS 1.6.0 do wersji kandydującej do publikacji, ale nie wprowadza żadnych znaczących zmian w porównaniu z wersją 1.6.0-beta01.
Wersja 1.6.0-beta01
25 lutego 2026 r.
Publikacja androidx.wear.compose:compose-*:1.6.0-beta01 Wersja 1.6.0-beta01 zawiera te zmiany.
Wersja 1.6.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.6.0-beta01 zawiera te nowe funkcje:
- Biblioteka Wear Compose Navigation3, która integruje się z komponentami
NavDisplayiSceneStrategybiblioteki Navigation 3, dodając logikę odrzucania przez przesunięcie, która jest specyficzna dla Wear i korzysta z naszego nowego komponentuSwipeDismissableSceneStrategy. - Dodano obsługę
TransformingLazyColumnw przypadkureverseLayout, przyciąganie za pomocąTransformingLazyColumnDefaults.snapFlingBehavioriModifier.minimumVerticalContentPadding, co umożliwia zdefiniowanie preferowanego dopełnienia treści w przypadku elementów na liście, gdy znajdują się one na górnej lub dolnej krawędzi. - Dodaliśmy nowe przeciążenia funkcji
AlertDialog, które używają parametruTransformingLazyColumn, aby zachować spójność z przewijaniem na innych ekranach Material 3. - Ulepszone renderowanie zakrzywionego tekstu, zwłaszcza w przypadku czcionek pisanych, dzięki wprowadzeniu zniekształcania tekstu za pomocą nowego parametru
CurvedTextStylewarpOffset, który jest domyślnie włączony w przypadku interfejsu API w wersji 34 i nowszych. - Dodano
LocalAmbientModeManager, nowyCompositionLocal, który umożliwia definiowanie różnych interfejsów i zachowań w trybach interaktywnym i otoczenia. - Zaktualizowaliśmy
TimePicker, aby obsługiwać nowy typMinutesSecondsi uwzględnić nowy parametrinitialSelectiondo określania początkowo wybranego komponentu czasu. - Nowe przeciążenia na kartach, które zapewniają warianty nieklikane, w których karty mają charakter prezentacyjny i nie są przeznaczone do reagowania na kliknięcia użytkownika.
- Dodano
LocalRippleConfiguration, aby zapewnić kontrolę nad wyglądem efektu falowania. - Wprowadziliśmy parametr
snapSensitivitydlaRotaryScrollableDefaults.snapBehavior, aPagerScaffoldDefaultszawiera teraz rekomendowane wartości domyślne dlaSnapPositionalThresholdiHighSnapPositionalThresholddo użycia zPagerDefaults.snapFlingBehavior.
Zmiany w interfejsie API
- Zmieniliśmy nazwy zalecanych wartości domyślnych dla
Modifier.minimumVerticalContentPaddingzminimumListVerticalContentPaddingnaminimumVerticalListContentPadding, aby podkreślić, że to dopełnienie treści odnosi się do listy. Zaktualizowaliśmy też powiązaną dokumentację. (I496ca, b/426154225) - Zakrzywiony tekst jest teraz domyślnie zniekształcany, co poprawia jego renderowanie, zwłaszcza w przypadku czcionek pisanych. (I6979d, b/450526792, b/481617443)
Poprawki błędów
- Naprawiono interakcję między TLC
animateItemiminimumVerticalContentPadding. (Ia865c, b/483663045) - Zniekształcone przesunięcie w przypadku zakrzywionego tekstu jest teraz domyślnie włączone tylko w przypadku interfejsu API w wersji 34 i nowszych ze względu na zależność od
PathIteratorz bibliotekiandroidx.graphics.path, która jest niedostępna do testowania przez deweloperów w Robolectric przed interfejsem API w wersji 34 (co powoduje przerwanie istniejących testów deweloperskich). (Ie5bae, b/484319336) - Ulepszanie zniekształconego, zakrzywionego tekstu. (If2b34, b/483390353)
- Zaktualizowano
ConfirmationDialogDefaults.SuccessIcon, aby ignorować kierunek układu od prawej do lewej, dzięki czemu znacznik wyboru nie jest odwrócony. (Ic6add, b/481966029)
Wersja 1.6.0-alpha10
11 lutego 2026 r.
Publikacja androidx.wear.compose:compose-*:1.6.0-alpha10 Wersja 1.6.0-alpha10 zawiera te zmiany.
Zmiany w interfejsie API
- Zmieniliśmy nazwę
Modifier.responsiveVerticalPaddingnaModifier.minimumVerticalContentPadding, a parametry dopełnienia to Dp, zamiast interfejsuResponsiveVerticalPadding. Przeniesiono zalecane wartości domyślne zResponsiveVerticalPaddingDefaultsdo obiektów domyślnych specyficznych dla komponentów, takich jakButtonDefaults,CardDefaultsitp. (Icaab2, b/426154225) - Dodano
WearComposeFoundationFlags.isTransformingLazyColumnClickableThresholdEnabled, aby kontrolować nową funkcję wprowadzoną w przypadkuTransformingLazyColumn, która teraz ignoruje kliknięcia poza progiem 20 dp u góry i u dołu układu, aby zapobiegać przypadkowym kliknięciom, gdy element jest widoczny tylko częściowo. Zaktualizowano też zmianę, aby przechwytywać tylko kliknięcia elementów na krawędzi w przypadku zdarzeń, które mieszczą się w zakresie tolerancji dotyku, aby uniknąć ignorowania gestów przeciągania. (I1ba28, b/480910891) rememberAmbientModeManagerw swojej implementacji używa terazLocalActivitydo uzyskiwania bieżącej aktywności, zamiast przyjmować ją jako parametr (Idf114, b/473603258).- Zmieniono
AmbientMode, aby była niewyczerpująca, co zwiększa możliwości rozszerzalności (I92cc3, b/473603258) - Zaktualizowano
rememberSwipeDismissableSceneStrategyState, aby usunąć parametrswipeToDismissBoxState, ponieważ jest to szczegół implementacji tylko w przypadku interfejsu API w wersji 35 (I5907c, b/476105162). - [TLC] Dodano
Modifier.responsiveVerticalPaddingdoTransformingLazyColumn, co umożliwia automatyczne dostosowywanie dopełnienia treści w celu dopasowania do wytycznych dotyczących interfejsu Material 3 w Wear OS. (Ia7e73, b/426154225)
Poprawki błędów
- Zaktualizowano warunek
TransformingLazyColumnwstępnego pobierania, aby pilność była obliczana na podstawie krawędzi obszaru widocznego bez dopełnienia (I48d85, b/476420552). Pickerobsługuje teraz płynną przezroczystość w przypadku niestandardowych teł, takich jak gradienty lub obrazy, przekazującColor.UnspecifiedjakogradientColorselektora. W przypadku systemówTimePickeriDatePickerten efekt można osiągnąć, lokalnie zastępując wartośćMaterialTheme.colorScheme.backgroundwartościąColor.Unspecified. (Icc476, b/458429791, b/458429791)- Wprowadziliśmy próg klikalności 20 dp dla elementów
TransformingLazyColumnu góry i u dołu ekranu, aby zapobiegać przypadkowym kliknięciom, gdy elementy są w dużej mierze ukryte. (I2c9cb, b/443285887) - Ulepszona obsługa ograniczenia animacji w
OpenOnPhoneDialog. (Ib1d12, b/48558283)
Wersja 1.6.0-alpha09
28 stycznia 2026 r.
Publikacja androidx.wear.compose:compose-*:1.6.0-alpha09 Wersja 1.6.0-alpha09 zawiera te zmiany.
Zmiany w interfejsie API
- Zmień nazwę
PagerScaffoldDefaults.SnapPositionalThresholdnaLowSnapPositionalThresholdiRotaryScrollableDefaults.SnapSensitivitynaLowSnapSensitivity(I157ee, b/449949891) - Usunięto modyfikator z elementu
SwipeDismissableSceneStrategy. (Iff30f, b/449949891)
Poprawki błędów
- Naprawiono opóźnienie animacji przewijania obrotowego w przypadku zachowania przyciągania (I7db89, b/474016470)
- Naprawiono blokowanie
SwipeDismissableSceneStrategyprzez system na API w wersji 36 lub nowszej (Icf20b, b/476105162) - Poprawiono animację
SwitchButton, aby była skalowana lub zanikała jako pełny kształt (I7a7eb, b/378644361) - Ulepszenie animacji rotacji ikony wyboru
CheckboxButton(I89944, b/378646769)
Wersja 1.6.0-alpha08
14 stycznia 2026 r.
Publikacja androidx.wear.compose:compose-*:1.6.0-alpha08 Wersja 1.6.0-alpha08 zawiera te zmiany.
Zmiany w interfejsie API
- Funkcja
RotaryScrollableDefaults.snapBehaviorzostała zaktualizowana, aby przyjmować parametr zmiennoprzecinkowysnapSensitivity, a funkcjaPagerScaffoldDefaultsudostępnia teraz zalecane wartości domyślneSnapPositionalThresholdiHighSnapPositionalThresholddo użycia z funkcjąPagerDefaults.snapFlingBehavior. (I7e11c, b/449949891) - Dodaliśmy obsługę przyciągania do elementu
TransformingLazyColumnw przypadku sterowania dotykowego i obrotowego. Podczas konfigurowania przyciągania zalecamy podanie zarównoflingBehaviorza pomocąTransformingLazyColumnDefaults.snapFlingBehavior, jak irotaryScrollableBehaviorza pomocąRotaryScrollableDefaults.snapBehavior, aby zapewnić spójne działanie. (I5326f, b/422455104) - Wprowadzono
LocalAmbientModeManager, nowy komponent, który umożliwia łatwe definiowanie różnych interfejsów i zachowań w trybach interaktywnym i otoczenia. (I00161, b/427724331)
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że listy z funkcją przyciągania obrotowego nie wracały po przewinięciu poza zakres. (I05216, b/470317969)
- Rozwiązaliśmy problem z efektem fali przycisków zwiększania i zmniejszania w suwaku Material3. Efekt rozchodzenia się fali obejmuje teraz całą szerokość komponentu suwaka. (I8c0c4, b/378658409)
Wersja 1.6.0-alpha07
17 grudnia 2025 r.
Publikacja androidx.wear.compose:compose-*:1.6.0-alpha07 Wersja 1.6.0-alpha07 zawiera te zmiany.
Zmiany w interfejsie API
- Dodano artefakt biblioteki
wear-compose:compose-navigation3(I01b5c, b/427463127) - Dodaliśmy
SwipeDismissableSceneStrategydo integracji Wear zNavigation3. Można go używać zNavDisplaydo wyświetlania treści Wear Compose. (I7aa08, b/427463127) - Wprowadzamy
ResponsiveTransformingLazyColumn, nowy komponent Material3, który bazuje naTransformingLazyColumnz biblioteki Wear Compose Foundation i automatycznie oblicza oraz stosuje responsywny pionowy odstęp na podstawie typu treści na liście. (I102f4, b/426154225)
Poprawki błędów
- Rozwiązaliśmy problem polegający na tym, że element
PageIndicatornie był prawidłowo odświeżany, gdy zmieniał się bieżący indeks strony w elemenciePagerState(np. przez wywołanie funkcjiscrollToPage()lub użycie funkcjianimateScrollToPage()z ograniczonym ruchem). (I97150, b/465669950) - Poprawianie semantyki
TransformingLazyColumnobliczeńscrollOffset(Idec30, b/417941554) - Poprawiono dopełnienie działania cofania
SwipeToReveal(I770f8, b/382259843) - Wdrożono
PredictiveBackScenedo obsługiNavigation3w przypadku interfejsu API w wersji 36 lub nowszej. (Idedf6, b/427463127)
Wersja 1.6.0-alpha06
3 grudnia 2025 r.
Publikacja androidx.wear.compose:compose-*:1.6.0-alpha06 Wersja 1.6.0-alpha06 zawiera te zmiany.
Zmiany w interfejsie API
- Dodano
LocalRippleConfiguration, aby umożliwić kontrolowanie wyglądu efektu fali (I9e0fa, b/382336566) - Dodaliśmy nowe przeciążenia dla funkcji
AlertDialog, które używają funkcjiTransformingLazyColumn, aby zapewnić zaawansowaną kontrolę nad animacjami przewijania elementów. Dodano ulepszenia układu na większych ekranach. (I862ff, b/438468382) - Dodano parametr przekształcenia do
ButtonGroup, do użycia z dynamicznie zmieniającymi się kontenerami, takimi jakTransformingLazyColumn. (I8743b, b/453710565)
Poprawki błędów
- Rozwiązanie problemu z tytułem
AlertDialogoraz przyciskami potwierdzenia i odrzucenia, które pojawiają się wielokrotnie w kompozycji (I8e1b0, b/463955367) - Zwiększ niezawodność kodu
TimeTextpodczas nasłuchiwania zmianTimeZone. (I1c276, b/457909952) - Zwiększyliśmy wydajność funkcji
SplitRadioButtoniSplitCheckboxButton, zmniejszając liczbę ponownych kompozycji. (I3ddc9, b/455845192)
Wersja 1.6.0-alpha05
19 listopada 2025 r.
Publikacja androidx.wear.compose:compose-*:1.6.0-alpha05 Wersja 1.6.0-alpha05 zawiera te zmiany.
Zmiany w interfejsie API
- Wprowadzamy
RotarySnapSensitivitydla zachowania przyciągania obrotowego iPagerSensitivitydla zachowania przewijania strony, aby umożliwić aplikacjom dostosowywanie poziomu czułości zachowania obrotowego i przewijania, zwłaszcza w przypadku stron. (Ic3a83, b/449949891) - Uproszczone zmiany w funkcji
rememberTransformingLazyColumnState, które zostały wprowadzone wraz z odwróconym układem dla funkcjiTransformingLazyColumn, polegające na połączeniu w jedną funkcję i użyciu wartości wartowniczej do używania domyślnego indeksu punktu zakotwiczenia. (I09302, b/453731755) - Dodaliśmy nowy domyślny element
GenericFailureIcon, który będzie używany wFailureConfirmationDialog. Wyświetla on ogólną ikonę błędu. Zmieniono nazwę istniejącego elementuFailureIconnaConnectionFailureIcon. (I8e965, b/453730430)
Poprawki błędów
- Zwiększyliśmy
TimePickerodporność na błędy podczas analizowania złożonych wzorców ustawień regionalnych. (I7b169, b/456538838) - Naprawiono początkowy układ
TransformingLazyColumn, gdyverticalArrangementma wartośćArrangement.Center. (Id18ef, b/451481233) - Dostosowano konstruktor
TransformingLazyColumnStatedo funkcjirememberTransformingLazyColumnState(I36d6a, b/453731755) - Zaktualizowaliśmy ikonę zaznaczenia w przypadku
CheckboxButton, aby była zaokrąglona. (Ie645e, b/378645751) - Zaktualizowano ikonę zaznaczenia w przypadku
SwitchButton, aby była zaokrąglona. (I31fbf, b/378642590) - Poprawiono przesunięcie
scrollToItemwTransformingLazyColumn, które odwracało kierunek przewijania. (Ib2c93, b/451481233) - Poprawiona wydajność
SwitchButtoniSplitSwitchButton. (I708de, b/448781327)
Wersja 1.6.0-alpha04
22 października 2025 r.
Publikacja androidx.wear.compose:compose-*:1.6.0-alpha04 Wersja 1.6.0-alpha04 zawiera te zmiany.
Zmiany w interfejsie API
- Wdrażanie
reverseLayoutw przypadkuTransformingLazyColumn(I19f9e, b/352513793) - Dodano
ConfirmationDialogDefaults.VariantFailureIcondo użycia wFailureConfirmationDialog. Ta nowa ikona błędu ogólnego może być w niektórych przypadkach lepsza od ikonyConfirmationDialogDefaults.FailureIcon, która wskazuje na zerwane połączenie z telefonem. (Ifc851, b/443115305)
Poprawki błędów
- Poprawiliśmy wydajność selektora, refaktoryzując użycie
LaunchedEffect. (I94519, b/418192973) - Usunęliśmy błąd w
SwipeDismissableNavHostna API36+, który powodował, że naciśnięcie przycisku Wstecz podczas animacji przewidywanego przejścia wstecz przerywało i ponownie uruchamiało animację. Implementacja korzysta teraz zSeakableTransitionState.animateTozamiast Animatable, co zapewnia niewielki wzrost wydajności. (I2241f, b/428156670) - Naprawiliśmy błąd związany z kolejnością komunikatów ułatwień dostępu w
AlertDialog, w którym przycisk potwierdzenia był odczytywany jako „Przycisk”. Potwierdź” zamiast standardowego „Potwierdź”. Przycisk”. (Ic2381, b/429378202) - Popraw widoczność liczby
TimePickerna małych ekranach. (I68386, b/447625365) - Usunięto rozwidlenie Lazy Layout z Wear Compose Foundation – oznacza to, że
TransformingLazyColumnkorzysta teraz z implementacji Lazy Layout w Compose Foundation, w tym z wstępnego pobierania, i w większości przypadków zyskuje poprawę wydajności w zakresie czasu trwania klatek. (Idd743, b/445911630)
Wersja 1.6.0-alpha03
8 października 2025 r.
Publikacja androidx.wear.compose:compose-*:1.6.0-alpha03 Wersja 1.6.0-alpha03 zawiera te zmiany.
Zmiany w interfejsie API
- Dodano parametr do
TimePicker, aby określić początkowo zaznaczony komponent czasu. Domyślnie wybierany jest pierwszy dostępny komponent na podstawie ustawień regionalnych iTimePickerType. (Ie5dfe, b/437015874) - Usunęliśmy nieużywany parametr
targetProgressw metodzieCircularProgressIndicatordrawCircularProgressIndicator. (Ieeb3c, b/430544552)
Poprawki błędów
- Wprowadziliśmy brakującą obsługę
TransformingLazyColumnverticalAlignment– teraz obsługuje standardowe układy u góry, u dołu lub na środku. (I2e630, b/444143326) - Ulepszono obliczanie szerokości zakrzywionego tekstu, aby uwzględniać spacje przed i po tekście (może to spowodować nieprawidłowe działanie zrzutów ekranu zawierających zakrzywiony tekst, zwłaszcza gdy ma on tło, np.
TimeText). (I924a4, b/446601899) - Zaktualizowano
WarpedCurvedTextRendererw Compose Foundation, aby wybraćEmojiCompatInitializerzamiastandroidx.emoji2i naprawić błąd klasy środowiska wykonawczego. (I589b4, b/444422736) - Zaktualizowano instancję
ScalingLazyColumn, aby skupiała się na węźle z możliwością przewijania z wartościąCollectionInfo, dzięki czemu działa z elementem obrotowym w większej liczbie kontekstów, np. na urządzeniuMaterial3AlertDialog. (I6be3c, b/445332360)
Wersja 1.6.0-alpha02
24 września 2025 r.
Publikacja androidx.wear.compose:compose-*:1.6.0-alpha02 Wersja 1.6.0-alpha02 zawiera te zmiany.
Zmiany w interfejsie API
- Ulepszone renderowanie zakrzywionego tekstu, zwłaszcza w przypadku czcionek pisanych, dzięki wprowadzeniu zniekształcania tekstu za pomocą nowego parametru
CurvedTextStylewarpOffset. (If5dcb)
Poprawki błędów
- Optymalizacja buforowania animacji elementów podczas przewijania w
TransformingLazyColumn. (I62ae8) - Warianty
OpenOnPhoneDialogiConfirmationDialogzostały zaktualizowane, aby ustawićFLAG_KEEP_SCREEN_ON, dzięki czemu animacje będą się odtwarzać do końca, a okna dialogowe będą się zamykać zgodnie z zamierzeniem. (Iad7d4) - Rozwiązaliśmy problem, który powodował awarię
Modifier.edgeSwipeToDismiss, gdy był używany zSwipeDismissableNavHostw przypadku interfejsu API w wersji 36 lub nowszej. (Ifc13d) - Zaktualizowaliśmy dokumentację i komentarze powiązane z nowym parametrem
CurvedTextStyle warpOffset, aby prawidłowo odnosiły się do przypadku „Nieokreślono”. (I41aa5)
Wersja 1.6.0-alpha01
10 września 2025 r.
Publikacja androidx.wear.compose:compose-*:1.6.0-alpha01 Wersja 1.6.0-alpha01 zawiera te zmiany.
Zmiany w interfejsie API
- Dodano warianty, w które nie można kliknąć, dla
Card,TitleCard,OutlinedCardiAppCard(I509bb, b/406690146) - Usunęliśmy parametr
interactionSourcez nowych interfejsów API kart, w które nie można kliknąć. (If0c7a, b/440323280) - Dodano nowy typ
MinutesSecondsdo komponentuTimePicker, który wyświetla tylko kolumny minut i sekund, pomijając kolumnę godzin (Ia9e94, b/438004664).
Poprawki błędów
- Poprawić użycie parametru modyfikatora
HorizontalPagerScaffold, abyHorizontalPagernie tracił wskaźnika strony, jeśli dodany zostanie parametrModifier.fillMaxSize()(I07ae1, b/441682601) - Domyślnie dopasuj kierunek
ScrollIndicatordo kierunku układu treści. (I0da0f, b/441489028) - Rozwiązaliśmy problem z
ScrollAwaypodczas korzystania zTransformingLazyColumn.TimeTextnie przewijał się prawidłowo po przejściu na inny ekran i powrocie. (Ic0ef1, b/433549148) - Poprawione raportowanie
TransformingLazyColumnsemantykiSCROLL_BACKWARDSiSCROLL_FORWARDSw przypadku skrajnych sytuacji u góry lub u dołu ekranu. (I5c28d, b/405205994) - Rozwiązanie problemu w
SwipeDismissableNavHost, który powodował, że w przypadku API 36 trwające przejścia nie były oznaczane jako ukończone po przesunięciu palcem do tyłu. (Ife72e, b/441089689) - Zmień domyślny kąt
OpenOnPhoneMaxSweepAnglena 200 stopni, aby zapobiec obcinaniu niektórych tłumaczeń frazy „Sprawdź telefon”. (Ib2e4c, b/428243902)
Wear Compose w wersji 1.5
Wersja 1.5.6
3 grudnia 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.6 Wersja 1.5.6 zawiera te zmiany.
Poprawki błędów
- Optymalizacja buforowania animacji elementów podczas przewijania w
TransformingLazyColumn. (I62ae8, b/441701460) - Warianty
OpenOnPhoneDialogiConfirmationDialogzostały zaktualizowane, aby ustawićFLAG_KEEP_SCREEN_ON, dzięki czemu animacje będą się odtwarzać do końca, a okna dialogowe będą się zamykać zgodnie z zamierzeniem. (Iad7d4, b/437986990) - Naprawiono błąd, w którym
Modifier.edgeSwipeToDismissulegał awarii, gdy był używany zSwipeDismissableNavHostw interfejsie API w wersji 36 lub nowszej. (Ifc13d, b/441901722)
Wersja 1.5.5
5 listopada 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.5 Wersja 1.5.5 zawiera te zmiany.
Poprawki błędów
- Popraw widoczność numeru
TimePickerna małych ekranach (I70fbe)
Wersja 1.5.4
22 października 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.4 Wersja 1.5.4 zawiera te zmiany.
Poprawki błędów
- Poprawiliśmy wydajność selektora, refaktoryzując użycie
LaunchedEffect. (I94519, b/418192973) - Usunęliśmy błąd w
SwipeDismissableNavHostna API36+, który powodował, że naciśnięcie przycisku Wstecz podczas animacji przewidywanego przejścia wstecz przerywało i ponownie uruchamiało animację. Implementacja korzysta teraz zSeakableTransitionState.animateTozamiast Animatable, co zapewnia niewielki wzrost wydajności. (I2241f, b/428156670) - Naprawiliśmy błąd związany z kolejnością komunikatów ułatwień dostępu w
AlertDialog, w którym przycisk potwierdzenia był odczytywany jako „Przycisk”. Potwierdź” zamiast standardowego „Potwierdź”. Przycisk”. (Ic2381, b/429378202)
Wersja 1.5.3
8 października 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.3 Wersja 1.5.3 zawiera te zmiany.
Poprawki błędów
- Wprowadziliśmy brakującą obsługę
TransformingLazyColumnverticalAlignment– teraz obsługuje standardowe układy u góry, u dołu lub na środku. (I2e630, b/444143326)
Wersja 1.5.2
24 września 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.2 Wersja 1.5.2 zawiera te zmiany.
Poprawki błędów
- Optymalizacja buforowania animacji elementów podczas przewijania w
TransformingLazyColumn. (I62ae8) - Warianty
OpenOnPhoneDialogiConfirmationDialogzostały zaktualizowane, aby ustawić FLAG_KEEP_SCREEN_ON. Dzięki temu animacje będą działać do końca, a okna dialogowe będą się zamykać zgodnie z zamierzeniem. (Iad7d4) - Rozwiązaliśmy problem, który powodował awarię
Modifier.edgeSwipeToDismiss, gdy był używany zSwipeDismissableNavHostw przypadku interfejsu API w wersji 36 lub nowszej. (Ifc13d) - Zaktualizowaliśmy dokumentację i komentarze powiązane z nowym parametrem
CurvedTextStyle warpOffset, aby prawidłowo odnosiły się do przypadku „Nieokreślono”. (I41aa5)
Wersja 1.5.1
10 września 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.1 Wersja 1.5.1 zawiera te zmiany.
Poprawki błędów
- Poprawiono użycie parametru modyfikatora
HorizontalPagerScaffold, aby element HorizontalPager nie tracił wskaźnika strony po dodaniu elementuModifier.fillMaxSize()(I07ae1, b/441682601). - Domyślnie dopasuj kierunek
ScrollIndicatordo kierunku układu treści. (I0da0f, b/441489028) - Rozwiązaliśmy problem z
ScrollAwaypodczas korzystania zTransformingLazyColumn.TimeTextnie przewijał się prawidłowo po przejściu na inny ekran i powrocie. (Ic0ef1, b/433549148) - Poprawione raportowanie
TransformingLazyColumnsemantykiSCROLL_BACKWARDSiSCROLL_FORWARDSw przypadku skrajnych sytuacji u góry lub u dołu ekranu. (I5c28d, b/405205994) - Rozwiązanie problemu w
SwipeDismissableNavHost, który powodował, że w przypadku API 36 trwające przejścia nie były oznaczane jako ukończone po przesunięciu palcem do tyłu. (Ife72e, b/441089689) - Zmień domyślny kąt
OpenOnPhoneMaxSweepAnglena 200 stopni, aby zapobiec obcinaniu niektórych tłumaczeń frazy „Sprawdź telefon”. (Ib2e4c, b/428243902)
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
MaterialThemei dynamiczne motywy kolorystyczne. - Nowe komponenty
AppScaffold, ScreenScaffold,HorizontalPagerScaffoldiVerticalPagerScaffolddo określania struktury ekranu i koordynowania animacjiScrollIndicator,TimeText,HorizontalPageIndicatoriVerticalPageIndicator. - Zmieniające się kształty
IconButton,TextButton,IconToggleButtoniTextToggleButtonz wariantami, które animują się po naciśnięciu lub zaznaczeniu. EdgeButton, który ma specjalny kształt dopasowany do dolnej części ekranu.ButtonGroupma ekspresyjną grupę przycisków w rzędzie, które zmieniają kształt po dotknięciu.AlertDialogiConfirmationDialogz wariantami dla dodatkowej zawartości okna.TimePickeriDatePicker.- Wskaźniki postępu to m.in.
CircularProgressIndicator(z wariantem podzielonym na segmenty),ArcProgressIndicatoriLinearProgressIndicator.
Dodatkowo Wear Compose Foundation w wersji 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ą
HorizontalPageriVerticalPager. - 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
Dodatkowe zmiany
- Pełniejszą listę funkcji wprowadzonych w wersji 1.5.0 znajdziesz w informacjach o wersji beta01.
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, który powodował, że długie, zlokalizowane ciągi znaków dla okresu (AM/PM) mogły zakłócać układ. (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
TimePickerjest teraz w pełni zależny od ustawień regionalnych użytkownika. Do określania kolejności i zawartości selektorów i separatorów używaDateFormat.getBestDateTimePattern. Rozwiązuje to problem 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).DatePickerw niektórych regionach, np.w Chinach, Japonii i Korei, wyświetla teraz 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 języku używanym w danym regionie stosuje się przyrostki językowe w przypadku roku. Jeśli tak, format miesiąca jest zmieniany z tekstowego (MMM) na numeryczny (MM), aby zachować spójność. (Ia93fe)- W komponencie selektora pionowa przestrzeń nagłówka 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 elementów
HorizontalPageIndicatoriVerticalPageIndicatorna pełnym ekranie. Wskaźniki stron nie są już wyświetlane na pełnym ekranie i będą automatycznie pozycjonowane, gdy są używane zHorizontalPagerScaffoldlubVerticalPagerScaffold. Jeśli nie używasz szkieletu pagera, określ wyrównanie jawnie za pomocąmodifier = Modifier.align(Alignment.BottomCenter)zHorizontalPageIndicatorimodifier =Modifier.align(Alignment.CenterEnd)zVerticalPageIndicator. (I3a0ad) - Kierunek przesuwania w
SwipeToRevealjest teraz taki sam w przypadku języków pisanych od lewej do prawej i od prawej do lewejLayoutDirections. (I6d427) - Przywróciliśmy
SwipeToRevealwyśrodkowanie pionowe działań. JeślihasPartiallyRevealedState = true, poleRevealStatepowinno zostać zresetowane do wartościRevealValue.Coveredprzez osobę dzwoniącą podczas przewijania. (I6473d) SwipeDismissableNavHostprawidł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, gdyLazyColumnlubScalingLazyColumnmająreverseLayout = true. (I46a1a) - Naprawiliśmy błąd w
ScreenScaffold, który powodował, że funkcja czytania dotykiem nie działała w TalkBack, jeśli podanoScrollIndicator/PageIndicator. (I6dcee) TransformingLazyColumnumożliwia teraz niestandardowe przekształcanie zTransformationSpecprzez odczytywanie wartościitemHeightpodanej przezTransformationSpecw malowaniu tła. (I6a599)- Animowane przejścia kolorów włączania/wyłączania dla elementu
IconButton, aby zachować spójność z elementemIconToggleButton. (Ife10a) - Usunęliśmy w
CircularProgressIndicatorograniczenie minimalnej sekcji, aby uniknąć zauważalnego skoku do minimalnego rozmiaru kropki podczas animacji. W ramach tej zmiany parametrtargetProgresswdrawCircularProgressIndicatornie 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
- Zaktualizowano dokumentację, aby wyjaśnić użycie
Modifier.edgeSwipeToDismiss(I78cb5) - Rozwiązano problem polegający na tym, że w listach ładowanych na żądanie mogło się wyświetlać wiele ujawnionych elementów z symbolem
SwipeToReveal(I1d4f6). - Kształty kontenerów w
TransformingLazyColumnsą teraz skalowane, aby uniknąć przycinania treści. (I9221a) - Etykiety
TimePickeriDatePickerdla 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). - Naprawiliśmy błąd animacji w
TransformingLazyColumn, który występował podczas usuwania elementów. (I73034) - Poprawiono obsługę elementów kotwiczących w
TransformingLazyColumn, gdy elementy są usuwane. (I841a8) PickerGroupteraz 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ł nieprawidłowe skalowanie ostatniego elementu podczas przewijania do samego dołu listy zEdgeButton. Podczas przywracania układu postęp przewijania jest teraz zgodny z metodą gradientu prostego. (Iea375) TransformingLazyColumnodczytuje teraz wysokość elementu w obiekcie malującym tło, co umożliwia niestandardowym obiektomTransformationSpecsimplementowanie przekształceń. (I022f0)SwipeToRevealteraz 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 przesuwania, jeśli na ekranie były używane zarówno widoki, jak i komponowanie. (I5dc0e) - Usunęliśmy błąd, który powodował, że podczas przewijania działania
SwipeToRevealbyły rysowane z pionowym przesunięciem. (I29444) AlertDialog,ConfirmationDialog,OpenOnPhoneDialogiSwipeToRevealzaokrąglają teraz w górę dopełnienia i rozmiary obliczane jako procent rozmiaru ekranu. (I76367)ButtonDefaults.outlinedButtonBordernow updates following enabled/disabled state changes 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 sytuację wyścigu, która mogła powodować zatrzymanie animacji symbolu zastępczego. (I53530)
- Poprawiliśmy wydajność
HorizontalPageIndicatoriVerticalPageIndicator, rysując na płótnie. (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
OpenOnPhoneDialogodczytuje teraz tylko tekst wiadomości w TalkBack i pomija semantykę ikony. ZaktualizowaliśmyOpenOnPhoneDialogDefaults, aby usunąć z funkcjiicon()parametryiconContentDescriptionicontentDescription.ConfirmationDialogDefaultsma teraz parametry modyfikatora w kompozycjachSuccessIconiFailureIcon. (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 tej 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) - Dodano element
RevealState.Saver, aby można było przywrócić stan elementuSwipeToRevealpo ponownym utworzeniu aktywności lub procesu. FunkcjarememberRevealStatedomyślnie korzysta teraz z tego trybu oszczędzania. (Ie0ecb) SwipeToRevealprzyciski 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)- Zmieniono
SwipeToReveal, aby zresetować ostatni komponent, z którym użytkownik wszedł w interakcję, gdy wykona gest przesunięcia w prawo. (Ia8450) SwipeToRevealzmieniono 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
ButtonGroupsą teraz prawidłowo odwrócone w układzie od prawej do lewej (Ib378d). AnimatedTextobsługuje teraz kierunek tekstu od prawej do lewej (I4533c)TransformingLazyColumnteraz prawidłowo zmienia rozmiar elementów po usunięciu elementu na dole (Idacab);TransformingLazyColumnwykonuje 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 bazowe bibliotek foundation, material i material3. (I53f06)
- Naprawiliśmy błąd w
TransformingLazyColumn, który powodował zmianę rozmiaru elementów po usunięciu elementu na dole. (Idacab) - Naprawiono błąd związany z
TransformingLazyColumn, gdy lista utknęła na górze lub na dole. (I49d00) OpenOnPhoneDialogw sekcji TalkBack powinien odczytywać tekst zakrzywiony, a nie opis treści ikony. (I4efe8)- Naprawiliśmy błąd w funkcji
SwipeToReveal, który powodował, że w przypadku ustawienia wartościhasPartiallyRevealedStatena false w funkcjiRevealState.currentValuezgłaszano nieprawidłowy element zakotwiczenia. (I9c7cf) - Przyciski cofania
SwipeToRevealsą teraz domyślnieButtonDefaults.Height. (I1f6c8) BasicSwipeToDismissBox– poprawiliśmy wydajność, eliminując użycie elementu Canvas do rysowania nakładek. (I68f2c)- Rozwiązaliśmy problem z dostępnością w suwaku, który powodował, że ogłaszany odsetek nie zgadzał się z wartością po aktualizacjach (I91146).
- Naprawiono błąd w implementacji
placeholderShimmer. (Iee39b TransformingLazyColumnzostała zwiększona dzięki optymalizacji obliczeńScrollProgresso 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 skorzystać z nowych komponentów:
MaterialThemezaktualizowane i rozszerzone schematy kolorów, typografię i kształty, aby nadać projektom głębię i różnorodność.- 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 – okrągłe komponenty przycisków, takie jak
IconButton,TextButton,IconToggleButtoniTextToggleButton, 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.- Szkielety – wprowadzenie komponentów
AppScaffoldiScreenScaffolddo określania struktury ekranu i koordynowania animacjiScrollIndicatoriTimeText. - 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.
CheckboxButtoniSwitchButtonsą dostępne, gdy potrzebne są przyciski przełączania, aRadioButtonto dostępny przycisk wyboru (dostępne są też „podzielone” wersje przycisków przełączania i wyboru). ButtonGroup– implementuje ekspresyjną grupę przycisków w rzędzie, które zmieniają kształt po dotknięciu.AlertDialogwarianty obsługują przyciski OK/Anuluj lubEdgeButton.ConfirmationDialogmoże wyświetlać wiadomość z limitem czasu, obsługującą specjalne animacje w przypadku powodzenia, niepowodzenia i otwierania na telefonie.- Selektory – obsługiwane są warianty
TimePickeriDatePicker, a także komponenty selektora iPickerGroupdo tworzenia własnych ekranów selektora. ProgressIndicators– obsługiwane są okrągłe i liniowe wskaźniki postępu (CircularProgressIndicatorma warianty podzielone na segmenty i nieokreślone).- Karty – dostępnych jest kilka wariantów kart, w tym
TitleCard, który oferuje określone układy kart z tytułem, czasem, podtytułem lub miejscami na treści.TitleCardmoże też mieć obraz tła, aby wzmocnić znaczenie informacji na karcie. - Pagers – komponenty
HorizontalPagerScaffold,VerticalPagerScaffoldiAnimatedPagekoordynują animacjeHorizontalPageIndicatoriVerticalPagerIndicator.HorizontalPageriVerticalPagersą dostępne w bibliotece Wear Compose Foundation. - Elementy zastępcze – rysuje szkieletowy kształt nad komponentem w sytuacjach, gdy nie są dostępne żadne treści tymczasowe.
- Suwaki i kroki – zarówno suwaki, jak i kroki 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 zostanie on przesunięty od prawej do lewej.
Dodatkowo Wear Compose Foundation 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
HorizontalPageriVerticalPageroparte 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.hierarchicalFocusnaModifier.hierarchicalFocusGroupi usunęliśmy parametr wywołania zwrotnego; usunęliśmy przeciążenieModifier.hierarchicalFocusRequesterz parametremFocusRequester; utworzyliśmy nowe interfejsyCompositionLocaliLocalScreenIsActive, aby komponenty mogły informować o tym, który ekran jest aktywny, i sprawdzać to. (I5ff7c). - Wycofaliśmy
SwipeToRevealz Wear Compose Foundation na rzecz interfejsów APISwipeToRevealw Wear Compose Material i Wear Compose Material3. Aby nadal korzystać z interfejsów API, zastąp importy Wear FoundationSwipeToRevealimportami Wear Compose Material lub Wear Compose Material3. (Ia147d). - Zależności Wear Compose Material3
SwipeToRevealod Foundation zostały przeniesione do pakietu material3, np.RevealValue,RevealDirection,RevealActionType,RevealState,rememberRevealState. Deweloperzy powinni zmienić importowanie tych klas i funkcji zandroidx.wear.compose.foundationnaandroidx.wear.compose.material3. (I640e6). - Zaktualizowaliśmy interfejs Wear Compose Material3
SwipeToRevealAPI w ten sposób: dodaliśmy parametryprimaryAction,onFullSwipe,secondaryAction,undoPrimaryAction,undoSecondaryActionihasPartiallyRevealedStatedo funkcji kompozycyjnejSwipeToReveal; usunęliśmy możliwość dostosowywania parametrówpositionalThresholdianimationSpeczRevealState; usunęliśmy parametrylastActionType,revealThresholdi szerokość zRevealState; zmieniliśmy konstruktorRevealStatetak, aby akceptowałRevealDirectionzamiast kotwic; usunęliśmy funkcjecreateRevealAnchors, kotwice ibidirectionalAnchors; funkcjeSwipeToRevealScopeprimaryAction,secondaryAction,undoPrimaryActioniundoSecondaryActionzostały zmienione naPrimaryActionButton,SecondaryActionButton,UndoActionButtoni przekształcone w funkcje kompozycyjne; oznaczyliśmyRevealActionTypejako wewnętrzną. (I885d0). - Dalsze aktualizacje interfejsu
SwipeToRevealAPI: zmiana nazwyonFullSwipenaonSwipePrimaryAction; zmiana nazwySwipeToRevealNonAnchoredSample, aby wskazać użycie parametruhasPartiallyRevealedState; usunięcieactionButtonHeight, ponieważ domyślna wysokość przycisku jest domyślną wysokością, a większą wysokość można ustawić za pomocą modyfikatora; usunięcieSmallActionButtonHeightzSwipeToRevealDefaults; ustawienie parametru value w konstruktorachRevealValueiRevealDirectionjako prywatnego. (I465ce).
Poprawki błędów
- Poprawiono obsługę
ScreenScaffoldwEdgeButton, tak aby po usunięciu elementuTransformingLazyColumnanimacjaEdgeButtonbyła wyświetlana w odpowiednim miejscu. (I6d366) - Zaktualizowaliśmy zależności Wear Compose w bibliotekach Compose do wersji 1.8.0. (I2ef3f).
- Zaktualizowano ruch nieokreślonego elementu
CircularProgressIndicator, aby nie cofał się tymczasowo. (Ieddb1). - Naprawiliśmy
SwipeDismissableNavHostbłąd – po przesunięciu palcem do tyłu fokus nie przełączał się prawidłowo, co powodowało nieprawidłowe działanie pokrętła (dotyczyło to interfejsu API w wersji 36 lub nowszej, który korzysta z przewidywanego przejścia wstecz). (Ieddb1). - Zmieniona dokumentacja interfejsu Hierarchical Focus API (Idf2ff).
- Zaktualizowaliśmy dokumentację dotyczącą przycisków i kart, aby wyjaśnić, jak parametry
containerPainteridisabledContainerPainterzastępują parametrycontainerColoridisabledContainerColor(I4a453). - Cofnięto zmianę w
TimeTextz poprzedniej wersji, która przenosiłaBroadcastReceiverdo wątku instancji roboczej, ponieważ powodowała problemy w aplikacjach, które zarządzają własnymi wątkami podczas nawigacji. (I34d02). - Zaktualizowaliśmy przykłady selektora, aby usunąć niepotrzebne wywołania zapamiętywania i zamiast tego używać w selektorze
rememberUpdatedStatedo zapamiętywania najnowszej funkcji lambdacontentDescription. (Icb5b1). - Zaktualizowano style tekstu w
TimePickeriDatePicker, aby zmiany czcionki nie powodowały już obcinania tekstu. (I26194). ListHeaderiListSubHeaderdomyślnie wyrównują tekst do środka i do początku. (I78339).- Zaktualizowaliśmy przykłady i wersje demonstracyjne komponentów Foundation i Material Swipe to Reveal, aby ogłaszać niestandardowe działania związane z ułatwieniami dostępu (niestandardowe działania muszą być dodane jako semantyka treści, a nie w samym komponencie
SwipeToReveal). (Ie92a3). - Zaktualizowano domyślny
MaxLinesustawiony naEdgeButtontreści zgodnie z jego rozmiarem – teraz wynosi on 1 w przypadku bardzo małych, 2 w przypadku małych i średnich oraz 3 w przypadku dużych. (Ie35f6). - Uproszczone
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 element EdgeButton osiągał pełną wysokość. (I30580).
Wersja 1.5.0-alpha14
23 kwietnia 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-alpha14 Wersja 1.5.0-alpha14 zawiera te zmiany.
Zmiany w interfejsie API
- Wszystkie zależności pakietu Material
SwipeToRevealod pakietu FoundationSwipeToRevealzostały przeniesione do pakietu Material, np.RevealValue,RevealDirection,RevealActionType,RevealState,rememberRevealState. Deweloperzy powinni zmienić importowanie tych klas i funkcji zandroidx.wear.compose.foundationnaandroidx.wear.compose.material. (Ib7cb8) - Zaktualizowaliśmy interfejs API
HierarchicalFocusCoordinator, aby zamiast funkcji kompozycyjnych zawierał modyfikatory. - Uwagi dotyczące migracji:
HierarchicalFocusCoordinator(function, content)można zastąpić, dodającModifier.hierarchicalFocus(function())docontentlub do kompozycji zawierającej.ActiveFocusListener { if (it) focusRequester.requestFocus() }można zastąpić, dodającModifier.hierarchicalFocusRequester(focusRequester)- Inne, rzadsze zastosowania
ActiveFocusListenermogą używać nowego parametru wModifier.hierarchicalFocus. focusRequester(rememberActiveFocusRequester())można zastąpićhierarchicalFocusRequester()val focusRequester = rememberActiveFocusRequester()można zastąpićremember { FocusRequester() }i dodaćModifier.hierarchicalFocusRequester(focusRequester). (Ie319a)
Poprawki błędów
- Zwiększono próg szybkości, który gesty przesuwania muszą przekroczyć, aby wywołać zmianę stanu w przypadku tych komponentów:
SwipeToReveal,BasicSwipeToDismissBoxiSwipeDismissableNavHost(tylko w przypadku interfejsu API 35 i starszych wersjiSwipeDismissableNavHost). (If47bf) - Rozwiązaliśmy problem z animacją, który występował, gdy do
TransformingLazyColumndodawano nowe elementy. (I589b2)
Wersja 1.5.0-alpha13
9 kwietnia 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-alpha13 Wersja 1.5.0-alpha13 zawiera te zmiany.
Zmiany w interfejsie API
- Projekty wydane w Kotlinie 2.0 wymagają użycia KGP w wersji 2.0.0 lub nowszej (Idb6b5).
- Dodano usługę
targetPagedo usługiPagerState(I4de8b)
Poprawki błędów
- Zapobiega niepotrzebnej rekompozycji podczas przewidywanego przejścia wstecz. (Iecd6d)
- Poprawiono właściwość
ScrollInfoProviderisScrollable, aby zwracała bieżącą wartość. (Icbfb8)
Wersja 1.5.0-alpha12
26 marca 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-alpha12 Wersja 1.5.0-alpha12 zawiera te zmiany.
Zmiany w interfejsie API
- Ulepsz domyślną implementację
SwipeToRevealgestureInclusion, aby ignorować gesty tylko wtedy, gdy stan komponentu to Covered. (I7e3d6) - W przypadku
SwipeToRevealzmieniliśmybidirectionalGestureInclusionna wartość zamiast funkcji i dodaliśmy@FloatRangedo parametruedgeZoneFractionwgestureInclusion. (Ica7c3)
Poprawki błędów
- Zmień
SwipeToRevealbidirectionalGestureInclusion, aby zwracać obiekt zamiast klasy. (I29597) - Wyłączone używanie haptyki podczas przeprowadzania testów w ramach
RoboElectric. (I58bd1) - Zaktualizuj
SwipeToRevealdopełnienie 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.5.0-alpha11
12 marca 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-alpha11 Wersja 1.5.0-alpha11 zawiera te zmiany.
Zmiany w interfejsie API
- Zaktualizowano klasę
PagerState, usuwając klasę bazową Compose FoundationPagerStatei dodając właściwościcurrentPage,currentPageOffsetFractionipageCount. Zaktualizowano interfejsGestureInclusion, zmieniając nazwę metody naignoreGestureStart. (I4ae07) - Dodaj
requireOffsetdoSwipeToDismissBoxStatejako zalecany sposób uzyskania przesunięciaSwipeToDismissBoxState. (I21042) - Dodano
CurvedModifier.semantics, początkowo obsługując opis treści i indeks przechodzenia (I0b093) - Dodaliśmy
CurvedModifier.clearAndSetSemantics, aby umożliwić wyłączenie zakrzywionej semantyki.CurvedTextnadal domyślnie ustawia opis treści na tekst, aletimeTextCurvedTextitimeTextSeparatornie odczytują teraz swoich treści. (I4b568) - Domyślna obsługa gestów przesuwania w
HorizontalPagerzostała zmieniona naPagerDefaults.gestureInclusion. Domyślnie ignorowane są 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 gestu przesuwania w celu zamknięcia. (Iee486) - Dodaliśmy przewijanie obrotowe dla interfejsu
rotaryScrollable. Dodano przewijanie poza zakres i przewijanie zagnieżdżone do działaniarotaryScrollable. Ta zmiana powinna wyrównać funkcje przewijania poza zakres i przewijania zagnieżdżonego w przypadku przewijania dotykowego i obrotowego. (I71926) - Dodaliśmy do
SwipeToRevealstrefę przesuwania od krawędzi. Domyślne działanie biblioteki FoundationSwipeToRevealpolega teraz na blokowaniu przesuwania, gdy gest zaczyna się od krawędzi. Domyślne działanie Material3SwipeToRevealpolega teraz na blokowaniu przesuwania, gdy gest rozpoczyna się od krawędzi, aSwipeDirectionjest ustawiony na jeden kierunek. (I32ef0) - TLC domyślnie używa teraz pustego contentPadding zamiast umieszczać pierwszy i ostatni element na środku. (I77ab7)
Poprawki błędów
- Biblioteki Wear Compose zostały zaktualizowane do kompilatora Kotlin 2.0. (I2de79)
- Utrwalenie zakrzywionej próbki
LetterSpacingna podkładzie. (Iebf7c)
Wersja 1.5.0-alpha10
26 lutego 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-alpha10 Wersja 1.5.0-alpha10 zawiera te zmiany.
Zmiany w interfejsie API
- Ustaw
SwipeToRevealDefaultsjako publiczną. (I0c34c) - Zastąpiliśmy parametr
swipeToDismissEdgeZoneFractionw plikuHorizontalPager. Zamiast tego wprowadziliśmy nowy parametrgestureInclusion, który można wykorzystać do uzyskania wymaganego zachowania polegającego na przesunięciu w celu zamknięcia.gestureInclusionprzyjmuje instancjęGestureInclusion, która decyduje, czy kolejne zdarzenie przewijania powinno zostać wykonane. Zezwolenie na gest oznacza, że komponent Pager go wykorzystuje. W przeciwnym razie zostanie on obsłużony w innym miejscu, np. przez moduł obsługi przesuwania w celu zamknięcia. Nowym domyślnym działaniem jest niedozwalanie gestów na lewej krawędzi pierwszej strony w komponencie Pager, a tym samym umożliwienie odrzucenia przez przesunięcie w tym regionie. W przypadku wszystkich innych stron komponent Pager będzie mógł obsługiwać wszystkie gesty, co oznacza, że nie będzie można wywołać gestu przesunięcia w celu zamknięcia. Aby uzyskać efekt przesunięcia w celu zamknięcia na wszystkich stronach, wystarczy podać niestandardową instancjęGestureInclusion(patrzPagerDefaults.disableLeftEdgeOnFirstPage), która ignoruje bieżącą stronę. Kolejna zmiana powodująca niezgodność wsteczną polega na tym, że komponent Pager nie jest już domyślnie wyświetlany na pełnym ekranie. Aby uzyskać ten efekt, dodajModifier.fillMaxSize(). (I9d3aa) - Zmieniliśmy nazwę interfejsu
createAnchorsnacreateRevealAnchorsw interfejsie API do wyświetlania treści po przesunięciu palcem(If5999). - Usunęliśmy
RevealScopez interfejsu API do wyświetlania treści po przesunięciu. (Ie4ad5) - Usunęliśmy stany Revealing i Revealed z
RevealValuew interfejsie API przesuwania w celu odkrycia. (I8dbc5) - W interfejsie API do przesuwania w celu wyświetlenia zmieniliśmy nazwę
SwipeDirectionnaRevealDirection. (I7472f) - Zmieniliśmy sygnaturę parametru
positionalThresholdfunkcjirememberRevealStatewSwipeToReveal. (I29c0a) - Dodaliśmy nowy parametr
overscrollEffectdoScalingLazyColumn,TransformingLazyColumniScreenScaffold. (I0cee8) - W przypadku używania
PagerDefaults#snapFlingBehaviourparametrpagerSnapDistancezostał zastąpiony parametrem IntmaxFlingPages, którego można użyć do określenia maksymalnej liczby stron, które mają być przewijane przez komponent Pager. (I8cfc0) - Komponent Wear Pager ma teraz własny
PagerScopezamiast korzystać zPagerScopeCompose Foundation. (I9195b) - Dodaliśmy obsługę funkcji
lineHeightw przypadku zakrzywionego tekstu (I1c936). - Dodaliśmy
initialAnchorItemIndexiinitialAnchorItemOffsetdoTransformingLazyColumnStateorazrememberTransformingLazyColumnStatedoTransformationLazyColumn, aby można było określić początkową pozycję przewijania. (I0a0d5) - Zastąpienie wartości
runWithTimingDisabledwartościąrunWithMeasurementDisabled, która lepiej opisuje działanie – wszystkie dane są wstrzymane. Dodatkowo udostępnij superklasęMicrobenchmarkScope, ponieważ ponowne zadeklarowanie funkcjirunWithMeasurementDisabledw celu otwarcia dostępu nie jest możliwe, ponieważ jest ona wstawiana. (I9e23b, b/389149423, b/149979716) - Dodaliśmy do interfejsu API parametr
TransformingLazyColumnItemScrollProgress.Unspecified, aby uniknąć umieszczania w ramce na urządzeniachTransformingLazyColumnItemScrollProgress. (I0835d)
Poprawki błędów
- Ulepsz Kdoc dla
CurvedTextStyle(Id45e3) - Zmieniliśmy ustawienie
SwipeableV2(część implementacjiSwipeToReveal) z publicznego na wewnętrzne, ale ograniczone do grupy bibliotek. (Idbb94) - Dodaliśmy testy do
HierarchicalFocusCoordinator(I1ce54, b/395548918) - Wprowadziliśmy ulepszenia w
SwipeToRevealw próbkach podstawowych kompozycji na urządzenia do noszenia. (I5f307) - Naprawianie danych semantycznych osi przewijania w przypadku elementu
verticalScrollAxisRangewTransformingLazyColumnna potrzeby ułatwień dostępu (I68123) - Poprawa wydajności wibracji obrotowych na zegarkach z Wear OS 4 lub nowszym przez usunięcie niepotrzebnych wątków w tle (I39cfe)
- Zmień
SwipeDismissableNavHost, aby używaćPredictiveBackNavHosttylko w przypadku interfejsu API w wersji 36 lub nowszej. (I59bed) - Dodaliśmy zabezpieczenie przed awarią podczas uzyskiwania dostępu do ustawienia redukcji ruchu. (I01e2c)
- Wdrożyliśmy pobieranie z wyprzedzeniem w przypadku
TransformingLazyColumn, aby zmniejszyć zacinanie się (Icca88).
Wersja 1.5.0-alpha09
29 stycznia 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-alpha09 Wersja 1.5.0-alpha09 zawiera te zmiany.
Zmiany w interfejsie API
- Na
CurvedTextStylepodzieliliśmy odstępy między literami na odstępy w prawo i w lewo. 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). - Funkcja
CompositionLocalLocalReduceMotionzostała uproszczona i zwraca wartość logiczną zamiast obiektuReduceMotion. InterfejsReduceMotionzostał wycofany. Poprzednie wywołania, np.LocalReduceMotion.current.enabled(), można zastąpić wywołaniemLocalReduceMotion.current(I4937f). - W języku
PagerDefaultsnazwasnapAnimationSpeczostała zmieniona naSnapAnimationSpec. (I20c9a)
Wersja 1.5.0-alpha08
15 stycznia 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-alpha08 Wersja 1.5.0-alpha08 zawiera te zmiany.
Zmiany w interfejsie API
- Zaktualizowaliśmy wszystkie biblioteki Wear Compose do trybu „explicit API”. (Iebf9f)
- Parametr animacji przyciągania pagera został dodany do
PagerDefaults. (Ifff64) - Dodaliśmy parametr przesunięcia do
SwipeToDismissBoxState. (I586bd)
Poprawki błędów
- Reakcje haptyczne platformy obrotowej są teraz wywoływane w przypadku Wear OS w wersjach po V (Idb03e).
Wersja 1.5.0-alpha07
11 grudnia 2024 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-alpha07 Wersja 1.5.0-alpha07 zawiera te zmiany.
Zmiany w interfejsie API
TransformingLazyColumnStateudostępnia teraz sposób obserwowania bieżącego postępu przewijania na podstawie indeksów elementów zakotwiczenia. (I72b01)- Dodaliśmy animacje do
TransformingLazyColumnpodczas dodawania, usuwania i przenoszenia elementów, jeśli mają one nowyModifier.animateItem. (Iecb9c) TransformingLazyColumnudostępnia teraz wartości dlabeforeContentPaddingiafterContentPadding. (Iccd5f)TransformingLazyColumnudostępnia teraz lokalną kompozycjęLocalTransformingLazyColumnItemScope, której komponenty (takie jakCardiButtonw Material 3) mogą używać do automatycznego przekształcania się po umieszczeniu wTransformingLazyColumn. Dzwoniący mogą wyłączyć automatyczne przekształcanie za pomocą nowego elementuTransformExclusion. (I1652f)
Poprawki błędów
- Zaktualizowaliśmy minimalną i maksymalną prędkość przesuwania dla ruchu obrotowego na urządzeniach z Androidem U i nowszym. (I33559)
- Naprawiliśmy awarię, która występowała, gdy element w
TransformingLazyColumnnie zawierał żadnych komponentów kompozycyjnych (Idb99d). - Dodaliśmy
ScrollFeedbackProviderobsługę wibracji obrotowych na Androidzie Vanilla ice cream. (Ibc553) - Zwiększyliśmy tolerancję na dotyk podczas korzystania z
SwipeToReveal, aby zmniejszyć prawdopodobieństwo przypadkowego wywołania przesunięcia podczas przewijania w pionie. (Ic0672) - Zaktualizowaliśmy
SwipeDismissableNavHost, aby w przypadku interfejsu API na poziomie 35 i wyższym korzystać zPredictiveBackHandler, gdy jest on dostępny. W takim przypadku zostaną zastosowane nowe animacje. (I08c11)
Wersja 1.5.0-alpha06
13 listopada 2024 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-alpha06 Wersja 1.5.0-alpha06 zawiera te zmiany.
Zmiany w interfejsie API
- Uprościliśmy
ScrollInfoProviderdlaPagerState, usuwając parametrorientation, który nie jest już potrzebny. Nowe działanie polega na tym, że elementTimeTextpozostaje na swoim miejscu zarówno w przypadku przewijania w pionie, jak i w poziomie. (I71767) TransformingLazyColumnzostał wprowadzony w poprzednich wersjach. Usuwamy teraz aliasyLazyColumn(które przekierowywały naTransformingLazyColumn) na rzecz nowej nazwyTransformingLazyColumn. Usunęliśmy też właściwośćheightelementuTransformingLazyColumnVisibleItemInfo. Zamiast niej używaj właściwościmeasuredHeight. (I0ea1e)- Zmieniliśmy
PagerDefaults.snapFlingBehaviorsnapAnimationSpeczTweennaSpring(I10d02, b/349781047, b/303807950). - Wersja
LocalReduceMotionCompositionLocalzostała oznaczona jako stabilna (Ia6f32).
Poprawki błędów
- Zaktualizowaliśmy
Modifier.rotaryScrollable, aby używaćfocusTargetWithSemantics, co zapewnia lepszą obsługę semantyki w przypadku sterowania obrotowego. (Ief0a0) - Zaktualizowaliśmy minimalną zależność interfejsu API do wersji 1.7.4 w przypadku bibliotek Compose. (I88b46)
- Wyłączyliśmy zmianę szerokości w
TransformingLazyColumn, aby obejść błąd przycinania. (I3dfb8) - Naprawiliśmy błąd, który powodował znikanie elementów po przewinięciu poza krawędź ekranu w przypadku
TransformingLazyColumn(Id7668). - Dodaliśmy
LazyLayoutSemanticsdoTransformingLazyColumn. (Ia8f56)
Wersja 1.5.0-alpha05
30 października 2024 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-alpha05 Wersja 1.5.0-alpha05 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaliśmy obsługę
animateScrollTonaTransformingLazyColumnState, dzięki czemu przewijanie do elementu może być animowane. (I4097d) - Dodaliśmy
requestScrollTonaTransformingLazyColumnState, aby odłożyć przewijanie do następnego pomiaru. (I20a5e) - Dodaliśmy obsługę właściwości
contentPaddingw przypadku elementuTransformingLazyColumn. (I3a69c)
Poprawki błędów
- Naprawiliśmy błąd renderowania
TransformingLazyColumn, gdy wysokość treści jest mniejsza niż wysokość ekranu. (I6c3e1) - Wartość
ScrollInfoProvderdlaTransformingLazyColumnjest teraz prawidłowo śledzona w przypadku pierwszego elementu. (I1e4a3) TransformingLazyColumnStatezapisuje teraz swój stan (anchorItemIndexianchorItemScrollOffset). (I3d265)
Wersja 1.5.0-alpha04
16 października 2024 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-alpha04 Wersja 1.5.0-alpha04 zawiera te zmiany.
Zmiany w interfejsie API
- Zmieniliśmy nazwę Wear Compose Foundation
LazyColumnnaTransformingLazyColumn, aby wyraźniej odróżnić ją od Compose FoundationLazyColumn. (I0608b) - Dodaliśmy obsługę pokrętła w przypadku pagera poziomego i pionowego, co umożliwia użytkownikom poruszanie się po pagerach za pomocą urządzeń wejściowych z pokrętłem. (I9770d)
- Zaktualizowaliśmy nowy
PagerDefaults, aby wyjaśnić, że domyślnie będzie on przyciągać do strony. (Iff7d0) TransformingLazyColumnItemScrollProgressjest teraz klasą wartości, co powinno zwiększyć skuteczność. (Ic399e)TransformingLazyColumnobsługuje teraz pokrętło od razu po wyjęciu z pudełka. (I05206)TransformingLazyColumnStateobsługuje terazscrollToItem. (I507b3)- Usunięto
@ExperimentalWearFoundationApiz interfejsuSwipeToRevealAPI (I34a66)
Wersja 1.5.0-alpha03
2 października 2024 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-alpha03 Wersja 1.5.0-alpha03 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaliśmy obsługę dwukierunkowego przesuwania w
SwipeToRevealw 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) - Zaktualizowaliśmy
LazyColumnState, aby zastąpićcanScrollForwardicanScrollBackward– teraz przewijanie zatrzymuje się, gdy pierwszy lub ostatni element znajduje się dokładnie na środku ekranu. (Ia77d7) - Dodaliśmy nowe komponenty
HorizontalPageriVerticalPager, które rozwiązują typowe problemy, takie jak obsługa fokusu i interakcja z systemowym gestem przesuwania w celu zamknięcia, które mogą występować na urządzeniach z Wear OS. (I2902b) - Dodaliśmy obsługę
LazyColumn, aby udostępniaćkeyicontentTypeklienta za pomocąlayoutItems. (I1bd9c)
Poprawki błędów
- Zaktualizowaliśmy animacje zakrzywionego tekstu, aby były płynniejsze dzięki użyciu flag malowania. (I73a15)
- Zaktualizowaliśmy dokumentację okna Material Dialog, aby uwzględnić informację, że funkcja
onDismissRequestnie jest wywoływana, gdy flaga show ma wartość false. (Ifd8d6) - Naprawiliśmy błąd animacji winiety w oknie dialogowym Material (I126bf).
Wersja 1.5.0-alpha02
18 września 2024 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-alpha02 Wersja 1.5.0-alpha02 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaliśmy obsługę Wear Compose
LazyColumnw naszymScreenScaffold(i wdrożyliśmyScrollInfoProviderw przypadkuLazyColumnState). (Ib8d29) - Dodaliśmy
viewportSizedoLazyColumnLayoutInfo. (I4187f)
Poprawki błędów
- Naprawiliśmy błąd, dzięki czemu przewijanie obrotowe jest teraz wyłączone w
ScalingLazyColumn, gdy flagauserScrollEnabledjest ustawiona nafalse. (I490ab, b/360295825) - Naprawiliśmy błąd, który powodował nieoczekiwany odstęp pionowy w przypadku zakrzywionego tekstu. Wysokość zakrzywionego tekstu jest teraz bardziej zbliżona do rzeczywistej przestrzeni zajmowanej przez tekst. Pamiętaj, że może to spowodować niepowodzenie testów zrzutów ekranu, które obejmują zakrzywiony tekst (Iaa6ef).
- Cofnęliśmy poprawkę błędu w
Dialog, w której wywołanie zwrotneonDismissRequestbyło wywoływane, gdy wartośćshowDialogbyła ustawiona na false, ponieważ w niektórych przypadkach powodowało to wielokrotne wywoływanieonDismissRequest. (I64656)
Wersja 1.5.0-alpha01
4 września 2024 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-alpha01 Wersja 1.5.0-alpha01 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaliśmy nową funkcję
LazyColumndo biblioteki Wear Compose Foundation wraz z powiązanymi interfejsami APILazyColumnStateiLazyColumnScope. Stanowi to podstawę do tworzenia dostosowywanych efektów skalowania i przekształcania za pomocą Wear Compose. (Ib3b22) - W ramach nowego interfejsu
LazyColumnAPI dodaliśmy doLazyColumnScopeindeksowaną wersjęitemsIndexed. (Ib4a57) - Dodaliśmy modyfikatory
LazyColumn, aby obsługiwać skalowanie i przekształcanie. (Ie229a) HierarchicalFocusCoordinatorzostała przeniesiona do wersji stabilnej. (I31035)- Dodaliśmy obsługę odstępów między literami w tekście zakrzywionym. (I3c740)
- Dodaliśmy parametr
rotationLockeddoCurvedLayout.curvedComposable, aby zatrzymać obracanie komponentów. (I66898) - Usunięto tymczasowy interfejs API
LocalUseFallbackRippleImplementationz materiałów wear material i wear material3 (I62282). - Usunięto
WearDevices.SQUAREz wielokrotnego podglądu@WearPreviewDevices(I11c02)
Poprawki błędów
SwipeToRevealumieszcza teraz ujawnione elementy w widocznej części ekranu. Jest to przydatne, gdySwipeToRevealjest używany na liście, dzięki czemu elementy są zawsze interaktywne i nigdy nie wychodzą poza ekran. (I38929)SwipeToRevealresetuje teraz wartośćlastActionTypena None po zakończeniu działaniaanimatedTo. (I59b03)- Ulepszyliśmy dokumentację nowego parametru
rotationLockedw usłudzecurvedComposable. (Ifbd57) - Naprawiliśmy awarię, która występowała podczas przekazywania
NaNdoScalingLazyColumnSnapFlingBehaviorwperformFling. (Ic13da) - Naprawiono błąd modyfikatora rozmiaru układu zakrzywionego (I0fedf)
- Dodaliśmy obsługę odstępów między literami określonych w jednostkach „sp”. (I9f6e3)
- Naprawiliśmy błąd w oknie Material2, który powodował, że wywołanie zwrotne
onDismissRequestnie było wywoływane, gdy okno stawało się niewidoczne (I64656). - Nazwa
LayoutCoordinates.introducesFrameOfReferencezostała zmieniona naLayoutCoordinates.introducesMotionFrameOfReference, aby lepiej odzwierciedlała jej przeznaczenie. Zmieniono nazwę powiązanej funkcji, aby obliczać współrzędne na podstawie tej flagi. (I3a330)
Wersja 1.4
Wersja 1.4.1
12 lutego 2025 r.
Publikacja androidx.wear.compose:compose-*:1.4.1 Wersja 1.4.1 zawiera te zmiany.
Poprawki błędów
- Zabezpieczyliśmy się przed awarią podczas uzyskiwania dostępu do globalnego ustawienia redukcji ruchu, która była wywoływana na niektórych platformach, na których to ustawienie nie było dostępne. (I01e2c)
Wersja 1.4.0
4 września 2024 r.
Publikacja androidx.wear.compose:compose-*:1.4.0 Wersja 1.4.0 zawiera te zmiany.
Ważne zmiany od wersji 1.3.0
ScalingLazyColumniPickerdomyślnie obsługują teraz wprowadzanie danych za pomocą pokrętła. Zalecamy usunięcie jawnej obsługi pokrętła i skorzystanie z domyślnego zachowania systemu. W razie potrzeby użyj parametrurotaryScrollableBehavior, aby skonfigurować przewijanie lub przyciąganie. W przypadku przyciągania zalecamy udostępnienie funkcji przyciągania i przewijania dotykowego za pomocą parametruflingBehavior.Modifier.rotaryScrollableto nowy modyfikator, który łączy zdarzenia obrotowe z kontenerami z możliwością przewijania, dzięki czemu użytkownicy mogą przewijać zawartość za pomocą pokrętła lub obrotowej ramki na urządzeniu z Wear OS.SwipeDismissableNavHostzapewnia teraz animację wejścia w przypadku przejść w aplikacji.PositionIndicatorjest teraz domyślnie wyświetlany, gdy ekran jest wyświetlany po raz pierwszy.
Dodatkowe zmiany
- Pełniejszy zestaw zmian wprowadzonych w wersji 1.3.0 znajdziesz w informacjach o wersji beta01.
Wersja 1.4.0-rc01
21 sierpnia 2024 r.
Publikacja androidx.wear.compose:compose-*:1.4.0-rc01 Wersja 1.4.0-rc01 zawiera te zmiany.
- Zaktualizowaliśmy zależności Compose do wersji 1.7.0-rc01 i przypięliśmy Wear Compose Navigation do androidx.lifecycle w wersji 2.8.3.
Wersja 1.4.0-beta03
12 czerwca 2024 r.
Publikacja androidx.wear.compose:compose-*:1.4.0-beta03 Wersja 1.4.0-beta03 zawiera te zmiany.
Poprawki błędów
- Zaktualizowaliśmy
Modifier.rotaryScrollable, aby zastąpić użycie „focusable” słowem „focusTarget”, co zwiększa wydajność. (Id294b) - Rozwiązaliśmy problem, w którym
ProgressIndicatorpowtarzał komunikat w sekcjiTalkBack. (I94563) - Zaktualizowaliśmy profile bazowe biblioteki Wear Compose. (I3cbc3)
Wersja 1.4.0-beta02
29 maja 2024 r.
Publikacja androidx.wear.compose:compose-*:1.4.0-beta02 Wersja 1.4.0-beta02 zawiera te zmiany.
Poprawki błędów
- Zwiększyliśmy szerokość obramowania przekazywanego do czytników ekranu z zakrzywionego tekstu, aby rozwiązać problemy z obcinaniem (Id865f).
- Ograniczyliśmy obszar elementu
HorizontalPageIndicatorprzekazywanego czytnikom ekranu – wcześniej wskaźnik zajmował cały ekran (Id8d7a).
Wersja 1.4.0-beta01
14 maja 2024 r.
Publikacja androidx.wear.compose:compose-*:1.4.0-beta01 Wersja 1.4.0-beta01 zawiera te zmiany.
Wersja 1.4-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 1.4 zawiera te nowe funkcje:
- Dodaliśmy nowy modyfikator
Modifier.rotaryScrollable, który łączy zdarzenia obrotowe z kontenerami z możliwością przewijania, dzięki czemu użytkownicy mogą przewijać treści za pomocą pokrętła lub obrotowej ramki na urządzeniu z Wear OS. Oprócz tegoScalingLazyColumniPickerdomyślnie obsługują teraz wprowadzanie danych za pomocą pokrętła. Użyj parametrurotaryScrollableBehavior, aby skonfigurować przewijanie lub przyciąganie. W przypadku zachowania przyciągania zalecamy też podanie przyciągania za pomocą parametruflingBehaviorw przypadku przewijania dotykowego. SwipeDismissableNavHostzapewnia teraz animację wejścia w przypadku przejść w aplikacji.PositionIndicatorjest teraz domyślnie wyświetlany, gdy ekran jest wyświetlany po raz pierwszy.SelectableChipiSplitSelectableChipzostały dodane jako odmiana elementuToggleChip– używaj ich z elementemRadioButton, aby zapewnić semantykę z możliwością wyboru zamiast semantyki z możliwością przełączania na potrzeby ułatwień dostępu.ListHeaderobsługuje teraz dostosowywanie wysokości, gdy treści wymagają dodatkowej wysokości ze względu na duże rozmiary czcionek.
Poprawki błędów
- Naprawiliśmy błąd, który powodował, że w przypadku wybranych już klikalnych elementów interfejsu ogłaszano „kliknij dwukrotnie, aby przełączyć”. (I7ed88)
Wersja 1.4.0-alpha08
1 maja 2024 r.
Publikacja androidx.wear.compose:compose-*:1.4.0-alpha08 Wersja 1.4.0-alpha08 zawiera te zmiany.
Zmiany w interfejsie API
- Wprowadziliśmy te zmiany w nowym interfejsie API pokrętła: zmieniliśmy nazwę
Modifier.rotarynaModifier.rotaryScrollable, zmieniliśmy nazwę interfejsuRotaryBehaviornaRotaryScrollableBehavior, a jego funkcjihandleScrollEventnaperformScroll, zmieniliśmy nazwęRotaryScrollableAdapternaRotaryScrollableLayoutInfoProvideri usunęliśmy właściwośćscrollableState. (I0c8a6) - Wprowadziliśmy dodatkowe zmiany w interfejsie API obrotowego: zmieniliśmy nazwę
RotaryScrollableLayoutInfoProvidernaRotarySnapLayoutInfoProvider(ponieważ ten dostawca jest potrzebny tylko w przypadku obrotowego z przyciąganiem); zmieniliśmy typ parametrusnapOffsetwRotaryScrollableDefaults.snapBehavior snapOffsetz Int na Dp. (Iddebe) - Zmieniliśmy nazwę parametru
clickInteractionSourcew usłudzeSplitSelectableChipnacontainerInteractionSource. (Ia8f84) - Zaktualizowaliśmy nazwy parametrów wywołania zwrotnego kliknięcia w przypadku
SplitSelectableChip– zonClicknaonSelectionClicki zonBodyClicknaonContainerClick. (I32237)
Poprawki błędów
- Zaktualizowaliśmy poziomy odstęp wewnętrzny dla elementu
PositionIndicatordo 2 dp (wcześniej 5 dp), aby naprawić błąd, w którym elementPositionIndicator(pasek przewijania) nakładał się na treść, którą można przewijać. Pamiętaj, że ta zmiana może spowodować, że dotychczasowe zrzuty ekranu zawierające symbolPositionIndicatorprzestaną działać z powodu zmiany dopełnienia. (I57472) - Ulepszyliśmy dokumentację nowego interfejsu API pokrętła, opisując różnice między urządzeniami z pokrętłem o niskiej i wysokiej rozdzielczości. (I63abe)
- Rozwiązaliśmy problem z wyjątkiem spoza zakresu w
SwipeDismissableNavHost, który mógł być wywoływany, gdy interpolowane wartości alfa były mniejsze od zera. (Ib75a1, b/335782510)
Wersja 1.4.0-alpha07
17 kwietnia 2024 r.
Publikacja androidx.wear.compose:compose-*:1.4.0-alpha07 Wersja 1.4.0-alpha07 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaliśmy nowy modyfikator
Modifier.rotary, który łączy zdarzenia obrotowe z kontenerami z możliwością przewijania, dzięki czemu użytkownicy mogą przewijać treści za pomocą pokrętła lub obrotowej ramki na urządzeniu z Wear OS. Dodatkowo komponentyScalingLazyColumni Picker domyślnie obsługują teraz wprowadzanie danych za pomocą pokrętła. Mają nowe przeciążenia, które zawierają parametrrotaryBehaviorumożliwiający określenie konfiguracji przewijania lub przyciągania. Jeśli parametrrotaryBehaviorma wartość snap, zalecamy też podanie wartości snap za pomocą parametruflingBehaviorw przypadku przewijania dotykowego. (I2ef6f) - Źródła
NestedScrollDrag and FlingUserInputzastępujemy źródłamiUserInputSideEffect, aby uwzględnić rozszerzoną definicję tych źródeł, która obejmuje teraz animacje (Side Effect) oraz kółko myszy i klawiaturę (UserInput). (I40579) - Dodaliśmy ikony
SelectableChipiSplitSelectableChip, aby wyraźniej odróżnić przełączniki, takie jakSwitch/Checkbox, od elementów sterujących, takich jakRadioButton. Spowoduje to zastąpienie wcześniej dodanych przeciążeń funkcjiToggleChip/SplitToggleChipparametramiselectionControl. (Ia0217) - Zmieniono modyfikator widoczności
IndeterminateStrokeWidthwProgressIndicatorDefaultsna publiczny. (I5b5a4)
Wersja 1.4.0-alpha06
3 kwietnia 2024 r.
Publikacja androidx.wear.compose:compose-*:1.4.0-alpha06 Wersja 1.4.0-alpha06 zawiera te zmiany.
Poprawki błędów
- Dodaliśmy wewnętrzną wersję roboczą obsługi pokrętła, co jest częścią większego projektu przeniesienia zachowania pokrętła z Horologist do AndroidX. (I617d1)
- Dodaliśmy wewnętrzną wersję roboczą obsługi haptyki w ramach większych prac nad przeniesieniem zachowania Rotary z Horologist do AndroidX. (I5568a)
Wersja 1.4.0-alpha05
20 marca 2024 r.
Publikacja androidx.wear.compose:compose-*:1.4.0-alpha05 Wersja 1.4.0-alpha05 zawiera te zmiany.
Zmiany w interfejsie API
- Udostępniliśmy publicznie właściwości
initialCenterItemIndexiinitialCenterItemScrollOffsetusługiScalingLazyListState. (I0c616) - Ustawiliśmy
FullScreenStrokeWidthzProgressIndicatorDefaultsjako publiczny. (Ibea23)
Poprawki błędów
- Zwiększyliśmy wydajność
PositionIndicator, zmniejszając liczbę wywołańlayoutInfozScalingLazyColumn. (Idc83d)
Wersja 1.4.0-alpha04
6 marca 2024 roku
Publikacja androidx.wear.compose:compose-*:1.4.0-alpha04 Wersja 1.4.0-alpha04 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaliśmy nowe przeciążenie funkcji
ToggleChipiSplitToggleChip, które przyjmuje parametrselectionControlzamiast parametrutoggleControl. Należy go używać z elementem sterującymRadioButton, aby zapewnić semantykę z możliwością wyboru zamiast semantyki z możliwością przełączania na potrzeby ułatwień dostępu (I1d6d9). - Zmieniliśmy nazwy parametrów dla nowego przeciążenia
selectionControlzonSelectednaonSelectw przypadkuToggleChipiSplitToggleChip(I1a971).
Wersja 1.4.0-alpha03
21 lutego 2024 r.
Publikacja androidx.wear.compose:compose-*:1.4.0-alpha03 Wersja 1.4.0-alpha03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Moduł
Modifier.inspectablezostał wycofany. Ten interfejs API będzie tworzyć więcej unieważnień modyfikatora niż jest to konieczne, dlatego jego używanie jest obecnie odradzane. Deweloperzy, którzy chcą udostępniać narzędziom właściwości modyfikatora, powinni zaimplementować metodęinspectableProperties()wModifierNodeElement. (Ib3236)
Poprawki błędów
- Naprawiliśmy błąd w dokumentacji dotyczący adnotacji
WearPreview*. (Id526d)
Wersja 1.4.0-alpha02
7 lutego 2024 r.
Publikacja androidx.wear.compose:compose-*:1.4.0-alpha02 Wersja 1.4.0-alpha02 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiliśmy błąd w funkcji przesuwania w celu wyświetlenia, który umożliwiał interakcję z zatwierdzonym działaniem na jednym elemencie (i jego anulowanie) poprzez rozpoczęcie przesuwania innego elementu.(Ide059)
- Zaktualizowaliśmy
ListHeader, aby obsługiwać dostosowywanie wysokości, gdy treści wymagają dodatkowej wysokości ze względu na duże rozmiary czcionki. (I7290c, b/251166127)
Wersja 1.4.0-alpha01
24 stycznia 2024 r.
Publikacja androidx.wear.compose:compose-*:1.4.0-alpha01 Wersja 1.4.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy animację wejścia do
SwipeDismissableNavHostw przypadku przejść w aplikacji.(cfeb79a) PositionIndicatorjest teraz domyślnie wyświetlana, gdy ekran pojawia się po raz pierwszy. Ta zmiana została wprowadzona, aby pomóc w spełnianiu wskazówek dotyczących jakości Wear. Oznacza to, że testy zrzutów ekranu na ekranach zawierającychPositionIndicatorbędą musiały zostać zaktualizowane, ponieważ wcześniejPositionIndicatornie były wyświetlane. (419cef7)
Zmiany w interfejsie API
- Dodaliśmy nowy interfejs API efektu falowania w bibliotekach
wear:compose-materialiwear:compose-material3, który zastępuje wycofany interfejsrememberRipple. Dodaje też tymczasoweCompositionLocal,LocalUseFallbackRippleImplementation, aby przywrócić komponenty Material do korzystania z wycofanych interfejsówrememberRipple/RippleThemeAPI. Zostanie on usunięty w kolejnej stabilnej wersji i ma być tylko tymczasowym ułatwieniem migracji w przypadkach, gdy podajesz niestandardowy znakRippleTheme. Więcej informacji o migracji i szczegółowe wyjaśnienie tej zmiany znajdziesz na stronie developer.android.com. (af92b21) - Zaktualizowaliśmy
ColorScheme, aby był niezmienny, co sprawia, że indywidualne aktualizacje kolorów są mniej wydajne, ale częstsze używanie kolorów jest bardziej wydajne. Uzasadnieniem tej zmiany jest fakt, ż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ń. (f5c48b7) - Komponenty Wear Material i Wear Material3, które w swoim interfejsie API udostępniały wartość
MutableInteractionSource, zostały zaktualizowane tak, aby udostępniać wartośćMutableInteractionSourcez możliwością przypisania 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 wewnątrz komponentu. Ustawienie wartości null pozwala niektórym komponentom nigdy nie przydzielaćMutableInteractionSource, a innym tworzyć instancję tylko wtedy, gdy jest to potrzebne, co zwiększa wydajność tych komponentów. Jeśli nie używasz elementuMutableInteractionSourceprzekazywanego do tych komponentów, zalecamy przekazywanie zamiast niego wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (f8fa920) - Zaktualizowaliśmy
rememberExpandableState, aby zapisywać stan rozwinięty. Dzięki temu dane są zapisywane podczas przechodzenia do innego ekranu i przywracane po powrocie do ekranu pierwotnego. (5c80095)
Poprawki błędów
- Zaktualizowaliśmy ustawienie
ReduceMotion, aby używać odbiornika uwzględniającego cykl życia. (7c6b122) - Zaktualizowaliśmy komponent Listener w
TouchExplorationStateProvider, aby uwzględniał cykl życia (be28b01). - Usunęliśmy warstwę materialcore dla
CompactButton, aby poprawić wydajność (25db8e9). - Ulepszyliśmy funkcję
BasicSwipeToDismissBox, aby była bardziej odporna na przesunięcia NaN i nie powodowała wyjątków (b983739). - Zaktualizowaliśmy
BasicSwipeToDismissBox, aby wartości alfa mieściły się w zakresie 0,1. - Naprawiliśmy błąd w
ToggleButton,SplitToggleButton,Checkbox,SwitchiRadioButton, aby komunikaty dotyczące ułatwień dostępu nie były powtarzane (wcześniej role semantyczne były duplikowane) (d11eeb7).
Wersja 1.3
Wersja 1.3.1
3 kwietnia 2024 r.
Publikacja androidx.wear.compose:compose-*:1.3.1 Wersja 1.3.1 zawiera te zmiany.
Poprawki błędów
- Naprawiliśmy błąd w funkcji przesuwania w celu wyświetlenia, który umożliwiał interakcję z zatwierdzonym działaniem na jednym elemencie (i jego anulowanie) poprzez rozpoczęcie przesuwania innego elementu. (Ide059)
Wersja 1.3.0
24 stycznia 2024 r.
Publikacja androidx.wear.compose:compose-*:1.3.0 Wersja 1.3.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.2.0
- Klasa
SwipeToDismissBoxState, wyliczenieSwipeToDismissValuei funkcja rozszerzeniaModifier.edgeSwipeToDismissnależą teraz do pakietuandroidx.wear.compose.foundation, a nie do pakietuandroidx.wear.compose.material. Ta zaktualizowana architektura umożliwia implementowanie obsługi gestów niezależnie od innych kwestii związanych z projektowaniem. Procesy Material Design, takie jak stosowanie kolorów z skonfigurowanego motywu, są obsługiwane oddzielnie. - Klasy
SwipeToRevealCardiSwipeToRevealChippomagają w implementacjirecommended swipe-to-reveal guidance. KlasaSwipeToRevealSamplepokazuje, jak używać tych komponentów. W wersji 1.3.0-alpha02 wprowadziliśmy zmianę, która powoduje, że obiekty
ChipiToggleChipzwiększają wysokość, aby lepiej obsługiwać skalowanie czcionki wybrane przez użytkownika. Może to powodować przycinanie. Aby rozwiązać ten problem, kształtlargedlaMaterialThemema teraz większy promień zaokrąglenia (26 dp zamiast 24 dp). ObiektyChipiToggleChipużywają tego nowego promienia zaokrąglenia, aby uniknąć przycinania treści w narożnikach elementu Chip iToggleChip.- Większość elementów
ChipsiToggleChipspozostaje bez zmian, ponieważ domyślna wysokość wynosi 52 dp. Jednak obiektyChipiToggleChip, które zawierają wiele wierszy tekstu etykiety głównej lub dodatkowej albo których wysokość została zastąpiona, mogą powodować niepowodzenie testów zrzutów ekranu.
- Większość elementów
Dodatkowe zmiany
Pełniejszy zestaw zmian wprowadzonych w wersji 1.3.0 znajdziesz w informacjach o wersji beta01.
Zalecenia dotyczące implementacji
- Jeśli aplikacja umożliwia użytkownikom przesuwanie treści na ekranie, np. w aplikacji opartej na mapach, wyłącz obsługę przesuwania, ustawiając wartość
userSwipeEnablednafalsew kompozycjiSwipeDismissableNavHost, i dodaj przycisk, który umożliwia użytkownikom przejście do poprzedniego ekranu. - Aby wyłączyć animacje wskaźnika pozycji podczas animacji pojawiania się i zmiany pozycji na liście przewijanej, użyj obiektu
SnapSpec. - Podczas oczekiwania na wczytanie treści do odtwarzania przez aplikację do multimediów wyświetlaj pusty komponent
Placeholder. - Aby utworzyć kolekcję elementów rozwijanych na żądanie, możesz użyć eksperymentalnej klasy
ExpandableStateMapping.
Wersja 1.3.0-rc01
10 stycznia 2024 r.
Publikacja androidx.wear.compose:compose-*:1.3.0-rc01 Wersja 1.3.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
-
Zaktualizowaliśmy
MaterialThemeduży kształt, aby używać zaokrąglonego rogu o promieniu 26 dp. Będzie on teraz używany przez element Chip iToggleChip. Ta zmiana jest potrzebna, aby umożliwić dostosowywanie wysokości, gdy zawartość wymaga dodatkowej wysokości ze względu na duże rozmiary czcionek. W przeciwnym razie obecny kształt stadionu przycina część tekstu.Ilustracja 1. Tekst przycięty na rogach. Ilustracja 2. Tekst nie jest przycięty. Ta zmiana może spowodować niepowodzenie testów zrzutów ekranu. (I2e6ae)
Wersja 1.3.0-beta02
13 grudnia 2023 r.
Publikacja androidx.wear.compose:compose-*:1.3.0-beta02 Wersja 1.3.0-beta02 zawiera te zatwierdzenia.
Poprawki błędów
- Przywróciliśmy zamierzony ruch przesuwania w
BasicSwipeToDismissBox. W poprzedniej wersji zostało to zmienione w taki sposób, że część przejścia polegająca na przesunięciu slajdu następowała, gdy palec dotykał ekranu. (Id8e76)
Wersja 1.3.0-beta01
15 listopada 2023 r.
Publikacja androidx.wear.compose:compose-*:1.3.0-beta01 Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Wersja 1.3-beta01 biblioteki Compose na Wear OS oznacza, że ta wersja biblioteki jest w pełni funkcjonalna, a interfejs API jest zablokowany (z wyjątkiem miejsc oznaczonych jako eksperymentalne). Wear Compose 1.3 zawiera te nowe funkcje:
SwipeToDismissBoxState,SwipeToDismissValueiModifier.edgeSwipeToDismisszostały przeniesione zandroidx.wear.compose.materialdoandroidx.wear.compose.foundationwraz z implementacją funkcji przesuwania w celu zamknięcia wBasicSwipeToDismissBox. Dzięki temu obsługę gestów w przypadku odrzucania przez przesunięcie można stosować niezależnie od Material Design, np. wSwipeDismissableNavHostwandroidx.wear.compose.navigation.SwipeToDismissBoxzandroidx.wear.compose.materialnadal zaleca się używać z Material Design, ponieważ pobiera kolory zMaterialTheme, a następnie przekazuje pozostałą część implementacji doBasicSwipeToDismissBox.SwipeDismissableNavHostobsługuje teraz nowy parametruserSwipeEnabled, dzięki czemu można wyłączyć obsługę gestów przesuwania na ekranach, na których nie jest ona wymagana.BasicSwipeToDismissBoxulepszyło obsługę ostrości za pomocąHierarchicalFocusCoordinator.SwipeToRevealma nowe komponentySwipeToRevealCardiSwipeToRevealChipw Material Design, które są zgodne z zalecanymi wytycznymi UX dotyczącymiCardiChip. Obsługuje też cofanie działania dodatkowego.DefaultTextStylewyłącza teraz dopełnianie czcionki, aby zapewnić spójność na całej platformie Android.ChipiToggleChipdostosowują teraz swoją wysokość do treści, które urosły z powodu dużych czcionek ułatwiających dostęp.PositionIndicatorma teraz osobne specyfikacje animacji dla animacji pojawiania się, znikania i zmiany pozycji. Ze względu na wydajność zalecamy wyłączenie efektu pojawiania się i zmiany pozycji w przypadku korzystania z list przewijanych.ExpandableStateMappingzapewnia nowy sposób generowaniaExpandableStates, gdy trzeba je utworzyć na żądanie, a niekoniecznie w zakresie@Composable.Placeholderumożliwia teraz resetowanie, jeśli treści nie są już w stanie gotowości. Ustawienie ograniczenia ruchu jest teraz stosowane do efektu połyskiwania i ruchu wycierania naPlaceholder.
Znane problemy
PositionIndicatornie jest początkowo wyświetlana, gdy ekran pojawia się po raz pierwszy. Planujemy wprowadzić zmianę w wersji alfa 1.4, aby początkowo była wyświetlana, ale bez animacji.
Zmiany w interfejsie API
- Zmieniliśmy nazwę poziomu podstawowego
SwipeToDismissBoxnaBasicSwipeToDismissBox. Dzięki temu wyraźniej widać różnicę między komponentem poziomu podstawowego a komponentem poziomu materiałuSwipeToDismissBox. Ten drugi pobiera kolory zMaterialTheme, aby używać ich w warstwach przyciemniających, a pozostałą część implementacji przekazuje doBasicSwipeToDismissBox. (Ibecfc) - Oznaczyliśmy
rememberExpandableStateMappingjako eksperymentalne i poprawiliśmy skutecznośćexpandableItem. (I5f6bc) - Zastąpiliśmy klasę
SwipeToRevealActionw interfejsach MaterialSwipeToRevealCard i Chip API interfejsem opartym na slotach, który korzysta z funkcji kompozycyjnychSwipeToRevealPrimaryAction,SwipeToRevealSecondaryActioniSwipeToRevealUndoAction. Przykłady użycia nowego interfejsu API znajdziesz w przykładowym kodzie. (Ia8943) - Zastąpiliśmy flagi animacji
PositionIndicatorparametramiAnimationSpec. Poszczególne animacje można wyłączyć, przekazując wartośćsnapjako parametrAnimationSpec. (I6c523)
Poprawki błędów
- Naprawiliśmy błąd wywoływany przez ograniczony tekst zakrzywiony, gdy rozmiar jest ograniczony (I50efe).
- Rozwiązaliśmy problem z potencjalnym błędem NaN związanym z
curvedComposable(I970eb). - Cofnęliśmy usunięcie animacji wyróżniającej zmianę pozycji na stronie
PositionIndicator. (Ieb424) - Usunęliśmy warstwę rdzenia materiału z elementu Material Chip, aby poprawić jego wydajność. (If2dcb)
Wersja 1.3.0-alpha08
18 października 2023 r.
Publikacja androidx.wear.compose:compose-*:1.3.0-alpha08 Wersja 1.3.0-alpha08 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaliśmy do przeciążeń funkcji
PositionIndicatorposzczególne flagi, aby kontrolować różne animacje:showFadeInAnimation,showFadeOutAnimationishowPositionAnimation. Poprzedni interfejs API został wycofany i przekazuje wywołania do nowego. Ze względu na wydajność i spójność UX, gdy elementPositionIndicatorjest używany z listą z możliwością przewijania, zalecamy wyłączenie flagshowFadeInAnimationishowPositionAnimation. JeśliPositionIndicatorjest używany jako samodzielny wskaźnik, np. do zmiany głośności, zalecamy włączenie wszystkich 3 animacji. (I44294) - Po przeniesieniu funkcji przesuwania w celu zamknięcia do komponentu
wear.compose.foundationwycofaliśmy komponenty MaterialSwipeToDismissBoxState,SwipeToDismissValueiedgeSwipeToDismiss. Zastąp je odpowiednikamiwear.compose.foundation. (Iee8c9)
Poprawki błędów
- Zaktualizowaliśmy profile bazowe bibliotek Wear Compose Foundation, Material i Navigation. (Idb060)
- Cofnęliśmy zmianę w zachowaniu elementu
PositionIndicatorwprowadzoną w poprzedniej liście zmian, która powodowała animowanie elementuPositionIndicatorpodczas początkowego wyświetlania ekranu. Podobną zmianę zamierzamy wprowadzić we wczesnej wersji alfa 1.4, tak aby początkowo wyświetlać symbolPositionIndicator, ale bez animacji. (I41843) - Rozwiązaliśmy niektóre problemy z wydajnością w
PositionIndicator. (I1c654, b/302399827) - Zoptymalizowaliśmy wydajność domyślnej implementacji dostawcy stanu eksploracji dotykowej, aby opierała się na
State<Boolean>, a nie na stanie pochodnym. (Ieec4d) - W przypadku Androida 13 i nowszych ustawiliśmy prostokąty
systemGestureExclusion. (Ib1f4b)
Wersja 1.3.0-alpha07
4 października 2023 roku
Publikacja androidx.wear.compose:compose-*:1.3.0-alpha07 Wersja 1.3.0-alpha07 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaliśmy do
PositionIndicatorposzczególne flagi, aby kontrolować różne animacje:showFadeInAnimation,showFadeOutAnimationishowPositionAnimation. Poprzedni interfejs API został wycofany i przekazuje wywołania do nowego. Ze względu na wydajność i spójność UX, gdy elementPositionIndicatorjest używany z listą z możliwością przewijania, zalecamy wyłączenie flagshowFadeInAnimationishowPositionAnimation. JeśliPositionIndicatorjest używany jako samodzielny wskaźnik, np. do zmiany głośności, zalecamy włączenie wszystkich 3 animacji. (Ia2d63)
Poprawki błędów
- Ulepszyliśmy gest przesuwania, aby wyświetlić element, dodając animację zanikania tekstu działania głównego oraz zanikanie działania dodatkowego lub zmianę skali ikony po pełnym rozwinięciu. (Ib7223)
- Zalecamy, aby działania „Przesuń, aby wyświetlić” były dostępne. Do naszych przykładów „Przesuń, aby wyświetlić” dodaliśmy niestandardowe działania ułatwień dostępu. (I42224)
- Poprawiliśmy wydajność funkcji
SwipeToDismissBox, m.in. przeprowadziliśmy refaktoryzację, aby zapewnić, że początkowa logika nie powoduje rekompozycji. ObrazSwipeToDismissBoxjest teraz rysowany na pełnym ekranie. (Ie0aa2) - Naprawiliśmy błąd, w wyniku którego ikona
PositionIndicatorznikała w nieprawidłowy sposób. (I2091a) - Zwiększona wydajność
PositionIndicatordzięki optymalizacji ponownego komponowania. Później dodaliśmy nowe flagi do sterowania animacjami (fadeIn,fadeOutipositionChange) (patrz Zmiany w interfejsie API) (Ifac7d). - Dodaliśmy testy mikroporównawcze dla
PositionIndicator(Idf875)
Wersja 1.3.0-alpha06
20 września 2023 r.
Publikacja androidx.wear.compose:compose-*:1.3.0-alpha06 Wersja 1.3.0-alpha06 zawiera te zmiany.
Poprawki błędów
- Dodaliśmy obsługę
Modifier.edgeSwipeToDismissw przypadkuSwipeToReveal. (I95774, b/293444286) - Dodaliśmy przykłady dla materiałów
SwipeToRevealChipiSwipeToRevealCard. (Ieb974) - Zaktualizowaliśmy profile bazowe bibliotek Wear Compose Foundation i Material. (I1dd1f)
Wersja 1.3.0-alpha05
6 września 2023 r.
Publikacja androidx.wear.compose:compose-*:1.3.0-alpha05 Wersja 1.3.0-alpha05 zawiera te zatwierdzenia.
Poprawki błędów
- Dodaliśmy obsługę w funkcji przesuwania, aby można było przesuwać tylko 1 element naraz. (I3cd7a)
- Ulepszyliśmy dokumentację funkcji
ScalingLazyColumnDefaults, aby lepiej odzwierciedlała jej rzeczywiste działanie. (I886d3)
Wersja 1.3.0-alpha04
23 sierpnia 2023 r.
Publikacja androidx.wear.compose:compose-*:1.3.0-alpha04 Wersja 1.3.0-alpha04 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy możliwość cofnięcia działania dodatkowego
SwipeToReveal. (I7a22d)
Zmiany w interfejsie API
- Dodaj
HorizontalPageIndicatordo biblioteki Wear Material3. (Ifee99) - Zaktualizowano narzędzia podglądu Wear Compose, aby korzystały z biblioteki
androidx.wear.tooling.preview. (Ib036e)
Poprawki błędów
- Naprawiliśmy błąd w przypadku okrągłych przycisków, który powodował, że modyfikatory nie były prawidłowo łączone w łańcuch. (I5e162)
Wersja 1.3.0-alpha03
9 sierpnia 2023 r.
Publikacja androidx.wear.compose:compose-*:1.3.0-alpha03 Wersja 1.3.0-alpha03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaliśmy 2 nowe funkcje kompozycyjne w Materialu do implementowania
SwipeToRevealza pomocą kart i elementów. Te funkcje kompozycyjne są zgodne z zalecanymi wskazówkami dotyczącymi UX w przypadku komponentu i ułatwiają deweloperom wdrażanieSwipeToRevealza pomocą istniejących komponentów w Wear Material. (I7ec65) - Włączyliśmy adnotacje
FloatRangejako ograniczenia interfejsu API, które wcześniej były podane w komentarzach. (Icb401)
Poprawki błędów
- Przenieśliśmy początkową logikę przewijania
ScalingLazyColumndoonGloballyPositioned(). (Ic90f1) - W usługach
drawWithCache,ProgressIndicatoriSelectionControlsużywamy terazPositionIndicator, aby optymalizować przydzielanie pociągnięć. (I5f225, b/288234617) - Poprawiliśmy widoczność zaznaczenia pola wyboru w stanach wyłączonych. (Ib25bf)
- Zaktualizowaliśmy
Placeholder, aby umożliwić resetowanie i wyświetlanie elementu zastępczego, jeśli treść nie jest już w stanie gotowości. (Ibd820) - Wprowadziliśmy kilka poprawek dotyczących niestabilnych testów
Placeholder(Idb560).
Wersja 1.3.0-alpha02
26 lipca 2023 r.
Publikacja androidx.wear.compose:compose-*:1.3.0-alpha02 Wersja 1.3.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Udostępniliśmy
ExpandableStateMapping, czyli nowy sposób generowaniaExpandableStatesw przypadkach, gdy trzeba je utworzyć na żądanie, a niekoniecznie w zakresie@Composable(Iff9e0). SwipeToDismissBoxzostał przeniesiony z pakietuandroidx.wear.compose.materialdo pakietuandroidx.wear.compose.foundation. (I275fb)- Zaktualizowano pliki API, aby dodać adnotacje dotyczące wyłączenia zgodności. (I8e87a, b/287516207)
- Udostępniliśmy stałe wartości wysokości dla
Chip,CompactChipiToggleChip(Idbfde). - Udostępniliśmy publicznie poziome i pionowe dopełnienie dla symboli
ChipiCompactChip. (Ieeaf7) - Dodano funkcję wyłączania obsługi przesuwania w
SwipeDismissableNavHostza pomocą nowego parametruuserSwipeEnabled. (Id2a0b, b/230865655) - Zaktualizowaliśmy bibliotekę Wear Compose Navigation, aby korzystała z nowej funkcji
SwipeToDismissBoxz biblioteki Wear Compose Foundation. (I4ff8e)
Poprawki błędów
- Rozwiązaliśmy błąd kolejności Z, który powodował, że po kliknięciu przycisku
expandedItemnie wyświetlał prawidłowej treści, gdy miał przyciski. (I1899d, b/289991514) - Poprawienie obsługi ostrości w przypadku
SwipeToDismissBox(a tym samymSwipeDismissableNavHost) za pomocąHierarchicalFocusCoordinator(I45362, b/277852486) - Wprowadziliśmy poprawkę dotyczącą obsługi gestów w
SwipeableV2. (I89737) - Ukończyliśmy tworzenie profili podstawowych dla wersji 1.2. (Id5740)
- Po migracji
SwipeToDismissBoxdo Foundation implementacja MaterialSwipeToDismissBoxprzekazuje teraz dane do Foundation i dostarcza domyślne wartości kolorów z motywu.(If8451) - Dodaliśmy do pliku
ListHeadersemantykę nagłówków. (Ic5420) ChipiToggleChipbędą teraz dostosowywać swoją wysokość do treści, które urosły z powodu dużych czcionek ułatwiających dostęp. (Iaf302)- Naprawiono błąd w roli semantycznej obszaru klikalnego
SplitToggleChipna potrzeby ułatwień dostępu. (Ieed3a) - Ustawienie ograniczenia ruchu wyłącza teraz efekt błysku i animację wycierania w przypadku elementów zastępczych. (I91046)
StepperiInlineSliderobsługują teraz powtarzane kliknięcia przy długim naciśnięciu, dzięki czemu możesz szybko zwiększać lub zmniejszać wartośćStepperiInlineSlider, przytrzymując przyciski + lub –. (I27359)
Wersja 1.3.0-alpha01
21 czerwca 2023 r.
Publikacja androidx.wear.compose:compose-*:1.3.0-alpha01 Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.
Poprawki błędów
- Zgodnie z
1.2.0-alpha07i1.2.0-alpha10zmieniamy terazDefaultTextStyle, aby wyłączyć dopełnianie czcionek i zapewnić spójność na całej platformie Android. Rozwiąże to niektóre problemy z przycinaniem tekstu przy dużych rozmiarach czcionki i może też wpłynąć na układy ekranu, więc testy zrzutów ekranu będą wymagać aktualizacji. Na przykład w tym miejscu widzimy obcięty tekst (Ic6a86).
- Gdy dopełnienie czcionki jest wyłączone, nie jest już widoczny:
- Zaktualizowaliśmy
wear.compose.foundation, aby był zależnością interfejsu APIwear.compose.material(I72004, b/285404743). - Naprawiliśmy błąd w
SwipeToDismissBox. Klucze tła i treści są teraz przekazywane do bloku zapamiętywania, dzięki czemu w przypadku zmiany treści lub tła tworzone są nowe modyfikatory. (Ib876c, b/280392104) - Zaktualizowaliśmy
TimeText, aby podczas wybierania formatu 12-godzinnego lub 24-godzinnego używać ustawień regionalnych. (If4a3d) - Naprawiliśmy niespójność w parametrach domyślnych
SwipeToDismissBoxcontentScrimColor. (I2d70f) - Ulepszyliśmy obsługę ruchu w
SwipeToReveal. (I28fb7)
Znane problemy
- Obsługa rozmiarów czcionek skonfigurowanych przez użytkownika jest wymagana ze względu na ułatwienia dostępu. Wiemy, że wielowierszowe elementy Chip mogą powodować przycinanie tekstu, gdy są wyświetlane z dużymi rozmiarami czcionki, dlatego w wersji alfa 1.3 wprowadzimy aktualizację elementu Chip, która umożliwi dostosowywanie wysokości w takich przypadkach.
Wersja 1.2
Wersja 1.2.1
18 października 2023 r.
Publikacja androidx.wear.compose:compose-*:1.2.1 Wersja 1.2.1 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiliśmy błąd, w wyniku którego usługa
PositionIndicatorznikała w nieprawidłowy sposób. (7a167f)
Wersja 1.2.0
9 sierpnia 2023 r.
Publikacja androidx.wear.compose:compose-*:1.2.0 Wersja 1.2.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.1.0
- Stabilna wersja Compose na Wear OS 1.2.0 (więcej informacji)
- Listę najważniejszych zmian w Wear Compose 1.2 znajdziesz w informacjach o wersji (Compose na Wear OS 1.2 Beta01).
Wersja 1.2.0-rc01
26 lipca 2023 r.
Publikacja androidx.wear.compose:compose-*:1.2.0-rc01 Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Ukończyliśmy tworzenie profili bazowych dla wersji 1.2 (Id5740).
Wersja 1.2.0-beta02
7 czerwca 2023 r.
Publikacja androidx.wear.compose:compose-*:1.2.0-beta02 Wersja 1.2.0-beta02 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy nową eksperymentalną zmienną
LocalReduceMotionCompositionLocal, która wyłącza skalowanie i zanikanie w przypadkuScalingLazyColumn. (I58024)
Poprawki błędów
- Zaktualizowaliśmy profile bazowe bibliotek kompozycji i materiałów na urządzenia z Wear OS(I4725d).
- Usunęliśmy niespójność w wartościach domyślnych parametrów
SwipeToDismissBoxcontentScrimColor(I2d70f). - Naprawiliśmy wartość domyślną
DefaultTextStyleużywaną w ustawieniuIncludeFontPadding(I737ed).
Wersja 1.2.0-beta01
24 maja 2023 r.
Publikacja androidx.wear.compose:compose-*:1.2.0-beta01 Wersja 1.2.0-beta01 zawiera te zatwierdzenia.
Co nowego w Compose na Wear OS 1.2
Wersja 1.2-beta01 biblioteki Compose na Wear OS oznacza, że ta wersja biblioteki jest w pełni funkcjonalna, a interfejs API jest zablokowany (z wyjątkiem elementów oznaczonych jako eksperymentalne). Wear Compose 1.2 zawiera te nowe funkcje:
expandableItemiexpandableItemsto 2 nowe komponentyFoundation, które umożliwiają rozwijanie elementów wScalingLazyColumn. UżyjexpandableItemw przypadku pojedynczego elementu rozwijanego, np. tekstu, w którym liczba wierszy. Użyj symboluexpandableItemsw przypadku grupy elementów, które można rozwinąć, a symboluexpandableButton, aby uprościć tworzenie przycisku, który zwija się po rozwinięciu treści.HierarchicalFocusCoordinator– ten eksperymentalny komponent umożliwia oznaczanie poddrzew kompozycji jako włączonych lub wyłączonych pod kątem fokusu.Picker– interfejs API zawiera terazuserScrollEnabled, aby określać, czy selektor jest aktywny podczas przewijania przez użytkownika.PickerGroup– nowy komponent do obsługi wielu selektorów jednocześnie. Obsługuje on przenoszenie fokusu między selektorami za pomocą interfejsuHierarchicalFocusCoordinatorAPI i umożliwia automatyczne wyśrodkowywanie elementów selektora.Placeholder– wprowadziliśmy zmiany w animacjach połysku i „wycierania”. Efekt wycierania jest teraz stosowany natychmiast po przygotowaniu treści.ScalingLazyColumn– przenieśliśmyScalingLazyColumni powiązane z nim klasy zandroidx.wear.compose.material.ScalingLazyColumndoandroidx.wear.compose.foundation.lazy.ScalingLazyColumn. Zaktualizuj aplikację, aby korzystać z wersjiFoundation.Lazy.SwipeToReveal– dodaliśmy eksperymentalną obsługę gestu przesuń, aby wyświetlić jako sposób dostępu do działań dodatkowych, uzupełniając dotychczasowy wzorzec „długie naciśnięcie”.Stepper– ma teraz przeciążenie z dodatkowym parametremenableRangeSemantics, który umożliwia wyłączenie domyślnej semantyki zakresu.Previews– dodaliśmy te niestandardowe adnotacje do wyświetlania podglądu funkcji kompozycyjnych na ekranach urządzeń z Wear OS:WearPreviewSmallRoundwyświetla podgląd funkcji kompozycyjnej na małym, okrągłym urządzeniu;WearPreviewLargeRoundwyświetla podgląd funkcji kompozycyjnej na dużym, okrągłym urządzeniu;WearPreviewSquarewyświetla podgląd funkcji kompozycyjnej na kwadratowym urządzeniu. Oprócz tego adnotacje dotyczące podglądu i podglądu wielu elementów:WearPreviewFontScaleswyświetla podgląd komponentów kompozycyjnych na urządzeniu do noszenia z różnymi rozmiarami czcionek, aWearPreviewDeviceswyświetla podgląd komponentów kompozycyjnych na różnych urządzeniach do noszenia.- Dodaliśmy do Wear Compose adnotację
DefaultTextStyle, która domyślnie ustawia wartość właściwościPlatformTextStyle.includeFontPaddingna „true” (jest to obecne ustawienie). Dzięki temu będziemy mogli zsynchronizować domyślne wyłączanie dopełniania czcionek z bibliotekami Compose we wczesnej wersji alfa 1.3. Więcej informacji znajdziesz w wersji 1.2.0-alpha10.
Nowe funkcje
- Dodaliśmy eksperymentalną obsługę wyłączonego skalowania i animacji zanikania, gdy włączone jest ustawienie reduce_motion. (I58024)
Poprawki błędów
- Ulepszona dokumentacja
angularWidthDpwCurvedSize.kt(Iab75c) SwipeDismissableNavHostrejestruje teraz ostrzeżenie z potencjalnymi przyczynami pustego stosu wstecznego. Zapobiega to nieoczekiwanym awariom spowodowanym przez błądIllegalArgumentException, który był zgłaszany, gdy stos wsteczny był pusty. (I04a81, b/277700155)
Wersja 1.2.0-alpha10
10 maja 2023 r.
Publikacja androidx.wear.compose:compose-*:1.2.0-alpha10 Wersja 1.2.0-alpha10 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy obsługę funkcji Przesuń, aby wyświetlić, która umożliwia dostęp do działań dodatkowych. Ten wzorzec uzupełnia wzorzec „długiego naciśnięcia”, czyli dotychczasowy sposób, w jaki użytkownik mógł wyświetlać (inne) działania dodatkowe. (I60862)
Zmiany w interfejsie API
- Dodaliśmy
RevealScopedo komponentów kompozycyjnych działań wSwipeToReveal, co daje dostęp do przesunięcia, przy którym ujawniają się dodatkowe działania. (I3fd56)
Poprawki błędów
- Rozwiązano problem z zablokowaniem
ScalingLazyColumnna Wear API 33 po przesunięciu (Ic4599). - Wprowadziliśmy ulepszenia wydajności
PositionIndicator, aby zmniejszyć zacinanie się. (I35e92) - Naprawiliśmy błąd w komponencie Chip i
CompactChip, który powodował, że rola semantyczna nie była już ustawiana naRole.Button. (I93f91, b/277326264)
Znane problemy
Wykryliśmy błąd w Android Studio, który powoduje niepowodzenie renderowania podglądu, gdy jest on oznaczony adnotacjami @WearPreviewDevices i @WearPreviewFontScales. Wkrótce udostępnimy poprawkę. Pamiętaj, że pozostałe adnotacje podglądu Wear działają zgodnie z przeznaczeniem w Android Studio Giraffe 2022.3.1 i nowszych wersjach.
W wersji 1.2.0-alpha07 dodaliśmy do Wear Compose element DefaultTextStyle, zachowując dotychczasową wartość PlatformTextStyle.includeFontPadding jako true. Więcej informacji znajdziesz w artykule Fix font padding in Compose (Poprawianie dopełnienia czcionki w Compose). W jednej z wczesnych wersji alfa 1.3 zmienimy DefaultTextStyle, aby wyłączyć dopełnienie czcionki i zapewnić spójność na całej platformie Androida. Rozwiąże to problem z obcinaniem tekstu przy dużych rozmiarach czcionki i może też wpłynąć na układy ekranu, więc testy zrzutów ekranu będą wymagać aktualizacji. Na przykład przy dużych rozmiarach czcionki tekst jest ucięty:
- Gdy dopełnienie czcionki jest wyłączone, nie jest już widoczny:
Nowe ustawienie można teraz zastosować, zastępując typografię w motywie – zobacz przykładowy kod.
Wersja 1.2.0-alpha09
19 kwietnia 2023 r.
Publikacja androidx.wear.compose:compose-*:1.2.0-alpha09 Wersja 1.2.0-alpha09 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaj
angularSizeDpdoCurvedModifierapi, aby ustawić szerokość kątową w DP (I89a52)
Poprawki błędów
- Rozwiązaliśmy problemy z dostępnością w naszych wersjach demonstracyjnych selektora czasu(Id0eb7).
Wersja 1.2.0-alpha08
5 kwietnia 2023 r.
Publikacja androidx.wear.compose:compose-*:1.2.0-alpha08 Wersja 1.2.0-alpha08 zawiera te zmiany.
Zmiany w interfejsie API
- Zmieniliśmy nazwę
ExpandableItemsStatenaExpandableState. (If85ea) - Dodaliśmy
expandableButton, aby uprościć tworzenie przycisku, który zwija się po rozwinięciu treści. Zaktualizowaliśmy też przykłady elementów rozwijanych. (Iae309)
Poprawki błędów
- Ulepszone rozwijane przykłady, które pokazują więcej możliwości. Zmodyfikowano animację
expandableItem, aby jej zawartość była wyśrodkowana przez cały czas trwania animacji. (I2f637) - Zaktualizowano
ToggleControls, aby uniknąć dodatkowych ponownych kompozycji podczas ręcznego animowania kolorów za pomocą stanu. (I5d319)
Wersja 1.2.0-alpha07
22 marca 2023 r.
Publikacja androidx.wear.compose:compose-*:1.2.0-alpha07 Wersja 1.2.0-alpha07 zawiera te zmiany.
Zmiany w interfejsie API
- Przenieśliśmy komponenty rozwijanego elementu (dodane w wersji 1.2.0-alpha06) z biblioteki Material do biblioteki Foundation, ponieważ nie miały one znaczącego odniesienia do
MaterialTheme. (Ib0525)
Poprawki błędów
- Rozwiązaliśmy problem z awarią, która występowała na ekranie korzystającym z
PickerGroup. Zapewniliśmy, żePickerGroupprawidłowo obsługuje fokus, gdy żaden selektor nie jest aktywny. Dodaliśmy też obsługę przewijania RSB w naszych wersjach demonstracyjnych selektora. (If8c19) - Ulepszyliśmy przejścia w oknach dialogowych – przejście wprowadzające jest teraz płynniejsze i dopasowane do przejścia końcowego. (Ib5af9)
- Dodaliśmy do Wear Compose adnotację
DefaultTextStyle, która domyślnie ustawia właściwośćPlatformTextStyle.includeFontPaddingna wartość „true” (jest to obecne ustawienie). Dzięki temu w przyszłości będziemy mogli domyślnie synchronizować wyłączanie dopełniania czcionek z bibliotekami Compose. Więcej informacji znajdziesz w artykule Fix font padding in Compose (Naprawianie dopełniania czcionek w Compose). (I2aee8) - Cofnięto zależność podglądu
UpsideDownCakeza pomocą activity-compose, która blokowała publikowanie aplikacji w Sklepie Google Play. (I6443d)
Wersja 1.2.0-alpha06
8 marca 2023 r.
Publikacja androidx.wear.compose:compose-*:1.2.0-alpha06 Wersja 1.2.0-alpha06 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaj komponent
CurvedBox, który umieszcza komponenty jeden na drugim w zakrzywionym świecie. (I29200) - Dodano rozwijane elementy – 2 nowe komponenty obsługujące grupę rozwijanych elementów w
ScalingLazyColumnlub rozwijany pojedynczy element, np. tekst, w którym zwiększa się liczba wierszy. (I95dd5) - Dodaliśmy te niestandardowe adnotacje do wyświetlania podglądu funkcji kompozycyjnych na ekranach urządzeń z Wear OS:
WearPreviewSmallRoundwyświetla podgląd funkcji kompozycyjnej na małym, okrągłym urządzeniu;WearPreviewLargeRoundwyświetla podgląd funkcji kompozycyjnej na dużym, okrągłym urządzeniu;WearPreviewSquarewyświetla podgląd funkcji kompozycyjnej na kwadratowym urządzeniu. Oprócz tego adnotacje dotyczące podglądu i podglądu wielu elementów:WearPreviewFontScaleswyświetla podgląd komponentów kompozycyjnych na urządzeniu do noszenia z różnymi rozmiarami czcionek, aWearPreviewDeviceswyświetla podgląd komponentów kompozycyjnych na różnych urządzeniach do noszenia. Aby korzystać z tych podglądów, musisz używać najnowszej wersji Android Studio (Giraffe Canary 6) lub nowszej. Pamiętaj, że jeśli te adnotacje nie odpowiadają Twoim potrzebom, nadal możesz używać podglądu i dostosowywać go za pomocą parametrów. (I397ff) - Oznaczyliśmy
HierarchicalFocusCoordinatorjako eksperymentalną, ponieważ ze względu na szerokie zastosowanie rozważamy przeniesienie jej do podstawowych bibliotek Compose. (I3a768)
Poprawki błędów
- Naprawiliśmy błąd w
HierarchicalFocusCoordinator, który powodował, że po zmianie funkcji lambda przekazywanej w parametrzefocusEnablednie używaliśmy nowej funkcji. (Icb353) - Zaktualizowaliśmy domyślny kolor wyłączonych treści na kolor tła, gdy jako tło w usługach
Button,CompactButton,Chip,CompactChipiToggleButtonużywane są kolory podstawowe. Poprawia to kontrast, co ułatwia dostęp. (I527cc)
Wersja 1.2.0-alpha05
22 lutego 2023 roku
Publikacja androidx.wear.compose:compose-*:1.2.0-alpha05 Wersja 1.2.0-alpha05 zawiera te zmiany.
Zmiany w interfejsie API
- Zaktualizowano interfejs
PickerGroupAPI, aby umożliwić opcjonalne propagowanie minimalnych ograniczeń do komponentu. Jeśli ten parametr ma wartość Prawda, wPickerGroupbędą dozwolone minimalne ograniczenia przekazane z elementu kompozycyjnego nadrzędnego. Jeśli ma wartość „false”,PickerGroupzresetuje minimalne ograniczenia. (I3e046) - Dodaliśmy do interfejsu Picker API parametr
animateScrollToOption, aby obsługiwać programową animację do określonej opcji selektora (I6fe67).
Poprawki błędów
- Zaktualizowaliśmy
HorizontalPageIndicator, aby obsługiwać układy od prawej do lewej. (Ia4359) - Dodano testy zrzutów ekranu dla układu od prawej do lewej w
HorizontalPageIndicator(I6fbb8) - Dodano kolejne testy do
SwipeDismissableNavHostTest, które korzystają zTestNavHostController(I61d54)
Wersja 1.2.0-alpha04
8 lutego 2023 r.
Publikacja androidx.wear.compose:compose-*:1.2.0-alpha04 Wersja 1.2.0-alpha04 zawiera te zmiany.
Nowe funkcje
PickerGroupdo obsługi wielu selektorów jednocześnie za pomocą interfejsu API fokusu. Zarządza on przenoszeniem fokusu między różnymi selektorami, umożliwia automatyczne wyśrodkowywanie selektorów na podstawie parametrów i pozwala programistom zmieniać fokus między różnymi selektorami podczas obsługi zdarzeń z grupy. W trybie TalkBack elementPickerGroupobsługuje zaznaczenie przez TalkBack, przenosząc zaznaczenie na wybrany selektor z grupy. (I60840)
Zmiany w interfejsie API
- Dodaliśmy do komponentu Stepper przeciążenie z dodatkowym parametrem
enableRangeSemantics, aby ułatwić wyłączanie domyślnej semantyki zakresu (Ia61d4).
Poprawki błędów
- Zezwalaj na zagnieżdżanie elementu
ScalingLazyColumnna stronie przewijanej w poziomie (Iec3f8, b/266555016) - Ulepszenie dokumentacji Stepper i
StepperTestoczyszczenie testów. (Ic118e) - Zaktualizowano zależność
androidx.navigationdo wersji 2.5.3 (If58ed)
Wersja 1.2.0-alpha03
25 stycznia 2023 r.
Publikacja androidx.wear.compose:compose-*:1.2.0-alpha03 Wersja 1.2.0-alpha03 zawiera te zmiany.
Zmiany w interfejsie API
- Przenieśliśmy
ScalingLazyColumn(i powiązane z nim klasy) zandroidx.wear.compose.material.ScalingLazyColumndoandrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn(przykład migracji znajdziesz tutaj). Nowa lokalizacja jest bardziej zbliżona do lokalizacjicompose.foundation.lazy.LazyColumni bardziej naturalna, ponieważ nie jest to komponent Material. Zmiana jest wprowadzana teraz w ramach przygotowań do nowej biblioteki Material3, nad którą będziemy pracować równolegle z dotychczasową biblioteką Material. (I060e7)
W ramach migracji ScalingLazyColumn z Material Design do Foundation.Lazy wprowadziliśmy te zmiany:
PositionIndicatorInterfejsy API kierowane na MaterialScalingLazyColumnzostały wycofane. Zaktualizuj je do wersjiFoundation.Lazy ScalingLazyColumn. Dodatkowo doScalingLazyListLayoutInfododano poleanchorType. (I29d95)ScalingLazyColumnzostał oznaczony jako wycofany w pakiecie Wear Compose Material (I16d34).- Zaktualizowaliśmy modyfikator
ScrollAway, aby używaćScalingLazyListStatez Wear ComposeFoundation.Lazy, i wycofaliśmy przeciążenie, które pobierałoScalingLazyListStatez Wear Compose Material. (Ifc42c) - Zaktualizowaliśmy interfejsy API okien dialogowych, aby używały
ScalingLazyListStatezFoundation.Lazy, i wycofaliśmy przeciążenia, które używały komponentu MaterialScalingLazyListState(Ic8960). - Zaktualizowaliśmy interfejsy Picker API, aby używać
ScalingParamszamiastFoundation.Lazy, i wycofaliśmy przeciążenia, które używałyScalingParamsMaterial. (Idc3d8)
Poprawki błędów
- Naprawiliśmy błąd, który powodował niepotrzebne ponowne kompozycje w
ScalingLazyListState.centerItemIndex. Zapewniliśmy, że aktualizacje są przesyłane tylko wtedy, gdy wartość faktycznie się zmienia (Ia9f38). - Poprawiliśmy wydajność
SwipeToDismissBox(I3933b). - Dodano testy porównawcze dla
ScalingLazyColumnw Wear Compose Foundation (Ie00f9) - Zaktualizowaliśmy niektóre wewnętrzne metody klas
ScalingLazyColumnw Material, aby używać ich odpowiedników zFoundation.Lazy(I38aab). - Rozwiązaliśmy kilka problemów w testach selektora i dodaliśmy więcej testów sprawdzających przewijanie z przesunięciem (I6ac34).
- Przenieśliśmy
ScalingLazyColumndemonstracje integracji, aby były zależne odFoundation.Lazy, a nie od MaterialScalingLazyColumn(Ic6caa). - Do naszej wersji demonstracyjnej
DatePicker(I961cd) dodaliśmy opcjonalne parametryfromDate/toDate.
Wersja 1.2.0-alpha02
11 stycznia 2023 r.
Publikacja androidx.wear.compose:compose-*:1.2.0-alpha02 Wersja 1.2.0-alpha02 zawiera te zmiany.
Zmiany w interfejsie API
- Testy interfejsu Android Compose będą teraz uruchamiać przebiegi układu dla każdej klatki podczas wykonywania klatek, aby przejść do stanu bezczynności (np. za pomocą
waitForIdle). Może to mieć wpływ na testy, które sprawdzają poszczególne klatki animacji układu. (I8ea08, b/222093277) - Do Wear Text dodano parametr
minLines, aby zapewnić spójne działanie z parametremBasicText(I24874). CompactChipTapTargetPaddingzostał(a) udostępniony(a) publicznie, aby pojawiał się w dokumentacji (If1e70, b/234119038).
Poprawki błędów
- Wyłączanie kompilacji wieloplatformowych dla pakietów
wear.compose(Iad3d7) - Poprawianie dokumentów w usłudze KDocs w przypadku
scrollToOption(I6f9a0) PlaceholderState.rememberPlaceholderState()zaktualizowano, aby używaćrememberUpdatedState, dzięki czemu stan będzie się aktualizować, jeślionContentReadylambda. (I02635, b/260343754)- Rozwiązaliśmy problem z drganiem tekstu w komponencie
Picker, korzystając z nowej strategii kompozycji dodanej doModifier.graphicsLayer. (I99302) - Naprawiliśmy błąd, który powodował migotanie w naszej wersji demonstracyjnej
DatePicker(I660bd). - Ulepszyliśmy dostępność wersji demonstracyjnych selektora daty i godziny w formacie 12-godzinnym (I05e12).
- Zaktualizowaliśmy wersje demonstracyjne selektora daty i godziny, aby nie były one modyfikowane przez zmiany w RSB, gdy nie są wybrane (I4aecb).
Wersja 1.2.0-alpha01
7 grudnia 2022 r.
Publikacja androidx.wear.compose:compose-*:1.2.0-alpha01 Wersja 1.2.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Zaktualizowaliśmy eksperymentalną funkcję elementu zastępczego, aby efekt „Ścieranie” był stosowany natychmiast po przygotowaniu treści, a nie po rozpoczęciu kolejnej pętli animacji. Wprowadziliśmy też pewne zmiany w animacjach połysku i wycierania. (I5a7f4)
Zmiany w interfejsie API
- Dodaliśmy funkcję
HierarchicalFocusCoordinatorcomposable, która umożliwia oznaczanie poddrzew kompozycji jako włączonych lub wyłączonych pod kątem fokusu.(I827cb) - Dodaliśmy nową właściwość, która zastępuje rolę semantyczną elementu
ToggleButton.(I67132) - Zaktualizowaliśmy
TimeTextDefaults.TimeFormat12Hours, aby usunąć AM/PM wTimeText. Spowoduje to zmianę domyślnej wartości parametrówtimeSourcew interfejsieTimeTextAPI. (I1eb7f) - Rozszerzyliśmy interfejs Picker API, aby poprawić dostępność ekranów z wieloma selektorami. Dodaliśmy nową właściwość
userScrollEnabled, która określa, czy selektor jest aktywny podczas przewijania przez użytkownika. (I3c3aa)
Poprawki błędów
- Zmieniliśmy domyślną szerokość obramowania elementu
OutlinedButton/OutlinedCompactButtonz 2 dp na 1 dp, aby była zgodna ze specyfikacjami UX. (Icf84d) - Aby zmniejszyć efekt pierwszego elementu dodanego do pustej listy
ScalingLazyColumn, który wydaje się przewijać na miejsce, dodaliśmy szacunkową wartośćautoCentering topPadding, gdy zawartość jest pusta. Ta zmiana oblicza ilość dopełnienia u góry potrzebnego przy założeniu, że początkowy element ma wysokość 0 dp. W przypadkuScalingLazyListAnchorType.ItemStartobliczy to prawidłowe dopełnienie u góry, a w przypadkuScalingLazyListAnchorType.ItemCenterobliczenia będą nieprawidłowe, ponieważ do prawidłowego określenia rozmiaru treści potrzebna jest wysokość elementów, co spowoduje niewielki efekt przewijania na miejsce na podstawie rzeczywistej wysokości elementów.(I239a4) - Zaktualizowaliśmy tło zastosowane w animacji
SwipeToDismiss, aby pasowało do platformy Wear. (I9003e) - Naprawiliśmy obsługę
PositionIndicatorw przypadkuLazyListStateiScalingLazyListStatedla elementów listy o rozmiarze 0, aby uniknąć błędów dzielenia przez zero.(Ic28dd)
Wersja 1.1
Wersja 1.1.2
8 lutego 2023 r.
androidx.wear.compose:compose-foundation:1.1.2, androidx.wear.compose:compose-material:1.1.2 i androidx.wear.compose:compose-navigation:1.1.2 są udostępnione. Wersja 1.1.2 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiliśmy błąd, który powodował niepotrzebne ponowne komponowanie w
ScalingLazyListState.centerItemIndex. Zapewniliśmy, że aktualizacje są przesyłane tylko wtedy, gdy wartość faktycznie się zmienia (Ia9f38).
Wersja 1.1.1
11 stycznia 2023 r.
androidx.wear.compose:compose-foundation:1.1.1, androidx.wear.compose:compose-material:1.1.1 i androidx.wear.compose:compose-navigation:1.1.1 są udostępnione. Wersja 1.1.1 zawiera te zatwierdzenia.
Poprawki błędów
PlaceholderState.rememberPlaceholderState()zaktualizowano, aby używaćrememberUpdatedState, dzięki czemu stan będzie się aktualizować, jeślionContentReadylambda. (I02635, b/260343754)
Wersja 1.1.0
7 grudnia 2022 r.
androidx.wear.compose:compose-foundation:1.1.0, androidx.wear.compose:compose-material:1.1.0 i androidx.wear.compose:compose-navigation:1.1.0 są udostępnione. Wersja 1.1.0 zawiera te zmiany.
Ważne zmiany od wersji 1.0.0
- Stabilna wersja Compose na Wear OS 1.1.0 (więcej informacji).
- Listę najważniejszych zmian w Wear Compose 1.1 znajdziesz w informacjach o wersji (Compose na Wear OS 1.1 Beta01).
Nowe funkcje
- Zaktualizowaliśmy eksperymentalną funkcję elementu zastępczego, aby efekt „Ścieranie” był stosowany natychmiast po przygotowaniu treści, a nie po rozpoczęciu kolejnej pętli animacji. Wprowadziliśmy też pewne zmiany w animacjach połysku i wycierania. (I5a7f4)
Poprawki błędów
- Zmieniliśmy domyślną szerokość obramowania elementu
OutlinedButton/OutlinedCompactButtonz 2 dp na 1 dp, aby była zgodna ze specyfikacjami UX. (Icf84d) - Aby zmniejszyć efekt pierwszego elementu dodanego do pustego kontenera
ScalingLazyColumn, który wydaje się przewijać na miejsce, dodaliśmy szacunkową wartośćautoCentering topPadding, gdy kontener jest pusty. Ta zmiana oblicza ilość dopełnienia u góry, zakładając, że początkowy element ma wysokość 0 dp. W przypadkuScalingLazyListAnchorType.ItemStartobliczy to prawidłowy górny odstęp, a w przypadkuScalingLazyListAnchorType.ItemCenterobliczenia będą nieprawidłowe, ponieważ do prawidłowego określenia rozmiaru treści potrzebna jest wysokość elementów, co spowoduje niewielkie przewijanie do miejsca docelowego na podstawie rzeczywistej wysokości elementów.(I239a4) - Zaktualizowaliśmy tło zastosowane do animacji
SwipeToDismiss, aby pasowało do platformy Wear.(I9003e) - Naprawiliśmy w
PositionIndicatorobsługęLazyListStateiScalingLazyListStatew przypadku elementów listy o rozmiarze 0, aby uniknąć błędów dzielenia przez zero.(Ic28dd)
Wersja 1.1.0-rc01
9 listopada 2022 r.
androidx.wear.compose:compose-foundation:1.1.0-rc01, androidx.wear.compose:compose-material:1.1.0-rc01 i androidx.wear.compose:compose-navigation:1.1.0-rc01 są udostępnione. Wersja 1.1.0-rc01 zawiera te zmiany.
Poprawki błędów
- Dodaliśmy podstawowe reguły profilu dla
Placeholders,ScrollAway,RadioButton,Switch,Checkbox,OutlinedButton,OutlinedCompactButton,OutlinedChipiOutlinedCompactChip. (I8249c) - Naprawiliśmy błąd w
Modifier.scrollAway, dzięki czemu jeśli określony elementitemIndexjest nieprawidłowy (np. jeśli indeks elementu jest poza zakresem), elementTimeTextbędzie nadal wyświetlany. (I2137a) - Zaktualizowaliśmy
SwipeToDismissBoxanimację, aby była zgodna z implementacją na platformie. Po początkowej animacji ściśnięcia ekran przesuwa się w prawo po wywołaniu zamknięcia. (I41d34) - W celu optymalizacji zaktualizowaliśmy
Modifier.scrollAway, aby odczytywać tylkoscrollStatew bloku miary, co pozwala uniknąć ponownego komponowania modyfikatora po każdym ponownym pomiarze. (I4c6f1) - Dodaliśmy dokumentację i przykłady dotyczące elementów zastępczych, aby pokazać prawidłową kolejność elementów
Modifier.placeholderiModifier.placeholderShimmerw przypadku zastosowania ich w tym samym komponencie. (Ie96f4, b/256583229) - Zmieniliśmy domyślną szerokość obramowania elementu
OutlinedCompactChip/OutlinedChipz 2 dp na 1 dp, aby była zgodna ze specyfikacjami UX. (Ib3d8e) - Naprawiliśmy błąd w
rememberPickerState, który powodował, że zaktualizowane dane wejściowe nie były zapisywane, więc elementy kompozycyjne nie były aktualizowane po zmianach danych wejściowych. (I49ff6, b/255323197) - Wprowadziliśmy kilka zmian w interfejsie użytkownika dotyczących elementów zastępczych: 1) zmieniliśmy gradient połysku na 1, 5-krotność rozmiaru ekranu, 2) dodaliśmy funkcję łagodzenia (krzywa Beziera) progresji połysku i 3) przyspieszyliśmy animację wymazywania (250 ms). (Id29c1)
- Naprawiliśmy błąd interfejsu w efekcie wymazywania elementu zastępczego, w którym tła komponentów Chip i Card były wymazywane nieco wcześniej, ponieważ nie uwzględniały pozycji komponentu na ekranie. (I2c7cb)
- Zaktualizowaliśmy rysowanie tła elementu zastępczego, aby w miarę możliwości łączyć kolory, a nie nakładać ich na siebie. Zmniejsza to ryzyko mieszania alfa różnych przyciętych warstw, które mogłoby powodować przenikanie kolorów tła na krawędziach elementu zastępczego. (I2ea26)
- Poprawiliśmy obliczanie wartości
ScalingLazyListState.centerItemIndex/centerItemOffset, tak aby w przypadku, gdy 2 produkty znajdują się po obu stronach linii środkowej obszaru wyświetlania, zacenterItemuznawany był produkt znajdujący się bliżej. (I30709, b/254257769) - Usunęliśmy błąd w
ScalingLazyListState.layoutInfo.visibleItemsInfo, który podczas inicjowaniaScalingLazyColumnpowodował raportowanie nieprawidłowych przesunięć. Teraz zwracana będzie pusta lista, dopóki wszystkie elementy listy nie będą widoczne i nie będą miały prawidłowych przesunięć. SprawdzenieScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty()potwierdzi, że inicjowanieScalingLazyColumnzostało zakończone i elementy są widoczne. (I3a3b8)
Wersja 1.1.0-beta01
24 października 2022 r.
androidx.wear.compose:compose-foundation:1.1.0-beta01, androidx.wear.compose:compose-material:1.1.0-beta01 i androidx.wear.compose:compose-navigation:1.1.0-beta01 są udostępnione. Wersja 1.1.0-beta01 zawiera te zmiany.
Co nowego w Compose na Wear OS 1.1
Wersja 1.1.0-beta01 biblioteki Compose na Wear OS wskazuje, że ta wersja biblioteki jest w pełni funkcjonalna, a interfejs API jest zablokowany.
- Wersja 1.1 Wear Compose zawiera te nowe funkcje:
- Selektor – ulepszenia ułatwień dostępu w selektorze, dzięki którym ekrany selektora wielokrotnego są dostępne dla czytników ekranu, a opis treści jest dostępny.
- Parametr selektora
contentDescriptionjest teraz używany tylko w przypadku wybranej opcji selektora i przyjmuje ciąg znaków z wartością null (w poprzedniej wersji konieczne było przekazanie mapowania z opcji na opis treści, ale używana była tylko wybrana opcja). - Elementy selektora są teraz zawsze wyśrodkowane, co rozwiązuje problem polegający na tym, że ustawienie wartości
gradientRationa zero powodowało zmianę wyrównania. Chip/ToggleChip– zaktualizowaliśmy domyślne gradienty dlaChip/ToggleChip, aby dostosować je do najnowszej specyfikacji UX. WartośćChipDefaults.gradientBackgroundChipColorszostała zmieniona z 32,5% na 50% koloru podstawowego.Chip/ToggleChip– Dodano przeciążenia do modyfikowania kształtów elementów.Chip/Button/ToggleButton– Dodano nowy styl konturowy dla elementów Chip i Button oraz nowe komponentyOutlinedChipiOutlinedButton, które zapewniają przezroczystyChip/Buttonz cienką obwódką.- Karta – zaktualizowano domyślne gradienty na kartach, aby były zgodne z najnowszą specyfikacją UX. Zaktualizowano
CardDefaults.cardBackgroundPainter, aby zaczynał się od 30% koloru podstawowego i kończył na 20%onSurfaceVariant(wcześniej było to od 20% do 10%onSurfaceVariant).ToggleChip.toggleChipColorszmienia się z gradientu liniowego od 75% koloru powierzchni do 32,5% koloru podstawowego do 0% koloru powierzchni do 50% koloru podstawowego. Button/ToggleButton– dodano właściwości do modyfikowania kształtów przycisków.- Motyw – zaktualizowaliśmy kilka domyślnych kolorów w
MaterialTheme, aby poprawić dostępność, ponieważ pierwotne kolory nie miały wystarczającego kontrastu, co utrudniało użytkownikom odróżnianie tła elementów (np. przycisków, kart czy elementów do kliknięcia) od koloru tła motywu. InlineSlider/Stepper– Dodano role przycisków, abyTalkbackmogła rozpoznawać je jako przyciski.- Platforma –
PositionIndicatorjest teraz umieszczana i rozmieszczana tak, aby zajmowała tylko potrzebną przestrzeń. Jest to przydatne np. w przypadku dodania do niego informacji semantycznych. Czytnik ekranu TalkBack uzyskuje teraz prawidłowe granice elementuPositionIndicatorna ekranie. CurvedText/TimeText– dodanoModifier.scrollAway, które przewija element w pionie w górę lub w dół w zależności od stanu przewijania (z przeciążeniami do pracy zColumn,LazyColumniScalingLazyColumn). FunkcjaScrollAwayjest zwykle używana do przewijania elementuTimeTextpoza widok, gdy użytkownik zaczyna przewijać listę elementów w górę.CurvedText/TimeText– dodaliśmy obsługę funkcjifontFamily,fontStyleifontSynthesiswCurvedTextStyle, które można stosować wcurvedTextibasicCurvedText.CurvedText/TimeText– dodanofontWeightdo konstruktora i metody kopiowania wCurvedTextStyleToggleControls– dodano animowane przełącznikiCheckbox,SwitchiRadioButtondo użycia zToggleChipiSplitToggleChip. Można ich używać zamiast statycznych ikon dostarczanych przezToggleChipDefaults(switchIcon,checkboxIconiradioIcon).- Obiekt zastępczy – dodano eksperymentalną obsługę obiektów zastępczych. Ma 3 różne efekty wizualne, które zostały zaprojektowane tak, aby ze sobą współgrały.
- Po pierwsze, efekt pędzla tła zastępczego używany w kontenerach, takich jak przyciski i karty, do rysowania na normalnym tle podczas oczekiwania na załadowanie treści.
- Po drugie, modyfikator (
Modifier.placeholder()) do narysowania widżetu zastępczego w kształcie stadionu na wczytywanych treściach. - Po trzecie, efekt gradientu lub połysku modyfikatora (
Modifier.placeholderShimmer()), który jest rysowany na wierzchu innych efektów, aby poinformować użytkowników, że czekamy na załadowanie danych.- Wszystkie te efekty są skoordynowane i wyświetlają się w zsynchronizowany sposób.
- Zaktualizowano zależności podstawowe Compose z wersji 1.2 do 1.3
Zmiany w interfejsie API
- Parametry czcionki (
fontFamily,fontWeight,fontStyleifontSynthesis) można teraz określać bezpośrednio jako parametry funkcjicurvedText(Idc422).
Poprawki błędów
curveTextibasicCurvedTextbędą teraz prawidłowo działać z funkcją TalkBack (mają powiązany z nimi węzeł compose-ui o odpowiednim rozmiarze i położeniu, ale pusty, który używa tekstu jako opisu treści) (I7af7c, b/210721259).- Poprawka błędu w
Picker, gdyPickerState.repeatedItems = false, aby dodać wyraźne ustawienie parametrów automatycznego wyśrodkowania w wewnętrznymScalingLazyColumnselektorów, aby umożliwić przewijanie zerowej opcji na środek widoku. (I8a4d7)
Wersja 1.1.0-alpha07
5 października 2022 r.
androidx.wear.compose:compose-foundation:1.1.0-alpha07, androidx.wear.compose:compose-material:1.1.0-alpha07 i androidx.wear.compose:compose-navigation:1.1.0-alpha07 są udostępnione. Wersja 1.1.0-alpha07 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy eksperymentalną obsługę elementów zastępczych. Ma 3 różne efekty wizualne, które zostały zaprojektowane tak, aby ze sobą współgrały. Po pierwsze, efekt pędzla tła zastępczego używany w kontenerach, takich jak przyciski i karty, do rysowania na normalnym tle podczas oczekiwania na załadowanie treści. Po drugie, modyfikator (
Modifier.placeholder()), który rysuje widżet zastępczy w kształcie stadionu na wczytywanych treściach. Po trzecie, efekt gradientu lub połysku modyfikatora (Modifier.placeholderShimmer()), który jest rysowany na wierzchu innych efektów, aby poinformować użytkowników, że czekamy na załadowanie danych. Wszystkie te efekty są skoordynowane i wyświetlają się w zsynchronizowany sposób. (I3c339)
Zmiany w interfejsie API
- Dodaliśmy obsługę atrybutów
fontWeight,fontFamily,fontStyleifontSynthesisw elemencieCurvedTextStyle, który można stosować w przypadku elementówcurvedTextibasicCurvedText. Za pomocą tych parametrów możesz określić czcionkę i styl, które mają być używane w przypadku zakrzywionego tekstu.(Iaa1a8),(I72759) - Zaktualizowano parametr przesunięcia
Modifier.scrollAwaydo Dp, aby był zgodny z parametremModifier.offset(wcześniej był podawany w pikselach). Został też przekształcony wLayoutModifierw celu zwiększenia wydajności. (I9f94b) - W ramach nowego interfejsu API przełączników zmieniliśmy nazwę
RadioButton’s circleColornaringColor. (I28fa9) - Dodaliśmy animowane przełączniki
Checkbox,SwitchiRadioButtondo użycia zToggleChipiSplitToggleChip. Można ich używać zamiast ikon statycznych udostępnianych przezToggleChipDefaults(switchIcon,checkboxIconiradioIcon). (I8a8c4)
Wersja 1.1.0-alpha06
21 września 2022 r.
androidx.wear.compose:compose-foundation:1.1.0-alpha06, androidx.wear.compose:compose-material:1.1.0-alpha06 i androidx.wear.compose:compose-navigation:1.1.0-alpha06 są udostępnione. Wersja 1.1.0-alpha06 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy funkcję
Modifier.scrollAway, która przewija element w pionie, aby go wyświetlić lub ukryć, w zależności od stanu przewijania (z przeciążeniami do pracy z funkcjamiColumn,LazyColumniScalingLazyColumn). FunkcjaScrollAwayjest zwykle używana do przewijania elementuTimeTextpoza widok, gdy użytkownik zaczyna przewijać listę elementów w górę. (I61766)
Poprawki błędów
PositionIndicatorjest teraz umieszczony i rozmiarowany tak, aby zajmował tylko potrzebną przestrzeń. Jest to przydatne np. w przypadku dodania do niego informacji semantycznych. Czytnik ekranu TalkBack uzyskuje teraz prawidłowe granice elementuPositionIndicatorna ekranie. (Ie6106, b/244409133)
Wersja 1.1.0-alpha05
7 września 2022 roku
androidx.wear.compose:compose-foundation:1.1.0-alpha05, androidx.wear.compose:compose-material:1.1.0-alpha05 i androidx.wear.compose:compose-navigation:1.1.0-alpha05 są udostępnione. Wersja 1.1.0-alpha05 zawiera te zmiany.
Poprawki błędów
- Do elementów
InlineSlideriStepperdodano role przycisków, aby Talkback mógł je rozpoznawać jako przyciski. (Icb46c, b/244260275) - Poprawiliśmy kolejność osi Z w przypadku wskaźników pozycji i strony w komponencie Scaffold. Wskaźniki będą teraz wyświetlane nad winietą, więc nie będą przez nią zasłaniane. (Ib988f, b/244207528)
Wersja 1.1.0-alpha04
24 sierpnia 2022 r.
androidx.wear.compose:compose-foundation:1.1.0-alpha04, androidx.wear.compose:compose-material:1.1.0-alpha04 i androidx.wear.compose:compose-navigation:1.1.0-alpha04 są udostępnione. Wersja 1.1.0-alpha04 zawiera te zmiany.
Zmiany w interfejsie API
- Zaktualizowaliśmy kilka domyślnych kolorów w motywie MaterialTheme, aby poprawić dostępność, ponieważ oryginalne kolory nie miały wystarczającego kontrastu, co utrudniało użytkownikom odróżnianie tła elementów, kart i przycisków od koloru tła motywu. Zaktualizowane kolory to surface(0xFF202124->0xFF303133), onPrimary(0xFF202124->0xFF303133), onSecondary(0xFF202124->0xFF303133), primaryVariant(0xFF669DF6->0xFF8AB4F8) i onError(0xFF202124->0xFF000000). Zmiany kolorów, choć stosunkowo subtelne, mogą wpłynąć na dotychczasowe testy zrzutów ekranu. (81ab09)
Poprawki błędów
- Naprawiono błąd logiczny w
ScalingLazyColumn, który mógł powodować, że listy z niewielką liczbą elementów (zwykle dokładnie 2) nie kończyły inicjowania i w rezultacie były przezroczyste. (504347)
Wersja 1.1.0-alpha03
10 sierpnia 2022 r.
androidx.wear.compose:compose-foundation:1.1.0-alpha03, androidx.wear.compose:compose-material:1.1.0-alpha03 i androidx.wear.compose:compose-navigation:1.1.0-alpha03 są udostępnione. Wersja 1.1.0-alpha03 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy nowy styl konturowy dla elementów
ChipsiButtonsoraz nowe komponentyOutlinedChipiOutlinedButton, które zapewniają przezroczysty elementChip/Buttonz cienką obwódką. (Id5972)
Zmiany w interfejsie API
- Dodano przeciążenia do modyfikowania kształtów przycisków (Icccde)
Poprawki błędów
- Poprawiliśmy rozmiar obszaru przełącznika
ToggleChip, ponieważ nie był zgodny ze specyfikacją UX. Specyfikacja UX wymaga odstępu 4 dp między etykietą a obszarem ikony przełącznika o wymiarach 24 x 24 dp, co daje łączną szerokość 28 dp. Jednak wdrożenie nieprawidłowo podaje obszar sterowania przełącznikiem o wymiarach 36x24.dp. Powoduje to zmniejszenie obszaru etykiety tekstowej o 8 dp. UWAGA: ta poprawka błędu zapewnia dodatkowe miejsce na etykietę tekstową, co może (pozytywnie) wpłynąć na układ tekstu w przypadku przepełnienia. Jeśli masz testy zrzutów ekranu zawierająceToggleChips, może być konieczne ich zaktualizowanie. (I514c8, b/240548670)
Wersja 1.1.0-alpha02
27 lipca 2022 roku
androidx.wear.compose:compose-foundation:1.1.0-alpha02, androidx.wear.compose:compose-material:1.1.0-alpha02 i androidx.wear.compose:compose-navigation:1.1.0-alpha02 są udostępnione. Wersja 1.1.0-alpha02 zawiera te zmiany.
Nowe funkcje
- Zmieniliśmy zależności Compose na Wear OS od podstawowych bibliotek Compose z wersji 1.2.0 na 1.3.0-alpha0X.
Zmiany w interfejsie API
- Dodano przeciążenia do modyfikowania kształtów elementów (I02e87)
Poprawki błędów
- Animowaliśmy widoczność winiety podczas wyświetlania i ukrywania okna, aby zachować spójność z dotychczasową animacją skalowania. (Ida33e)
- Usunęliśmy błąd, który w przypadku niektórych gestów przesuwania podczas przewijania mógł powodować dzielenie przez zero. (I86cb6)
- Naprawiliśmy błąd w
ChipDefaults.childChipColor(), aby kolor tła wyłączonego elementu był w pełni przezroczysty. (I2b3c3, b/238057342)
Wersja 1.1.0-alpha01
29 czerwca 2022 r.
androidx.wear.compose:compose-foundation:1.1.0-alpha01, androidx.wear.compose:compose-material:1.1.0-alpha01 i androidx.wear.compose:compose-navigation:1.1.0-alpha01 są udostępnione. Wersja 1.1.0-alpha01 zawiera te zmiany.
Zmiany w interfejsie API
- Parametr
contentDescriptionselektora jest teraz używany tylko w przypadku wybranej opcji selektora i przyjmuje ciąg znaków z wartością null (wcześniej konieczne było przekazanie mapowania opcji na opis treści, ale używana była tylko wybrana opcja). (Ife6a7) - Wprowadziliśmy ulepszenia ułatwień dostępu w selektorze, dzięki czemu ekrany selektora wielokrotnego można obsługiwać za pomocą czytników ekranu, a opis treści jest dostępny (I64edb).
Poprawki błędów
- Zaktualizowaliśmy reguły profilu podstawowego dołączone do biblioteki Wear Compose (I9c694).
- Poprawiliśmy kierunek gradientu w przypadku elementów w trybie od prawej do lewej. Był od lewego górnego do prawego dolnego, a teraz jest od prawego górnego do lewego dolnego. (Ic2e77)
- Zaktualizowaliśmy domyślne gradienty dla
Chip/ToggleChip/Card, aby dostosować je do najnowszej specyfikacji UX. WartośćChipDefaults.gradientBackgroundChipColorszostała zmieniona z 32,5% na 50% koloru podstawowego.CardDefaults.cardBackgroundPainterzostał zaktualizowany i zaczyna się od 30% koloru podstawowego, a kończy na 20%onSurfaceVariant(wcześniej było to od 20% do 10%onSurfaceVariant).ToggleChip.toggleChipColorszmienia się z gradientu liniowego od 75% koloru powierzchni do 32,5% koloru podstawowego do 0% koloru powierzchni do 50% koloru podstawowego. (I43bbd) - Dodaliśmy kolor tła (
MaterialTheme.color.surface) za ikonamiChip/ToggleChips, które mają tło gradientowe, aby zapewnić ich prawidłową widoczność w mało prawdopodobnym przypadku, gdy za nimi zostanie użyty jasny kolor. (Ibe1a4, b/235937657) - Elementy selektora są teraz zawsze wyśrodkowane, co rozwiązuje problem polegający na tym, że ustawienie wartości
gradientRationa zero powodowało zmianę wyrównania. (I712b8)
Wersja 1.0
Wersja 1.0.2
7 września 2022 roku
androidx.wear.compose:compose-foundation:1.0.2, androidx.wear.compose:compose-material:1.0.2 i androidx.wear.compose:compose-navigation:1.0.2 są udostępnione. Wersja 1.0.2 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawiliśmy kolejność osi Z w przypadku wskaźników pozycji i strony w komponencie Scaffold. Wskaźniki będą teraz wyświetlane nad winietą, więc nie będą przez nią zasłaniane. (Ib988f, b/244207528)
Wersja 1.0.1
24 sierpnia 2022 r.
androidx.wear.compose:compose-foundation:1.0.1, androidx.wear.compose:compose-material:1.0.1 i androidx.wear.compose:compose-navigation:1.0.1 są udostępnione. Wersja 1.0.1 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiliśmy błąd logiczny w
ScalingLazyColumn, który mógł powodować, że listy z niewielką liczbą elementów (zwykle dokładnie 2) nie kończyły inicjowania i w rezultacie były przezroczyste. (076c61)
Wersja 1.0.0
27 lipca 2022 roku
androidx.wear.compose:compose-foundation:1.0.0, androidx.wear.compose:compose-material:1.0.0 i androidx.wear.compose:compose-navigation:1.0.0 są udostępnione. Wersja 1.0.0 zawiera te zatwierdzenia.
Główne funkcje wersji 1.0.0
- Jest to pierwsza stabilna wersja Compose na Wear OS (więcej informacji).
- Compose for Wear OS opiera się na podstawowych bibliotekach Compose, zapewniając dodatkowe komponenty przeznaczone na urządzenia do noszenia oraz, w odpowiednich przypadkach, alternatywne implementacje podstawowych komponentów Compose dostosowane do tych urządzeń.
- Listę kluczowych komponentów w Wear Compose znajdziesz w informacjach o wersji (Compose na Wear OS w wersji beta01).
Poprawki błędów
- Animowaliśmy widoczność winiety podczas wyświetlania i ukrywania okna dialogowego, aby zachować spójność z dotychczasową animacją skalowania. (Ida33e)
- Naprawiliśmy błąd, który mógł powodować dzielenie przez zero w przypadku niektórych zachowań związanych z przesuwaniem podczas przewijania. (I86cb6)
- Naprawiliśmy błąd w
ChipDefaults.childChipColor(), aby kolor tła wyłączonego elementu był w pełni przezroczysty. (I2b3c3, b/238057342)
Wersja 1.0.0-rc02
22 czerwca 2022 r.
androidx.wear.compose:compose-foundation:1.0.0-rc02, androidx.wear.compose:compose-material:1.0.0-rc02 i androidx.wear.compose:compose-navigation:1.0.0-rc02 są udostępnione. Wersja 1.0.0-rc02 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawiliśmy kierunek gradientu w przypadku kart w trybie od prawej do lewej. Wcześniej było to od lewego górnego do prawego dolnego rogu, a teraz jest to od prawego górnego do lewego dolnego rogu. (Ic2e77)
- Zaktualizowaliśmy domyślne gradienty dla
Chip/ToggleChip/Card, aby dostosować je do najnowszej specyfikacji UX. WartośćChipDefaults.gradientBackgroundChipColorszostała zmieniona z 32,5% na 50% koloru podstawowego.CardDefaults.cardBackgroundPainterzostał zaktualizowany, aby zaczynać się od 30% koloru podstawowego i kończyć na 20% koloruonSurfaceVariant(wcześniej było to 20–10% koloru onSurfaceVariant).ToggleChip.toggleChipColorszmienia się z gradientu liniowego od 75% powierzchni do 32,5% koloru podstawowego do 0% powierzchni do 50% koloru podstawowego. (I43bbd) - Dodaliśmy kolor tła (
MaterialTheme.color.surface) za ikonamiChip/ToggleChips, które mają tło gradientowe, aby zapewnić ich prawidłową widoczność w mało prawdopodobnym przypadku, gdy za nimi zostanie użyty jasny kolor. (Ibe1a4, b/235937657) - Zaktualizowaliśmy reguły profilu podstawowego dołączone do biblioteki Wear Compose (I9c694).
Wersja 1.0.0-rc01
15 czerwca 2022 r.
androidx.wear.compose:compose-foundation:1.0.0-rc01, androidx.wear.compose:compose-material:1.0.0-rc01 i androidx.wear.compose:compose-navigation:1.0.0-rc01 są udostępnione. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Interfejsy w bibliotekach Compose są teraz tworzone przy użyciu domyślnych metod interfejsu jdk8 (I5bcf1).
Poprawki błędów
- Usunęliśmy z nagłówka listy wyraźne wywołanie funkcji
fillMaxWidth(), ponieważ nie jest ono potrzebne i może powodować problemy, jeśli elementScalinglazyColumnzawiera komponentyListHeader()iChip(), ponieważ szerokość będzie się zwiększać lub zmniejszać w miarę przewijania elementówListHeader. (I37144, b/235074035) - Naprawiliśmy błąd w
ScalingLazyColumn, który mógł powodować nieprawidłowe rysowanie elementów listy do momentu przewinięcia, jeśli element listy o indeksie 0 był wystarczająco duży (wraz z dopełnieniem) (Ic6159, b/234328517). - Wprowadziliśmy niewielką zmianę w
ScalingLazyColumnłagodzeniu, gdy elementy docierają do krawędzi ekranu, aby dostosować je do aktualizacji specyfikacji UX. Stare wartościCubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f)–> nowe wartościCubicBezierEasing(0.3f, 0f, 0.7f, 1f). Aby zachować stare działanie, możesz zastąpićscalingParamswScalingLazyColumn(Ie375c). - Dodaliśmy do ikony
CompactChipdopełnienie, aby jej rozmiar docelowy wynosił co najmniej 48 dp i była zgodna z wytycznymi dotyczącymi ułatwień dostępu w interfejsie Material. Może to wpłynąć na wszystkie układy, w których używasz symboluCompactChips, ponieważ będą one zajmować dodatkowe miejsce. (I3d57c)
Wersja 1.0.0-beta03
1 czerwca 2022 r.
androidx.wear.compose:compose-foundation:1.0.0-beta03, androidx.wear.compose:compose-material:1.0.0-beta03 i androidx.wear.compose:compose-navigation:1.0.0-beta03 są udostępnione. Wersja 1.0.0-beta03 zawiera te zatwierdzenia.
Nowe funkcje
- Umożliwiliśmy działanie
ScalingLazyColumnw trybie@PreviewCompose. (I3b3b6, b/232947354)
Zmiany w interfejsie API
- Zmieniliśmy wartość domyślną właściwości
ScalingLazyColumn.horizontalAlignmentz Start naCenterHorizontally, aby zapewnić, że gdy elementy listy nie wypełniają całej szerokości kolumny, będą wyrównane w sposób zapewniający maksymalną widoczność. Aby wrócić do poprzedniego działania, ustaw wartośćhorizontalAlignment = Alignment.Start.(I9ed4b)
Znane problemy
- Wysokość elementu CompactChip jest mniejsza niż w wytycznych Material dotyczących ułatwień dostępu. Poprawimy to w kolejnej wersji (15 czerwca). Jeśli używasz komponentu CompactChip, wpłynie to na Twoje układy, ponieważ komponenty CompactChip będą teraz miały dodatkowe dopełnienie u góry i u dołu. Dostosuj i przetestuj układy lub zapoznaj się z komentarzami dotyczącymi błędów, aby znaleźć obejście umożliwiające korzystanie z dotychczasowego działania. (b/234332135)
Poprawki błędów
- Nowa demonstracja animacji dodawania lub usuwania tekstu początkowego na urządzeniu
TimeText. (I16d75) - Dodaj testy dla
HorizontalPageIndicator.PagesState(I64ed0) - Aktualizacja
TimeTextw celu dostosowania do specyfikacji UX (Ib7ea1)
Wersja 1.0.0-beta02
18 maja 2022 r.
androidx.wear.compose:compose-foundation:1.0.0-beta02, androidx.wear.compose:compose-material:1.0.0-beta02 i androidx.wear.compose:compose-navigation:1.0.0-beta02 są udostępnione. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.
Nowe funkcje
- Selektor zawsze reaguje na zdarzenia przewijania, nawet w trybie tylko do odczytu. Dzięki temu użytkownicy nie muszą najpierw wybierać selektora, aby móc przewijać. W trybie tylko do odczytu opcje inne niż obecnie wybrana są zasłonięte w
gradientColor. (I72925) - Zmieniliśmy działanie
Chip/ToggleChip/CompactChip/SplitToggleChip, aby domyślnie nie wykonywałyfillMaxWidth. Zamiast tego będą się powiększać, aby dopasować się do treści. Aby zachować poprzednie działanie, dodajmodifier = Modifier.fillMaxWidth()(I60a2c, b/232206371).
Poprawki błędów
- Konstruktor
CurvedTextStyle, który przyjmuje wartośćTextStyle, uwzględnia teraz też wartośćfontWeight(może to zostać dodane do konstruktora i metod kopiowania w przyszłych wersjach interfejsu API) (Ieebb9). - Ulepszenia przesuwania od krawędzi. Gdy używana jest funkcja
Modifier.edgeSwipeToDismiss, a przesunięcie w lewo jest wywoływane z obszaru krawędzi, nie powoduje już odrzucenia przez przesunięcie, gdy kierunek przesunięcia zmieni się na prawo. Wcześniej można było zamknąć powiadomienie przez przesunięcie w lewo, a potem w prawo.(I916ea) HorizontalPageIndicatorwyświetla teraz na ekranie do 6 stron. Jeśli jest więcej niż 6 stron, po lewej lub prawej stronie wyświetla się wskaźnik o połowie rozmiaru, a przejście między stronami jest płynne.(I2ac29)- Ulepszone domyślne działanie przyciągania na urządzeniach
ScalingLazyColumniPicker(I49539) - Ulepszenia przesuwania od krawędzi. Gdy używana jest funkcja
Modifier.edgeSwipeToDismiss, przesunięcie w celu zamknięcia jest aktywowane tylko wtedy, gdy pierwsze dotknięcie nastąpi na krawędzi i przesunięcie zostanie wykonane w prawo. Wcześniej można było aktywować przesunięcie w celu zamknięcia, przesuwając palcem z dowolnej części ekranu, jeśli przewijanie dotarło do początku.(I8ca2a)
Wersja 1.0.0-beta01
11 maja 2022 roku
androidx.wear.compose:compose-foundation:1.0.0-beta01, androidx.wear.compose:compose-material:1.0.0-beta01 i androidx.wear.compose:compose-navigation:1.0.0-beta01 są udostępnione. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
Co zawiera Compose na Wear OS 1.0
1.0.0-beta01 Compose na Wear OS to ważny kamień milowy, ponieważ biblioteka jest w pełni funkcjonalna, a interfejs API jest zablokowany.
Komponenty Material Wear Compose w wersji 1.0 obejmują:
- Motyw Material – używany jako zamiennik Compose na urządzenia mobilne
MaterialTheme. Zapewnia kolory, kształty i typografię do tworzenia komponentów na urządzeniach do noszenia, które od razu implementują wytyczne UX Wear Material Design. Button,CompactButtoniToggleButton– przycisk oferuje 1 miejsce na ikonę, obraz lub krótki tekst (maks. 3 znaki). mają okrągły kształt i zalecane rozmiary w przypadku przycisków domyślnych, dużych i małych;CompactButton– oferuje jedno miejsce na dowolną treść (ikonę, obraz lub tekst) i ma okrągły kształt z bardzo małym rozmiarem tła.CompactButtonma opcjonalny przezroczysty margines wokół tła, który zwiększa klikalny obszar.ToggleButtonto przycisk z jednym miejscem na dowolną treść (krótki tekst, ikonę lub obraz). Ma stany włączony/wyłączony (zaznaczony/niezaznaczony) z kolorami i różnymi ikonami, które wskazują, czy jest zaznaczony.- Karty – służą do wyświetlania informacji o aplikacjach, np. powiadomień. Elastyczna konstrukcja do różnych zastosowań z elementami
AppCardiTitleCard, które zapewniają różne układy i obsługę obrazów jako treści karty lub tła. - Elementy w kształcie stadionu podobne do przycisków, ale z większą powierzchnią i wieloma miejscami na etykiety, etykiety dodatkowe i ikony. w różnych rozmiarach i z obsługą obrazów jako tła;
- ToggleChips i SplitToggleChips – element Chip ze stanem zaznaczonym lub odznaczonym oraz dodatkowym miejscem
ToggleControlna ikonę, np. przełącznik lub przycisk opcji, która będzie wskazywać stan zaznaczenia komponentu.SplitToggleChipma też 2 obszary, które można dotknąć: jeden, który można kliknąć, i drugi, który można przełączać. - CircularProgressIndicator – wskaźnik postępu Wear Material w 2 wariantach. Pierwszy z nich wyraża proporcję ukończenia trwającego zadania i umożliwia utworzenie przerwy na okrągłej ścieżce między kątami początkowym i końcowym. Drugi wskazuje nieokreślony postęp w nieokreślonym czasie oczekiwania.
- curvedText – część DSL do opisywania
CurvedLayouts, wraz zcurvedRowicurvedColumn, do rozmieszczania komponentów wokół okrągłych urządzeń. Więcej informacji o elementachCurvedLayoutiCurvedModifierznajdziesz w sekcji Wear Component Foundation (pełnią one podobną rolę do modyfikatorów w przypadku urządzeń bez zakrzywionego ekranu i umożliwiają konfigurowanie różnych aspektów układu, dopełnienia, gradientów itp.). - Okno, alert i potwierdzenie – okno wyświetla się na pełnym ekranie, nad innymi treściami, i można je zamknąć gestem przesuwania. Zajmuje 1 miejsce i powinien zawierać treści okna dialogowego Wear Material, takie jak alert lub potwierdzenie. Alert to okno z opinią, które zawiera miejsca na ikonę, tytuł i wiadomość. Ma przeciążenia dla 2 przycisków negatywnych i pozytywnych wyświetlanych obok siebie lub miejsca na co najmniej 1 układ pionowy. Potwierdzenie to opinia w formie okna dialogowego, która wyświetla komunikat przez określony czas. Ma miejsce na ikonę lub obraz (który może być animowany).
- HorizontalPageIndicator – wyświetla poziomą pozycję strony w sposób odpowiedni dla urządzenia do noszenia. Zaprojektowany tak, aby zajmować cały ekran i wyświetlać zakrzywiony wskaźnik na okrągłych urządzeniach. Może być używany z przeglądarką stron towarzyszących.
- Ikona – implementacja ikony na Wear, która pobiera kolor i wartość alfa z motywu Material Design na Wear. Informacje o klikanej ikonie znajdziesz w sekcji Przycisk lub element.
- Selektor – wyświetla przewijaną listę elementów, z której można wybrać pozycję. Domyślnie elementy będą powtarzane „w nieskończoność” w obu kierunkach. Może być wyświetlany w trybie tylko do odczytu, aby ukryć niewybrane opcje.
- PositionIndicator – wyświetla pozycję przewijania lub inne wskazanie pozycji w sposób odpowiedni dla urządzenia do noszenia. Zajmuje cały ekran i wyświetla zakrzywiony wskaźnik na okrągłych urządzeniach.
- Scaffold – implementuje podstawową strukturę wizualną układu Material Design na Wear. Ten komponent udostępnia interfejs API do łączenia kilku komponentów Wear Material (takich jak
TimeText,PositionIndicatoriVignette) w celu tworzenia ekranu, zapewniając odpowiednią strategię układu i zbierając niezbędne dane, aby te komponenty działały prawidłowo. - ScalingLazyColumn – komponent listy przewijanej z efektem skalowania lub rybiego oka, który jest kluczowym elementem języka projektowania Wear Material Design. Zapewnia skalowanie i efekty przezroczystości elementów treści.
ScalingLazyColumnjest zaprojektowany tak, aby obsługiwać potencjalnie dużą liczbę elementów treści, które są materializowane i komponowane tylko w razie potrzeby. - Suwak – umożliwia użytkownikom wybór z zakresu wartości. Zakres wyboru jest wyświetlany jako pasek, który opcjonalnie może być wyświetlany z separatorami.
- Stepper – komponent pełnoekranowy, który umożliwia użytkownikom wybór z zakresu wartości za pomocą przycisków zwiększania i zmniejszania u góry i u dołu ekranu. Pośrodku znajduje się miejsce na tekst lub element.
- SwipeToDismissBox – obsługuje gest przesuwania w celu zamknięcia. Zajmuje 1 miejsce na tło (wyświetlane tylko podczas gestu przesuwania) i treści na pierwszym planie. Można ją opcjonalnie połączyć z biblioteką nawigacji androidx za pomocą
SwipeDismissableNavHost(patrz biblioteka Wear Compose Navigation poniżej). - Text – implementacja komponentu tekstowego Compose Material na Wear, która pobiera kolor i wartość alfa z motywu Wear Material.
- TimeText – komponent do wyświetlania czasu i stanu aplikacji u góry ekranu. Dopasowuje się do kształtu ekranu, używając zakrzywionego tekstu na okrągłych ekranach.
Winieta – element ekranu do użycia w komponencie Scaffold, który rozmywa górną i dolną część ekranu, gdy używane są treści z możliwością przewijania.
Z biblioteki Wear Compose Foundation pochodzą też te komponenty:
CurvedLayout - Wear Foundation
CurvedLayoutto komponent układu, który umieszcza elementy podrzędne w łuku i obraca je w razie potrzeby. Jest to podobne do układu wiersza wygiętego w segment pierścienia. Pamiętaj, że zawartośćCurvedLayoutnie jest funkcją lambda, którą można łączyć z innymi funkcjami, ale językiem DSL (językiem specyficznym dla domeny). Wszystkie elementy w DSL CurvedLayout obsługują opcjonalny parametr modyfikatora utworzony na podstawieCurvedModifier.basicCurvedText – element w
CurvedLayoutDSLbasicCurvedText, który umożliwia deweloperom łatwe pisanie zakrzywionego tekstu zgodnie z krzywizną okręgu (zwykle na krawędzi okrągłego ekranu).basicCurvedTextmożna tworzyć tylko w obrębie elementuCurvedLayout, aby zapewnić najlepsze wrażenia, np. możliwość określenia pozycji i używania elementuCurvedModifiers. Pamiętaj, że w większości przypadków zamiast tego należy używać elementu curvedText, ponieważ korzysta on z motywu Material.curvedComposable – opakowuje zwykłe treści kompozycyjne, aby można było ich używać z funkcją
CurvedLayout. Jeśli elementcurvedComposablezawiera kilka elementów, zostaną one narysowane jeden na drugim (jak w przypadku elementu Box). Aby umieścić kilka komponentów kompozycyjnych wzdłuż krzywej, każdy z nich umieść wcurvedComposable.curvedRow i curvedColumn – podobnie jak Row i Column, elementy
curvedRowicurvedColumnmożna zagnieżdżać w elemencieCurvedLayout, aby w razie potrzeby rozmieszczać elementy. W przypadku elementucurvedRowmożna określić kierunek układu kątowego i wyrównanie promieniowe. W przypadkucurvedColumnmożna określić wyrównanie kątowe i kierunek promieniowy.CurvedModifier – wszystkie zakrzywione komponenty akceptują parametr modyfikatora, który można utworzyć za pomocą
CurvedModifier: obsługiwane są tło, rozmiar, waga i dopełnienie.Z Wear Compose Navigation pochodzi też ten komponent:
SwipeDismissableNavHost – zapewnia miejsce w hierarchii Compose, w którym może odbywać się samodzielna nawigacja, a nawigacja wsteczna jest obsługiwana przez gest przesuwania. Treści są wyświetlane w
SwipeToDismissBox, co wskazuje bieżący poziom nawigacji. Podczas gestu przesunięcia w celu zamknięcia w tle jest widoczny poprzedni poziom nawigacji (jeśli istnieje).Więcej informacji o tym, co zostało udostępnione, znajdziesz w informacjach o wersji dotyczących poszczególnych wersji alfa.
Zmiany w interfejsie API
- Dodano funkcje
CurvedModifier.padding*. Służą one do określania dodatkowej przestrzeni, która ma być dodana wokół zakrzywionego komponentu. (I4dbb4) - Usunięto wewnętrzne zajęcia
CompositionLocal(I42490) - Dodaliśmy stałe wartości rozmiarów ikon
Button,CompactButtoniToggleButtonjako wskazówki (I57cab). - Dodaj parametr włączony do
AppCardiTitleCard. Teraz mają podobny interfejs API doandroidx.compose.materialkart. Jeśli parametr ma wartość „false”, karty nie będzie można kliknąć. (Idc48d, b/228869805)
Poprawki błędów
- Komponent Stepper wyłącza teraz przyciski zmniejszania i zwiększania, gdy osiągnięte zostaną dolne lub górne limity (i stosuje ContentAlpha.disabled do parametru iconColor) (I4be9f).
- Dodaliśmy 1-pikselowy margines wokół zawartości selektora, gdy jest on rysowany z gradientem, aby zapobiec drganiom tekstu widocznym podczas przesuwania. (I0b7b9)
- Dodaj testy zrzutów ekranu dla
PositionIndicator(I5e8bc) - Dodaj więcej testów dla
AppCardiTitleCard(I85391, b/228869805)
Wersja 1.0.0-alpha21
20 kwietnia 2022 r.
androidx.wear.compose:compose-foundation:1.0.0-alpha21, androidx.wear.compose:compose-material:1.0.0-alpha21 i androidx.wear.compose:compose-navigation:1.0.0-alpha21 są udostępnione. Wersja 1.0.0-alpha21 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy nowe modyfikatory zakrzywione, aby określić tło zakrzywionego elementu:
CurvedModifier.background,.radialGradientBackgroundi.angularGradientBackground(I8f392) - Umożliwia określenie trybu przepełnienia zakrzywionego tekstu (przycinanie, wielokropek, widoczny). (I8e7aa)
- Dodano modyfikator
CurvedModifier.weight, podobny do tego w funkcji Pisanie. Można go używać w przypadku elementów podrzędnych elementów curvedRow i CurvedLayout (w przypadku szerokości) oraz elementów podrzędnych elementu curvedColumn (w przypadku wysokości). (I8abbd) - Dodano modyfikatory
CurvedModifier.size,.angularSizei.radialSize, aby określić rozmiar zakrzywionego elementu. (I623c7)
Zmiany w interfejsie API
- Zmiana kolejności parametrów, aby zapewnić, że tło będzie zawsze przed kolorem w interfejsie Wear Compose API (I43208)
- Usunięto parametry clockwise i
insideOuti zastąpiono je bardziej precyzyjnymi stałymi w przypadku nowych klas. Kierunek zakrzywionego układu może teraz uwzględniaćLayoutDirectioni jest dziedziczony, gdy nie jest określony (If0e6a). - Aby rozwiązać problem z interfejsem API w przypadku
ScalingLazyColumn, zastąpiliśmyautoCenter: BooleanciągiemautoCenter: AutoCentringParams. (Ia9c90) - W całym interfejsie API zmieniliśmy nazwy
iconTintColoritoggleControlTintColornaiconColoritoggleControlColor(Chip/ToggleChip/Dialog/Slider/Stepper/...), ponieważ kolor jest stosowany do gniazda ikony lub elementu przełącznika. (Ied238) - Przepisywanie
PageIndicatorStyleenum na klasę wartości (I2dc72) - Do niektórych boksów w naszych komponentach dodaliśmy
RowScope/ColumnScope/BoxScope, aby poinformować programistów o założeniach dotyczących układu. Dzięki temu deweloperzy będą mogli używać dodatkowych modyfikatorów w przypadku niektórych treści w slotach i nie będą musieli udostępniać dodatkowych elementów układu. Wprowadziliśmy też drobne zmiany w kolorach kart aplikacji i kart tytułowych, tak aby domyślnietimeColoriappColormiały kolorcontentColor. W razie potrzeby można jednak zastąpić wszystkie te właściwości. (I26b59) - Ustawienie obiektu
SwipeToDismissBoxState.Companionjako prywatnego (I39e84) - Popraw kolejność parametrów dla
InlineSlideriStepper. Prosta zmiana zgodna z wytycznymi dotyczącymi interfejsu API (I11fec) - Usunęliśmy obiekt Saver dla
SwipeToDismissBoxState, ponieważ nie był używany. (Ifb54e) - Zaktualizowaliśmy
CompactChip, aby dostosować go do najnowszej specyfikacji UX. Wypełnienie zostało zmniejszone do poziomego = 12 dp i pionowego = 0 dp. Czcionka etykiety została zmieniona z przycisku na podpis1. Zalecane rozmiary ikon to 20 x 20 pikseli, gdy wyświetlane są zarówno ikona, jak i etykieta, oraz 24 x 24 piksele w przypadku kompaktowego elementu z samą ikoną. W przypadku użycia tylko ikony zadbaliśmy też o to, aby była ona wyśrodkowana. (Iea2be) - Dodaliśmy do
ScalingLazyListLayoutInfokilka nowych pól, aby deweloperzy mogli sprawdzić kwotę zastosowanychcontentPaddingiautoCenteringPadding. Może to być przydatne dla deweloperów podczas obliczania przesunięcia/przewijania (I7577b). - Wprowadziliśmy przejścia do i z okna dialogowego. Dodano parametr
showDialog, a okno dialogowe kontroluje teraz własną widoczność (umożliwia to uruchamianie animacji wprowadzających i końcowych, gdy okno dialogowe jest wyświetlane lub ukrywane). Pamiętaj, że animacja końcowa nie jest odtwarzana, gdy użytkownik zamknie okno za pomocą gestu przesunięcia. Dodaliśmy też wartość domyślną dla stanu w niedawno dodanym przeciążeniuSwipeToDismissBox. (I682a0) - Aby lepiej obsługiwać internacjonalizację i ułatwienia dostępu, zmieniliśmy elementy
ToggleChipiSplitToggleChip, tak aby nie miały już domyślnej wartości w przypadku slotutoggleControl. Zmieniliśmy teżToggleChipDefaults, aby te metody zwracały teraz ImageVector zamiast Icon (zwróć uwagę, że ponieważ nie zwracają już @Composables, zaczynają się od małej litery):SwitchIcon()->switchIcon(),CheckboxIcon->checkboxIcon()iRadioIcon()->radioIcon(). Umożliwia to deweloperom tworzenie własnych funkcji kompozycyjnychIcon()z odpowiednim zestawemcontentDescriptioni zachęca ich do tego. (I5bb5b) - Do
SwipeDismissableNavHostdodaliśmy parametrSwipeDismissableNavHostState. Umożliwia to korzystanie z przesuwania od krawędzi na ekranach używanych jako miejsca docelowe nawigacji, ponieważSwipeToDismissBoxStatemożna teraz podnieść i użyć do zainicjowania zarównoSwipeDismissableNavHostState, jak iModifier.edgeSwipeToDismissna ekranach, które wymagają przesuwania od krawędzi. (I819f5, b/228336555)
Poprawki błędów
- W razie potrzeby zaktualizuj zakrzywione układy. (Ie8bfa, b/229079150)
- Poprawka błędu https://issuetracker.google.com/issues/226648931 (Ia0a0a, b/226648931)
- Usunięto niepotrzebne eksperymentalne adnotacje (I88d7e)
Wersja 1.0.0-alpha20
6 kwietnia 2022 roku
androidx.wear.compose:compose-foundation:1.0.0-alpha20, androidx.wear.compose:compose-material:1.0.0-alpha20 i androidx.wear.compose:compose-navigation:1.0.0-alpha20 są udostępnione. Wersja 1.0.0-alpha20 zawiera te zmiany.
Nowe funkcje
- Dodaj modyfikator
edgeSwipeToDismissdoSwipeToDismiss. Umożliwia aktywowanieswipeToDismisstylko na lewej krawędzi widocznego obszaru. Używane, gdy środek ekranu musi obsługiwać przewijanie w poziomie, np. przewijanie mapy w 2 wymiarach lub przesuwanie palcem w poziomie między stronami.(I3fcec, b/200699800)
Zmiany w interfejsie API
- Podstawowa implementacja
CurvedModifiers, która otwiera drogę do wprowadzenia sposobów dostosowywania zakrzywionych treści (ale nie ma jeszcze żadnychCurvedModifiers, a możliwość tworzenia niestandardowych modyfikatorów może być dostępna w późniejszym czasie) (I9b8df). EdgeSwipeZaktualizowaliśmy dokumentację modyfikatorów i wartości domyślne, aby ułatwić zrozumienie .(I6d00d)- Dodaj gniazdo
PageIndicatordo platformy. DodającPageIndicatorbezpośrednio do komponentu Scaffold, możemy mieć pewność, że będzie on prawidłowo wyświetlany na urządzeniach okrągłych. (Ia6042) - Usuń domyślne ikony z parametrów
InlineSlideri Stepper. Pomoże to deweloperom zwracać większą uwagę na wymagania dotyczące lokalizacji i ułatwień dostępu. Przykłady użycia domyślnych ikon były prezentowane w wersjach demonstracyjnych i próbkach. (I7e6fd) - Zastąp nazwy parametrów Trailing i Leading nazwami Start i End w TimeText (Iaac32)
- Dodaliśmy przeciążenie
SwipeToDismissBoxz parametremonDismissed, aby obsługiwać typowe użycie polegające na wywoływaniu zdarzenia nawigacji po zakończeniu gestu przesuwania. (I50353, b/226565726) - Usunięto adnotacje
ExperimentalWearMaterialApiz użyciaTimeText(Ide520) - Interfejsy
ScalingLazyList/Columnscope i info zostały oznaczone jako zamknięte, ponieważ nie są przeznaczone do implementacji przez deweloperów zewnętrznych. Dzięki temu w przyszłości będziemy mogli dodawać do nich nowych członków bez wprowadzania zmian powodujących niezgodność binarną. (I7d99f) - Dodaliśmy do selektora nową właściwość
flingBehaviouri metodęPickerDefaults.flingBehaviour(), które umożliwiają konfigurowanie zachowania przewijania, np. dodawanie obsługi RSB.PickerStateimplementuje teraz interfejsScrollableState. (Ib89c7)
Poprawki błędów
- Aktualizowanie reguł profilu podstawowego środowiska wykonawczego Androida (ART) dla bibliotek Wear Compose. ART może wykorzystywać reguły profilu na urządzeniach, aby wcześniej skompilować określony podzbiór aplikacji i zwiększyć jej wydajność. Pamiętaj, że nie będzie to miało wpływu na aplikacje, które można debugować. (Iaa8ef)
- Ulepszanie dokumentacji (I2c051)
Wersja 1.0.0-alpha19
23 marca 2022 r.
androidx.wear.compose:compose-foundation:1.0.0-alpha19, androidx.wear.compose:compose-material:1.0.0-alpha19 i androidx.wear.compose:compose-navigation:1.0.0-alpha19 są udostępnione. Wersja 1.0.0-alpha19 zawiera te zmiany.
Zmiany w interfejsie API
- Zmieniliśmy nazwę interfejsu
CurvedRownaCurvedLayouti przekształciliśmy go w zakres z DSL. Za pomocą tego języka DSL można określać bardziej złożone układy zakrzywione, używając serii zagnieżdżonych elementówcurvedRowicurvedColumn(które są odpowiednikami układów wierszowych i kolumnowych). W tych elementach układu można używać 3 elementów:curvedComposable(do dodawania dowolnego elementu @Composable),basicCurvedText(zakrzywiony tekst podstawowy) icurvedText(zakrzywiony tekst z uwzględnieniem materiału na zegarku). (Ib776a) - Umożliwienie konfigurowania strony dla
PositionIndicator. Pozycję podstawowego wskaźnika pozycji można teraz skonfigurować jako End (zależną od kierunku układu), OppositeRsb (uwzględniającą obrót ekranu, aby umieścić wskaźnik naprzeciwko fizycznego przycisku RSB) lub jako bezwzględną Left i Right. (I2f1f3) - W przypadku
SwipeToDismissBoxzmieniliśmy nazwęSwipeDismissTarget.Original naSwipeToDismissValue.Default, aSwipeDismissTarget.DismissalnaSwipeToDismissValue.Dismissed. Przenieśliśmy teżSwipeToDismissBoxDefaults.BackgroundKeyiSwipeToDismissBoxDefaults.ContentKeyodpowiednio doSwipeToDismissKeys.BackgroundiSwipeToDismissKeys.Content. (I47a36) - Dodaliśmy do selektora tryb tylko do odczytu, który jest przeznaczony do ekranów z wieloma selektorami, na których w danym momencie można edytować tylko jeden selektor. Gdy selektor jest tylko do odczytu, wyświetla obecnie wybraną opcję i etykietę, jeśli została podana. (I879de)
SwipeToDismissBoxStatezostała zmodyfikowana, aby ograniczyć zakresExperimentalWearMaterialApidoModifier.swipeableiSwipeableState, które są teraz używane wewnętrznie.SwipeToDismissBoxStatema terazcurrentValue,targetValue,isAnimationRunningisnapTo, aby obsługiwać typowe przypadki użycia. Jeśli potrzebujesz udostępnienia innych właściwości, daj nam znać. Poprawiliśmy też działanieSwipeableStatew sytuacji, gdy przesunięcie gestu przesuwania mieści się w granicach błędu zaokrąglenia punktu zakotwiczenia. (I58302)
Poprawki błędów
- Uproszczony i poprawiony kod wykrywający, czy zawartość elementu
ScalingLazyColumnmoże być przewijana (używany do określania, czy wyświetlać pasek przewijania) (I7bce0) - Usunęliśmy błąd wskaźnika pozycji, który występował, gdy był on używany z więcej niż jednym stanem i przełączano się między nimi (I320b5).
- Zaktualizowaliśmy domyślną typografię/czcionki motywu Compose for Wear OS, aby były zgodne z naszymi najnowszymi wytycznymi dotyczącymi UX. Wartości display1 (40 sp) i display2 (34 sp) są teraz mniejsze niż wcześniej. Wprowadziliśmy też różne inne drobne zmiany dotyczące wysokości wiersza i odstępów między wierszami. (Ie3077)
- Dodaliśmy opór do
SwipeToDismissBox, aby ruch następował tylko podczas przesuwania w celu zamknięcia, a nie w przeciwnym kierunku. (Ifdfb9) - Zmieniliśmy niektóre domyślne wartości parametrów funkcji
CircularProgressIndicator, aby dostosować je do wytycznych dotyczących UX w Wear Material Design. W przypadku wersji Spinner/Indeterminant zaktualizowano rozmiar (40–>24 dp), kolor wskaźnika (primary–>onBackground), przezroczystość koloru ścieżki (30%–>10%) i szerokość linii (4–>3 dp). W wersji Progress/Determinate zmieniliśmy przejrzystość koloru ścieżki (30% –> 10%). (I659cc) - Zaktualizowaliśmy domyślne parametry skalowania
ScalingLazyColumnzgodnie z najnowszymi specyfikacjami UX Wear Material Design. W efekcie elementy listy są skalowane bliżej środka listy, ale na jej krawędziach są mniej skalowane niż wcześniej. (Ica8f3) - Wprowadź pewne korekty do
ScalingLazyColumnDefaults.snapFlingBehavior, aby poprawić zakończenie animacji (If3260).
Wersja 1.0.0-alpha18
9 marca 2022 r.
androidx.wear.compose:compose-foundation:1.0.0-alpha18, androidx.wear.compose:compose-material:1.0.0-alpha18 i androidx.wear.compose:compose-navigation:1.0.0-alpha18 są udostępnione. Wersja 1.0.0-alpha18 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Kilka ulepszeń dotyczących elementu PositionIndicator: zmieniono nazwę elementu ShowResult na PositionIndicatorVisibility. Poprawki wydajności, aby uniknąć ponownych obliczeń, gdy nie są potrzebne (Iaed9d)
- Zalecane kolory dla
SplitToggleChipzostały zaktualizowane. Elementy SplitToggleChip mają teraz jednobarwne tło, gdy są zaznaczone lub odznaczone. Kolor elementu ToggleControl jest głównym wskaźnikiem tego, czy komponent jest zaznaczony. Dodaliśmy nowy elementToggleDefaults.splitToggleChipColors(), aby obsługiwać nowy schemat kolorów. Uprościliśmy teżtoggleChipColors()metody, usuwając splitBackgroundOverlayColor (I7e66e). - Do elementu
ScalingLazyListItemInfododaliśmy atrybut unadjustedSize, ponieważ obliczanie oryginalnego rozmiaru produktu na podstawie skalowanego rozmiaru i współczynnika skalowania jest niebezpieczne ze względu na precyzję obliczeń na liczbach zmiennoprzecinkowych. (I54657, b/221079441) - Dodaj
HorizontalPageIndicator. Reprezentuje łączną liczbę stron i wybraną stronę. Może być liniowy lub zakrzywiony w zależności od kształtu urządzenia. Obsługuje też niestandardowy kształt wskaźnika, który określa, jak każdy wskaźnik jest reprezentowany wizualnie. (Iac898) - Zaktualizowaliśmy
PickerState, aby można było zmieniać wartość numberOfOptions. Umożliwia to obsługę przypadków użycia, takich jakDatePicker, gdy liczba dni w miesiącu zmienia się w zależności od wybranego miesiąca. Parametr konstruktora PickerState został odpowiednio zmieniony na initialNumberOfOptions. (Iad066) - Ukryj
PositionIndicator, gdy jest paskiem przewijania i nie można go przewijać. (Id0a7f) - Aby zachować spójność z komponentem Scaffold, nasz komponent Dialog na pełnym ekranie wyświetla teraz ikony
PositionIndicatoriVignette. ZamiastColumnużywamy terazScalingLazyColumn, co oznacza, że zawartość okna dialogowego znajduje się teraz wScalingLazyListScope(i zwykle musi być ujęta w { /* content */ }). Okno dialogowe obsługuje parametr verticalArrangement. (Idea13) - Zmieniliśmy nazwę właściwości
ToggleChipiSplitToggleChiptoggleIcon na toggleControl, aby lepiej dopasować ją do Material Design i ułatwić projektantom oraz deweloperom korzystanie z interfejsu API. (If5921, b/220129803) - Dodaliśmy nowy wpis caption3 do typologii motywu Wear Material. Caption3 to mała czcionka używana w przypadku bardzo długich tekstów, np. tekstów prawnych. (I74b13, b/220128356)
Poprawki błędów
- Zatrzymaj animację przyciągania, gdy dotrzemy na miejsce. (Idb69d)
- Animowanie zmian w PositionIndicator. (I94cb9)
- Na podstawie opinii dotyczących interfejsu użytkownika zmieniliśmy
ScalingLazyColumnautomatyczne wyśrodkowywanie, tak aby zapewniało tylko tyle miejsca, ile jest potrzebne, aby elementy o indeksieScalingLazyListState.initialCenterItemIndexlub wyższym można było w pełni przewinąć do środka obszaru widocznego. Umożliwia to umieszczenie na początku 1–2 elementów na środku, których nie można przewinąć na środek. Oznacza to, że elementScalingLazyColumnz automatycznym wyśrodkowaniem nie będzie mógł przewijać powyżej elementuinitialCenterItemIndex/initialCenterItemScrollOffset(I22ee2). - Dodaliśmy wersję demonstracyjną selektora daty i naprawiliśmy błąd w
PickerState, który powodował, że parametr initiallySelectedOption nie był stosowany, dopóki selektor nie został wyświetlony. (Id0d7e) - Aby ograniczyć przycinanie szerszych elementów
ScalingLazyColumnna okrągłych ekranach, zwiększyliśmy domyślny poziomy odstęp od treści z 8 dp do 10 dp. (I0d609) - Sprawdź, czy podczas przewijania wyświetla się
PositionIndicator. (Ied9a2)
Wersja 1.0.0-alpha17
23 lutego 2022 r.
androidx.wear.compose:compose-foundation:1.0.0-alpha17, androidx.wear.compose:compose-material:1.0.0-alpha17 i androidx.wear.compose:compose-navigation:1.0.0-alpha17 są udostępnione. Wersja 1.0.0-alpha17 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy obsługę przyciągania, której można używać w
ScalingLazyColumn. UstawflingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state), aby włączyć obsługę przyciągania. (I068d3, b/217377069) - Dodaliśmy wersje demonstracyjne selektora, który służy do wybierania godziny w systemie 24-godzinnym lub 12-godzinnym. (Ie5552)
Zmiany w interfejsie API
- Rozwiązaliśmy problem z
TimeTextniestandardowymi czcionkami i stylami na urządzeniu kwadratowym (Iea76e). ScalingLazyListLayoutInfoma teraz właściwościreverseLayout,viewportSizei orientacji zgodne z właściwościamiLazyListLayoutInfo(I4f258, b/217917020).- Usługa
ScalingLazyColumnma teraz usługęuserScrollEnabledzgodną z usługąLazyList(I164d0, b/217912513). - Selektory mają teraz domyślnie gradient u góry i u dołu (Iab92a).
Poprawki błędów
- Zmodyfikowaliśmy element
ScalingLazyColumn, aby nie wypełniał już całego miejsca w elemencie nadrzędnym. Zamiast tego będzie miał rozmiar dopasowany do rozmiaru treści. Dzięki temu jest ona zgodna z działaniem funkcjiLazyColumn. Jeśli chcesz przywrócić stare działanie, przekaż wartośćModifier.fillMaxWidth()/width()/widthIn()do parametruScalingLazyColumn(I51bf8). - Ulepszyliśmy komunikat o wyjątku w
SwipeDismissableNavHost.kt, który był wywoływany, gdy stos wsteczny nawigacji był pusty. (I1b1dc)
Wersja 1.0.0-alpha16
9 lutego 2022 r.
androidx.wear.compose:compose-foundation:1.0.0-alpha16, androidx.wear.compose:compose-material:1.0.0-alpha16 i androidx.wear.compose:compose-navigation:1.0.0-alpha16 są udostępnione. Wersja 1.0.0-alpha16 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaj
CircularProgressIndicator. Wskaźniki postępu pokazują długość procesu lub nieokreślony czas oczekiwania. Obsługuje wycięcie na TimeText lub inne komponenty, jeśli jest używany w trybie pełnoekranowym. (Iab8da)
Zmiany w interfejsie API
- Selektory mają teraz parametr
flingBehavior, którego wartość domyślna powoduje, że podczas przewijania lub przeciągania szybko przyciągają do najbliższej opcji. (I09000) - Dodatkowy interfejs API liczb całkowitych dla komponentów InlineSlider i Stepper (I1b5d6)
Poprawki błędów
- Zmieniliśmy domyślny indeks initialCenterItemIndex dla elementu
ScalingLazyListStatez 0 na 1. Oznacza to, że jeśli nie zostanie to zmienione podczas tworzenia stanu za pomocąScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =), drugi element listy (indeks == 1) zostanie umieszczony na środku obszaru wyświetlania podczas inicjowania, a pierwszy element (indeks == 0) zostanie umieszczony przed nim. Dzięki temu domyślny efekt wizualny jest lepszy, ponieważ większość widocznego obszaru jest wypełniona elementami listy. (I0c623, b/217344252) - Zmniejszyliśmy domyślny
ScalingLazyColumnextraPadding, aby zapewnić wystarczającą liczbę elementów listy (nawet jeśli niektóre z nich są pomniejszone), z 10% do 5%. Pozwoli to uniknąć tworzenia dodatkowych elementów listy, które mogą nie być widoczne w obszarze wyświetlania. Jeśli używane są niestandardowe parametry skalowania (np. bardziej ekstremalne skalowanie), deweloper może dostosować dodatkowe dopełnienie za pomocą parametruviewportVerticalOffsetResolver. (I76be4) - Rozwiązaliśmy problem z tekstem TimeText w wielu wierszach na urządzeniu kwadratowym (Ibd3fb).
- Zmodyfikowaliśmy element
ScalingLazyColumn, aby nie wypełniał już całego miejsca w elemencie nadrzędnym. Zamiast tego będzie miał rozmiar dopasowany do rozmiaru treści. Dzięki temu jest on zgodny z działaniem funkcjiLazyColumn. Jeśli chcesz przywrócić stare działanie, przekaż wartośćModifier.fillMaxSize()do parametruScalingLazyColumn. UWAGA: ta zmiana jest niepełna i zostanie uwzględniona w kolejnej zmianie w następnej wersji alfa. (I3cbfa)
Wersja 1.0.0-alpha15
26 stycznia 2022 r.
androidx.wear.compose:compose-foundation:1.0.0-alpha15, androidx.wear.compose:compose-material:1.0.0-alpha15 i androidx.wear.compose:compose-navigation:1.0.0-alpha15 są udostępnione. Wersja 1.0.0-alpha15 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Do elementu
ScalingLazyColumndodaliśmy nową właściwośćautoCentering. Gdy ta wartość jest ustawiona na „true” (domyślnie), wszystkie elementy, w tym pierwszy i ostatni, można przewijać tak, aby były widoczne na środku obszaru wyświetlania listy. Pamiętaj, że jeśli używasz automatycznego wyśrodkowywania, prawdopodobnie zechcesz ustawić pionowy odstęp od treści na 0.dp. Jeśli podasz zarówno autoCentering, jak i wypełnienie pionowe treści, oba te ustawienia spowodują, że przed pierwszym i po ostatnim elemencie listy będzie dostępna dodatkowa przestrzeń, co umożliwi dalsze przewijanie. (I2a282, b/214922490) - Dodaliśmy komponent
Dialog, który umożliwia wywoływanie przez dowolny komponent kompozycyjny okna dialogowego na pełnym ekranie, które znajduje się nad innymi treściami. Gdy okno dialogowe jest wyświetlane, można je zamknąć gestem przesunięcia. Podczas tego gestu w tle będzie widoczna zawartość okna nadrzędnego. Zawartość okna dialogowego powinna mieć wartośćAlertlubConfirmation(zmieniona nazwa wcześniejszych komponentówAlertDialogiConfirmationDialog) –Alert,ConfirmationiDialogznajdują się w pakiecieandroidx.wear.compose.material.dialog. Alert i Potwierdzenie mogą być używane jako miejsca docelowe nawigacji. W razie potrzeby dodaliśmy też ColumnScope do parametrów Alert i Confirmation. (Ia9014) - Usunęliśmy
onSurfaceVariant2z kolorów motywu Material w Compose na WearOS i zastąpiliśmy go w bibliotece symbolemonSurfaceVariant. (Icd592) - Dodaliśmy metodę programowego wybierania opcji w
PickerState. Podczas tworzenia elementuPickerStatemożna teraz określić początkowo wybraną opcję. (I92bdf) - Dodaliśmy możliwość dostosowywania zachowania gestu szybkiego przesunięcia w przypadku
ScalingLazyColumn. (I1ad2e, b/208842968) - Dodaliśmy
NavController.currentBackStackEntryAsState()do bibliotekiWear.Compose.Navigation. (If9028, b/212739653) - Dodano
Modifier.onRotaryScrollEvent()iModifier.onPreRotaryScrollEvent()na urządzenia Wear z obrotowym przyciskiem bocznym (I18bf5, b/210748686).
Wersja 1.0.0-alpha14
12 stycznia 2022 r.
androidx.wear.compose:compose-foundation:1.0.0-alpha14, androidx.wear.compose:compose-material:1.0.0-alpha14 i androidx.wear.compose:compose-navigation:1.0.0-alpha14 są udostępnione. Wersja 1.0.0-alpha14 zawiera te zatwierdzenia.
Nowe funkcje
Dodaliśmy do interfejsu
ScalingLazyListStatekilka metod, które umożliwiają deweloperom kontrolowanie przewijania do określonych elementów listy, a także ustawianie początkowego elementu listy i przesunięcia.W ramach tej zmiany zmodyfikowaliśmy też element ScalingLazyList, aby był zorientowany na środek obszaru wyświetlania, a nie na jego początek.
Do właściwości
ScalingLazyListdodaliśmy nową właściwośćanchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter, która określa, czy środek (ScalingLazyListAnchorType.ItemCenter) czyEdge(ScalingLazyListAnchorType.ItemStart) ma być wyrównany do linii środkowej widocznego obszaru.W rezultacie wartości
ScalingLazyListItemInfo.offsetiScalingLazyListItemInfo.adjustedOffsetuległy zmianie i odzwierciedlają teraz przesunięcie elementu względem pozycji elementu listy ianchorTypelisty. Na przykład w przypadku elementuScalingLazyColumno wartościanchorTyperównejItemCenteri elementu listy umieszczonego tak, że jego środek znajduje się na linii środkowej obszaru wyświetlania, przesunięcie wyniesie0.Nowe metody to
scrollTo,animatedScrollTo,centerItemIndexicenterItemOffset. (I61b61)Dodaliśmy do
SwipeDismissableNavHostobsługę przycisku Wstecz, dzięki czemu naciśnięcie tego przycisku powoduje przejście na poprzedni poziom w hierarchii nawigacji. (I5b086, b/210205624)
Wersja 1.0.0-alpha13
15 grudnia 2021 roku
androidx.wear.compose:compose-foundation:1.0.0-alpha13, androidx.wear.compose:compose-material:1.0.0-alpha13 i androidx.wear.compose:compose-navigation:1.0.0-alpha13 są udostępnione. Wersja 1.0.0-alpha13 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Ustawiliśmy wartość
RangeIconsjako wewnętrzną (odwołują się do niej wewnętrznie wartościInlineSlideriStepper). (I927ec)
Poprawki błędów
Naprawiliśmy problem polegający na tym, że
SwipeDismissableNavHostdodawał miejsce docelowe do hierarchii Compose, zanim osiągnęło ono stan cyklu życiaCREATED, co powodowało wystąpienie błęduIllegalStateException. Ta poprawka była warunkiem wstępnym aktualizacji zależności odnavigation-composedo2.4.0-beta02i nowszych wersji. (I40a2b, b/207328687)Dodano klasę wyliczeniową Drawables do pobierania zasobów rysowalnych w bibliotece Wear Compose, dzięki czemu nie jest już potrzebne odbicie. Rozwiązuje to błąd, w którym elementy rysunkowe biblioteki były usuwane, gdy
minifyEnabled=truelubshrinkResources=true). (Ib2a98)Dodano testy dla
Stepperw Wear Compose (I2d03a)Dodaliśmy przykłady
SwipeDismissableNavHostw Wear Compose Navigation. (I85f06)
Wersja 1.0.0-alpha12
1 grudnia 2021 r.
androidx.wear.compose:compose-foundation:1.0.0-alpha12, androidx.wear.compose:compose-material:1.0.0-alpha12 i androidx.wear.compose:compose-navigation:1.0.0-alpha12 są udostępnione. Wersja 1.0.0-alpha12 zawiera te zatwierdzenia.
Nowe funkcje
Dodaliśmy komponent Stepper, który umożliwia użytkownikom wybór z zakresu wartości. Stepper to kontrolka na pełnym ekranie z przyciskami zwiększania i zmniejszania u góry i u dołu oraz miejscem na środku (przeznaczonym na chip lub tekst). W razie potrzeby możesz dostosować ikony przycisków. (I625fe)
Dodaliśmy 2 nowe komponenty kompozycyjne do wyświetlania okien dialogowych: AlertDialog czeka na odpowiedź użytkownika i wyświetla tytuł, ikonę, wiadomość oraz a) 2 przyciski do prostych wyborów pozytywnych lub negatywnych albo b) ułożone pionowo elementy lub przełączniki do bardziej elastycznych wyborów. ConfirmationDialog wyświetla potwierdzenie z limitem czasu. To proste okno ma miejsca na tytuł i (animowaną) ikonę. (Ic2cf8)
Zmiany w interfejsie API
- Dodaj jednostki (milisekundy) do sugerowanych wartości czasu trwania okna. (I09b48)
Wersja 1.0.0-alpha11
17 listopada 2021 r.
androidx.wear.compose:compose-foundation:1.0.0-alpha11, androidx.wear.compose:compose-material:1.0.0-alpha11 i androidx.wear.compose:compose-navigation:1.0.0-alpha11 są udostępnione. Wersja 1.0.0-alpha11 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy komponent selektora, który umożliwia użytkownikowi wybranie elementu z przewijanej listy. Domyślnie lista elementów do wyboru jest powtarzana „w nieskończoność” w obu kierunkach, aby sprawiać wrażenie obracającego się walca widzianego z boku. W późniejszych wersjach dodamy 2 funkcje: przyciąganie do wartości po przesunięciu palcem oraz dodanie do PickerState funkcji ustawiania/przewijania do bieżącej wartości. (I6461b)
Zmiany w interfejsie API
- Dodano ScalingLazyItemScope i nowe modyfikatory fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight, aby umożliwić określanie rozmiaru elementów listy na podstawie rozmiaru kontenera nadrzędnego. Elementy mogą wypełniać całą przestrzeń elementu nadrzędnego lub jej część. Udostępnia to funkcje, które są już dostępne w LazyRow/Column (I4612f).
- Dodaliśmy obsługę komponentu ScalingLazyColumn, aby umożliwić elementom posiadanie klucza. Dodaliśmy też wygodne metody umożliwiające dodawanie elementów z tablic i list. (Ic1f89)
Poprawki błędów
- Dodatkowe przykłady dla TimeText (I8cb64)
Wersja 1.0.0-alpha10
3 listopada 2021 r.
androidx.wear.compose:compose-foundation:1.0.0-alpha10, androidx.wear.compose:compose-material:1.0.0-alpha10 i androidx.wear.compose:compose-navigation:1.0.0-alpha10 są udostępnione. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.
Nowe funkcje
Dodaliśmy komponent InlineSlider do Wear Compose. InlineSlider 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ść. (If0148)
Sprawdź nowe ćwiczenia z programowania dotyczące Compose na Wear OS.
Zmiany w interfejsie API
- Macrobenchmark ma teraz
minSdkVersion23. (If2655)
Poprawki błędów
- Aktualizacja obsługi przejść w komponencie SwipeDismissableNavHost w funkcji SideEffect (I04994, b/202863359)
- Aktualizacja obsługi przejść w komponencie SwipeDismissableNavHost (I1cbe0, b/202863359)
Wersja 1.0.0-alpha09
27 października 2021 r.
androidx.wear.compose:compose-foundation:1.0.0-alpha09, androidx.wear.compose:compose-material:1.0.0-alpha09 i androidx.wear.compose:compose-navigation:1.0.0-alpha09 są udostępnione. Wersja 1.0.0-alpha09 zawiera te zatwierdzenia.
Nowe funkcje
- Udostępniliśmy wersję przedpremierową dla programistów Compose na Wear OS. Zapoznaj się z naszym postem na blogu, w którym omawiamy główne funkcje kompozycyjne i podajemy linki do dodatkowych materiałów, które pomogą Ci zacząć z nich korzystać.
Zmiany w interfejsie API
- Dodaliśmy obsługę możliwości dostosowywania wszystkich kolorów w motywie kolorystycznym Wear Material Design. (I4759b, b/199754668)
Poprawki błędów
- Dodano przykłady SwipeToDismissBox, które zachowują stan (Ibaffe)
- Dodano linki do przewodników na developer.android.com z dokumentacji KDoc dla CurvedText, TimeText i SwipeToDismissBox. (I399d4)
- Komponent SwipeDismissableNavHost zgłasza teraz wyjątek, jeśli nie ma bieżącego miejsca docelowego (co oznacza, że element NavGraph nie został utworzony za pomocą funkcji użytkowej wear.compose.navigation.composable) (I91403).
- Dodaliśmy dodatkową dokumentację i przykłady dotyczące używania źródła czasu w funkcji TimeText (I4f6f0).
Wersja 1.0.0-alpha08
13 października 2021 r.
androidx.wear.compose:compose-foundation:1.0.0-alpha08, androidx.wear.compose:compose-material:1.0.0-alpha08 i androidx.wear.compose:compose-navigation:1.0.0-alpha08 są udostępnione. Wersja 1.0.0-alpha08 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zmieniliśmy nazwy właściwości AppCard i TitleCard
bodynacontenti przenieśliśmy je na koniec listy właściwości, aby można było je podawać jako lambdę końcową. Zmieniliśmy też nazwębodyColornacontentColor, aby zachować spójność z nowymi nazwami przedziałów. (I57e78)
Poprawki błędów
- Dodano linki do przewodników na developer.android.com z dokumentacji KDoc dla komponentów przycisku, karty, elementu, motywu, wskaźnika pozycji i skalowania leniwej kolumny. (I22428)
- Rozwiązanie problemu polegającego na tym, że funkcja SwipeToDismissBox w WearOS czasami nie obsługiwała przesunięć. (I9387e)
- Dodano przykłady dla elementów Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, ToggleChip, SplitToggleChip (Iddc15)
- Dodaliśmy testy wydajności mikrobenczmarków dla komponentów Card, Chip, ToggleChip, TimeText i ScalingLazyColumn. (If2fe9)
Wersja 1.0.0-alpha07
29 września 2021 r.
androidx.wear.compose:compose-foundation:1.0.0-alpha07, androidx.wear.compose:compose-material:1.0.0-alpha07 i androidx.wear.compose:compose-navigation:1.0.0-alpha07 są udostępnione. Wersja 1.0.0-alpha07 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano komponent CurvedText w materialu, który umożliwia programistom łatwe pisanie zakrzywionego tekstu zgodnie z krzywizną okręgu (zwykle na krawędzi okrągłego ekranu). (I19593)
Zmiany w interfejsie API
- Dodano testy funkcji TimeText (Idfead)
- Przekształć ArcPaddingValues w interfejs. (Iecd4c)
- Dodano animację do SwipeToDismissBox (I9ad1b)
- Dodano parametr hasBackground do interfejsu SwipeToDismissBox, aby można było wyłączyć gest przesuwania, gdy nie ma treści tła do wyświetlenia. (I313d8)
rememberNavController()przyjmuje teraz opcjonalny zestaw instancjiNavigator, które zostaną dodane do zwracanegoNavController, aby lepiej obsługiwać opcjonalne nawigatory, takie jak te z materiałów nawigacyjnych Accompanist. (I4619e)- Odwołaj się do NamedNavArgument z navigation-common i usuń kopię z wear.compose.navigation. (I43af6)
Poprawki błędów
- Usunięto niestabilność testu Fixed CurvedRow na mniejszych urządzeniach. (If7941)
- Naprawiono możliwe migotanie w przypadku CurvedRow, gdy treść jest aktualizowana, i zapewniono ponowny pomiar zakrzywionego wiersza (Ie4e06).
- Funkcja ChipDefaults.gradientBackgroundChipColors() została zaktualizowana zgodnie ze zmianami w specyfikacji UX. Gradient zaczyna się od koloru MaterialTheme.colors.primary z wartością alfa 32,5% i kończy się kolorem MaterialTheme.colors.surface z wartością alfa 0% na tle koloru MaterialTheme.colors.surface z wartością alfa 75%. (Id1548)
- Zaktualizowaliśmy kolory elementów ToggleChip w stanie wybranym, aby były zgodne z najnowszymi wytycznymi dotyczącymi specyfikacji UX w Wear Material Design. Po wybraniu przełączniki ToggleChips mają teraz gradientowe tło od MaterialTheme.color.surface @ 0% alfa, lewy górny róg, do MaterialTheme.color.primary @ 32% alfa, prawy dolny róg, na tle MaterialTheme.color.surface @ 75% alfa. Dzięki temu różnica między zaznaczonym a odznaczonym elementem ToggleChip jest bardziej subtelna. (Idd40b)
Wersja 1.0.0-alpha06
15 września 2021 r.
androidx.wear.compose:compose-foundation:1.0.0-alpha06, androidx.wear.compose:compose-material:1.0.0-alpha06 i androidx.wear.compose:compose-navigation:1.0.0-alpha06 są udostępnione. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy komponent kompozycyjny Scaffold najwyższego poziomu, który zapewnia strukturę do obsługi pozycji PositionIndicator (np. Scroll lub Volume), obszar u góry ekranu do wyświetlania czasu i stanu aplikacji, a także obsługuje winietę, która rozmywa górną i dolną krawędź ekranu w przypadku treści z możliwością przewijania. Główny obszar komponentu Scaffold to miejsce, w którym umieszcza się zawartość aplikacji. (I5e0bf)
- Dodano implementację TimeText dla Wear Compose (I5654c)
Biblioteka nawigacji Wear Compose
Dodaliśmy pierwszą wersję biblioteki Wear Compose Navigation, która zapewnia integrację bibliotek Wear Compose i Androidx Navigation. Umożliwia łatwe przełączanie się między funkcjami @Composable jako miejscami docelowymi w aplikacji.
Ta pierwsza wersja zapewnia:
- Kompozycja
SwipeDismissableNavHost, która zawiera wykres nawigacji i umożliwia nawigację wstecz za pomocą gestów przesuwania. NavGraphBuilder.composable, która pomaga w tworzeniu wykresów nawigacji.rememberSwipeDismissableNavController(), aby zezwolić na przenoszenie stanu.
- Kompozycja
Przykład użycia, w którym tworzymy 2 ekrany i przechodzimy między nimi:
val navController = rememberSwipeDismissableNavController() SwipeDismissableNavHost( navController = navController, startDestination = "start" ) { composable("start") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Button(onClick = { navController.navigate("next") }) { Text("Go") } } } composable("next") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Text("Swipe to go back") } } }Wear Compose Navigation jest pakietem w postaci osobnej biblioteki, dzięki czemu proste aplikacje Wear Compose, które implementują własną, ręcznie napisaną nawigację, nie muszą korzystać z biblioteki Androidx Navigation.
Zmiany w interfejsie API
- Zaktualizowano
SwipeDismissableNavHost, aby obsługiwaćrememberSaveableprzez ustawienie kluczowej tożsamości tła i treści (I746fd) - Dodaliśmy adapter PositionIndicator, który może obsługiwać LazyListState (I21b88).
- Zaktualizowano SwipeToDismissBox, aby obsługiwał rememberSaveable (Ie728b)
- Dodaliśmy obsługę parametru reverseLayout do komponentu ScalingLazyColumn. Umożliwia to odwrócenie kierunku przewijania i układu (I9e2fc).
- Wycofano
performGestureiGestureScope, które zostały zastąpione przezperformTouchInputiTouchInjectionScope. (Ia5f3f, b/190493367) - Zmieniliśmy nazwę VignetteValue na VignettePosition, a VignetteValue.Both na VignettePosition.TopAndBottom. (I57ad7)
- Zmieniliśmy nazwy klas ScalingLazyColumnState na ScalingLazyListState, ScalingLazyColumnItemInfo na ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo na ScalingLazyListLayoutInfo i ScalingLazyColumnScope na ScalingLazyListScope, aby w przyszłości móc dodać implementację ScalingLazyRow. (I22734)
Poprawki błędów
- Zaktualizowaliśmy dokumentację dotyczącą komponentu CompactChip, aby opisać, co się stanie, jeśli nie podasz ikony ani etykiety. (I4ba88)
- Wprowadziliśmy pewne zmiany w komponentach kart Wear. (I6b3d0)
- Zmniejszono odstęp między tytułem a treścią na karcie tytułowej z 8 dp do 2 dp.
- Czcionka nagłówka karty z tytułem została zmieniona z body na title3.
- Zmieniono gradient tła karty, aby tło było ciemniejsze.
Wersja 1.0.0-alpha05
1 września 2021 roku
Publikacja androidx.wear.compose:compose-foundation:1.0.0-alpha05 i androidx.wear.compose:compose-material:1.0.0-alpha05 Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Oznaczanie ArcPaddingValues jako @Stable (I57deb)
- Klasa ScalingLazyColumnState implementuje teraz interfejs ScrollableState, co zapewnia programistom dostęp do przewijania komponentu. (I47dbc)
Poprawki błędów
- Zmniejszyliśmy odstęp między ikoną a tekstem w elementach Chip i ToggleChip, aby dostosować je do aktualizacji specyfikacji UX. (I83802)
Wersja 1.0.0-alpha04
18 sierpnia 2021 r.
Publikacja androidx.wear.compose:compose-foundation:1.0.0-alpha04 i androidx.wear.compose:compose-material:1.0.0-alpha04 Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano SwipeToDismissBox i modyfikator swipeable, których można używać do obsługi gestu przesuwania od lewej do prawej w celu zamknięcia. Chociaż jest to niezależne od komponentów nawigacji, oczekuje się, że będzie to używane do zamykania jednego ekranu i przechodzenia do innego. Dodano testy integracyjne, aby zademonstrować funkcję przesuwania w celu zamknięcia. (I7bbaa)
- Do klasy ScalingLazyColumnState dodaliśmy interfejsy ScalingLazyColumnItemInfo i ScalingLazyColumnLayoutInfo, aby umożliwić programistom poznanie rzeczywistych pozycji i rozmiarów elementów w ScalingLazyColumn po zastosowaniu skalowania. Naprawiliśmy też błąd w sposobie obliczania skalowania, gdy do elementu ScalingLazyColumn zastosowano dopełnienie treści „u góry”. (I27c07)
Zmiany w interfejsie API
- Dodaj klasę CurvedTextStyle, aby określić styl tekstu zakrzywionego Opcje. Podobnie jak TextStyle, ale teraz obsługuje tylko kolor, rozmiar czcionki i tło. W przyszłości dodamy więcej opcji stylizacji. (I96ac3)
- Do klasy ScalingLazyColumnState dodaliśmy interfejsy ScalingLazyColumnItemInfo i ScalingLazyColumnLayoutInfo, aby umożliwić programistom poznanie rzeczywistych pozycji i rozmiarów elementów w ScalingLazyColumn po zastosowaniu skalowania. Naprawiliśmy też błąd w sposobie obliczania skalowania, gdy do elementu ScalingLazyColumn zastosowano dopełnienie „top”. (I27c07)
- Dodano wyliczenie
@ExperimentalWearMaterialApido wyliczeniaSwipeDismissTarget, które jest częścią interfejsuSwipeToDismissBoxAPI. (I48b5e)
Poprawki błędów
- Dodano materiał testowy dla SwipeToDismissBox (I9febc)
Wersja 1.0.0-alpha03
4 sierpnia 2021 r.
Publikacja androidx.wear.compose:compose-foundation:1.0.0-alpha03 i androidx.wear.compose:compose-material:1.0.0-alpha03 Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodano komponent CurvedText, który umożliwia deweloperom łatwe pisanie tekstu wzdłuż krzywizny okręgu (zwykle na krawędzi okrągłego ekranu) (Id1267).
- Zmieniliśmy nazwę
CardDefaults.imageBackgroundPainter()naCardDefaults.imageWithScrimBackgroundPainter(), aby było jasne, że obraz tła będzie miał nałożoną na niego półprzezroczystą warstwę. (I53206) - Dodano komponent ScalingLazyColumn, który zapewnia komponent listy dla Wear Material, który daje efekt rybiego oka, a zawartość listy zmniejsza się i staje się przezroczysta, gdy zbliża się do krawędzi komponentu. (I7070c)
Poprawki błędów
- Zmieniliśmy domyślny kolor treści appName w komponencie AppCard w odpowiedzi na aktualizację specyfikacji UX. Domyślny kolor nazwy aplikacji to teraz
MaterialTheme.colors.onSurfaceVariant. Dodano też brakujący opis parametru dokumentu dla miejsca na tytuł. (Ic4ad1)
Wersja 1.0.0-alpha02
21 lipca 2021 r.
Publikacja androidx.wear.compose:compose-foundation:1.0.0-alpha02 i androidx.wear.compose:compose-material:1.0.0-alpha02 Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy nową klasę CurvedRow do układania komponentów w łuku (I29941).
- Dodano nowy typ karty do użycia w aplikacjach (TitleCard), a także obsługę obrazów jako tła kart, aby podkreślić ich zawartość (I53b0f).
Zmiany w interfejsie API
- Dodanie do CurvedRow obsługi wyrównania radialnego (podobnie jak wyrównanie pionowe w wierszu) (Id9de5)
- Dodawanie nowej klasy CurvedRow do kompozycji w układzie łukowym (I29941)
- Dodano nowy typ karty do użycia w aplikacjach (TitleCard), a także obsługę obrazów jako tła kart, aby podkreślić ich zawartość (I53b0f).
- Dodano ikony przełączania (pola wyboru, przełączniki i przyciski opcji) do ToggleChipDefaults, aby ułatwić deweloperom konfigurowanie elementów ToggleChip i SplitToggleChips (I7b639).
- Zaktualizowano dopełnienie początku i końca treści w elementach Chip, tak aby wynosiło ono zawsze 14 dp, niezależnie od tego, czy element Chip zawiera ikonę (wcześniej było to 12 dp, jeśli ikona była obecna, i 14 dp, jeśli nie) (I34c86).
Poprawki błędów
- Dodaj testy dla CurvedRow (I93cdb)
- Powiązanie zależności Wear Compose z Compose w wersji 1.0.0-rc01. (Ie6bc9)
- Zmieniliśmy sposób rysowania obrazu tła w przypadku kart i elementów, tak aby obraz był przycinany, a nie rozciągany, co pozwala zachować jego proporcje. (I29b41)
- Dodaliśmy więcej wersji demonstracyjnych i testów integracji dla elementów Button i ToggleButton. (5e27ed2)
- Dodano więcej testów elementów, aby uwzględnić kolory treści w przypadku elementów imageBackgroundChips (Ia9183).
Wersja 1.0.0-alpha01
1 lipca 2021 r.
Publikacja androidx.wear.compose:compose-foundation:1.0.0-alpha01 i androidx.wear.compose:compose-material:1.0.0-alpha01 Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
Wear Compose to biblioteka oparta na Kotlinie i Compose, która obsługuje Wear Material Design, czyli rozszerzenie Material Design na urządzenia z WearOS. Ta pierwsza wersja alfa zawiera wczesne, działające implementacje tych funkcji:
- Motyw Material – konfiguruje kolory, typografię i kształty w spójny sposób we wszystkich komponentach używanych z tej biblioteki.
- Chip, CompactChip – elementy w kształcie stadionu, dostępne w różnych wersjach, które mogą zawierać ikonę, etykietę i etykietę dodatkową.
- – ToggleChip, SplitToggleChip – specjalny rodzaj elementu, który zawiera miejsce na ikonę przełącznika dwustanowego, np. przycisk opcji lub pole wyboru. Dodatkowo element SplitToggleChip ma 2 obszary, które można kliknąć: jeden klikalny i jeden przełączalny.
- Button, CompactButton – przyciski mają okrągły kształt i jedno miejsce na ikonę lub minimalną ilość tekstu (maksymalnie 3 znaki).
- ToggleButton – przycisk, który włącza lub wyłącza działanie, z jednym miejscem na ikonę lub minimalny tekst (maksymalnie 3 znaki).
- Karta, AppCard – prostokątna z zaokrąglonymi rogami, z miejscami na treści, takie jak ikona aplikacji, czas, tytuł i tekst.
W przyszłych wersjach rozszerzymy zestaw widżetów, dodając obsługę selektorów, suwaków, list, wskaźników stron, okien, wskaźników przewijania, powiadomień i innych elementów interfejsu Material Design na Wear.
Dodatkowo zapewnimy obsługę innych funkcji specyficznych dla urządzeń do noszenia, takich jak zakrzywione układy i tekst, a także szkielety, które ułatwią deweloperom tworzenie aplikacji i nakładek na urządzenia do noszenia.
Wear Compose Material jest zaprojektowany zgodnie z tymi samymi zasadami co Compose Material, ale jest przeznaczony na urządzenia do noszenia. Podczas tworzenia aplikacji na urządzenia do noszenia należy używać biblioteki Wear Compose Material zamiast biblioteki Compose Material.
Obie biblioteki „Material” należy traktować jako wzajemnie wykluczające się i nie należy ich łączyć w tej samej aplikacji. Jeśli deweloperzy uwzględniają w zależnościach bibliotekę Compose Material, oznacza to, że a) w bibliotece Wear Compose Material brakuje komponentów – daj nam znać, czego potrzebujesz, lub b) używasz komponentu, którego nie zalecamy do używania na urządzeniu do noszenia.