Wear Compose
| Najnowsza aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja beta | Wersja Alfa |
|---|---|---|---|---|
| 22 października 2025 r. | 1.5.4 | - | - | 1.6.0-alpha04 |
Deklarowanie zależności
Aby dodać zależność od Wear, musisz dodać repozytorium Google Maven do projektu. Więcej informacji znajdziesz w repozytorium Maven Google.
Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle aplikacji lub modułu:
Odlotowe
dependencies { implementation "androidx.wear.compose:compose-foundation:1.5.4" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material:1.5.4" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.5.4" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.5.4") // 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.5.4") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material:1.5.4") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.5.4") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.5.4") // 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.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wear Compose w wersji 1.6
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. W niektórych przypadkach ta nowa ikona błędu ogólnego może być lepsza od ikonyConfirmationDialogDefaults.FailureIcon, która pokazuje 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ź”, a nie standardowy przycisk „Potwierdź”. Przycisk”. (Ic2381, b/429378202) - Zwiększ widoczność numeru
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 elementu
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) - Usunięto nieużywany parametr
targetProgressw metodzieCircularProgressIndicatordrawCircularProgressIndicator. (Ieeb3c, b/430544552)
Poprawki błędów
- Wdrożono brakującą obsługę
TransformingLazyColumnverticalAlignment– teraz obsługuje standardowe układy oparte na górze, dole lub środku. (I2e630, b/444143326) - Ulepszono obliczanie szerokości zakrzywionego tekstu, aby uwzględniać spacje przed i po tekście (może to spowodować problemy ze zrzutami ekranu zawierającymi zakrzywiony tekst, zwłaszcza gdy ma on tło, np.
TimeText). (I924a4, b/446601899) - Zaktualizowano
WarpedCurvedTextRendererw Compose Foundation, aby zamiastandroidx.emoji2używaćEmojiCompatInitializer. Ma to na celu naprawienie błędu klasy środowiska wykonawczego. (I589b4, b/444422736) - Zaktualizowano
ScalingLazyColumn, aby skupić się na węźle z możliwością przewijania za pomocąCollectionInfo, dzięki czemu działa on w większej liczbie kontekstów, np. naMaterial3AlertDialog. (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
- Ulepszyliśmy renderowanie zakrzywionego tekstu, zwłaszcza w przypadku czcionek pisanych kursywą, 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ć wartośćFLAG_KEEP_SCREEN_ON. Dzięki temu animacje będą działać do końca, a okna dialogowe będą się zamykać zgodnie z zamierzeniami. (Iad7d4) - Naprawiliśmy błąd, który powodował awarię
Modifier.edgeSwipeToDismisspodczas używania zSwipeDismissableNavHostw przypadku interfejsu API w wersji 36 lub nowszej. (Ifc13d) - Zaktualizowana dokumentacja i komentarze powiązane z nowym parametrem
CurvedTextStyle warpOffset, aby prawidłowo odnosić się do przypadku „Nieokreślony”. (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 bez możliwości kliknięcia 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) - Dodaliśmy 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 dodanoModifier.fillMaxSize()(I07ae1, b/441682601). - Domyślnie dopasuj kierunek
ScrollIndicatordo kierunku układu treści. (I0da0f, b/441489028) - Rozwiązaliśmy problem z właściwością
ScrollAway, gdy była używana z właściwościąTransformingLazyColumn.TimeTextnie przewijał się prawidłowo po przejściu na inny ekran i z powrotem. (Ic0ef1, b/433549148) - Poprawione
TransformingLazyColumnraportowanie semantykiSCROLL_BACKWARDSiSCROLL_FORWARDSw przypadku skrajnych sytuacji u góry lub u dołu ekranu. (I5c28d, b/405205994) - Naprawienie błędu 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.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 urządzeniach z API w wersji 36 lub nowszej, 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ź”, a nie standardowy przycisk „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
- Wdrożono brakującą obsługę
TransformingLazyColumnverticalAlignment– teraz obsługuje standardowe układy oparte na górze, dole lub ś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 zamykać się automatycznie zgodnie z zamierzeniami. (Iad7d4) - Naprawiliśmy błąd, który powodował awarię
Modifier.edgeSwipeToDismisspodczas używania zSwipeDismissableNavHostw przypadku interfejsu API w wersji 36 lub nowszej. (Ifc13d) - Zaktualizowana dokumentacja i komentarze powiązane z nowym parametrem
CurvedTextStyle warpOffset, aby prawidłowo odnosić się do przypadku „Nieokreślony”. (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 właściwością
ScrollAway, gdy była używana z właściwościąTransformingLazyColumn.TimeTextnie przewijał się prawidłowo po przejściu na inny ekran i powrocie. (Ic0ef1, b/433549148) - Poprawione
TransformingLazyColumnraportowanie semantykiSCROLL_BACKWARDSiSCROLL_FORWARDSw przypadku skrajnych sytuacji u góry lub u dołu ekranu. (I5c28d, b/405205994) - Naprawienie błędu 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 dostosowany 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 treści okna.- komponenty
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, w którym długie, zlokalizowane ciągi znaków dla okresu (AM/PM) mogły powodować problemy z układem. (I0fa81)
Wersja 1.5.0-rc01
30 lipca 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-rc01 Wersja 1.5.0-rc01 zawiera te zmiany.
Poprawki błędów
TimePickerjest teraz w pełni zależny od ustawień regionalnych użytkownika, a do określania kolejności i zawartości selektorów i separatorów używaDateFormat.getBestDateTimePattern. Rozwiązuje to problemy z nieprawidłową kolejnością kolumn w przypadku języków CJK, problemy z układem od prawej do lewej w językach takich jak arabski, używa separatorów dostosowanych do języka i obsługuje formaty godzinowe 0–11 i 1–12 w zależności od ustawień regionalnych (I5d543).DatePickerwyświetla teraz w niektórych regionach, np.w Chinach, Japonii i Korei, miesiąc w formacie liczbowym, aby uniknąć mieszania formatów liczbowych i językowych (np. 2025 | 07 | 02 zamiast 2025 | 7月 | 02). Ta zmiana stosuje heurystykę, która sprawdza, czy w danym języku używane są przyrostki językowe dla roku. Jeśli tak, format miesiąca jest zmieniany z tekstowego (MMM) na numeryczny (MM), aby zachować spójność. (Ia93fe)- Pionowa przestrzeń nagłówka w komponencie selektora jest teraz stała, co zapobiega widocznemu przesunięciu po wybraniu kolumny selektora, zwłaszcza w trybie
Talkback. (I7f8b7) - Usunęliśmy błąd ułatwień dostępu spowodowany rysowaniem symboli
HorizontalPageIndicatoriVerticalPageIndicatorna pełnym ekranie. Wskaźniki stron nie są już wyświetlane na pełnym ekranie i są umieszczane automatycznie, 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, wywołujący powinien zresetować wartośćRevealStatedoRevealValue.Coveredpodczas przewijania. (I6473d) SwipeDismissableNavHostteraz prawidłowo przycina treści w przypadku interfejsu API w wersji 36 i nowszych. (Ib9a44)
Wersja 1.5.0-beta06
16 lipca 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-beta06 Wersja 1.5.0-beta06 zawiera te zmiany.
Poprawki błędów
- Napraw animację
EdgeButton, gdyLazyColumnlubScalingLazyColumnmająreverseLayout = true. (I46a1a) - Rozwiązaliśmy błąd w
ScreenScaffold, który powodował, że funkcja czytania dotykiem nie działała w TalkBack, jeśli podanoScrollIndicator/PageIndicator. (I6dcee) TransformingLazyColumnumożliwia teraz niestandardowe przekształcanie zTransformationSpecprzez odczytywanie wartościitemHeightpodanej przezTransformationSpecw malowaniu w tle. (I6a599)- Animowane przejścia kolorów włączone/wyłączone dla
IconButton, aby zachować spójność zIconToggleButton. (Ife10a) - Usunęliśmy minimalne ograniczenie sekcji w
CircularProgressIndicator, 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 odróżniają dostosowywanie wartości w trybie tylko do odczytu od wybierania bieżącej wartości w innych przypadkach. (I33309)
Wersja 1.5.0-beta05
2 lipca 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-beta05 Wersja 1.5.0-beta05 zawiera te zmiany.
Poprawki błędów
- Zaktualizowaliśmy dokumentację, aby wyjaśnić użycie
Modifier.edgeSwipeToDismiss(I78cb5). - Usunięto błąd, który powodował, że w listach ładowanych na żądanie mogło się wyświetlać wiele ujawnionych elementów z symbolem
SwipeToReveal(I1d4f6). - Kształty kontenerów w
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). - Rozwiązanie problemu z animacją w
TransformingLazyColumnpodczas usuwania elementów. (I73034) - Poprawiono obsługę elementów kotwiczących w
TransformingLazyColumnpo usunięciu elementów. (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 na sam dół listy zEdgeButton. Podczas przywracania układu postęp przewijania jest teraz zgodny z metodą gradientu zstępującego. (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, 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.outlinedButtonBorderteraz aktualizuje się po zmianach stanu włączony/wyłączony size(If2ddd)- Usunęliśmy błąd wysokości
EdgeButton, który występował na złożonych ekranach z komponentami Pager iScreenScaffold. (I946e3) - Naprawiliśmy sytuację wyścigu, która mogła powodować zatrzymanie animacji obiektu zastępczego. (I53530)
- Poprawiliśmy wydajność
HorizontalPageIndicatoriVerticalPageIndicator, rysując w Canvas. (Ifae1e) - Poprawiliśmy kształt przycisku EdgeButton, aby wygładzić przejścia między wielokropkiem a okręgami tworzącymi kontur. (I7721e)
- Naprawiliśmy błąd w
LevelIndicator, który powodował zatrzymywanie animacji z powodu niepotrzebnych ponownych kompozycji. (I45d08)
Wersja 1.5.0-beta03
4 czerwca 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-beta03 Wersja 1.5.0-beta03 zawiera te zmiany.
Zmiany w interfejsie API
OpenOnPhoneDialogodczytuje teraz tylko tekst wiadomości w TalkBack i pomija semantykę ikony. ZaktualizowaliśmyOpenOnPhoneDialogDefaults, aby usunąć z funkcjiicon()parametryiconContentDescriptionicontentDescription. DodatkowoConfirmationDialogDefaultsma teraz parametry modyfikatora w funkcjach kompozycyjnychSuccessIconiFailureIcon. (Id2ae2)
Poprawki błędów
- Zmieniliśmy kolejność stosowania efektu parametrów
SurfaceTransformation. Wcześniej przekształcenia stosowane do komponentów Wear Material3 były wykonywane w następującej kolejności: malowanie tła, przekształcenie kontenera, przekształcenie treści. Teraz pierwsze 2 elementy są odwrócone, a między nimi stosujemy dowolny przekazany modyfikator, więc ma on wpływ na przekształcenia kontenera. Rozwiązuje to problemy, takie jak używanie efektu migotania elementu zastępczego z elementami w TLC przy użyciu parametru przekształcenia. (I786cf) RevealState.Saverzostał dodany, aby przywracać stanSwipeToReveal, gdy aktywność lub proces są odtwarzane. FunkcjarememberRevealStateużywa teraz domyślnie tego narzędzia do zapisywania. (Ie0ecb)SwipeToRevealprzyciski działań podstawowych i dodatkowych powinny mieć domyślnie wartośćButtonDefault.Height(naprawiono błąd, w którym przyciski te wypełniały maksymalną wysokość w przypadku wyższych przycisków); (Ibfba1)- Zmieniono
SwipeToReveal, aby zresetować ostatni komponent, z którym użytkownik wszedł w interakcję, po wykonaniu gestu przesunięcia w prawo. (Ia8450) SwipeToRevealzostało zmienione na stanRevealing, gdy pozycja końcowa przesunięcia znajduje się między punktami zakotwiczenia ujawniania i ujawnionego, a jest 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).TransformingLazyColumn– teraz prawidłowo zmienia rozmiar elementów po usunięciu elementu na dole (Idacab).TransformingLazyColumnwykonuje teraz tylko 1 przejście pomiarowe, co zwiększa wydajność przez skrócenie czasu klatek. (I501a1)
Wersja 1.5.0-beta02
20 maja 2025 r.
Publikacja androidx.wear.compose:compose-*:1.5.0-beta02 Wersja 1.5.0-beta02 zawiera te zmiany.
Poprawki błędów
- Zaktualizowano profile podstawowe bibliotek foundation, material i material3. (I53f06)
- Naprawiliśmy błąd w
TransformingLazyColumn, który powodował zmianę rozmiaru elementów po usunięciu elementu znajdującego się na dole. (Idacab) - Usunęliśmy błąd związany z
TransformingLazyColumn, który powodował, że lista blokowała się u góry lub u dołu. (I49d00) OpenOnPhoneDialogw sekcji TalkBack powinien odczytywać zakrzywiony tekst, a nie opis zawartości ikony. (I4efe8)- Naprawiliśmy błąd w
SwipeToReveal, który powodował zgłaszanie nieprawidłowego elementu zakotwiczenia wRevealState.currentValue, gdy wartośćhasPartiallyRevealedStatebyła ustawiona na false. (I9c7cf) - Przyciski cofania
SwipeToRevealsą teraz domyślnieButtonDefaults.Height. (I1f6c8) BasicSwipeToDismissBoxpoprawiliśmy wydajność, eliminując użycie elementu Canvas do rysowania półprzezroczystych nakładek. (I68f2c)- Rozwiązaliśmy problem z ułatwieniami dostępu w suwaku, który powodował, że po aktualizacji ogłaszany odsetek nie zgadzał się z wartością (I91146).
- Naprawiono błąd w implementacji
placeholderShimmer. (Iee39b TransformingLazyColumn– skuteczność została zwiększona dzięki optymalizacji obliczeń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 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:
MaterialTheme– zaktualizowane i rozszerzone schematy kolorów, typografia i kształty, które nadadzą Twoim projektom głębi i różnorodności.- Dynamiczne motywy kolorystyczne, które automatycznie generują schemat kolorów aplikacji pasujący do kolorów tarczy zegarka.
- Nowe komponenty domyślnie automatycznie dostosowują się do większych rozmiarów ekranu.
- Zmieniający się kształt – komponenty okrągłych przycisków, takie jak
IconButton,TextButton,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.- Scaffolds – wprowadzenie
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. Symbole
CheckboxButtoniSwitchButtonsą dostępne, gdy potrzebne są przyciski przełączania, aRadioButtonto dostępny przycisk wyboru (dostępne są też „dzielone” wersje przycisków przełączania i wyboru). ButtonGroup– implementuje ekspresyjną grupę przycisków w rzędzie, które zmieniają kształt po dotknięciu.AlertDialogobsługują przyciski OK/Anuluj lubEdgeButton.ConfirmationDialogmoże wyświetlać komunikat z limitem czasu, obsługując specjalne animacje w przypadku powodzenia, niepowodzenia i otwierania na telefonie.- Selektory – obsługiwane są warianty
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 konkretne układy kart z tytułem, czasem, podtytułem lub miejscami na treści.TitleCardmoże też mieć obraz tła, który podkreśla znaczenie informacji na karcie. - Pagers – komponenty
HorizontalPagerScaffold,VerticalPagerScaffoldiAnimatedPagekoordynują animacjeHorizontalPageIndicatoriVerticalPagerIndicator.HorizontalPageriVerticalPagersą dostępne w bibliotece Wear Compose Foundation. - Elementy zastępcze – rysują szkielet kształtu nad komponentem w sytuacjach, gdy nie są dostępne żadne treści tymczasowe.
- Suwaki i krokomierze – zarówno suwaki, jak i krokomierze umożliwiają użytkownikom wybór z zakresu wartości. Suwaki są bardziej kompaktowe i można je podzielić na segmenty, a komponent Stepper zajmuje cały ekran i jest zwykle połączony z
StepperLevelIndicator. SwipeToReveal– służy do dodawania dodatkowych działań do komponentu, gdy jest on przesuwany od prawej do lewej.
Dodatkowo Wear Compose Foundation w wersji 1.5.0-beta01 zawiera te nowe komponenty:
TransformingLazyColumn– leniwa lista przewijana w pionie, która obsługuje skalowanie i animacje przekształcania;- Hierarchical Focus Groups (hierarchiczne grupy fokusowe) – służą do dodawania adnotacji do komponentów w aplikacji, aby śledzić aktywną część kompozycji i koordynować fokus.
- Pagers – komponenty
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 noweCompositionLocaliLocalScreenIsActive, aby komponenty mogły informować o tym, który ekran jest aktywny, i sprawdzać to. (I5ff7c). - Wycofano
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 API Wear Compose Material3
SwipeToRevealw ten sposób: dodaliśmy parametryprimaryAction,onFullSwipe,secondaryAction,undoPrimaryAction,undoSecondaryActionihasPartiallyRevealedStatedo funkcji kompozycyjnejSwipeToReveal; usunęliśmy możliwość dostosowywania parametrówpositionalThresholdianimationSpecz funkcjiRevealState; usunęliśmy parametrylastActionType,revealThresholdi szerokość z funkcjiRevealState; zmieniliśmy konstruktorRevealStatetak, aby akceptował parametrRevealDirectionzamiast kotwic; usunęliśmy funkcjecreateRevealAnchors, kotwice ibidirectionalAnchors; funkcjeSwipeToRevealScopeprimaryAction,secondaryAction,undoPrimaryActioniundoSecondaryActionzostały zmienione naPrimaryActionButton,SecondaryActionButton,UndoActionButtoni przekształcone w funkcje kompozycyjne; oznaczyliśmy funkcjęRevealActionTypejako wewnętrzną. (I885d0). - Dalsze aktualizacje interfejsu API: zmieniono nazwę
onFullSwipenaonSwipePrimaryAction; zmieniono nazwęSwipeToRevealNonAnchoredSample, aby wskazywała użycie parametruhasPartiallyRevealedState; usuniętoactionButtonHeight, ponieważ domyślna wysokość przycisku jest domyślna, a większą wysokość można ustawić za pomocą modyfikatora; usuniętoSmallActionButtonHeightzSwipeToRevealDefaults; ustawiono parametr wartości w konstruktorachRevealValueiRevealDirectionjako prywatny.SwipeToReveal(I465ce).
Poprawki błędów
- Poprawiono obsługę
ScreenScaffoldEdgeButton, tak aby po usunięciu elementuTransformingLazyColumnEdgeButtonanimował się na swoje miejsce. (I6d366). - Zaktualizowaliśmy zależności Wear Compose w bibliotekach Compose do wersji 1.8.0. (I2ef3f).
- Zaktualizowano ruch nieokreślonego
CircularProgressIndicator, aby nie cofał się już tymczasowo. (Ieddb1). - Rozwiązaliśmy
SwipeDismissableNavHostbłąd – po przesunięciu palcem do tyłu fokus nie przełączał się prawidłowo, co powodowało niepowodzenie wprowadzania danych za pomocą pokrętła (dotyczyło to API 36 lub nowszego, które korzysta z przewidywanego powrotu). (Ieddb1). - Zmieniona dokumentacja interfejsu Hierarchical Focus API (Idf2ff).
- Zaktualizowaliśmy dokumentację dotyczącą komponentów Button i Card, aby wyjaśnić, jak elementy
containerPainteridisabledContainerPainterzastępują elementycontainerColoridisabledContainerColor(I4a453). - Cofnięto zmianę wprowadzoną w
TimeTextw poprzedniej wersji, która przenosiłaBroadcastReceiverdo wątku roboczego, ponieważ powodowała problemy w przypadku aplikacji, które zarządzają własnymi wątkami podczas nawigacji. (I34d02). - Zaktualizowaliśmy przykłady selektora, aby usunąć niepotrzebne wywołania funkcji remember i zamiast tego używać funkcji
rememberUpdatedStatew selektorze do zapamiętywania ostatniej funkcji lambdacontentDescription. (Icb5b1). - Zaktualizowano style tekstu w
TimePickeriDatePicker, aby zmiany czcionki nie powodowały już obcinania tekstu. (I26194). ListHeaderiListSubHeadermają teraz domyślne wyrównanie tekstu do środka i do początku. (I78339).- Zaktualizowaliśmy przykłady i wersje demonstracyjne komponentu Foundation i Material Swipe to Reveal, aby ogłaszać niestandardowe działania związane z ułatwieniami dostępu (niestandardowe działania muszą być dodane jako semantyka treści, a nie samego komponentu
SwipeToReveal). (Ie92a3). - Zaktualizowano domyślny
MaxLinesustawiony na treściEdgeButtonzgodnie z rozmiarem – teraz wynosi on 1 w przypadku bardzo małych, 2 w przypadku małych i średnich oraz 3 w przypadku dużych. (Ie35f6). - Uproszczono
LocalReduceMotion, aby obserwator był rejestrowany tylko raz, co zwiększa wydajność. (Ib1979). - Zmniejszyliśmy liczbę ponownych rysowań w
ScrollIndicator, aby zwiększyć wydajność. (Ia7a67). - Rozwiązaliśmy błąd w
TransformingLazyColumn, który powodował, że gdy element EdgeButton osiągał pełną wysokość, najwyższy widoczny element na liście nie był prawidłowo skalowany. (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 Material
SwipeToRevealod 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 używać modyfikatorów. - 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ć przezremember { FocusRequester() }i dodaćModifier.hierarchicalFocusRequester(focusRequester). (Ie319a)
Poprawki błędów
- Zwiększyliśmy 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 w wersji 35 i starszych dla komponentuSwipeDismissableNavHost). (If47bf) - Rozwiązaliśmy problem z animacją, który występował, gdy do elementu
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ą do użycia KGP 2.0.0 lub nowszego (Idb6b5).
- Do usługi
PagerStatedodano usługętargetPage(I4de8b)
Poprawki błędów
- Zapobiega niepotrzebnemu ponownemu komponowaniu podczas przewidywanego powrotu. (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łączono korzystanie z haptyki podczas przeprowadzania testów w sekcji
RoboElectric. (I58bd1) - Zaktualizuj
SwipeToRevealdopełnienia między treścią a przyciskami działania, a także dopełnienie między ikoną a tekstem przycisków działania. (Ic46cb)
Wersja 1.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
PagerState, usuwając klasę bazową Compose FoundationPagerStatei dodając właściwościcurrentPage,currentPageOffsetFractionipageCount. Zaktualizowaliśmy interfejsGestureInclusion, zmieniając nazwę metody naignoreGestureStart. (I4ae07) - Dodaj
requireOffsetdoSwipeToDismissBoxStatejako zalecany sposób uzyskiwania 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ą teraz tylko gesty przesuwania, które zaczynają się na lewej krawędzi pierwszej strony, i tylko wtedy, gdy Talkback jest wyłączony. W innych przypadkach domyślnie gesty przesuwania nie są ignorowane przez pager, więc nie są dostępne dla modułów obsługi przesuwania w celu zamknięcia. (Iee486) - Dodano przewijanie obrotowe dla interfejsu
rotaryScrollable. Do zachowaniarotaryScrollabledodano przewijanie poza zakres i przewijanie zagnieżdżone. Ta zmiana powinna wyrównać funkcje przewijania poza zakres i przewijania zagnieżdżonego w przypadku przewijania dotykowego i obrotowego. (I71926) - Dodaliśmy obsługę strefy przesuwania od krawędzi do elementu
SwipeToReveal. Domyślne działanie biblioteki FoundationSwipeToRevealpolega teraz na blokowaniu przesuwania, gdy gest zaczyna się od krawędzi. Domyślne działanie biblioteki Material3SwipeToRevealpolega teraz na blokowaniu przesuwania, gdy gest rozpoczyna się od krawędzi, a wartość parametruSwipeDirectionjest ustawiona na jeden kierunek. (I32ef0) - TLC domyślnie używa teraz pustego contentPadding zamiast umieszczać pierwszego i ostatniego elementu na środku. (I77ab7)
Poprawki błędów
- Biblioteki Wear Compose zostały zaktualizowane do kompilatora Kotlin 2.0. (I2de79)
- Poprawiono zakrzywioną próbkę
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 związanego z przesuwaniem 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 przesunięcia w celu zamknięcia w tym regionie. Wszystkie inne strony będą zezwalać komponentowi Pager na korzystanie ze wszystkich gestów, co oznacza, że nie będzie można na nich wywołać gestu przesuń, aby zamknąć. 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 interfejsu API
RevealValuew funkcji 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 zachowanie – 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 w kodzie. (I9e23b, b/389149423, b/149979716) - Dodaliśmy do interfejsu API parametr
TransformingLazyColumnItemScrollProgress.Unspecified, aby uniknąć problemu z ramkami na urządzeniachTransformingLazyColumnItemScrollProgress. (I0835d)
Poprawki błędów
- Ulepsz dokumentację Kdoc dla
CurvedTextStyle(Id45e3) - Zmieniliśmy dostęp do
SwipeableV2(części implementacjiSwipeToReveal) z publicznego na wewnętrzny, ale ograniczony do grupy bibliotek. (Idbb94) - Dodaliśmy testy do projektu
HierarchicalFocusCoordinator(I1ce54, b/395548918) - Wprowadziliśmy ulepszenia w
SwipeToRevealw próbkach podstawowych komponentów Wear Compose. (I5f307) - Naprawianie danych semantycznych osi przewijania w przypadku elementu
verticalScrollAxisRangewTransformingLazyColumnna potrzeby ułatwień dostępu (I68123) - Zwiększenie wydajności wibracji obrotowych na zegarkach z Wear 4+ 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 kierunku zgodnym z ruchem wskazówek zegara i w kierunku przeciwnym do ruchu wskazówek zegara. Jest to wymagane, ponieważ litery pisane zgodnie z ruchem wskazówek zegara rozchodzą się od linii bazowej, a litery pisane przeciwnie do ruchu wskazówek zegara zbiegają się (dlatego potrzebny jest większy odstęp między literami) (I4b848). - 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
PagerDefaultselementsnapAnimationSpeczostał zmieniony 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 do
SwipeToDismissBoxStateparametr przesunięcia. (I586bd)
Poprawki błędów
- Reakcje haptyczne platformy obrotowej są teraz wywoływane w przypadku wersji Wear OS po wersji 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
TransformingLazyColumnStateumożliwia teraz obserwowanie bieżącego postępu przewijania na podstawie indeksów elementu 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 kompozycję lokalnąLocalTransformingLazyColumnItemScope, której komponenty (takie jakCardiButtonw Material3) mogą używać do automatycznego przekształcania się po umieszczeniu wTransformingLazyColumn. Rozmówcy mogą wyłączyć automatyczne przekształcanie, używając nowego elementuTransformExclusion. (I1652f)
Poprawki błędów
- Zaktualizowaliśmy minimalną i maksymalną prędkość przesunięcia w przypadku obrotu na urządzeniach z Androidem U i nowszym. (I33559)
- Naprawiliśmy błąd, który występował, gdy element w
TransformingLazyColumnnie zawierał żadnych komponentów (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ć ryzyko przypadkowego wywołania przesunięcia podczas przewijania w pionie. (Ic0672) - Zaktualizowaliśmy
SwipeDismissableNavHost, aby w przypadku interfejsu API na poziomie 35 i wyższym używaćPredictiveBackHandler, 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 symbolTimeTextpozostaje na swoim miejscu zarówno w przypadku przewijania w pionie, jak i w poziomie. (I71767) TransformingLazyColumnzostał wprowadzony w poprzednich wersjach. Usuwamy teraz aliasyLazyColumnWear (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ź z użyciem
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
contentPaddingdo znacznikaTransformingLazyColumn. (I3a69c)
Poprawki błędów
- Usunęliśmy błąd renderowania znaku
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) - Dodano obsługę pokrętła w przypadku pagerów poziomych i pionowych, co umożliwia użytkownikom poruszanie się po nich 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 interfejsu APISwipeToReveal(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ępowałocanScrollForwardicanScrollBackward. 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. (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 po ustawieniu flagi show na wartość false funkcja
onDismissRequestnie jest wywoływana. (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 flagauserScrollEnabledma wartośćfalse. (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órym 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 nowy element
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) - Dodaliśmy indeksowaną wersję
itemsIndexeddoLazyColumnScopew ramach nowego interfejsuLazyColumnAPI. (Ib4a57) - Dodaliśmy
LazyColumnmodyfikatory, aby obsługiwać skalowanie i przekształcanie. (Ie229a) HierarchicalFocusCoordinatorzostała promowana 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 zapobiec obracaniu komponentów. (I66898) - Usunięto tymczasowy interfejs
LocalUseFallbackRippleImplementationAPI z 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 terazlastActionTypedo wartości Brak po zakończeniuanimatedTo. (I59b03)- Ulepszyliśmy dokumentację nowego parametru
rotationLockedw zdarzeniucurvedComposable. (Ifbd57) - Usunęliśmy awarię, która występowała podczas przekazywania wartości
NaNdo funkcjiperformFlingwScalingLazyColumnSnapFlingBehavior. (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 tego 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 podanie zachowania przyciągania i możliwości 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ć treści 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” przez „focusTarget”, co zwiększa wydajność. (Id294b) - Rozwiązaliśmy problem, który powodował, że
ProgressIndicatorpowtarzał komunikat wTalkBack. (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. Za pomocą parametrurotaryScrollableBehaviormożesz 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 wariant 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ść wymaga dodatkowej wysokości ze względu na duże rozmiary czcionki.
Poprawki błędów
- Naprawiliśmy błąd polegający na tym, że klikalne elementy były odczytywane jako „kliknij dwukrotnie, aby przełączyć”, nawet gdy były już zaznaczone. (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 pokrętła: zmieniliśmy nazwę
RotaryScrollableLayoutInfoProvidernaRotarySnapLayoutInfoProvider(ponieważ ten dostawca jest potrzebny tylko w przypadku pokrętła z przyciąganiem); zmieniliśmy typ parametrusnapOffsetw funkcjiRotaryScrollableDefaults.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 symbolPositionIndicatorbędą nieprawidłowe ze względu na zmianę 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 wykraczającym poza zakres 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ą też nowe przeciążenia, które zawierają parametrrotaryBehaviorumożliwiający określenie konfiguracji przewijania lub przyciągania. Jeśli parametrrotaryBehaviorma wartość snap, zalecamy podanie wartości snap również w parametrzeflingBehaviorw przypadku przewijania dotykowego. (I2ef6f) - Źródła
NestedScrollDrag and Fling zastępujemy źródłamiUserInputiSideEffect, 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 symbole
SelectableChipiSplitSelectableChip, aby wyraźniej odróżnić przełączniki, takie jakSwitch/Checkbox, od elementów, które można wybrać, np.RadioButton. Spowoduje to zastąpienie wcześniej dodanych przeciążeń funkcjiToggleChip/SplitToggleChipparametramiselectionControl. (Ia0217) - Zmieniono modyfikator widoczności użytkownika
IndeterminateStrokeWidthw grupieProgressIndicatorDefaultsna 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 w ramach większych prac nad przeniesieniem zachowania pokrętła z Horologist do AndroidX. (I617d1)
- Dodaliśmy wewnętrzną wersję roboczą obsługi haptyki w ramach większego projektu przenoszenia zachowania pokrętła 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 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 dla ułatwień dostępu (I1d6d9). - Zaktualizowaliś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 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świetlany, gdy ekran jest wyświetlany po raz pierwszy. Ta zmiana została wprowadzona, aby pomóc w spełnianiu wskazówek dotyczących jakości aplikacji na Wear. Oznacza to, że testy zrzutów ekranu na ekranach, które zawierająPositionIndicator, będą musiały zostać zaktualizowane, ponieważ wcześniejPositionIndicatornie był wyświetlany. (419cef7)
Zmiany w interfejsie API
- W bibliotekach
wear:compose-materialiwear:compose-material3dodaliśmy nowy interfejs API efektu falowania, który zastępuje wycofany interfejsrememberRipple. Dodaje też tymczasoweCompositionLocal,LocalUseFallbackRippleImplementation, aby przywrócić komponenty Material do korzystania z wycofanych interfejsów APIrememberRipple/RippleTheme. Zostanie on usunięty w kolejnej stabilnej wersji i ma być tylko tymczasowym ułatwieniem migracji w przypadkach, gdy podajesz niestandardowy elementRippleTheme. Więcej informacji o migracji i szczegółowe wyjaśnienie tej zmiany znajdziesz na stronie developer.android.com. (af92b21) - Zaktualizowaliśmy
ColorScheme, aby był niezmienny, co sprawia, że indywidualne aktualizacje kolorów są mniej wydajne, ale bardziej wydajne jest częstsze używanie kolorów. Powodem tej zmiany jest to, że większość aplikacji nie ma aktualizowania poszczególnych kolorów jako głównego przypadku użycia. Jest to nadal możliwe, ale będzie wymagało większej liczby ponownych kompozycji niż wcześniej. W rezultacie znacznie zmniejszymy liczbę subskrypcji stanu w całym kodzie materiału, co wpłynie na koszt inicjowania i działania w przypadku bardziej standardowych zastosowań. (f5c48b7) - Komponenty Wear Material i Wear Material3, które w swoim interfejsie API udostępniały wartość
MutableInteractionSource, zostały zaktualizowane i teraz udostępniają wartośćMutableInteractionSourcez możliwością wartości null, która domyślnie ma wartość null. Nie ma tu żadnych zmian semantycznych: przekazanie wartości null oznacza, że nie chcesz podnosićMutableInteractionSource, a w razie potrzeby zostanie on utworzony w komponencie. Ustawienie wartości null powoduje, że niektóre komponenty nigdy nie przydzielająMutableInteractionSource, a inne tworzą instancję tylko wtedy, gdy jest to potrzebne, co zwiększa wydajność tych komponentów. Jeśli nie używasz elementuMutableInteractionSourceprzekazywanego do tych komponentów, zalecamy przekazywanie zamiast niego wartości null. Zalecamy też wprowadzenie podobnych zmian w Twoich komponentach. (f8fa920) - Zaktualizowaliśmy
rememberExpandableState, aby zapisać stan rozwinięty. Dzięki temu dane są przechowywane podczas przechodzenia do innego ekranu i przywracane po powrocie do pierwotnego ekranu. (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 w przypadku
CompactButton, aby poprawić wydajność (25db8e9) - Ulepszyliśmy
BasicSwipeToDismissBox, aby był bardziej odporny na przesunięcia NaN i unikał wyjątków (b983739). - Zaktualizowaliśmy
BasicSwipeToDismissBox, aby wartości alfa mieściły się w zakresie 0,1. - Naprawiliśmy błąd w elementach
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.edgeSwipeToDismisswchodzą teraz w skład pakietuandroidx.wear.compose.foundationzamiast 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 spowodować przycięcie. 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 rogach elementu Chip iToggleChip.- Większość elementów
ChipsiToggleChipspozostaje bez zmian, ponieważ ich domyślna wysokość to 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 wdrażania
- Jeśli aplikacja umożliwia użytkownikom przesuwanie zawartości ekranu, 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ę multimedialną wyświetlaj pusty komponent
Placeholder. - Aby utworzyć kolekcję rozwijanych elementów 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 komponenty 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.Rysunek 1. Tekst ucięty w 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 gest przesuwania w
BasicSwipeToDismissBox. W poprzedniej wersji zostało to zmienione tak, że przesunięcie w ramach przejścia następowało, 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 funkcji oznaczonych jako eksperymentalne). Wear Compose 1.3 zawiera te nowe funkcje:
- Usługi
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 funkcji przesuń, aby zamknąć można stosować niezależnie od Material Design, np. w przypadkuSwipeDismissableNavHostwandroidx.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.BasicSwipeToDismissBoxma ulepszoną obsługę ostrości za pomocąHierarchicalFocusCoordinator.SwipeToRevealma nowe komponentySwipeToRevealCardiSwipeToRevealChipw Material Design, które są zgodne z zalecanymi wskazówkami UX dotyczącymiCardiChip. Obsługuje też cofanie dodatkowego działania.DefaultTextStylewyłącza teraz dopełnienie czcionki, aby zapewnić spójność na całej platformie Android.ChipiToggleChipdostosowują teraz 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 dotyczy teraz efektu połyskiwania i ruchu wycierania na urządzeniuPlaceholder.
Znane problemy
PositionIndicatornie jest początkowo wyświetlana, gdy ekran pojawia się po raz pierwszy. W wersji alfa 1.4 planujemy wprowadzić zmianę, która spowoduje, że będzie ona początkowo wyświetlana, ale bez animacji.
Zmiany w interfejsie API
- Zmieniliśmy nazwę poziomu podstawowego
SwipeToDismissBoxnaBasicSwipeToDismissBox. Dzięki temu łatwiej odróżnić komponent poziomu podstawowego od komponentu 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 eksperymentalną i zwiększyliśmy skutecznośćexpandableItem. (I5f6bc) - Zastąpiliśmy klasę
SwipeToRevealActionw interfejsach API kart i elementów MaterialSwipeToRevealinterfejsem API opartym na slotach, który korzysta z funkcji kompozycyjnychSwipeToRevealPrimaryAction,SwipeToRevealSecondaryActioniSwipeToRevealUndoAction. Przykłady użycia nowego interfejsu API znajdziesz w przykładowym kodzie. (Ia8943) - Flagi animacji
PositionIndicatorzastąpiliśmy parametramiAnimationSpec. Poszczególne animacje można wyłączyć, przekazując wartośćsnapjako parametrAnimationSpec. (I6c523)
Poprawki błędów
- Rozwiązaliśmy błąd wywoływany przez ograniczony tekst zakrzywiony, gdy rozmiar jest ograniczony (I50efe).
- Rozwiązaliśmy problem z potencjalną awarią związaną z wartością NaN w przypadku
curvedComposable(I970eb). - Cofnęliśmy usunięcie animacji wyróżniającej zmianę pozycji na stronie
PositionIndicator. (Ieb424) - Usunęliśmy warstwę materiału z rdzenia elementu Chip, aby zwiększyć 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ń
PositionIndicatorposzczególne flagi, aby sterować różnymi animacjami:showFadeInAnimation,showFadeOutAnimationishowPositionAnimation. Poprzedni interfejs API został wycofany i przekazuje wywołania do nowego. Ze względu na wydajność i spójność UX, gdyPositionIndicatorjest używany z listą z możliwością przewijania, zalecamy wyłączenie flagshowFadeInAnimationishowPositionAnimation. Jeśli symbolPositionIndicatorjest 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
wear.compose.foundationwycofaliśmy komponenty MaterialSwipeToDismissBoxState,SwipeToDismissValueiedgeSwipeToDismiss. Zastąp je odpowiednikamiwear.compose.foundation. (Iee8c9)
Poprawki błędów
- Zaktualizowaliśmy profile podstawowe bibliotek Wear Compose Foundation, Material i Navigation. (Idb060)
- Cofnęliśmy zmianę w zachowaniu elementu
PositionIndicatorwprowadzoną w poprzedniej liście zmian. ElementPositionIndicatorbył animowany, gdy ekran był wyświetlany po raz pierwszy. 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 korzystała z
State<Boolean>zamiast ze stanu pochodnego. (Ieec4d) - Ustawiliśmy
systemGestureExclusionprostokąty dla Androida 13 i nowszych wersji. (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
- Do parametru
PositionIndicatordodaliśmy poszczególne flagi, aby sterować różnymi animacjami:showFadeInAnimation,showFadeOutAnimationishowPositionAnimation. Poprzedni interfejs API został wycofany i przekazuje wywołania do nowego. Ze względu na wydajność i spójność UX, gdyPositionIndicatorjest używany z listą z możliwością przewijania, zalecamy wyłączenie flagshowFadeInAnimationishowPositionAnimation. Jeśli symbolPositionIndicatorjest 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ć ruch, dodając animację zanikania do tekstu działania głównego oraz zanikanie działania dodatkowego lub zmianę skali ikony po pełnym rozwinięciu przesunięcia. (Ib7223)
- Zalecamy, aby działania przesuwania w celu wyświetlenia były dostępne. Do naszych przykładów przesuwania w celu wyświetlenia dodaliśmy niestandardowe działania ułatwień dostępu. (I42224)
- Poprawiliśmy wydajność
SwipeToDismissBox, w tym przeprowadziliśmy refaktoryzację, aby mieć pewność, że początkowa logika nie powoduje ponownego komponowania.SwipeToDismissBoxjest 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 Microbenchmark 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 zatwierdzenia.
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 zmiany.
Poprawki błędów
- Dodaliśmy obsługę w funkcji przesuwania, aby można było przesuwać tylko jeden 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
- Rozwiązanie problemu z okrągłymi przyciskami, w którym modyfikatory nie były prawidłowo łączone. (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
- W Material dodaliśmy 2 nowe funkcje kompozycyjne do implementowania
SwipeToRevealza pomocą kart i elementów. Te komponenty kompozycyjne są zgodne z zalecanymi wskazówkami dotyczącymi UX 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 elementu
ScalingLazyColumndo elementuonGloballyPositioned(). (Ic90f1) - W przypadku
drawWithCachewPositionIndicator,ProgressIndicatoriSelectionControlsużywamy terazdrawWithCache, 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 do 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 interfejsu 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 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 Wear Compose Foundation. (I4ff8e)
Poprawki błędów
- Naprawiliśmy błąd kolejności z, który powodował, że po kliknięciu przycisku
expandedItemnie wyświetlał prawidłowej treści, gdy zawierał przyciski. (I1899d, b/289991514) - Poprawiono obsługę zaznaczenia elementu
SwipeToDismissBox(a tym samymSwipeDismissableNavHost) za pomocą elementuHierarchicalFocusCoordinator(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
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)- Naprawiliśmy błąd w roli semantycznej obszaru klikalnego
SplitToggleChipna potrzeby ułatwień dostępu. (Ieed3a) - Ustawienie „Ogranicz ruch” wyłącza teraz efekt migotania i przesuwania na obiektach 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 informacjami podanymi w
1.2.0-alpha07i1.2.0-alpha10zmieniamy terazDefaultTextStyle, aby wyłączyć dopełnianie czcionek i zapewnić spójność na całej platformie Android. Rozwiązanie to może wpłynąć na przycinanie tekstu przy dużych rozmiarach czcionki, a także na układy ekranu, dlatego testy zrzutów ekranu będą wymagać aktualizacji. Na przykład widzimy tu obcięty tekst (Ic6a86).
- Gdy dopełnienie czcionki jest wyłączone, nie jest już widoczne:
- Zaktualizowaliśmy
wear.compose.foundation, aby była 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 po zmianie 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) - Usunęliś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 czcionek, 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
- Usunęliśmy błąd, który powodował nieprawidłowe znikanie
PositionIndicator. (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 for 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 do noszenia(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.
Nowości 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 funkcji oznaczonych jako eksperymentalne). Wear Compose 1.2 zawiera te nowe funkcje:
expandableItemiexpandableItemsto 2 nowe komponentyFoundation, które obsługują 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 teraz parametruserScrollEnabled, który określa, czy selektor jest aktywny podczas przewijania przez użytkownika.PickerGroup– nowy komponent do obsługi wielu selektorów jednocześnie. Zarządza on fokusem między selektorami za pomocą interfejsuHierarchicalFocusCoordinatorAPI i umożliwia automatyczne wyśrodkowywanie elementów selektora.Placeholder– wprowadziliśmy zmiany w animacjach połysku i „Wipe Off”. Efekt wycierania jest teraz stosowany natychmiast po przygotowaniu treści.ScalingLazyColumn– przenieśliśmyScalingLazyColumni powiązane z nim zajęcia zandroidx.wear.compose.material.ScalingLazyColumndoandroidx.wear.compose.foundation.lazy.ScalingLazyColumn. Aby korzystać z wersjiFoundation.Lazy, zaktualizuj aplikację.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 komponentów kompozycyjnych na ekranach Wear:WearPreviewSmallRoundwyświetla podgląd komponentu kompozycyjnego na małym, okrągłym urządzeniu;WearPreviewLargeRoundwyświetla podgląd komponentu kompozycyjnego na dużym, okrągłym urządzeniu;WearPreviewSquarewyświetla podgląd komponentu kompozycyjnego na kwadratowym urządzeniu. Oprócz tego adnotacje dotyczące podglądu i podglądu wielu elementów:WearPreviewFontScaleswyświetla podgląd funkcji kompozycyjnych na urządzeniu do noszenia z różnymi rozmiarami czcionek, aWearPreviewDeviceswyświetla podgląd funkcji kompozycyjnych na różnych urządzeniach do noszenia.- Dodaliśmy do Wear Compose wartość
DefaultTextStyle, która domyślnie ustawia właściwośćPlatformTextStyle.includeFontPaddingna wartość „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ązaliśmy problem z
ScalingLazyColumn, który po przesunięciu pozostawał w API Wear 33 (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.
W wersji 1.2.0-alpha07 dodaliśmy DefaultTextStyle do Wear Compose, zachowując istniejącą wartość PlatformTextStyle.includeFontPadding jako true. Więcej informacji znajdziesz w artykule 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. Może to też wpłynąć na układy ekranu, więc testy zrzutów ekranu będą wymagać aktualizacji. Na przykład w przypadku dużych rozmiarów czcionki tekst jest tu obcięty:
- Gdy dopełnienie czcionki jest wyłączone, nie jest już widoczne:
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
angularSizeDpdo interfejsu APICurvedModifier, aby ustawić szerokość kątową w pikselach niezależnych od urządzenia (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 rozwijanych elementów. (Iae309)
Poprawki błędów
- Ulepszone rozwijane próbki, 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
- Naprawiliśmy błąd powodujący awarię ekranu korzystającego z
PickerGroup, zapewniając, ż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 wartość
DefaultTextStyle, która domyślnie ustawia właściwośćPlatformTextStyle.includeFontPaddingna wartość „true” (jest to obecne ustawienie). Pozwoli nam to w przyszłości zsynchronizować domyślne wyłączanie dopełniania czcionki z bibliotekami Compose – więcej informacji znajdziesz w artykule Naprawianie dopełniania czcionki 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 pojedynczy rozwijany element, np. tekst, w którym zwiększa się liczba wierszy. (I95dd5) - Dodaliśmy te niestandardowe adnotacje do podglądu komponentów kompozycyjnych na ekranach Wear:
WearPreviewSmallRoundwyświetla podgląd komponentu kompozycyjnego na małym, okrągłym urządzeniu;WearPreviewLargeRoundwyświetla podgląd komponentu kompozycyjnego na dużym, okrągłym urządzeniu;WearPreviewSquarewyświetla podgląd komponentu kompozycyjnego na kwadratowym urządzeniu. Oprócz tego adnotacje dotyczące podglądu i podglądu wielu elementów:WearPreviewFontScaleswyświetla podgląd funkcji kompozycyjnych na urządzeniu do noszenia z różnymi rozmiarami czcionek, aWearPreviewDeviceswyświetla podgląd funkcji 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, możesz nadal używać podglądu i dostosowywać go za pomocą parametrów. (I397ff) - Oznaczyliśmy
HierarchicalFocusCoordinatorjako eksperymentalną, ponieważ ze względu na jej szerokie zastosowanie rozważamy przeniesienie jej do podstawowych bibliotek Compose. (I3a768)
Poprawki błędów
- Usunęliśmy błąd w
HierarchicalFocusCoordinator, który powodował, że po zmianie lambdy przekazywanej w parametrzefocusEnablednie używaliśmy nowej lambdy. (Icb353) - Zaktualizowaliśmy domyślny kolor wyłączonych treści na kolor tła, gdy jako tło w
Button,CompactButton,Chip,CompactChipiToggleButtonużywane są kolory podstawowe. Poprawia to kontrast, co ułatwia dostępność. (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 ma wartość Prawda, minimalne ograniczenia przekazane z kompozycji nadrzędnej będą dozwolone w przypadku elementuPickerGroup. Jeśli ma wartość „false”,PickerGroupzresetuje minimalne ograniczenia. (I3e046) - Dodaliśmy do interfejsu Picker API parametr
animateScrollToOption, aby obsługiwać programowe animowanie 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 przeniesienie zaznaczenia z grupy na wybrany selektor. (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 kdocs 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 o określonym stylu. Zmiana jest wprowadzana teraz w ramach przygotowań do nowej biblioteki Material3, nad którą będziemy pracować równolegle z obecną biblioteką Material. (I060e7)
W ramach migracji ScalingLazyColumn z Material do Foundation.Lazy wprowadzamy te zmiany:
- Interfejsy API kierowane na Material
ScalingLazyColumnzostały wycofane. Zaktualizuj je do wersjiFoundation.Lazy ScalingLazyColumn.PositionIndicatorDodano też poleanchorTypedoScalingLazyListLayoutInfo. (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 Dialog API, aby korzystały z
ScalingLazyListStatezFoundation.Lazy, i wycofaliśmy przeciążenia, które używały elementu 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. Teraz aktualizacje są przesyłane tylko wtedy, gdy wartość faktycznie się zmieni (Ia9f38). - Zwiększyliśmy skuteczność
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). - Naprawiliśmy niektóre problemy w testach selektora i dodaliśmy więcej testów sprawdzających przewijanie z przesunięciem (I6ac34).
- Przenieśliśmy
ScalingLazyColumndemonstracje integracjiFoundation.Lazy, aby były zależne odFoundation.Lazyzamiast 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 Androida 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) - Parametr
minLineszostał dodany do Wear Text, aby zapewnić spójne działanie zBasicText(I24874). CompactChipTapTargetPaddingzostał udostępniony publicznie, aby pojawiał się w dokumentacji (If1e70, b/234119038).
Poprawki błędów
- Wyłączanie kompilacji wieloplatformowych dla pakietów
wear.compose(Iad3d7) - Popraw dokumenty w usłudze KDocs dla
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 po odznaczeniu nie podlegały one zmianom RSB (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 „Wycieranie” 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
HierarchicalFocusCoordinatorkomponent, który 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 pustego elementu
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łowy górny odstęp, a w przypadkuScalingLazyListAnchorType.ItemCenterobliczenie będzie 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
PositionIndicatorobsługęLazyListStateiScalingLazyListStatew przypadku 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ą zwalniane. Wersja 1.1.2 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiliśmy błąd, który powodował niepotrzebne ponowne kompozycje w
ScalingLazyListState.centerItemIndex. Teraz aktualizacje są przesyłane tylko wtedy, gdy wartość faktycznie się zmieni (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ą zwalniane. 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ą zwalniane. Wersja 1.1.0 zawiera te zmiany.
Ważne zmiany od wersji 1.0.0
- Stabilna wersja Compose for 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 „Wycieranie” 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 elementu
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łowy górny odstęp, a w przypadkuScalingLazyListAnchorType.ItemCenterobliczenie będzie 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 animacji
SwipeToDismiss, aby pasowało do platformy Wear.(I9003e) - Naprawiliśmy
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ą zwalniane. Wersja 1.1.0-rc01 zawiera te zmiany.
Poprawki błędów
- Dodaliśmy reguły profilu podstawowego dla tych krajów:
Placeholders,ScrollAway,RadioButton,Switch,Checkbox,OutlinedButton,OutlinedCompactButton,OutlinedChipiOutlinedCompactChip. (I8249c) - Naprawiliśmy błąd w funkcji
Modifier.scrollAway, dzięki czemu jeśli określony elementitemIndexjest nieprawidłowy (np. 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 ramach 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 do elementów zastępczych, aby pokazać prawidłową kolejność dla
Modifier.placeholderiModifier.placeholderShimmer, gdy są one stosowane 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 komponenty 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-krotny rozmiar ekranu, 2) dodaliśmy wygładzanie (krzywa Beziera trzeciego stopnia) postępu połysku i 3) przyspieszyliśmy animację wymazywania (250 ms). (Id29c1)
- Naprawiliśmy błąd interfejsu w efekcie wymazywania obiektu zastępczego, w którym tła komponentów Chip i Card były wymazywane nieco za wcześnie, 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ł ten, który jest bliżej. (I30709, b/254257769) - Naprawiliśmy błąd w
ScalingLazyListState.layoutInfo.visibleItemsInfo, który podczas inicjalizacjiScalingLazyColumnraportował nieprawidłowe przesunięcia. 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ą zwalniane. 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 kompletna pod względem funkcji, a interfejs API jest zablokowany.
- Wersja Wear Compose 1.1 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
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 funkcje kompozycyjneOutlinedChipiOutlinedButton, które zapewniają przezroczysty elementChip/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% koloruonSurfaceVariant(wcześniej było to 20% do 10% koloruonSurfaceVariant). ZmianyToggleChip.toggleChipColorsz gradientu liniowego 75% powierzchni do 32,5% koloru podstawowego do 0% powierzchni do 50% koloru podstawowego. Button/ToggleButton– Dodano właściwości do modyfikowania kształtów przycisków.- Motyw – zaktualizowano kilka domyślnych kolorów w
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 (np. kart, przycisków) od koloru tła motywu. InlineSlider/Stepper– Dodano role przycisków, abyTalkbackmogła rozpoznawać je jako przyciski.- Scaffold -
PositionIndicatorjest teraz umieszczony i rozmiarowany tak, aby zajmował tylko potrzebną przestrzeń. Jest to przydatne np. w przypadku dodania do niego informacji semantycznych. Czytnik ekranu 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ć wcurvedTextibasicCurvedTextCurvedText/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. Składa się on z 3 różnych efektów wizualnych, które zostały zaprojektowane tak, aby ze sobą współdziałać.
- Po pierwsze, efekt pędzla tła zastępczego używany w kontenerach, takich jak Chip i Cards, 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świetlane w sposób zorganizowany.
- 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 elementucurvedText(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 autoCentering 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ą zwalniane. Wersja 1.1.0-alpha07 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy eksperymentalną obsługę symboli zastępczych. Składa się on z 3 różnych efektów wizualnych, które zostały zaprojektowane tak, aby ze sobą współdziałać. Po pierwsze, efekt pędzla tła zastępczego używany w kontenerach, takich jak Chip i Cards, 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świetlane w sposób zorganizowany. (I3c339)
Zmiany w interfejsie API
- Dodano obsługę
fontWeight,fontFamily,fontStyleifontSynthesiswCurvedTextStyle, z których można korzystać na urządzeniachcurvedTextibasicCurvedText. Za pomocą tych parametrów możesz określić czcionkę i styl, które mają być używane w zakrzywionym tekście.(Iaa1a8),(I72759) - Zaktualizowano parametr przesunięcia
Modifier.scrollAwayna 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 do sterowania przełącznikami 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ą zwalniane. Wersja 1.1.0-alpha06 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy funkcję
Modifier.scrollAway, która przewija element w pionie w górę lub w dół w zależności od stanu przewijania (z przeciążeniami do pracy z funkcjamiColumn,LazyColumniScalingLazyColumn). FunkcjaScrollAwayjest zwykle używana do przewijania elementuTimeTextw dół, gdy użytkownik zaczyna przewijać listę elementów w górę. (I61766)
Poprawki błędów
- Element
PositionIndicatorjest teraz umieszczony i rozmiarowany tak, aby zajmował tylko potrzebną przestrzeń. Jest to przydatne np. w przypadku dodania do niego informacji semantycznych. Czytnik ekranu 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ą zwalniane. Wersja 1.1.0-alpha05 zawiera te zatwierdzenia.
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ą zwalniane. 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ą mieć wpływ 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ą zwalniane. 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 przełączania 36x24.dp. Spowoduje 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 tekstu, który się nie mieści. 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ą zwalniane. 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
- Animacja widoczności winiety podczas wyświetlania i ukrywania okna została zmieniona, aby była zgodna z dotychczasową animacją skalowania. (Ida33e)
- Naprawiliśmy błąd, który mógł powodować dzielenie przez zero w przypadku niektórych gestów szybkiego przewijania podczas przewijania. (I86cb6)
- Naprawiliśmy błąd w
ChipDefaults.childChipColor(), aby kolor tła wyłączonego elementu był całkowicie 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ą zwalniane. 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 wartość String z możliwością wartości null (wcześniej konieczne było przekazanie mapowania z opcji na opis treści, ale używana była tylko wybrana opcja). (Ife6a7) - W selektorze wprowadziliśmy ulepszenia ułatwień dostępu, dzięki czemu ekrany selektora wielokrotnego są dostępne dla 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ło od lewego górnego do prawego dolnego rogu, a teraz jest 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% do 10% koloruonSurfaceVariant).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ą gradientowe tło, 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ą zwalniane. 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ą zwalniane. Wersja 1.0.1 zawiera te zatwierdzenia.
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. (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ą zwalniane. 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 Wear Compose znajdziesz w informacjach o wersji (Compose na Wear OS Beta01).
Poprawki błędów
- Animacja widoczności winiety podczas wyświetlania i ukrywania okna została zmieniona, aby była zgodna z dotychczasową animacją skalowania. (Ida33e)
- Naprawiliśmy błąd, który mógł powodować dzielenie przez zero w przypadku niektórych gestów szybkiego przewijania podczas przewijania. (I86cb6)
- Naprawiliśmy błąd w
ChipDefaults.childChipColor(), aby kolor tła wyłączonego elementu był całkowicie 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ą zwalniane. 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ła zaktualizowana, 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ą gradientowe tło, 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ą zwalniane. 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 elementfillMaxWidth()zawiera komponentyListHeader()iChip(), ponieważ szerokość będzie się zwiększać lub zmniejszać w miarę przewijania elementówListHeader.ScalinglazyColumn(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 wypeł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ć dotychczasowe działanie, możesz zastąpićscalingParamswScalingLazyColumn(Ie375c). - Dodaliśmy do ikony
CompactChipdopełnienie, aby jej rozmiar docelowy wynosił co najmniej 48 dp wysokości i była zgodna z wytycznymi dotyczącymi ułatwień dostępu w interfejsie Material. Może to wpłynąć na wszystkie układy korzystające zCompactChips, ponieważ będą 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ą zwalniane. Wersja 1.0.0-beta03 zawiera te zatwierdzenia.
Nowe funkcje
- Umożliwiliśmy działanie
ScalingLazyColumnw trybie@Preview. (I3b3b6, b/232947354)
Zmiany w interfejsie API
- Zmieniliśmy domyślną wartość 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, ustawhorizontalAlignment = Alignment.Start.(I9ed4b)
Znane problemy
- Wysokość elementu CompactChip jest mniejsza niż zalecana w wytycznych Material Design 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 powyżej i poniżej. 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
TimeTextbliższa specyfikacjom 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ą zwalniane. 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 przez element w
gradientColor. (I72925) - Zmieniliśmy działanie interfejsu
Chip/ToggleChip/CompactChip/SplitToggleChip, aby domyślnie nie wykonywał onfillMaxWidth. Zamiast tego będą się rozszerzać, aby dopasować się do zawartości. Aby zachować poprzednie działanie, dodajmodifier = Modifier.fillMaxWidth()(I60a2c, b/232206371).
Poprawki błędów
CurvedTextStylekonstruktor przyjmującyTextStyleteraz uwzględnia też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ąć kartę, przesuwając palcem 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 zachowanie przyciągania na urządzeniach
ScalingLazyColumniPicker(I49539) - Ulepszenia przesuwania od krawędzi. Gdy używana jest funkcja
Modifier.edgeSwipeToDismiss, odrzucanie przez przesunięcie 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ć odrzucanie przez przesunięcie, przesuwając palcem z dowolnej części ekranu, jeśli przewijanie osiągnęło początek.(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ą zwalniane. 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 w wersji 1.0 obejmują:
- Motyw Material – używany jako zamiennik Compose na urządzenia mobilne
MaterialTheme. Zawiera kolory, kształty i typografię do tworzenia komponentów na urządzeniach do noszenia, które od razu implementują wytyczne UX dotyczące Material Design na urządzenia do noszenia. Button,CompactButtoniToggleButton– przycisk oferuje jedno miejsce na ikonę, obraz lub krótki tekst (maksymalnie 3 znaki). Mają kształt okrągły i zalecane rozmiary dla przycisków domyślnych, dużych i małych.CompactButtonoferuje 1 miejsce na dowolne treści (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 obszar klikalny.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 umożliwiająca różne zastosowania dzięki elementom
AppCardiTitleCard, które zapewniają różne układy i obsługę obrazów jako treści kart 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 z zaznaczonym lub odznaczonym stanem oraz dodatkowym slotem
ToggleControl, w którym można wyświetlić ikonę, np. przełącznik lub przycisk opcji, aby pokazać zaznaczony stan komponentu. DodatkowoSplitToggleChipma 2 obszary, które można dotknąć: jeden klikalny i jeden przełączalny. - 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ątem początkowym a końcowym. Drugi wskaźnik pokazuje nieokreślony postęp w nieokreślonym czasie oczekiwania.
- curvedText – część DSL do opisywania
CurvedLayoutswraz zcurvedRowicurvedColumn, która służy do rozmieszczania komponentów wokół okrągłych urządzeń. Więcej informacji oCurvedLayoutiCurvedModifierznajdziesz w sekcji Wear Component Foundation (pełnią podobną rolę do modyfikatorów w przypadku ekranów płaskich i umożliwiają konfigurowanie różnych aspektów układu, dopełnienia, gradientów itp.). - Okno dialogowe, alert i potwierdzenie – okno dialogowe wyświetla się na pełnym ekranie, nad innymi treściami, i można je zamknąć gestem przesunięcia. Zajmuje 1 miejsce, w którym powinna się znajdować opinia dotycząca treści okna dialogowego Material Design na zegarku, np. alertu lub potwierdzenia. Alert to dialog z określonymi treściami, który zawiera miejsca na ikonę, tytuł i wiadomość. Ma przeciążenia dla 2 przycisków (negatywnego i pozytywnego) wyświetlanych obok siebie lub dla co najmniej 1 elementu wyświetlanego w pionie. Potwierdzenie to opinia w oknie dialogowym, 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 urządzeniach z okrągłym ekranem. Można go używać z przeglądarką strony Accompanist.
- Ikona – implementacja ikony na Wear, która pobiera kolor i wartość alfa z motywu Material na Wear. W przypadku ikony, którą można kliknąć, zobacz sekcję 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 – pokazuje 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 urządzeniach z okrągłym ekranem.
- 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 – przewijany komponent listy z efektem skalowania lub rybiego oka, który jest kluczowym elementem języka 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 nawigacji Wear Compose poniżej). - Text – implementacja komponentu Text z biblioteki Compose Material na Wear OS, która pobiera kolor i wartość alfa z motywu Wear Material.
- TimeText – komponent wyświetlający godzinę i stan aplikacji u góry ekranu. Dostosowuje 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 w razie potrzeby je obraca. Jest to podobne do układu wiersza wygiętego w segment pierścienia. Pamiętaj, że zawartość elementuCurvedLayoutnie jest funkcją lambda, którą można łączyć, ale językiem DSL (językiem specyficznym dla domeny). Wszystkie elementy w języku DSL CurvedLayout obsługują opcjonalny parametr modyfikatora utworzony na podstawieCurvedModifier.basicCurvedText – element w języku DSL
CurvedLayout,basicCurvedText, który umożliwia deweloperom łatwe pisanie tekstu zakrzywionego zgodnie z krzywizną okręgu (zwykle na krawędzi okrągłego ekranu).basicCurvedTextmożna tworzyć tylko w ramach elementuCurvedLayout, aby zapewnić jak najlepsze wrażenia, np. możliwość określenia pozycji i używania elementuCurvedModifiers. Pamiętaj, że w większości przypadków należy używać elementu curvedText, ponieważ korzysta on z motywów Material Design.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 poprzedni poziom nawigacji (jeśli istnieje) jest widoczny w tle.Więcej informacji o wprowadzonych zmianach znajdziesz w informacjach o poprzednich wersjach 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 włączony parametr do
AppCardiTitleCard. Teraz mają podobny interfejs API do kartandroidx.compose.material. Jeśli parametr ma wartość „false”, nie będzie można kliknąć karty. (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ą zwalniane. 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 komponowaniu. 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
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) - Przepisz typ wyliczeniowy
PageIndicatorStylena klasę wartości (I2dc72) - Do niektórych boksów w naszych komponentach dodaliśmy symbol
RowScope/ColumnScope/BoxScope, aby poinformować deweloperó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 miejscu na reklamę 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, aby domyślnie ustawić dla właściwościtimeColoriappColorkolorcontentColor. W razie potrzeby można je jednak zastąpić indywidualnie. (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ęcontentPaddingiautoCenteringPadding, która została zastosowana. Mogą 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 wykonywana, 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 gniazdatoggleControl. 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 zestawemcontentDescription. (I5bb5b) - Dodaliśmy parametr
SwipeDismissableNavHostStatedoSwipeDismissableNavHost. 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ą zwalniane. 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 2D 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 jeszczeCurvedModifiers, a możliwość tworzenia niestandardowych modyfikatorów może być dostępna później) (I9b8df) EdgeSwipeAktualizacja dokumentacji modyfikatorów i wartości domyślnych w celu lepszego zrozumienia .(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. Sposoby użycia domyślnych ikon były prezentowane w wersjach demonstracyjnych i przykładowych. (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) - Oznaczyliśmy interfejsy
ScalingLazyList/Columnzakresu i informacji jako zamknięte, ponieważ nie są one przeznaczone do implementacji przez deweloperów zewnętrznych. Dzięki temu będziemy mogli w przyszłości dodawać do nich nowych członków bez wprowadzania zmian powodujących niezgodność binarną. (I7d99f) - Dodaliśmy nową właściwość
flingBehaviourdo selektora i metodęPickerDefaults.flingBehaviour(), aby umożliwić konfigurację zachowania przewijania, np. dodanie obsługi RSB.PickerStateimplementuje teraz interfejsScrollableState. (Ib89c7)
Poprawki błędów
- Zaktualizuj reguły profilu podstawowego Android Runtime (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ść. 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ą zwalniane. Wersja 1.0.0-alpha19 zawiera te zmiany.
Zmiany w interfejsie API
- Zmieniliśmy nazwę
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 wiersza i kolumny w przypadku układów zakrzywionych). 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żliwia skonfigurowanie strony dla
PositionIndicator. Położenie podstawowego wskaźnika pozycji można teraz skonfigurować jako End (zależne od kierunku układu), OppositeRsb (uwzględnia obrót ekranu, aby umieścić się naprzeciwko fizycznego RSB) lub Left i Right. (I2f1f3) - W przypadku
SwipeToDismissBoxzmieniliśmy nazwęSwipeDismissTarget.Original naSwipeToDismissValue.Default, aSwipeDismissTarget.DismissalnaSwipeToDismissValue.Dismissed. Przenieśliśmy teżSwipeToDismissBoxDefaults.BackgroundKeyiSwipeToDismissBoxDefaults.ContentKeydoSwipeToDismissKeys.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,isAnimationRunningisnapToczłonków, którzy obsługują 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 jest 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 na 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 odporność na
SwipeToDismissBox, dzięki czemu ruch występuje 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 zaktualizowano 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 zaczynają być skalowane bliżej środka listy, ale na jej krawędziach są mniej skalowane niż wcześniej. (Ica8f3) - Wprowadzenie pewnych korekt w
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ą zwalniane. Wersja 1.0.0-alpha18 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Kilka ulepszeń dotyczących elementu PositionIndicator: ShowResult zmieniono nazwę na PositionIndicatorVisibility. Poprawki wydajności, aby uniknąć ponownych obliczeń, gdy nie są one potrzebne (Iaed9d)
- Zaktualizowano zalecane kolory dla
SplitToggleChip. Komponenty SplitToggleChip mają teraz jednobarwne tło, gdy są zaznaczone lub odznaczone. Kolor komponentu ToggleControl jest głównym wskaźnikiem tego, czy komponent jest zaznaczony. Dodaliśmy nowy elementToggleDefaults.splitToggleChipColors(), aby obsługiwać nową kolorystykę. Uprościliśmy też metodytoggleChipColors(), 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 realizację 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ł 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
PositionIndicatoriVignette. Używamy terazScalingLazyColumnzamiastColumn, co oznacza, że zawartość okna dialogowego jest 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, takich jak teksty prawne. (I74b13, b/220128356)
Poprawki błędów
- Zatrzymanie animacji przyciągania, gdy dotrzemy do celu. (Idb69d)
- Animowanie zmian w PositionIndicator. (I94cb9)
- Na podstawie opinii dotyczących interfejsu użytkownika zmieniliśmy
ScalingLazyColumnautoCentering, aby zapewniał tylko tyle miejsca, aby elementy o indeksieScalingLazyListState.initialCenterItemIndexlub wyższym można było w pełni przewinąć do środka obszaru widocznego. Umożliwia to deweloperom umieszczenie 1 lub 2 elementów nad elementem początkowo znajdującym się na środku, których nie można przewinąć na środek. Oznacza to, że elementScalingLazyColumnz automatycznym wyśrodkowaniem nie będzie mógł przewijać się powyżej elementuinitialCenterItemIndex/initialCenterItemScrollOffset(I22ee2). - Dodaliśmy wersję demonstracyjną selektora daty i naprawiliśmy błąd w
PickerState, który powodował, że parametr initiallySelectedOption był stosowany dopiero po wyświetleniu selektora. (Id0d7e) - Aby zmniejszyć przycinanie szerszych elementów
ScalingLazyColumnna okrągłych ekranach, zwiększyliśmy domyślny poziomy odstęp od treści z 8 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ą zwalniane. Wersja 1.0.0-alpha17 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy obsługę przyciągania, z której można korzystać w przypadku
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 formacie 24-godzinnym lub 12-godzinnym. (Ie5552)
Zmiany w interfejsie API
- Rozwiązaliśmy problem z niestandardowymi czcionkami i stylami
TimeTextna 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 właściwośćuserScrollEnabledzgodną z właściwością usługiLazyList(I164d0, b/217912513). - Selektory mają teraz domyślnie gradient u góry i u dołu (Iab92a).
Poprawki błędów
- Zmodyfikowaliśmy
ScalingLazyColumn, aby nie wypełniał już całego miejsca w elemencie nadrzędnym. Zamiast tego przyjmie rozmiar swoich treści. Dzięki temu będzie ona działać tak samo jakLazyColumn. 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 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ą zwalniane. 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 przesuwania szybko zatrzymują się na 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 komponentu
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
ScalingLazyColumndomyślnyextraPadding, 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 pojawić się w obszarze widoku. 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
ScalingLazyColumn, aby nie wypełniał już całego miejsca w elemencie nadrzędnym. Zamiast tego przyjmie rozmiar swoich treści. Dzięki temu jest ona zgodna z działaniemLazyColumn. 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ą zwalniane. Wersja 1.0.0-alpha15 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Do elementu
ScalingLazyColumndodaliśmy nową właściwośćautoCentering. Jeśli ta wartość jest prawdziwa (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 będziesz chcieć 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 jest wyświetlane, można je zamknąć gestem przesunięcia. Podczas tego gestu w tle będzie widoczna treść elementu 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 kolor
onSurfaceVariant2z motywu Material Compose for WearOS i zastąpiliśmy go w bibliotece koloremonSurfaceVariant. (Icd592) - Dodaliśmy metodę programowego wybierania opcji w
PickerState. Podczas tworzeniaPickerStatemożna teraz określić opcję, która ma być wybrana na początku. (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()dla urządzeń 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ą zwalniane. Wersja 1.0.0-alpha14 zawiera te zatwierdzenia.
Nowe funkcje
Dodaliśmy do interfejsu
ScalingLazyListStatekilka metod, które umożliwiają programistom 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 widocznego elementu ScalingLazyList, 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) lubEdge(ScalingLazyListAnchorType.ItemStart) ma być wyrównany do linii środkowej obszaru widocznego.W rezultacie wartości
ScalingLazyListItemInfo.offsetiScalingLazyListItemInfo.adjustedOffsetuległy zmianie i odzwierciedlają teraz przesunięcie elementu względem pozycji elementu listy i wartościanchorTypelisty. 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 elementu
SwipeDismissableNavHostobsługę przycisku Wstecz, dzięki czemu naciśnięcie tego przycisku powoduje przejście do poprzedniego poziomu 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ą zwalniane. Wersja 1.0.0-alpha13 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zmieniliśmy wartość
RangeIconsna wewnętrzną (odwołują się do niej wewnętrznieInlineSlideriStepper). (I927ec)
Poprawki błędów
Naprawiliśmy problem polegający na tym, że
SwipeDismissableNavHostdodawał miejsce docelowe do hierarchii Compose, zanim osiągnęło ono stanCREATEDcyklu życia, co powodowało wystąpienie błęduIllegalStateException. Ta poprawka była wymagana do zaktualizowania zależności odnavigation-composedo2.4.0-beta02i nowszych wersji. (I40a2b, b/207328687)Dodaliśmy klasę wyliczeniową Drawables, która umożliwia pobieranie zasobów rysowalnych w bibliotece Wear Compose, dzięki czemu nie jest już potrzebne odbicie. Rozwiązuje to błąd, w którym elementy rysowalne biblioteki były usuwane, gdy
minifyEnabled=truelubshrinkResources=true). (Ib2a98)Dodano testy dla
Stepperw Wear Compose (I2d03a)Dodaliśmy przykłady dla
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ą zwalniane. Wersja 1.0.0-alpha12 zawiera te zatwierdzenia.
Nowe funkcje
Dodaliśmy komponent Krokomierz, który umożliwia użytkownikom wybór z zakresu wartości. Element 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 element Chip lub Text). W razie potrzeby możesz dostosować ikony przycisków. (I625fe)
Dodaliśmy 2 nowe komponenty kompozycyjne do wyświetlania okien: 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ą zwalniane. Wersja 1.0.0-alpha11 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy komponent selektora, który umożliwia użytkownikowi wybór 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ę cylindra widzianego z boku. W późniejszych wersjach zostaną dodane 2 funkcje: przyciąganie do wartości po przesunięciu i dodanie do PickerState funkcji ustawiania lub 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 funkcję, która jest już dostępna w elementach 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ą zwalniane. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.
Nowe funkcje
Dodano element 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)
Wypróbuj nowe ćwiczenia z programowania dotyczące Compose na WearOS.
Zmiany w interfejsie API
- Test porównawczy ma teraz
minSdkVersiono wartości23. (If2655)
Poprawki błędów
- Aktualizacja obsługi przejść w komponencie SwipeDismissableNavHost w funkcji SideEffect (I04994, b/202863359)
- Zaktualizuj obsługę przejść w komponencie SwipeDismissableNavHost (I1cbe0, b/202863359)
Wersja 1.0.0-alpha09
27 października 2021 roku
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ą zwalniane. Wersja 1.0.0-alpha09 zawiera te zatwierdzenia.
Nowe funkcje
- Udostępniliśmy wersję deweloperską Compose na Wear OS. Zapoznaj się z naszym postem na blogu, w którym omawiamy główne komponenty i podajemy linki do dodatkowych materiałów, które pomogą Ci zacząć z nich korzystać.
Zmiany w interfejsie API
- Dodaliśmy możliwość 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)
- Dodaliśmy linki do przewodników na developer.android.com z KDocs dla CurvedText, TimeText i SwipeToDismissBox. (I399d4)
- SwipeDismissableNavHost zgłasza teraz wyjątek, jeśli nie ma bieżącego miejsca docelowego (co oznacza, że NavGraph nie został utworzony za pomocą funkcji narzędzia wear.compose.navigation.composable) (I91403).
- Dodaliśmy dodatkową dokumentację i przykłady użycia ź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ą zwalniane. 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 lambda końcowa. 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 stronie developer.android.com z dokumentacji KDoc dla komponentów przycisku, karty, elementu, motywu, wskaźnika pozycji i skalowania leniwej kolumny. (I22428)
- Naprawienie problemu polegającego na tym, że funkcja SwipeToDismissBox w WearOS czasami nie obsługiwała przesunięć. (I9387e)
- Dodano przykłady elementów Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, ToggleChip i SplitToggleChip (Iddc15).
- Dodano 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ą zwalniane. Wersja 1.0.0-alpha07 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy 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 dla 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 biblioteki navigation-common i usuń kopię z biblioteki 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 elementu CurvedRow podczas aktualizacji treści i zapewniono ponowny pomiar zakrzywionego wiersza (Ie4e06).
- Funkcja ChipDefaults.gradientBackgroundChipColors() została zaktualizowana zgodnie ze zmianami w specyfikacji UX. Gradient zaczyna się teraz 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 mają teraz tło gradientowe z MaterialTheme.color.surface o 0% przezroczystości w lewym górnym rogu do MaterialTheme.color.primary o 32% przezroczystości w prawym dolnym rogu na tle MaterialTheme.color.surface o 75% przezroczystości. Dzięki temu różnica między zaznaczonym a niezaznaczonym 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ą zwalniane. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy komponent kompozycyjny Scaffold aplikacji najwyższego poziomu, który zapewnia strukturę do obsługi pozycji wskaźników pozycji (takich jak przewijanie lub głośność), obszaru u góry ekranu do wyświetlania czasu i stanu aplikacji, a także obsługuje winietę do rozmywania górnej i dolnej krawędzi ekranu w przypadku treści, które można przewijać. 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:
- Funkcja
SwipeDismissableNavHost, która zawiera wykres nawigacji i umożliwia nawigację wstecz za pomocą gestów przesuwania. NavGraphBuilder.composablerozszerzenie ułatwiające tworzenie wykresów nawigacji.rememberSwipeDismissableNavController(), aby zezwolić na przenoszenie stanu.
- Funkcja
Przykładowe użycie, 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ą 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ę reverseLayout do komponentu ScalingLazyColumn. Umożliwia to odwrócenie kierunku przewijania i układu (I9e2fc).
- Wycofano funkcje
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
Publikacje 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 zmian w specyfikacji UX. (I83802)
Wersja 1.0.0-alpha04
18 sierpnia 2021 r.
Publikacje 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óre można wykorzystać 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ę zamykania przez przesunięcie. (I7bbaa)
- Do klasy ScalingLazyColumnState dodaliśmy interfejsy ScalingLazyColumnItemInfo i ScalingLazyColumnLayoutInfo, aby deweloperzy mogli poznać rzeczywiste pozycje i rozmiary 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)
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 deweloperzy mogli poznać rzeczywiste pozycje i rozmiary 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
@ExperimentalWearMaterialApido wyliczeniaSwipeDismissTarget, które jest częścią interfejsuSwipeToDismissBoxAPI. (I48b5e)
Poprawki błędów
- Dodano materiały testowe dla komponentu SwipeToDismissBox (I9febc)
Wersja 1.0.0-alpha03
4 sierpnia 2021 r.
Publikacje 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 siatkę. (I53206) - Dodano komponent ScalingLazyColumn, który zapewnia komponent listy dla Wear Material. Wyświetla on listę w formie rybiego oka, a treści na liście zmniejszają się i stają się przezroczyste, gdy zbliżają 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.
Publikacje 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 kompozycji ułożonych w łuk (I29941).
- Dodaliśmy nowy typ karty do użytku 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)
- Dodanie nowej klasy CurvedRow do elementów kompozycyjnych w układzie łukowym (I29941)
- Dodaliśmy nowy typ karty do użytku w aplikacjach (TitleCard), a także obsługę obrazów jako tła kart, aby podkreślić ich zawartość (I53b0f).
- Dodano ikony przełączników (pola wyboru, przełączniki i przyciski opcji) do ToggleChipDefaults, aby ułatwić deweloperom konfigurowanie elementów ToggleChip i SplitToggleChips (I7b639).
- Zaktualizowano dopełnienie treści na początku i na końcu elementu Chip, tak aby zawsze wynosiło 14 dp, niezależnie od tego, czy zawiera on ikonę (wcześniej wynosiło 12 dp, jeśli zawierał ikonę, i 14 dp, jeśli jej nie zawierał) (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 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.
Publikacje 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 języku Kotlin 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ć ikony, etykiety i etykiety dodatkowe.
- – 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łączany.
- Button, CompactButton – przyciski mają okrągły kształt i jedno miejsce na ikonę lub krótki tekst (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 zegarkach.
Dodatkowo zapewnimy obsługę innych funkcji specyficznych dla urządzeń do noszenia, takich jak zakrzywione układy i tekst, a także szkieletów, 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 dodają bibliotekę Compose Material do zależności, oznacza to, że a) w bibliotece Wear Compose Material brakuje komponentów – daj nam znać, czego potrzebujesz, lub b) używają komponentu, którego nie zalecamy do używania na urządzeniu do noszenia.