Wear Compose
Najnowsza aktualizacja | Wersja stabilna | Kandydat do wydania | Wersja Beta | Wydanie alfa |
---|---|---|---|---|
12 czerwca 2024 r. | 1.3.1 | - | 1.4.0-beta03 | - |
Deklarowanie zależności
Aby dodać zależność w Wear, musisz dodać repozytorium Google Maven do swojego w projektach AI. Zapoznaj się z repozytorium Google Maven. .
Dodaj zależności artefaktów, których potrzebujesz w pliku build.gradle
aplikacji lub modułu:
Odlotowe
dependencies { implementation "androidx.wear.compose:compose-foundation:1.3.1" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material:1.3.1" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.3.1" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.3.1") // 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.3.1") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material:1.3.1") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.3.1") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.3.1") // 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ć Jetpack. Daj nam znać, jeśli odkryjesz nowe problemy jak ulepszyć tę bibliotekę. Przyjrzyj się istniejące problemy w tej bibliotece, zanim utworzysz nową. Możesz zagłosować nad istniejącym problemem przez klikając przycisk gwiazdki.
Zobacz dokumentację narzędzia Issue Tracker. .
Wear Compose Material3 w wersji 1.0
Wersja 1.0.0-alfa23
14 maja 2024 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha23
została zwolniona. Wersja 1.0.0-alfa23 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Zaktualizowaliśmy interfejsy API
ToggleButton
iRadioButton
, aby umożliwić skonfigurowanie wyłączonych kolorów. (If13a7). - Dodaliśmy nowy
CircularProgressIndicator
do Material3. (Ib3bd7).
Poprawki błędów
- Naprawiliśmy błąd, który polegał na tym, że po wybraniu przycisków dwukrotne kliknięcie przycisku przełączania. (I7ed88).
Wersja 1.0.0-alfa22
1 maja 2024 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha22
została zwolniona. Wersja 1.0.0-alfa22 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Zaktualizowaliśmy Material3
ColorScheme
. (I7b2b8) - Zaktualizowaliśmy przełącznik Material3. Oprócz zmian kolorów, znacznik wyboru jest teraz zgodny z polem wyboru. (Icac7b)
Poprawki błędów
- Zaktualizuj wszystkie wersje demonstracyjne integracji, aby używać nowego modyfikatora
rotaryScrollable
. (I25090)
Wersja 1.0.0-alfa21
17 kwietnia 2024 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha21
została zwolniona. Wersja 1.0.0-alfa21 zawiera te zatwierdzenia.
- Ta wersja została aktywowana z powodu problemu technicznego w poprzedniej wersji, w wyniku którego brakowało źródłowych plików jar. W tej wersji nie ma nowych zatwierdzeń.
Wersja 1.0.0-alfa20
3 kwietnia 2024 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha20
została zwolniona. Wersja 1.0.0-alfa20 zawiera te zatwierdzenia.
Poprawki błędów
- Dostosowaliśmy stany alfa, aby poprawić kontrast. (I59f0A)
- W
Button
,ToggleButton
iRadioButton
dodaliśmy odstępy między etykietami głównymi i dodatkowymi zgodnie z najnowszymi zmianami w stylach typograficznych i wysokości wierszy. (I2c0ba).
Wersja 1.0.0-alfa19
6 marca 2024 roku
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha19
została zwolniona. Wersja 1.0.0-alfa 19 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Do biblioteki Material3 w Wear Compose dodaliśmy element
TimeText
. Ten komponent pokazuje aktualną godzinę (i dodatkowy stan) u góry ekranu. Nowy, zwięzły interfejs Material3 API zapobiega duplikowaniu treści linearnych i zakrzywionych. (I4d7c3) - Zmieniliśmy nazwy parametrów z
onSelected
naonSelect
dlaRadioButton
. (I1a971). - Tokenizacja metod
RadioButton
iSplitRadioButton
obejmuje też istniejące metody, aby zmniejszyć liczbę wyszukiwańCompositionLocal
. Aby to zrobić, dodaj instancje kolorów z pamięci podręcznej i ustaw metody uwierzytelnianiaRadioButtonColors
iSplitRadioButtonColors
wewnętrznie. (I02b33)
Wersja 1.0.0-alfa18
21 lutego 2024 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha18
została zwolniona. Wersja 1.0.0-alfa18 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Zrefaktoryzowaliśmy domyślny wzorzec dla
CardColors
,ToggleButtonColors
iSplitToggleButtonColors
, tworząc wewnętrznie instancje przechowywane w pamięci podręcznej i ograniczając wykorzystanieCompositionLocal
. (If3fec).
Wersja 1.0.0-alfa17
7 lutego 2024 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha17
została zwolniona. Wersja 1.0.0-alfa17 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Zaktualizowaliśmy interfejs Button API tak, aby domyślnie używał
buttonColors
i usunęliśmy duplikatfilledButtonColors
. (I4fe3b) - Zrefaktoryzowaliśmy domyślne wzorce dla
ButtonColors
,IconButtonColors
iTextButtonColors
, tworząc wewnętrznie instancję z pamięci podręcznej i ograniczając wykorzystanieCompositionLocal
. (I5f51c) - Usunęliśmy nadmiarowy koszt funkcji
rememberUpdatedState
w klasach kolorów określonych dla komponentu i oznaczono metody akcesorów wewnątrz klas kolorów jako wewnętrzne. (If6571).
Poprawki błędów
- Zaktualizowaliśmy aplikację
Modifier.minimumInteractiveComponentSize
, tak aby używała obecnie nazwyModifier.node
. (IBa6b7)
Wersja 1.0.0-alfa16
24 stycznia 2024 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha16
została zwolniona. Wersja 1.0.0-alfa16 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy kolor
CompactButton
, który może używać tego samego wypełnionego, wypełnionego tonalnego i koloru konturu, co w przypadku przycisku (I05df0).
Zmiany interfejsu API
- Dodaliśmy
RadioButton
/SplitRadioButton
jako kontenery do elementów sterujących wyboru, takich jak Sterowanie radiowe. Różni się to od obecnej funkcjiToggleButton
tym, że elementRadioButton
można wybrać (i działa w ramach grupy wyboru), aToggleButton
można przełączać (i jest niezależny). (I61275) - Usunęliśmy pakiet
LocalContentAlpha
z biblioteki Wear Compose Material3, aby zachować spójność z biblioteką Compose Material3. (I49a0a) - Zaktualizowaliśmy komponenty Wear materiał i Wear materiał3, które ujawniają identyfikator
MutableInteractionSource
w interfejsie API, tak aby teraz ujawniał wartość null dla polaMutableInteractionSource
, która domyślnie ma wartość null. Nie ma tu żadnych zmian semantycznych: przekazanie wartości null oznacza, że nie chcesz podnosić obiektuMutableInteractionSource
i w razie potrzeby zostanie on utworzony w komponencie. Zmiana na wartość null umożliwia niektórym komponentom nigdy nie przydzielanie elementuMutableInteractionSource
, a innym komponentom można tworzyć tylko leniwe tworzenie instancji tylko wtedy, gdy jest to konieczne, co zwiększa wydajność tych komponentów. Jeśli nie używasz identyfikatoraMutableInteractionSource
przekazywanego tym komponentom, zalecamy przekazanie wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (Ib90fc, b/298048146) - Dodaje nowy interfejs Ripple API w bibliotekach
wear:compose-material
iwear:compose-material3
, który zastępuje wycofany interfejsrememberRipple
. Dodajemy też tymczasowyCompositionLocal
(LocalUseFallbackRippleImplementation
), który pozwala przywrócić komponenty Material Design z wycofanych interfejsów APIrememberRipple/RippleTheme
. Zostanie ona usunięta w następnej stabilnej wersji. Jest przeznaczona tylko do tymczasowej migracji w przypadku, gdy udostępniasz niestandardowyRippleTheme
. Więcej informacji na temat migracji i dodatkowych szczegółów dotyczących tej zmiany znajdziesz na stronie developer.android.com. (af92b21). - Wprowadziliśmy drobne ulepszenia w interfejsie API
HorizontalPageIndicator
i jego dokumentacji. (I60efc) - Zaktualizowaliśmy funkcję
ColorScheme
, aby była niezmienna, co ograniczyło efektywność poszczególnych aktualizacji kolorów, ale sprawiło, że częściej używane są kolory. Zmiana ta wynika z faktu, że w większości aplikacji brak aktualizowania poszczególnych kolorów. W dalszym ciągu jest to możliwe, ale nastąpi też ponowne skomponowanie kodu niż wcześniej. To spowoduje znaczne zmniejszenie liczby subskrypcji stanu z użyciem całego kodu materiałowego oraz wpłynie na koszty inicjowania i czasu działania w bardziej standardowych przypadkach użycia. (Ibc2d6). - Zaktualizowaliśmy interfejsy API
ToggleButton
iSplitToggleButton
, aby umożliwić dostosowywanie wyłączonych kolorów. Dodatkowo tokeny Material Design są teraz używane do określania wartości kolorów i typografii. (If087c). - Zaktualizowano kolory tła obrazu przycisku, aby używać tokenów Material Design. (IBa215).
- Zmieniliśmy komponenty
Checkbox
,Switch
iRadioButton
w tryb tylko do wyświetlania i usunęliśmy obsługę kliknięć. Komponenty te powinny być używane w(Split)ToggleButton
, które obsługują kliknięcia, dlatego teraz są wyraźniej oznaczone jako przeznaczone tylko do wyświetlania (i nie są przeznaczone do samodzielnego użytkowania na urządzeniach Wear). (I2322e)
Poprawki błędów
- W Wear Compose Material 3 dodaliśmy tokeny wartości ruchu dla czasu trwania i wygładzania. (I437cd).
- Naprawiliśmy błąd w
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
iRadioButton
, przez co powiadomienia o ułatwieniach dostępu nie powtarzały się (wcześniej role semantyczne były zduplikowane). (Ica281). - Usunęliśmy warstwę Materialcore z
CompactButton
, aby zwiększyć wydajność. (7902858).
Wersja 1.0.0-alfa15
15 listopada 2023 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha15
została zwolniona. Wersja 1.0.0-alfa15 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Zmieniliśmy nazwę poziomu podstawowego
SwipeToDismissBox
naBasicSwipeToDismissBox
. Zwiększa to rozróżnienie między komponentem na poziomie „Podstawy” a poziomem Material3 (SwipeToDismissBox
). Ten drugi pobiera kolory z interfejsuMaterialTheme
, aby wykorzystać je w próbkach, a pozostałą implementację deleguje doBasicSwipeToDismissBox
. (Ibecfc).
Poprawki błędów
- Usunęliśmy warstwę Material Core w przycisku Material3, aby poprawić wydajność. (I55555)
Wersja 1.0.0-alfa14
18 października 2023 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha14
została zwolniona. Wersja 1.0.0-alfa14 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Usunęliśmy parametr
indicatorStyle
z elementuHorizontalPageIndicator
z Material3. Zamiast tego będzie on dopasowany do kształtu ekranu urządzenia (liniowego lub okrągłego). (I83728) - Oddzieliliśmy kolory dla pola
SplitToggleButton
od tych dlaToggleButton
, dodając nową klasęSplitToggleButtonColors
. (I78Bee)
Wersja 1.0.0-alfa13
4 października 2023 roku
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha13
została zwolniona. Wersja 1.0.0-alfa13 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Do dokumentu
TitleCard
dodaliśmy opcjonalne pole Podtytuł. (Ifc45a). - Dodaliśmy tokeny kolorów Material Design do wersji
TextButton
. (I769dc)
Wersja 1.0.0-alfa12
20 września 2023 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha12
została zwolniona. Wersja 1.0.0-alfa12 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Zaktualizowaliśmy
IconButton
, aby umożliwić korzystanie z tokenów Material Design. (I3f137) - Zaktualizowaliśmy
IconToggleButton
, aby umożliwić korzystanie z tokenów Material Design. (I7d263) - Upubliczniliśmy konstrukcje elementów
CheckboxColors
,RadioButtonColors
iSwitchColors
. (I82b73)
Wersja 1.0.0-alfa11
6 września 2023 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha11
została zwolniona. Wersja 1.0.0-alfa11 zawiera te zatwierdzenia.
Poprawki błędów
- Zaktualizowaliśmy typografię kart Material3 na
TitleMedium
. (I597bd) - Zaktualizowaliśmy typografię i wyrównanie elementów Material3
ListHeader
iListSubheader
. (IB5CEb).
Wersja 1.0.0-alpha10
23 sierpnia 2023 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha10
została zwolniona. Wersja 1.0.0-alfa10 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaj aplikację
HorizontalPageIndicator
do biblioteki Wear Material3. (Ifee99)
Zmiany interfejsu API
- Zaktualizuj kod Przycisków, aby używać tokenów projektowania Material3. (I92fe4)
- Deklarowanie interfejsów Wear Material Stepper i Slider API jako eksperymentalnych, ponieważ szczegóły interfejsu jeszcze nie są gotowe. (I84d54)
- Usunęliśmy rozmiary
ExtraSmall
z okrągłychTextButton
iTextToggleButton
, ponieważ dotyczy on tylkoIconButton
. (IBc7d5)
Poprawki błędów
- Zaktualizowaliśmy wytyczne dotyczące typografii w przypadku TextToggleButton, aby dodać do nich etykietę LargeButtonSize (Ib10fa).
- Zaktualizowaliśmy wytyczne dotyczące typografii w przypadku przycisku TextButton, aby dodać do niego etykietę LargeButtonSize (I8f3a7)
- Aby zapewnić ułatwienie dostępu, minimalny docelowy element dotykowy karty powinien wynosić 48 dp. (Ieb9b1)
- Dodaj kartę AppCard z obrazem demonstracyjnym, usuwając kartę AppCard z wersją demonstracyjną w tle (Id735f)
- Poprawiono błąd związany z okrągłymi przyciskami, w których modyfikatory nie były prawidłowo połączone. (I5e162)
Wersja 1.0.0-alpha09
9 sierpnia 2023 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha09
została zwolniona. Wersja 1.0.0-alfa09 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy
ToggleButton
dla material3 (I6bed6)
Zmiany interfejsu API
- Włączyliśmy adnotację
FloatRange
jako ograniczenia interfejsu API , które były wcześniej opisane w komentarzach. (Icb401) - Zaktualizowaliśmy typografię w przypadku Wear Material3, aby była zgodna z najnowszymi wytycznymi dotyczącymi tego standardu. (I1bad6).
Poprawki błędów
- Zaktualizowaliśmy kolory produktów
Button
,IconButton
iTextButton
, aby były zgodne ze stylem Material3. (IB2495) - Naprawiliśmy widoczność zaznaczenia pól wyboru w stanach, gdy reklamy są wyłączone. (IB25bf)
Wersja 1.0.0-alpha08
26 lipca 2023 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha08
została zwolniona. Wersja 1.0.0-alfa08 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy te elementy sterujące do wyboru w przypadku Material3 –
Switch
,Checkbox
iRadioButton
. (IB918C) - Do Material3 dodaliśmy okrągły przycisk przełączania z pojedynczym boksem na ikonę i tekst. W tym celu dodaliśmy
IconToggleButton
iTextToggleButton
. W przypadku różnych rozmiarów elementuToggleButton
zalecamy użycie właściwościModifier.touchTargetAwareSize
z rozmiarami podanymi w odpowiednich przyciskach przełączania. (I9f015). - Do komponentów Material3 dodaliśmy
ListHeader
iListSubheader
. (Ibaefe). - Dodaliśmy
SwipeToDismissBox
Material3, który wywołuje nową podstawęSwipeToDismissBox
i dostarcza domyślne wartości kolorów na podstawie motywu. (I275fb) - Dodaliśmy
InlineSlider
Material3 do Wear Compose. Użytkownik może wybierać wartości z wielu wartości. Zakres wybranych opcji jest przedstawiony jako pasek między wartością minimalną a maksymalną, z której użytkownicy mogą wybrać jedną wartość. UrządzenieInlineSlider
idealnie nadaje się do regulacji ustawień takich jak głośność czy jasność. (I7085F)
Zmiany interfejsu API
- Zaktualizowaliśmy motyw Kształty w stylu Wear Material 3. Teraz korzysta on z elementu
RoundedCornerShape
, a nie z kształtu. (Idb133). - Stały wysokości przycisku ustawiliśmy jako publiczne (Idbfde).
- Zaktualizowano pliki interfejsu API, aby dodać adnotacje o pomijaniu zgodności (I8e87a, b/287516207)
- Zaktualizowaliśmy atrybut
InlineSliderColors
w narzędziu Wear Compose Material 3, aby dodać publiczny konstruktor i właściwości publiczne. (I6b632) - Zaktualizowaliśmy wszystkie klasy kolorów w narzędziu Wear Compose Material 3, aby dodać publiczne konstruktory i właściwości publiczne. (I17702)
- Umieściliśmy stałe dopełnienie w poziomie i pionie przycisku. (Ieeaf7).
Poprawki błędów
- W razie potrzeby wysokość przycisku będzie dostosowywać się do treści rozwiniętych ze względu na duże czcionki z myślą o ułatwieniach dostępu (Iaf302).
- Zaktualizowaliśmy wiele wersji demonstracyjnych przycisków, aby rozwiązać problemy z ułatwieniami dostępu. (I61ce9).
Stepper
iInlineSlider
obsługują teraz powtarzane kliknięcia przytrzymania, dzięki czemu można szybko zwiększyć lub zmniejszyć wartośćStepper
iInlineSlider
, przytrzymując przyciski + i - (I27359).
Wersja 1.0.0-alpha07
21 czerwca 2023 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha07
została zwolniona. Wersja 1.0.0-alfa07 zawiera te zatwierdzenia.
Nowe funkcje
- Do biblioteki Compose for Wear OS Material 3 dodaliśmy komponent
Stepper
. Jest to podobne do poprzedniej wersji Material, z tą różnicą, że domyślnie semantyka zakresu została pominięta w odpowiedzi na opinie deweloperów. Przypadki, w których wymagana jest semantyka zakresów, podajemyModifier.rangeSemantics
. (IC39fd). - Do biblioteki Material 3 na Wear OS dodaliśmy aplikację
curvedText
. (Ia8ae3),
Poprawki błędów
- Zaktualizowaliśmy
wear.compose.foundation
, aby dodać zależność interfejsu APIwear.compose.material3
(I72004, b/285404743)
Wersja 1.0.0-alpha06
7 czerwca 2023 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha06
została zwolniona. Wersja 1.0.0-alfa06 zawiera te zatwierdzenia.
Poprawki błędów
- Zaktualizowaliśmy
TextButton
, aby używał funkcji rozszerzeniatoDisabledColor
w celu prawidłowego wykrywania wyłączonych wartości alfa. (I814C8)
Wersja 1.0.0-alpha05
24 maja 2023 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha05
została zwolniona. Wersja 1.0.0-alfa05 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy
TextButton
do Material3 – okrągłego przycisku z jednym boksem na tekst. W przypadku różnych rozmiarów elementuTextButton
zalecamy użycie atrybutówModifier.touchTargetAwareSize
iExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
iLargeButtonSizeIcon
dostępnych w poluTextButtonDefaults
. DomyślnyTextButton
nie ma obramowania i przezroczystego tła do działań o niskim stopniu podkreślenia. W przypadku działań, które wymagają dużej uwagi, użyjfilledTextButtonColors
; dla średniego podkreślenia – z konturemTextButton
ustaw obramowanie naButtonDefaults.outlinedButtonBorder
; aby znaleźć środek między konturem a wypełnionym, użyjfilledTonalTextButtonColors
. (I667e4). - Do biblioteki Wear Compose 3 dodaliśmy pliki
Card
,OutlinedCard
,AppCard
iTitleCard
.AppCard
iTitleCard
mogą również mieć zarysowany wygląd za pomocą elementówCardDefaults.outlinedCardColors
iCardDefaults.outlinedCardBorder
(I80e72)
Zmiany interfejsu API
- Przenieśliśmy parametr Etykieta przycisku na koniec, aby obsługiwać składnię lambda, i usunęliśmy parametr roli (można go zastąpić, używając parametru
Modifier.semantics
). KonstruktoryButtonColors
są teraz publiczne. (IE1b6d)
Wersja 1.0.0-alpha04
10 maja 2023 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha04
została zwolniona. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy
IconButton
do Material3 – okrągłego przycisku z 1 miejscem na ikonę/obraz. Są 4 odmiany:IconButton
,FilledIconButton
,FilledTonalIconButton
iOutlinedIconButton
. W przypadku różnych rozmiarów elementuIconButton
zalecamy użycie atrybutówModifier.touchTargetAwareSize
iExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
iLargeButtonSizeIcon
dostępnych w poluIconButtonDefaults
. Udostępniamy też poleIconButtonDefaults.iconSizeFor
, które pozwala określić zalecany rozmiar ikony dla danego rozmiaru przycisku. (I721d4)
Wersja 1.0.0-alpha03
19 kwietnia 2023 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha03
została zwolniona. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodaliśmy komponent Material 3 Button – jest to przycisk w kształcie stadionu, który w bibliotece materiałów na Wear Compose nosił wcześniej nazwę Chip (nazwa została zmieniona na Przycisk, aby zapewnić spójność z biblioteką Material Material 3). Przycisk domyślny ma wypełnione tło. Dostępne są też różne wersje przycisków:
FilledTonal
(wyciszone tło), z konturem (przezroczyste z cienką ramką) i element podrzędny (przezroczyste tło i bez obramowania, używane w przypadku działań uzupełniających o najmniejszym stopniu widoczności). Okrągłe przyciski z prostą ikoną i tekstem zostaną udostępnione w przyszłej wersji (Ia6942).
Wersja 1.0.0-alpha02
5 kwietnia 2023 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha02
została zwolniona. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.
Poprawki błędów
- Do elementu Wear Compose 3 dodaliśmy element
DefaultTextStyle
w narzędziu Wear Compose 3. Ustawienie domyślnePlatformTextStyle.includeFontPadding
ma wartość Prawda (obecne ustawienie). Pozwoli to nam zsynchronizować wyłączenie domyślnego dopełnienia czcionek z bibliotekami tworzenia wiadomości w przyszłości (zobacz Poprawianie dopełnienia czcionki w funkcji tworzenia wiadomości w tle). (I7e461)
Wersja 1.0.0-alpha01
22 marca 2023 r.
Usługa androidx.wear.compose:compose-material3:1.0.0-alpha01
została zwolniona. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
Material 3 stanowi kolejną wersję Material Design z uaktualnionym motywem i nowymi komponentami. Interfejs Material 3 w Wear Compose został zaprojektowany tak, aby był spójny z biblioteką Material 3 Compose na Androidzie. Pierwsza wersja alfa zawiera wczesne, funkcjonalne implementacje tych elementów:
Będziemy nadal rozwijać równolegle materiały na Wear Material (
androidx.wear.compose:compose-material
) i Wear Material 3 (androidx.wear.compose:compose-material3
). W kolejnych wersjach Material3 zestaw widżetów zostanie rozszerzony o inne znane komponenty z funkcji tworzenia wiadomości na Wear OS, takie jak przyciski, selektory i suwaki.Biblioteki Wear Material i Wear Material 3 wzajemnie się wykluczają i nie należy ich mieszać w tej samej aplikacji, głównie dlatego, że odwołują się do różnych motywów, co prowadzi do nieoczekiwanych niespójności.
Wersja 1.4
Wersja 1.4.0-beta03
12 czerwca 2024 r.
Usługa androidx.wear.compose:compose-*:1.4.0-beta03
została zwolniona. Wersja 1.4.0-beta03 zawiera te zatwierdzenia.
Poprawki błędów
- Zaktualizowaliśmy zasadę
Modifier.rotaryScrollable
, aby zastąpić używanie „fokusowego” elementu „FocusTarget”, co zwiększa skuteczność. (Id294b) - Naprawiliśmy błąd polegający na tym, że firma
ProgressIndicator
powtarzała swoje ogłoszenie pod adresemTalkBack
. (I94563) - Zaktualizowaliśmy profile podstawowe biblioteki Wear Compose. (I3cbc3)
Wersja 1.4.0-beta02
29 maja 2024 r.
Usługa androidx.wear.compose:compose-*:1.4.0-beta02
została zwolniona. Wersja 1.4.0-beta02 zawiera te zatwierdzenia.
Poprawki błędów
- Zwiększyliśmy szerokość granicy przekazywaną czytnikom ekranu z zakrzywionego tekstu, aby rozwiązać problemy z obcinaniem (Id865f).
- Ograniczyliśmy granicę pola
HorizontalPageIndicator
, które były przekazywane do czytników ekranu – wcześniej ten wskaźnik zajmował pełny ekran (Id8d7a).
Wersja 1.4.0-beta01
14 maja 2024 r.
Usługa androidx.wear.compose:compose-*:1.4.0-beta01
została zwolniona. Wersja 1.4.0-beta01 zawiera te zatwierdzenia.
Wersja 1.4-beta01 tworzenia wiadomości na Wear OS wskazuje, że ta wersja biblioteki jest już dostępna, a interfejs API jest zablokowany (z wyjątkiem miejsc oznaczonych jako eksperymentalne). Wear Compose 1.4 ma te nowe funkcje:
- Dodaliśmy
Modifier.rotaryScrollable
– nowy modyfikator, który łączy zdarzenia rotacyjne z przewijanymi kontenerami, co umożliwia użytkownikom przewijanie zawartości pokrętła lub obrotowej ramki na urządzeniu z Wear OS. Dodatkowo urządzeniaScalingLazyColumn
iPicker
obsługują teraz domyślnie pokrętło. ParametrrotaryScrollableBehavior
pozwala skonfigurować działanie przewijania lub przyciągania. Aby przyciągnąć uwagę, zalecamy stosowanie tej funkcji również w przypadku przewijania dotykiem za pomocą parametruflingBehavior
. SwipeDismissableNavHost
udostępnia teraz animację przejścia z poziomu aplikacji.- Pole
PositionIndicator
jest teraz domyślnie wyświetlane przy pierwszym wyświetleniu ekranu. - Obiekty
SelectableChip
iSplitSelectableChip
zostały dodane jako odmiana usługiToggleChip
– używaj jej razem zRadioButton
, aby zapewnić możliwość wyboru semantyki zamiast przełączania semantyki ułatwień dostępu ListHeader
umożliwia teraz dostosowanie wysokości, gdy zawartość wymaga dodatkowej wysokości z myślą o dużych rozmiarach czcionki.
Poprawki błędów
- Naprawiliśmy błąd, który polegał na tym, że elementy do wyboru były dwukrotne dotknięciem, aby przełączyć po wybraniu elementów. (I7ed88).
Wersja 1.4.0-alpha08
1 maja 2024 r.
Usługa androidx.wear.compose:compose-*:1.4.0-alpha08
została zwolniona. Wersja 1.4.0-alfa08 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Wprowadziliśmy następujące zmiany w nowym rotacyjnym interfejsie API: nazwa „
Modifier.rotary
” toModifier.rotaryScrollable
. zmieniono nazwę interfejsuRotaryBehavior
naRotaryScrollableBehavior
, a jego funkcjihandleScrollEvent
naperformScroll
; zmienił(a) nazwęRotaryScrollableAdapter
naRotaryScrollableLayoutInfoProvider
i usunięto właściwośćscrollableState
. (I0C8a6) - wprowadziliśmy dodatkowe zmiany w obrotowym interfejsie API: nazwaliśmy go
RotaryScrollableLayoutInfoProvider
naRotarySnapLayoutInfoProvider
(ponieważ ten dostawca jest potrzebny tylko do obsługi rotacji z Snap). zmieniono typ parametrusnapOffset
w elemencieRotaryScrollableDefaults.snapBehavior snapOffset
z Int na Dp. (Iddebe) - Zmieniliśmy nazwę parametru
clickInteractionSource
w domenieSplitSelectableChip
nacontainerInteractionSource
. (Ia8f84). - Zmieniliśmy nazwy parametrów wywołania zwrotnego kliknięcia dla
SplitSelectableChip
– zonClick
naonSelectionClick
i zonBodyClick
naonContainerClick
. (I32237)
Poprawki błędów
- Zaktualizowaliśmy dopełnienie poziome w polu
PositionIndicator
na 2 dp (było to 5 dp), aby naprawić błąd polegający na tym, żePositionIndicator
(pasek przewijania) nachodzi na treści, które można przewijać. Pamiętaj, że ta zmiana prawdopodobnie spowoduje uszkodzenie istniejących zrzutów ekranu, które zawierają obiektPositionIndicator
, z powodu zmiany dopełnienia. (I57472) - Ulepszyliśmy dokumentację nowego rotary API, opisując różnice między urządzeniami o niskiej rozdzielczości i wysokiej rozdzielczości. (I63abe).
- Poprawiliśmy wyjątek poza zakresem w regionie
SwipeDismissableNavHost
, który mógł zostać aktywowany, gdy interpolowane wartości alfa były mniejsze od 0. (Ib75a1, b/335782510)
Wersja 1.4.0-alpha07
17 kwietnia 2024 r.
Usługa androidx.wear.compose:compose-*:1.4.0-alpha07
została zwolniona. Wersja 1.4.0-alfa07 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodaliśmy
Modifier.rotary
– nowy modyfikator, który łączy zdarzenia rotacyjne z przewijanymi kontenerami, co umożliwia użytkownikom przewijanie zawartości pokrętła lub obrotowej ramki na urządzeniu z Wear OS. DodatkowoScalingLazyColumn
i selektor domyślnie obsługują teraz pokrętło, a nowe przeciążenia zawierają parametrrotaryBehavior
służący do określania konfiguracji przewijania lub przyciągania. Jeśli parametrrotaryBehavior
ma wartość przyciągania, zalecamy stosowanie tego parametru w przypadku przewijania dotykiem również za pomocą parametruflingBehavior
. (I2ef6f). - Źródła „Przeciągnij i przesunięcie” (
NestedScroll
) zostały zastąpione przez regułyUserInput
iSideEffect
, aby uwzględnić rozszerzoną definicję tych źródeł, do których teraz należą animacje (efekt boczny) oraz kółkiem myszy i klawiaturą (UserInput). (I40579) - Dodaliśmy
SelectableChip
iSplitSelectableChip
, aby ułatwić rozróżnienie między elementami sterującymi, takimi jakSwitch/Checkbox
, a elementami sterującymi, które można wybrać, takimi jakRadioButton
. Spowoduje to zastąpienie wcześniej dodanych przeciążeń parametruToggleChip/SplitToggleChip
parametramiselectionControl
. (IA0217). - Zmieniono modyfikator widoczności elementu
IndeterminateStrokeWidth
w:ProgressIndicatorDefaults
na publiczny. (I5b5a4)
Wersja 1.4.0-alpha06
3 kwietnia 2024 r.
Usługa androidx.wear.compose:compose-*:1.4.0-alpha06
została zwolniona. Wersja 1.4.0-alfa06 zawiera te zatwierdzenia.
Poprawki błędów
- W ramach szerszego wysiłku związanego z przejściem z Horologist na AndroidaX do systemu AndroidX dodaliśmy wewnętrzny projekt obsługi rotacji. (I617d1)
- W ramach szerszego wysiłków związanych z przejściem z Horologist na Androida X dodaliśmy wewnętrzną wersję roboczą obsługi haptycznej. (I5568a)
Wersja 1.4.0-alpha05
20 marca 2024 r.
Usługa androidx.wear.compose:compose-*:1.4.0-alpha05
została zwolniona. Wersja 1.4.0-alfa05 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Upubliczniliśmy właściwości
initialCenterItemIndex
iinitialCenterItemScrollOffset
obiektówScalingLazyListState
. (I0c616) - Upubliczniliśmy
FullScreenStrokeWidth
zProgressIndicatorDefaults
. (Ibea23).
Poprawki błędów
- Poprawiliśmy skuteczność usługi
PositionIndicator
, zmniejszając liczbę połączeń z numeremlayoutInfo
zScalingLazyColumn
. (Idc83d).
Wersja 1.4.0-alpha04
6 marca 2024 roku
Usługa androidx.wear.compose:compose-*:1.4.0-alpha04
została zwolniona. Wersja 1.4.0-alfa04 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Do funkcji
ToggleChip
iSplitToggleChip
dodaliśmy nowe przeciążenie, które przyjmuje parametrselectionControl
zamiasttoggleControl
. Powinno być używane razem z elementem sterującymRadioButton
, aby w przypadku ułatwień dostępu uzyskać semantykę z możliwością wyboru (zamiast z możliwością przełączania) (I1d6d9). - Zaktualizowaliśmy nazwy parametrów nowego obciążenia
selectionControl
zonSelected
naonSelect
dlaToggleChip
iSplitToggleChip
(I1a971)
Wersja 1.4.0-alpha03
21 lutego 2024 r.
Usługa androidx.wear.compose:compose-*:1.4.0-alpha03
została zwolniona. Wersja 1.4.0-alfa03 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Kod
Modifier.inspectable
został wycofany. Ten interfejs API doprowadzi do większej liczby unieważnień modyfikatora, dlatego odradzamy jego używanie. Zachęcamy deweloperów do wdrożenia metodyinspectableProperties()
wModifierNodeElement
, jeśli chcą oni przetestować właściwości modyfikatora dla narzędzi. (IB3236)
Poprawki błędów
- Naprawiliśmy błąd dokumentacji w adnotacjach
WearPreview*
. (Id526d)
Wersja 1.4.0-alpha02
7 lutego 2024 r.
Usługa androidx.wear.compose:compose-*:1.4.0-alpha02
została zwolniona. Wersja 1.4.0-alfa02 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiliśmy błąd w funkcji przesuwania, aby pokazać, przez co można było wchodzić w interakcję z zaangażowanym działaniem (i anulować) związane z nim działanie poprzez rozpoczęcie przesuwania innego elementu.(Ide059)
- Zaktualizowaliśmy
ListHeader
, by umożliwić dostosowywanie wysokości, gdy zawartość wymaga dodatkowej wysokości w celu dopasowania do dużego rozmiaru czcionki. (I7290c, b/251166127)
Wersja 1.4.0-alpha01
24 stycznia 2024 r.
Usługa androidx.wear.compose:compose-*:1.4.0-alpha01
została zwolniona. Wersja 1.4.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
- Do
SwipeDismissableNavHost
dodaliśmy animację wejścia dla przejść w aplikacji.(cfeb79a) - Pole
PositionIndicator
jest teraz domyślnie wyświetlane przy pierwszym wyświetleniu ekranu. Wprowadziliśmy tę zmianę, aby zapewnić zgodność ze wskazówkami dotyczącymi jakości Wear. Oznacza to, że testy zrzutu ekranu będą wymagać aktualizacji na ekranach, które zawierająPositionIndicator
, ponieważPositionIndicator
nie byłyby wcześniej wyświetlane. (419cef7).
Zmiany interfejsu API
- Do bibliotek
wear:compose-material
iwear:compose-material3
dodaliśmy nowy interfejs API Ripple, który zastępuje wycofany interfejsrememberRipple
. Dodajemy też tymczasowyCompositionLocal
(LocalUseFallbackRippleImplementation
), który pozwala przywrócić komponenty Material Design z wycofanych interfejsów APIrememberRipple/RippleTheme
. Zostanie ona usunięta w następnej stabilnej wersji. Jest przeznaczona tylko do tymczasowej migracji w przypadku, gdy udostępniasz niestandardowyRippleTheme
. Więcej informacji na temat migracji i dodatkowych szczegółów dotyczących tej zmiany znajdziesz na stronie developer.android.com. (af92b21). - Zaktualizowaliśmy funkcję
ColorScheme
, aby była niezmienna, co ograniczyło efektywność poszczególnych aktualizacji kolorów, ale sprawiło, że częściej używane są kolory. Zmiana ta wynika z faktu, że w większości aplikacji brak aktualizowania poszczególnych kolorów. W dalszym ciągu jest to możliwe, ale nastąpi ponowne skomponowanie więcej niż wcześniej. To z kolei znacznie zmniejszy liczbę subskrypcji stanu z użyciem całego kodu materiałowego oraz wpłynie na koszty inicjowania i czasu działania w bardziej standardowych przypadkach użycia. (f5c48b7) - Zaktualizowaliśmy materiał Wear Material i Wear materiał3, który ujawnia wartość
MutableInteractionSource
w interfejsie API. Teraz wyświetla się wartośćMutableInteractionSource
z 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ć obiektuMutableInteractionSource
i w razie potrzeby zostanie on utworzony w komponencie. Zmiana na wartość null umożliwia niektórym komponentom nigdy nie przydzielanie elementuMutableInteractionSource
, a innym komponentom można tworzyć tylko leniwe tworzenie instancji tylko wtedy, gdy jest to konieczne, co zwiększa wydajność tych komponentów. Jeśli nie używasz identyfikatoraMutableInteractionSource
przekazywanego tym komponentom, zalecamy przekazanie wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (F8fa920) - Zaktualizowaliśmy sekcję
rememberExpandableState
, by zapisać stan rozwijania. Dzięki temu dane zostaną zapisane przy przechodzeniu na inny ekran i przywrócone po powrocie do pierwotnego ekranu. (5C80095)
Poprawki błędów
- Zaktualizowaliśmy ustawienie
ReduceMotion
, aby używało detektora zależnego od cyklu życia. (7c6B122) - Zaktualizowaliśmy detektor aplikacji
TouchExplorationStateProvider
, aby uwzględniał cykl życia (be28b01) - Usunęliśmy warstwę Materialcore z
CompactButton
, aby poprawić wydajność (25db8e9). - Zwiększyliśmy zakres kompensacji NaN (
BasicSwipeToDismissBox
), aby uniknąć wyjątków (b983739) - Zaktualizowaliśmy funkcję
BasicSwipeToDismissBox
, by wartości alfa mieściły się w zakresie 0,1 - Naprawiliśmy błąd w
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
iRadioButton
, przez co powiadomienia o ułatwieniach dostępu nie powtarzały się (wcześniej role semantyczne były zduplikowane) (d11eeb7).
Wersja 1.3
Wersja 1.3.1
3 kwietnia 2024 r.
Usługa androidx.wear.compose:compose-*:1.3.1
została zwolniona. Wersja 1.3.1 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiliśmy błąd w funkcji przesuwania, aby pokazać, przez co można było wchodzić w interakcję (i anulować) działanie podjęte na jeden z nich przez rozpoczęcie przesuwania kolejnego elementu. (Ide059).
Wersja 1.3.0
24 stycznia 2024 r.
Usługa androidx.wear.compose:compose-*:1.3.0
została zwolniona. Wersja 1.3.0 zawiera te zatwierdzenia.
Ważne zmiany wprowadzone od wersji 1.2.0
- Klasa
SwipeToDismissBoxState
, wyliczenieSwipeToDismissValue
i funkcja rozszerzeniaModifier.edgeSwipeToDismiss
są teraz częścią pakietuandroidx.wear.compose.foundation
, a nieandroidx.wear.compose.material
. Ta zaktualizowana architektura umożliwia wdrożenie obsługi gestów niezależnie od innych aspektów projektowych. Przepływy pracy w stylu Material Design, takie jak stosowanie kolorów ze skonfigurowanego motywu, są obsługiwane oddzielnie. - Klasy
SwipeToRevealCard
iSwipeToRevealChip
pomagają wdrożyćrecommended swipe-to-reveal guidance
. ZajęciaSwipeToRevealSample
pokazują, jak używać tych komponentów. W wersji 1.3.0-alfa02 wprowadziliśmy zmianę, która powoduje zwiększenie wysokości obiektów
Chip
iToggleChip
, co pozwala lepiej obsługiwać skalowanie czcionek wybrane przez użytkownika. Może to spowodować tworzenie klipów. Aby rozwiązać ten problem, kształtlarge
w przypadku elementuMaterialTheme
ma teraz większy promień narożnika (26 dp zamiast 24 dp). ObiektyChip
iToggleChip
używają nowego promienia narożnika, aby uniknąć przycinania treści na rogach elementu iToggleChip
.- Większość elementów
Chips
iToggleChips
pozostaje bez zmian, biorąc pod uwagę domyślną wysokość 52 dp. Jednak obiektyChip
iToggleChip
, które zawierają wiele wierszy tekstu etykiety podstawowej lub dodatkowej albo których wysokość została zastąpiona, mogą powodować błędy w testach zrzutów ekranu.
- Większość elementów
Dodatkowe zmiany
Bardziej kompletne informacje o zmianach wprowadzonych w wersji 1.3.0 znajdziesz w informacjach o wersji beta01.
Zalecenia dotyczące implementacji
- Jeśli Twoja aplikacja umożliwia użytkownikom przesuwanie zawartości ekranu, np. w aplikacji opartej na mapie, wyłącz obsługę przesuwania, ustawiając
userSwipeEnabled
nafalse
w komponencie kompozycyjnymSwipeDismissableNavHost
i dodaj przycisk umożliwiający powrót do poprzedniego ekranu. - Aby wyłączyć animacje wskaźnika pozycji podczas zanikania i zmiany pozycji na przewijanej liście, użyj obiektu
SnapSpec
. - Czekając, aż aplikacja do multimediów załaduje treści do odtworzenia, wyświetl pusty element kompozycyjny
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.
Usługa androidx.wear.compose:compose-*:1.3.0-rc01
została zwolniona. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
-
Zaktualizowaliśmy duży kształt w rozmiarze
MaterialTheme
, aby korzystał z zaokrąglonego narożnika (26 dp). Ten kształt będzie teraz używany przez elementy chip iToggleChip
. Ta zmiana jest niezbędna do regulacji wysokości, gdy zawartość wymaga dodatkowej wysokości z myślą o dużych rozmiarach czcionki. W przeciwnym razie obecny kształt stadionu może obejmować fragment tekstu.Rys. 1. Tekst przycięty w rogach. Rys. 2. Tekst nie jest przycięty. Ta zmiana może spowodować błędy w testach zrzutów ekranu. (I2e6ae).
Wersja 1.3.0-beta02
13 grudnia 2023 r.
Usługa androidx.wear.compose:compose-*:1.3.0-beta02
została zwolniona. Wersja 1.3.0-beta02 zawiera te zatwierdzenia.
Poprawki błędów
- Przywróciliśmy zamierzony ruch przesuwania w usłudze
BasicSwipeToDismissBox
. Zostało to zmienione w poprzedniej wersji, tak że przejście do przesuwanego obszaru odbywało się, gdy palec dotykał ekranu. (Id8e76)
Wersja 1.3.0-beta01
15 listopada 2023 r.
Usługa androidx.wear.compose:compose-*:1.3.0-beta01
została zwolniona. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Wersja 1.3-beta01 tworzenia wiadomości na Wear OS wskazuje, że ta wersja biblioteki jest już dostępna, a interfejs API jest zablokowany (z wyjątkiem miejsc oznaczonych jako eksperymentalne). Wear Compose 1.3 zawiera te nowe funkcje:
- Reguły
SwipeToDismissBoxState
,SwipeToDismissValue
iModifier.edgeSwipeToDismiss
zostały przeniesione z wersjiandroidx.wear.compose.material
naandroidx.wear.compose.foundation
wraz z widoczną implementacją „przesuwania w celu zamknięcia” w usłudzeBasicSwipeToDismissBox
. Dzięki temu obsługa gestów w celu zamknięcia aplikacji przez przesuwanie odbywa się niezależnie od interfejsu Material Design, na przykładSwipeDismissableNavHost
wandroidx.wear.compose.navigation
. Zalecamy używanie interfejsuSwipeToDismissBox
zandroidx.wear.compose.material
z interfejsem Material Design, ponieważ pobiera kolory z interfejsuMaterialTheme
, a potem przekazuje pozostałą implementację do interfejsuBasicSwipeToDismissBox
. SwipeDismissableNavHost
obsługuje teraz nowy parametruserSwipeEnabled
, dzięki czemu można wyłączyć obsługę przesuwania w przypadku ekranów, na których nie jest to wymagane.- Urządzenie
BasicSwipeToDismissBox
poprawiło regulację ostrości dzięki aplikacjiHierarchicalFocusCoordinator
. SwipeToReveal
ma nowe elementy kompozycyjneSwipeToRevealCard
iSwipeToRevealChip
w Material, które są zgodne z zalecanymi wskazówkami UX dotyczącymi tych języków:Card
iChip
. Pozwala też cofnąć obsługę działania dodatkowego.DefaultTextStyle
wyłącza teraz dopełnienie czcionki, aby zapewnić spójność w całej platformie Androida.Chip
iToggleChip
dostosowują teraz swoją wysokość, aby dostosować ją do treści, które powiększyły się dzięki dużym czcionkom, które zwiększają dostępność i łatwość dostępu.PositionIndicator
ma teraz osobne specyfikacje w przypadku animacji rozjaśniania, zanikania i zmiany pozycji. Ze względu na wydajność zalecamy wyłączenie zanikania i zmiany pozycji w połączeniu z listami, które można przewijać.- Funkcja
ExpandableStateMapping
zapewnia nowy sposób generowania komponentówExpandableStates
, gdy trzeba je tworzyć na żądanie, a niekoniecznie z zakresem@Composable
. Placeholder
umożliwia teraz zresetowanie treści, gdy zawartość nie jest już w stanie gotowości. Ustawienie zmniejszania ruchu jest teraz stosowane do efektu połysku i ruchu wymazywania na urządzeniuPlaceholder
.
Znane problemy
- Początkowo
PositionIndicator
nie jest widoczny podczas wyświetlania ekranu po raz pierwszy. Planujemy wprowadzić zmianę we wczesnej wersji 1.4 alfa, aby nowa wersja była widoczna na początku, ale bez animacji.
Zmiany interfejsu API
- Zmieniliśmy nazwę poziomu podstawowego
SwipeToDismissBox
naBasicSwipeToDismissBox
. Zwiększa to rozróżnienie między komponentem na poziomie Podstawa a poziomem materiału (SwipeToDismissBox
). Ten drugi pobiera kolory z interfejsuMaterialTheme
, aby wykorzystać je w próbkach, a pozostałą implementację deleguje doBasicSwipeToDismissBox
. (Ibecfc). - Oznaczyliśmy aplikację
rememberExpandableStateMapping
jako eksperymentalną i zwiększyliśmy skuteczność aplikacjiexpandableItem
. (I5f6bc) - Zastąpiliśmy klasę
SwipeToRevealAction
w interfejsach API MaterialSwipeToReveal
Card i Chip interfejsem API opartym na przedziałach przy użyciu elementów kompozycyjnychSwipeToRevealPrimaryAction
,SwipeToRevealSecondaryAction
iSwipeToRevealUndoAction
. Zapoznaj się z przykładowym kodem, aby dowiedzieć się, jak korzystać z nowego interfejsu API. (IA8943). - Zastąpiliśmy flagi animacji
PositionIndicator
parametramiAnimationSpec
. Aby wyłączyć poszczególne animacje, podaj w polusnap
parametrAnimationSpec
. (I6c523)
Poprawki błędów
- Naprawiliśmy błąd powodujący wyświetlanie zakrzywionego tekstu w ograniczonym zakresie przy ograniczeniu rozmiaru (I50efe).
- Rozwiązaliśmy potencjalną awarię NaN związaną z urządzeniem
curvedComposable
(I970eb) - Cofnęliśmy usunięcie animacji podświetlenia zmiany pozycji z
PositionIndicator
. (Ieb424) - Usunęliśmy warstwę Material-core dla chipu materiałowego, aby poprawić jego wydajność. (If2dcb)
Wersja 1.3.0-alfa08
18 października 2023 r.
Usługa androidx.wear.compose:compose-*:1.3.0-alpha08
została zwolniona. Wersja 1.3.0-alfa08 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Do przeciążeń
PositionIndicator
dodaliśmy poszczególne flagi, aby kontrolować różne animacje:showFadeInAnimation
,showFadeOutAnimation
ishowPositionAnimation
. Poprzedni interfejs API został wycofany i przekierowywał wywołania do nowego. Ze względu na wydajność i spójność UX, gdy w poluPositionIndicator
jest używana przewijana lista, zalecamy wyłączenie flagshowFadeInAnimation
ishowPositionAnimation
. JeśliPositionIndicator
jest używany jako osobny wskaźnik, na przykład do zmiany głośności, zalecamy włączenie wszystkich 3 animacji. (I44294) - Po migracji funkcji „Przesuń, aby zamknąć” do wersji
wear.compose.foundation
wycofaliśmy MaterialSwipeToDismissBoxState
,SwipeToDismissValue
iedgeSwipeToDismiss
. Zastąp ich odpowiednikiem w języku:wear.compose.foundation
. (IEE8c9).
Poprawki błędów
- Zaktualizowaliśmy profile podstawowe dla bibliotek podstawowych, materiałów i nawigacji. (IdB060)
- Cofnęliśmy zmianę w działaniu usługi
PositionIndicator
wprowadzoną w poprzedniej liście zmian, tak aby elementPositionIndicator
był animowany podczas początkowego wyświetlania ekranu. Podobną zmianę zamierzamy wprowadzić we wczesnej wersji alfa 1.4, aby początkowo wyświetlały sięPositionIndicator
, ale bez animacji. (I41843) - Rozwiązaliśmy problemy z wydajnością aplikacji
PositionIndicator
. (I1c654, b/302399827) - Zoptymalizowaliśmy skuteczność domyślnej implementacji dostawcy stanu eksploracji dotykiem, tak aby zależała od stanu
State<Boolean>
, a nie stanu pochodnego. (Ieec4d). - Ustawiliśmy prostokąty
systemGestureExclusion
na Androida 13 i nowszego. (Ib1f4b).
Wersja 1.3.0-alpha07
4 października 2023 roku
Usługa androidx.wear.compose:compose-*:1.3.0-alpha07
została zwolniona. Wersja 1.3.0-alfa07 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Do elementu
PositionIndicator
dodaliśmy osobne flagi, które umożliwiają sterowanie różnymi animacjami:showFadeInAnimation
,showFadeOutAnimation
ishowPositionAnimation
. Poprzedni interfejs API został wycofany i przekierowywał wywołania do nowego. Ze względu na wydajność i spójność UX, gdy w poluPositionIndicator
jest używana przewijana lista, zalecamy wyłączenie flagshowFadeInAnimation
ishowPositionAnimation
. JeśliPositionIndicator
jest używany jako osobny wskaźnik, na przykład do zmiany głośności, zalecamy włączenie wszystkich 3 animacji. (Ia2d63).
Poprawki błędów
- Ulepszyliśmy przesuwanie, aby pokazać ruch – dodaliśmy animację zanikania do tekstu głównego działania i zanikanie działania dodatkowego oraz zmianę skali ikon po pełnym rozwinięciu przesuwania. (IB7223)
- Zalecamy udostępnienie funkcji „Przesuń, aby odsłonić” oraz dodanie niestandardowych czynności ułatwień dostępu do próbek „Przesuń, aby odkryć”. (I42224)
- Poprawiliśmy wydajność funkcji
SwipeToDismissBox
, w tym przez refaktoryzację, aby początkowa logika nie uruchamiała zmiany kompozycji.SwipeToDismissBox
jest teraz narysowany na pełnym ekranie. (Ie0aa2). - Naprawiliśmy błąd, który powodował nieprawidłowe zniknięcie elementu
PositionIndicator
. (I2091a) - Zwiększona skuteczność elementu
PositionIndicator
dzięki optymalizacji zmian kompozycji. Następnie dodano nowe flagi do sterowania animacjami (fadeIn
,fadeOut
ipositionChange
) (zobacz zmiany interfejsu API) (Ifac7d). - Dodaliśmy testy mikrotestów porównawczych dla:
PositionIndicator
(Idf875)
Wersja 1.3.0-alpha06
20 września 2023 r.
Usługa androidx.wear.compose:compose-*:1.3.0-alpha06
została zwolniona. Wersja 1.3.0-alfa06 zawiera te zatwierdzenia.
Poprawki błędów
- Dodaliśmy obsługę
Modifier.edgeSwipeToDismiss
wSwipeToReveal
. (I95774, b/293444286) - Dodaliśmy próbki materiałów
SwipeToRevealChip
iSwipeToRevealCard
. (Ieb974) - Zaktualizowaliśmy profile podstawowe aplikacji Wear Compose Foundation i bibliotek Material Design. (I1dd1f)
Wersja 1.3.0-alpha05
6 września 2023 r.
Usługa androidx.wear.compose:compose-*:1.3.0-alpha05
została zwolniona. Wersja 1.3.0-alfa05 zawiera te zatwierdzenia.
Poprawki błędów
- Dodaliśmy obsługę funkcji „Przesuń, aby odsłonić”, dzięki czemu można przesuwać tylko jeden element naraz. (I3cd7a).
- Poprawiliśmy dokumentację interfejsu
ScalingLazyColumnDefaults
, aby lepiej odzwierciedlić jego rzeczywiste działanie. (I886d3)
Wersja 1.3.0-alfa04
23 sierpnia 2023 r.
Usługa androidx.wear.compose:compose-*:1.3.0-alpha04
została zwolniona. Wersja 1.3.0-alfa04 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy możliwość cofania w przypadku dodatkowego działania powodującego konwersję
SwipeToReveal
. (I7a22d).
Zmiany interfejsu API
- Dodaj aplikację
HorizontalPageIndicator
do biblioteki Wear Material3. (Ifee99) - Zaktualizowaliśmy narzędzie podglądu w Wear Compose, aby mogło korzystać z biblioteki
androidx.wear.tooling.preview
. (IB036e)
Poprawki błędów
- Poprawiono błąd związany z okrągłymi przyciskami, w których modyfikatory nie były prawidłowo połączone. (I5e162)
Wersja 1.3.0-alfa03
9 sierpnia 2023 r.
Usługa androidx.wear.compose:compose-*:1.3.0-alpha03
została zwolniona. Wersja 1.3.0-alfa03 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodaliśmy 2 nowe kompozycje w Material, które pozwalają wdrożyć
SwipeToReveal
za pomocą kart i elementów. Te elementy kompozycyjne są zgodne z zalecanymi wskazówkami UX dotyczącymi komponentu i ułatwiają deweloperom wdrożenieSwipeToReveal
za pomocą istniejących komponentów w Wear Material. (I7ec65). - Włączyliśmy adnotacje
FloatRange
jako ograniczenia interfejsu API, które były wcześniej opisane w komentarzach. (Icb401)
Poprawki błędów
- Przenieśliśmy początkową logikę przewijania
ScalingLazyColumn
do zakresuonGloballyPositioned()
. (IC90f1) - Używamy teraz
drawWithCache
w usługachPositionIndicator
,ProgressIndicator
iSelectionControls
do optymalizacji przydziałów pociągnięć. (I5f225, b/288234617) - Naprawiliśmy widoczność zaznaczenia pól wyboru w stanach, gdy reklamy są wyłączone. (IB25bf)
- Zaktualizowaliśmy funkcję
Placeholder
, aby umożliwić zresetowanie i wyświetlenie symbolu zastępczego, gdy treść nie jest już gotowa. (IBD820) - Wprowadziliśmy kilka poprawek w niestabilnych testach
Placeholder
(Idb560)
Wersja 1.3.0-alfa02
26 lipca 2023 r.
Usługa androidx.wear.compose:compose-*:1.3.0-alpha02
została zwolniona. Wersja 1.3.0-alfa02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Udostępniliśmy
ExpandableStateMapping
, nowy sposób generowaniaExpandableStates
na potrzeby przypadków, gdy trzeba je tworzyć na żądanie, niekoniecznie w zakresie@Composable
(Iff9e0). - Plik
SwipeToDismissBox
został przeniesiony z pakietuandroidx.wear.compose.material
doandroidx.wear.compose.foundation
. (I275fb) - Zaktualizowaliśmy pliki interfejsu API, aby dodać adnotacje o pomijaniu zgodności. (I8e87a, b/287516207)
- Stały wysokości dla
Chip
,CompactChip
iToggleChip
ustawiliśmy jako publiczne (Idbfde). - Upublicznialiśmy poziome i pionowe dopełnienie w polach
Chip
iCompactChip
. (Ieeaf7). - Dodano funkcję wyłączania obsługi przesuwania w
SwipeDismissableNavHost
za pomocą nowego parametruuserSwipeEnabled
. (Id2a0b, b/230865655) - Zaktualizowaliśmy bibliotekę nawigacji Wear Compose, aby korzystała z nowej funkcji
SwipeToDismissBox
z Wear Compose Foundation. (I4ff8e)
Poprawki błędów
- Naprawiliśmy błąd kolejności nakładania elementów, który powodował, że
expandedItem
nie wyświetlał prawidłowej treści po kliknięciu przycisku, który ma przycisk. (I1899d, b/289991514) - Popraw ostrość elementu
SwipeToDismissBox
(a tym samymSwipeDismissableNavHost
) przy użyciu interfejsuHierarchicalFocusCoordinator
(I45362, b/277852486) - Poprawiliśmy obsługę gestów w
SwipeableV2
. (I89737) - Finalizowaliśmy podstawowe profile użytkowników w wersji 1.2. (Id5740).
- Po migracji środowiska
SwipeToDismissBox
do Fundamenty implementacja MaterialSwipeToDismissBox
przekazuje domyślne wartości kolorów z motywu (If8451). - Do atrybutu
ListHeader
dodaliśmy semantykę nagłówków. (IC5420) Chip
iToggleChip
będą teraz w razie potrzeby dostosować swoją wysokość, aby dostosować ją do treści, które powiększyły się dzięki dużym czcionkom ułatwień dostępu. (Iaf302).- Naprawiono błąd związany z semantyczną rolą obszaru do kliknięcia (
SplitToggleChip
) na potrzeby ułatwień dostępu. (Ieed3a). - Ustawienie zmniejszania ruchu wyłącza teraz efekt połysku i ruch z wyłączeniem obiektów zastępczych. (I91046)
Stepper
iInlineSlider
obsługują teraz powtarzane kliknięcia przytrzymania, dzięki czemu można szybko zwiększyć lub zmniejszyć wartośćStepper
iInlineSlider
, przytrzymując przyciski + i -. (I27359)
Wersja 1.3.0-alpha01
21 czerwca 2023 r.
Usługa androidx.wear.compose:compose-*:1.3.0-alpha01
została zwolniona. Wersja 1.3.0-alfa01 zawiera te zatwierdzenia.
Poprawki błędów
- Zgodnie z zapowiedzią w programie
1.2.0-alpha07
i1.2.0-alpha10
wprowadzamy zmianę w poluDefaultTextStyle
. W ten sposób wyłączymy dopełnienie czcionki, aby zapewnić spójność w obrębie platformy Androida. Pozwoli to rozwiązać niektóre przypadki obcinania tekstu z dużymi czcionkami i może wpłynąć na układ ekranu, w wyniku czego konieczne będzie zaktualizowanie testów zrzutu ekranu. Na przykład widzimy tutaj klip tekstowy (Ic6a86).
![Tekst obcięty z dużym rozmiarem czcionki](https://developer.android.google.cn/static/jetpack/androidx/images/IncludeFontPadding-True.png?authuser=8&hl=pl)
- Nie jest już widoczny, gdy dopełnienie czcionki jest wyłączone:
![Tekst nie został przycięty i ma duży rozmiar czcionki](https://developer.android.google.cn/static/jetpack/androidx/images/IncludeFontPadding-False.png?authuser=8&hl=pl)
- Zaktualizowaliśmy
wear.compose.foundation
, aby był zależność interfejsu APIwear.compose.material
(I72004, b/285404743) - Naprawiliśmy błąd w grze
SwipeToDismissBox
. Klucze tła i treści są teraz przekazywane do bloku zapamiętania, dzięki czemu w przypadku zmiany zawartości lub tła są tworzone nowe modyfikatory. (Ib876c, b/280392104) - Zaktualizowaliśmy
TimeText
, aby przy wyborze formatu 12- lub 24-godzinnego używał ustawień regionalnych. (If4a3d). - Rozwiązaliśmy już niespójność w domyślnych parametrach parametru
SwipeToDismissBox
contentScrimColor
. (I2d70f) - Poprawiliśmy obsługę ruchu w aplikacji
SwipeToReveal
. (I28fb7)
Znane problemy
- Obsługa rozmiarów czcionek skonfigurowanych przez użytkownika jest wymogiem ułatwień dostępu. Wiemy, że elementy wielowierszowe mogą powodować przycinanie tekstu, gdy są wyświetlane przy dużych rozmiarach. Będziemy je więc aktualizować we wczesnej wersji 1.3 alfa, aby w takich przypadkach poprawić wysokość.
Wersja 1.2
Wersja 1.2.1
18 października 2023 r.
Usługa androidx.wear.compose:compose-*:1.2.1
została zwolniona. Wersja 1.2.1 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiliśmy błąd związany z nieprawidłowym znikaniem elementu
PositionIndicator
. (7a167f).
Wersja 1.2.0
9 sierpnia 2023 r.
Usługa androidx.wear.compose:compose-*:1.2.0
została zwolniona. Wersja 1.2.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.1.0
- Stabilna wersja Compose na Wear OS 1.2.0 (więcej informacji)
- Listę najważniejszych zmian w Wear Compose 1.2 znajdziesz w informacjach o wersji (Tworzenie wiadomości w Wear OS 1.2 w wersji beta01).
Wersja 1.2.0-rc01
26 lipca 2023 r.
Usługa androidx.wear.compose:compose-*:1.2.0-rc01
została zwolniona. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Finalizowaliśmy profile podstawowe dla wersji 1.2 (Id5740).
Wersja 1.2.0-beta02
7 czerwca 2023 r.
Usługa androidx.wear.compose:compose-*:1.2.0-beta02
została zwolniona. Wersja 1.2.0-beta02 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy nową eksperymentalną zmienną
LocalReduceMotion
CompositionLocal
, która wyłącza skalowanie i zanikanie w interfejsieScalingLazyColumn
. (I58024)
Poprawki błędów
- Zaktualizowaliśmy profile podstawowe dla podstawowej funkcji Wear Compose i bibliotek materiałów(I4725d)
- Rozwiązaliśmy niespójność w domyślnych wartościach parametrów
contentScrimColor
parametruSwipeToDismissBox
(I2d70f) - Poprawiliśmy domyślną wartość parametru
DefaultTextStyle
używaną w ustawieniuIncludeFontPadding
(I737ed).
Wersja 1.2.0-beta01
24 maja 2023 r.
Usługa androidx.wear.compose:compose-*:1.2.0-beta01
została zwolniona. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.
Funkcje tworzenia wiadomości na Wear OS 1.2
Wersja 1.2-beta01 tworzenia wiadomości na Wear OS wskazuje, że ta wersja biblioteki jest już dostępna, a interfejs API jest zablokowany (z wyjątkiem miejsc oznaczonych jako eksperymentalne). Wear Compose 1.2 ma te nowe funkcje:
expandableItem
iexpandableItems
to 2 nowe komponentyFoundation
, które obsługują rozwijane elementy w elemencieScalingLazyColumn
. Użyj właściwościexpandableItem
w przypadku pojedynczego rozwijanego elementu, np. Tekst, w którym jest liczba wierszy. UżyjexpandableItems
w przypadku grupy elementów rozwijanych, aexpandableButton
, aby uprościć tworzenie przycisku, który zwija się po rozwinięciu treści.HierarchicalFocusCoordinator
– ten eksperymentalny element kompozycyjny umożliwia oznaczanie podrzędnych drzew kompozycji jako włączone lub wyłączone.Picker
– interfejs API zawiera teraz taguserScrollEnabled
, który określa, czy selektor ma być aktywny w przypadku przewijania przez użytkownika.PickerGroup
– nowy element kompozycyjny do jednoczesnej obsługi wielu selektorów. Obsługuje on zaznaczenie między selektorami za pomocą interfejsu APIHierarchicalFocusCoordinator
i umożliwia automatyczne wyśrodkowanie elementów selektora.Placeholder
– poprawiliśmy animacje poblasku i wymaż. Efekt wymazywania jest stosowany natychmiast, gdy zawartość jest gotowa.ScalingLazyColumn
– przenieśliśmy zajęciaScalingLazyColumn
i powiązane z nimi zajęcia zandroidx.wear.compose.material.ScalingLazyColumn
doandroidx.wear.compose.foundation.lazy.ScalingLazyColumn
. Zaktualizuj, aby używać wersjiFoundation.Lazy
.SwipeToReveal
– dodaliśmy eksperymentalną obsługę przesuwania, aby odsłonić, która umożliwia dostęp do działań dodatkowych. Uzupełnia ona obecny wzór „długiego naciśnięcia”.Stepper
– teraz występuje przeciążenie z dodatkowym parametremenableRangeSemantics
, który ułatwia wyłączenie domyślnej semantyki zakresu.Previews
– dodaliśmy te niestandardowe adnotacje do wyświetlania podglądu elementów kompozycyjnych na ekranach Wear:WearPreviewSmallRound
wyświetla podgląd funkcji kompozycyjnej na małym, okrągłym urządzeniu.WearPreviewLargeRound
wyświetla podgląd funkcji kompozycyjnej na dużym okrągłym urządzeniu.WearPreviewSquare
wyświetla podgląd funkcji kompozycyjnej na urządzeniu z kwadratowym. Dodatkowo te adnotacje i adnotacje z podglądem wielu podglądów:WearPreviewFontScales
wyświetla podgląd elementów kompozycyjnych na urządzeniu Wear z użyciem różnych rozmiarów czcionek, aWearPreviewDevices
wyświetla podglądy kompozycyjne na różnych urządzeniach.- Do funkcji Wear Compose dodaliśmy funkcję
DefaultTextStyle
, która domyślnie ma wartość „prawda” właściwościPlatformTextStyle.includeFontPadding
(jest to aktualne ustawienie). Pozwoli to nam zsynchronizować wyłączenie domyślnego dopełnienia czcionki z bibliotekami tworzenia wiadomości we wczesnej wersji 1.3 alfa – więcej informacji znajdziesz w artykule 1.2.0-alfa10.
Nowe funkcje
- Dodaliśmy eksperymentalną obsługę wyłączonego skalowania i zanikania animacji po włączeniu ustawienia red_motion. (I58024)
Poprawki błędów
- Ulepszona dokumentacja usługi
angularWidthDp
wCurvedSize.kt
(Iab75c) SwipeDismissableNavHost
rejestruje teraz ostrzeżenie z potencjalnymi przyczynami pustego stosu backendu. Ma to na celu zapobieganie nieoczekiwanym awariom spowodowanym przez żądanieIllegalArgumentException
, które zostało zgłoszone, gdy stos wsteczny był pusty. (I04a81, b/277700155)
Wersja 1.2.0-alfa10
10 maja 2023 r.
Usługa androidx.wear.compose:compose-*:1.2.0-alpha10
została zwolniona. Wersja 1.2.0-alfa10 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy obsługę funkcji „Przesuń, aby odsłonić”, aby umożliwić dostęp do działań dodatkowych. Uzupełnia on wzorzec przytrzymania, czyli istniejący sposób, w jaki użytkownik może ujawnić (inne) działania dodatkowe. (I60862)
Zmiany interfejsu API
- Do elementów kompozycyjnych w działaniach
SwipeToReveal
dodaliśmy elementRevealScope
. Dzięki temu masz dostęp do przesunięcia, przy którym ujawniane są dodatkowe działania. (I3fd56)
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że po flingu (Ic4599) interfejs
ScalingLazyColumn
zatrzymywał się na interfejsie Wear API 33. - Aby ograniczyć zacinanie, wprowadziliśmy kilka ulepszeń w działaniu
PositionIndicator
. (I35e92) - Naprawiliśmy błąd w elementach Chip i
CompactChip
, który powodował, że rola semantyczna nie była już ustawiona naRole.Button
. (I93f91, b/277326264)
Znane problemy
Zidentyfikowaliśmy w Android Studio błąd, który powoduje błędy w podglądzie renderowania po adnotacjach @WearPreviewDevices i @WearPreviewFontScales. W najbliższym czasie planujemy wprowadzić poprawkę. Pamiętaj, że inne adnotacje dotyczące podglądu Wear działają zgodnie z oczekiwaniami w Android Studio Giraffe w wersji 2022.3.1 i nowszych.
W wersji 1.2.0-alpha07 dodaliśmy styl DefaultTextStyle do Wear Compose, zachowując istniejącą wartość PlatformTextStyle.includeFontPadding na wartość true (prawda). Informacje na temat tła znajdziesz w sekcji Rozwiązywanie problemów z dopełnieniem czcionek w narzędziu Compose. Zmieniamy styl DefaultTextStyle, aby wyłączyć dopełnienie czcionek we wczesnej wersji 1.3 alfa, aby zapewnić spójność w całej platformie Androida. Pozwoli to rozwiązać niektóre problemy związane z obcinaniem tekstu z dużymi czcionkami i może też wpłynąć na układ ekranu, w związku z czym testy zrzutu ekranu wymagają aktualizacji. Przykład: przy dużych rozmiarach czcionki przycinanie tekstu jest widoczne tutaj:
![Tekst obcięty z dużym rozmiarem czcionki](https://developer.android.google.cn/static/jetpack/androidx/images/IncludeFontPadding-True.png?authuser=8&hl=pl)
- Nie jest już widoczny, gdy dopełnienie czcionki jest wyłączone:
![Tekst nie został przycięty i ma duży rozmiar czcionki](https://developer.android.google.cn/static/jetpack/androidx/images/IncludeFontPadding-False.png?authuser=8&hl=pl)
Nowe ustawienie można zastosować już teraz, zastępując typografię w motywie (zobacz przykładowy kod).
Wersja 1.2.0-alpha09
19 kwietnia 2023 r.
Usługa androidx.wear.compose:compose-*:1.2.0-alpha09
została zwolniona. Wersja 1.2.0-alfa09 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodaj
angularSizeDp
do interfejsu APICurvedModifier
w celu ustawienia szerokości kątowej w DP (I89a52)
Poprawki błędów
- Rozwiązaliśmy problemy z ułatwieniami dostępu w wersjach demonstracyjnych selektora czasu(Id0eb7)
Wersja 1.2.0-alpha08
5 kwietnia 2023 r.
Usługa androidx.wear.compose:compose-*:1.2.0-alpha08
została zwolniona. Wersja 1.2.0-alfa08 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Zmieniliśmy nazwę z
ExpandableItemsState
naExpandableState
. (If85ea). - Aby uprościć tworzenie przycisku zwijanego po rozwinięciu treści, dodaliśmy
expandableButton
, aby uprościć tworzenie przycisku zwijanego po rozwinięciu treści. Zaktualizowaliśmy też przykłady elementów rozwijanych. (IAE309).
Poprawki błędów
- Ulepszone przykłady rozwijane, aby pokazać więcej możliwości. Zmodyfikowano animację elementu
expandableItem
, aby jej treść była wyśrodkowana przez animację. (I2f637) - Zaktualizowano
ToggleControls
, aby uniknąć dodatkowych zmian kompozycji w przypadku ręcznego animowania kolorów za pomocą stanu. (I5d319)
Wersja 1.2.0-alpha07
22 marca 2023 r.
Usługa androidx.wear.compose:compose-*:1.2.0-alpha07
została zwolniona. Wersja 1.2.0-alfa07 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Przenieśliśmy komponenty elementu rozwijanego (dodane w wersjach 1.2.0-alfa06) z materiału do podstawy, ponieważ nie miały one istotnego odniesienia do
MaterialTheme
. (IB0525)
Poprawki błędów
- Naprawiliśmy awarię, która występowała na ekranie przy użyciu funkcji
PickerGroup
. Dzięki temu usługaPickerGroup
prawidłowo obsługuje ostrość, gdy żaden selektor nie jest ustawiony na fokus. Dodaliśmy też obsługę przewijania RSB w wersjach demonstracyjnych selektora. (If8c19). - Ulepszyliśmy przejścia między dialogami – przejście początkowe jest teraz płynniejsze, aby dopasować je do końca. (Ib5af9).
- Do funkcji Wear Compose dodaliśmy funkcję
DefaultTextStyle
, która domyślnie ma wartość „prawda” właściwościPlatformTextStyle.includeFontPadding
(jest to aktualne ustawienie). Pozwoli to nam zsynchronizować wyłączenie domyślnego dopełnienia czcionki z bibliotekami tworzenia wiadomości w przyszłości – informacje w tle znajdziesz w sekcji Poprawianie dopełnienia czcionki w narzędziu Compose. (I2aee8). - Przywrócono zależność podglądu
UpsideDownCake
przez tworzenie aktywności, która blokuje publikowanie aplikacji w Sklepie Google Play. (I6443D)
Wersja 1.2.0-alpha06
8 marca 2023 r.
Usługa androidx.wear.compose:compose-*:1.2.0-alpha06
została zwolniona. Wersja 1.2.0-alfa06 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodaj komponent
CurvedBox
, który nakłada na siebie komponent w zakrzywionym świecie. (I29200) - Dodano elementy rozwijane – dwa nowe komponenty do obsługi grupy elementów rozwijanych w elemencie
ScalingLazyColumn
lub pojedynczego rozwijanego elementu, np. Tekst, w którym rozwija się liczba wierszy. (I95dd5) - Dodaliśmy te niestandardowe adnotacje do wyświetlania podglądu elementów kompozycyjnych na ekranach Wear:
WearPreviewSmallRound
wyświetla podgląd funkcji kompozycyjnej na małym, okrągłym urządzeniu.WearPreviewLargeRound
wyświetla podgląd funkcji kompozycyjnej na dużym okrągłym urządzeniu.WearPreviewSquare
wyświetla podgląd funkcji kompozycyjnej na urządzeniu z kwadratowym. Dodatkowo te adnotacje i adnotacje z podglądem wielu podglądów:WearPreviewFontScales
wyświetla podgląd elementów kompozycyjnych na urządzeniu Wear z użyciem różnych rozmiarów czcionek, aWearPreviewDevices
wyświetla podglądy kompozycyjne na różnych urządzeniach. Aby korzystać z tych podglądów, musisz korzystać z najnowszej wersji Android Studio (Giraffe Canary 6) lub nowszej. Jeśli te adnotacje nie odpowiadają Twoim celom, nadal możesz korzystać z podglądu i wprowadzać dalsze dostosowania za pomocą parametrów. (I397FF) - Oznaczyliśmy usługę
HierarchicalFocusCoordinator
jako eksperymentalną, ponieważ można ją przenieść do podstawowych bibliotek kompozycji ze względu na szeroki zakres zastosowań. (I3a768)
Poprawki błędów
- Naprawiliśmy błąd w systemie
HierarchicalFocusCoordinator
: po zmianie lambda przekazywanej w parametrzefocusEnabled
prawidłowo używamy nowej. (Icb353) - Zmieniliśmy domyślny kolor wyłączonej treści na Tło, gdy używasz kolorów podstawowych jako tła w usługach
Button
,CompactButton
,Chip
,CompactChip
iToggleButton
. Zwiększa to kontrast w przypadku ułatwień dostępu. (I527cc)
Wersja 1.2.0-alpha05
22 lutego 2023 roku
Usługa androidx.wear.compose:compose-*:1.2.0-alpha05
została zwolniona. Wersja 1.2.0-alfa05 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Zaktualizowano interfejs API
PickerGroup
, aby umożliwić opcjonalnie propagowanie ograniczeń minimalnych do funkcji kompozycyjnej. Jeśli zasada ma wartość Prawda, minimalne ograniczenia przekazywane z nadrzędnej funkcji kompozycyjnej są dozwolone w elemenciePickerGroup
. Jeśli zasada ma wartość Fałsz,PickerGroup
zresetuje minimalne ograniczenia. (I3E046) - Do interfejsu API selektora dodaliśmy
animateScrollToOption
, aby obsługiwać animację automatyczną do określonej opcji selektora (I6fe67).
Poprawki błędów
- Zaktualizowaliśmy
HorizontalPageIndicator
, by 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 aplikacji
SwipeDismissableNavHostTest
, które korzystają z interfejsuTestNavHostController
(I61d54)
Wersja 1.2.0-alfa04
8 lutego 2023 r.
Usługa androidx.wear.compose:compose-*:1.2.0-alpha04
została zwolniona. Wersja 1.2.0-alfa04 zawiera te zatwierdzenia.
Nowe funkcje
PickerGroup
do jednoczesnej obsługi wielu selektorów za pomocą interfejsu API fokusu. Obsługuje zaznaczenie różnych selektorów, umożliwia automatyczne wyśrodkowanie selektorów na podstawie parametrów i umożliwia programistom przełączanie zaznaczenia między różnymi selektorami przy obsłudze zdarzeń z grupy. W trybie TalkBack interfejsPickerGroup
obsługuje funkcję TalkBack, przenosząc fokus z grupy do wybranego selektora. (I60840)
Zmiany interfejsu API
- Dodaliśmy do Stepper przeciążenie z dodatkowym parametrem
enableRangeSemantics
, aby ułatwić wyłączenie domyślnej semantyki zakresu (Ia61d4).
Poprawki błędów
- Zezwalaj na zagnieżdżenie obiektu
ScalingLazyColumn
na stronie przewijanej w poziomie (Iec3f8, b/266555016) - Ulepszenie czyszczenia dokumentacji z kroków kroku i testów
StepperTest
. (IC118e). - Zaktualizowano zależność
androidx.navigation
do wersji 2.5.3 (If58ed)
Wersja 1.2.0-alfa03
25 stycznia 2023 r.
Usługa androidx.wear.compose:compose-*:1.2.0-alpha03
została zwolniona. Wersja 1.2.0-alfa03 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Przenieśliśmy zajęcia
ScalingLazyColumn
(i powiązane z nimi zajęcia) zandroidx.wear.compose.material.ScalingLazyColumn
doandrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn
(migracja znajduje się w tym przykładzie). Ta nowa lokalizacja bardziej odpowiada lokalizacjicompose.foundation.lazy.LazyColumn
i jest bardziej naturalna, ponieważ nie jest zatwierdzonym komponentem Material Design. Zmiana jest wprowadzana w ramach przygotowań do utworzenia nowej biblioteki Material3, nad którą będziemy pracować równolegle z dotychczasową biblioteką Material. (I060e7)
Te zmiany są częścią migracji interfejsu ScalingLazyColumn
z materiału Material do Foundation.Lazy
:
PositionIndicator
Interfejsy API kierowania na materiałScalingLazyColumn
zostały wycofane – zaktualizuj je doFoundation.Lazy ScalingLazyColumn
. Dodatkowo do polaScalingLazyListLayoutInfo
dodano poleanchorType
. (I29d95)- Aplikacja
ScalingLazyColumn
została oznaczona jako wycofana w pakiecie materiałów na Wear Compose (I16d34) - Zaktualizowaliśmy modyfikator
ScrollAway
, aby używał wartościScalingLazyListState
z Wear ComposeFoundation.Lazy
i wycofaliśmy przeciążenie, które pobierałoScalingLazyListState
z materiałów Wear Compose. (Ifc42c). - Zaktualizowaliśmy interfejsy Dialog API, aby używały
ScalingLazyListState
zFoundation.Lazy
i wycofaliśmy przeciążenia korzystające z interfejsu MaterialScalingLazyListState
(Ic8960) - Zaktualizowaliśmy interfejsy API selektora, aby używały
ScalingParams
z interfejsuFoundation.Lazy
i wycofaliśmy przeciążenia korzystające z interfejsu MaterialScalingParams
. (Idc3d8).
Poprawki błędów
- Naprawiliśmy błąd, który powodował niepotrzebne zmiany kompozycji w usłudze
ScalingLazyListState.centerItemIndex
– dzięki temu, że wypycha on aktualizacje tylko wtedy, gdy wartość faktycznie się zmienia (Ia9f38) - Zwiększyliśmy wydajność urządzenia
SwipeToDismissBox
(I3933b) - W funkcji Wear Compose Foundation dodano testy porównawcze aplikacji
ScalingLazyColumn
(Ie00f9) - Zaktualizowaliśmy niektóre wewnętrzne metody klas
ScalingLazyColumn
w Material, aby używać ich odpowiedników zFoundation.Lazy
(I38aab). - Rozwiązaliśmy kilka problemów w testach selektora i dodaliśmy więcej testów sprawdzania przewijania z przesunięciem (I6ac34).
- Przenieśliśmy wersje demonstracyjne integracji
ScalingLazyColumn
, aby polegać naFoundation.Lazy
zamiast MaterialScalingLazyColumn
(Ic6caa) - Dodaliśmy opcjonalne parametry
fromDate/toDate
do naszej wersji demonstracyjnejDatePicker
(I961cd)
Wersja 1.2.0-alfa02
11 stycznia 2023 r.
Usługa androidx.wear.compose:compose-*:1.2.0-alpha02
została zwolniona. Wersja 1.2.0-alfa02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Testy interfejsu Android Compose będą teraz uruchamiać przekazywanie układu dla każdej klatki podczas wykonywania klatek w stanie bezczynności (np. za pomocą
waitForIdle
). Może to mieć wpływ na testy, które rejestrują poszczególne klatki animacji układu. (I8ea08, b/222093277) - Parametr
minLines
został dodany do Wear Text, aby zapewnić spójne zachowanie z parametremBasicText
(I24874) CompactChipTapTargetPadding
został ustawiony jako publiczny, aby można go było znaleźć w dokumentacji (If1e70, b/234119038)
Poprawki błędów
- Wyłącz kompilacje wieloplatformowe w przypadku
wear.compose
pakietów (Iad3d7) - Napraw kdocs dla
scrollToOption
(I6f9a0) - Zaktualizowano zdarzenie
PlaceholderState.rememberPlaceholderState()
, aby używać parametrurememberUpdatedState
. Stan zostanie zaktualizowany, jeśli lambdaonContentReady
. (I02635, b/260343754) - Rozwiązaliśmy problem z zakłócaniem tekstu, który występował w komponencie
Picker
przy użyciu nowej strategii komponowania dodanej doModifier.graphicsLayer
. (I99302) - Naprawiliśmy błąd, który powodował migotanie w wersji demonstracyjnej
DatePicker
(I660bd). - Poprawiliśmy dostępność w 12-godzinnych wersjach demonstracyjnych selektora daty i godziny (I05e12).
- Zaktualizowaliśmy wersje demonstracyjne selektora daty i godziny, tak aby zmiany RSB nie miały wpływu na selektory (I4aecb)
Wersja 1.2.0-alpha01
7 grudnia 2022 r.
Usługa androidx.wear.compose:compose-*:1.2.0-alpha01
została zwolniona. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
- Zaktualizowaliśmy eksperymentalną funkcję obiektu zastępczego, dzięki czemu efekt „Wymaż wyłączone” jest stosowany natychmiast, gdy zawartość jest gotowa, bez czekania na rozpoczęcie kolejnej pętli animacji. Wprowadziliśmy też kilka zmian w połysku i usuwaniu animacji. (I5a7f4)
Zmiany interfejsu API
- Dodaliśmy funkcję
HierarchicalFocusCoordinator
kompozycyjną, która umożliwia oznaczanie poddrzew kompozycji jako włączone lub wyłączone.(I827cb) - Dodaliśmy nową właściwość, która zastąpi rolę semantyczną funkcji
ToggleButton
.(I67132) - Zaktualizowaliśmy sekcję
TimeTextDefaults.TimeFormat12Hours
, aby usunąć godzinę 12:00/południe w lokalizacjiTimeText
. Spowoduje to zmianę domyślnej wartości parametrówtimeSource
w interfejsie APITimeText
. (I1eb7f). - Rozszerzyliśmy interfejs Picker API, aby poprawić dostępność na ekranach z selektorem wielokrotnym. Dostępna jest nowa usługa
userScrollEnabled
, która określa, czy selektor ma być aktywny w przypadku przewijania przez użytkownika. (I3c3aa).
Poprawki błędów
- Zmieniliśmy domyślną szerokość obramowania elementu
OutlinedButton/OutlinedCompactButton
z 2.dp na 1.dp, aby była zgodna z ostatecznymi specyfikacjami UX. (Icf84d). - Aby ograniczyć efekt wyświetlania pierwszego elementu dodanego do pustego pola
ScalingLazyColumn
, który pojawia się po przewinięciu strony, dodaliśmy szacowaną wartośćautoCentering topPadding
, gdy zawartość jest pusta. Ta zmiana powoduje obliczenie potrzebnego dopełnienia u góry przy założeniu, że początkowy element ma wysokość 0,dp. W przypadkuScalingLazyListAnchorType.ItemStart
obliczy to prawidłowe dopełnienie u góry. W przypadkuScalingLazyListAnchorType.ItemCenter
obliczenia te będą nieprawidłowe, ponieważ wysokość elementów jest potrzebna do prawidłowego rozmiaru zawartości, co spowoduje pojawienie się małego przewijania w miejscu na podstawie rzeczywistej wysokości elementów.(I239a4) - Zaktualizowaliśmy obraz tła zastosowany do animacji na urządzeniu
SwipeToDismiss
, aby pasował do platformy Wear. (I9003e) - Naprawiliśmy
PositionIndicator
obsługi elementówLazyListState
iScalingLazyListState
w przypadku elementów listy o rozmiarze 0, aby uniknąć podziału przez zero błędów.(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
zostały udostępnione. Wersja 1.1.2 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiliśmy błąd, który powodował niepotrzebne zmiany kompozycji w usłudze
ScalingLazyListState.centerItemIndex
– dzięki temu, że wypycha on aktualizacje tylko wtedy, gdy wartość faktycznie się zmienia (Ia9f38)
Wersja 1.1.1
11 stycznia 2023 r.
androidx.wear.compose:compose-foundation:1.1.1
, androidx.wear.compose:compose-material:1.1.1
i androidx.wear.compose:compose-navigation:1.1.1
zostały udostępnione. Wersja 1.1.1 zawiera te zatwierdzenia.
Poprawki błędów
- Zaktualizowano zdarzenie
PlaceholderState.rememberPlaceholderState()
, aby używać parametrurememberUpdatedState
. Stan zostanie zaktualizowany, jeśli lambdaonContentReady
. (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
zostały udostępnione. Wersja 1.1.0 zawiera te zatwierdzenia.
Ważne zmiany wprowadzone od wersji 1.0.0
- Stabilna wersja Compose na Wear OS 1.1.0 (więcej informacji).
- Listę najważniejszych zmian w Wear Compose 1.1 znajdziesz w informacjach o wersji (Tworzenie wiadomości w Wear OS 1.1 w wersji beta01).
Nowe funkcje
- Zaktualizowaliśmy eksperymentalną funkcję obiektu zastępczego, dzięki czemu efekt „Wymaż wyłączone” jest stosowany natychmiast, gdy zawartość jest gotowa, bez czekania na rozpoczęcie kolejnej pętli animacji. Wprowadziliśmy też kilka zmian w połysku i usuwaniu animacji. (I5a7f4)
Poprawki błędów
- Zmieniliśmy domyślną szerokość obramowania elementu
OutlinedButton/OutlinedCompactButton
z 2.dp na 1.dp, aby była zgodna z ostatecznymi specyfikacjami UX. (Icf84d). - Aby ograniczyć efekt wyświetlania pierwszego elementu dodanego do pustego pola
ScalingLazyColumn
, który pojawia się po przewinięciu strony, dodaliśmy szacowaną wartośćautoCentering topPadding
, gdy zawartość jest pusta. Ta zmiana powoduje obliczenie potrzebnego dopełnienia u góry przy założeniu, że początkowy element ma wysokość 0,dp. W przypadkuScalingLazyListAnchorType.ItemStart
obliczy to prawidłowe dopełnienie u góry. W przypadkuScalingLazyListAnchorType.ItemCenter
obliczenia te będą nieprawidłowe, ponieważ wysokość elementów jest potrzebna do prawidłowego rozmiaru zawartości, co spowoduje pojawienie się małego przewijania w miejscu na podstawie rzeczywistej wysokości elementów.(I239a4) - Zaktualizowaliśmy obraz tła zastosowany do animacji na urządzeniu
SwipeToDismiss
, aby pasował do platformy Wear (I9003e). - Naprawiliśmy
PositionIndicator
obsługi elementówLazyListState
iScalingLazyListState
w przypadku elementów listy o rozmiarze 0, aby uniknąć podziału przez zero błędów.(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
zostały udostępnione. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Dodaliśmy podstawowe reguły profilu dla
Placeholders
,ScrollAway
,RadioButton
,Switch
,Checkbox
,OutlinedButton
,OutlinedCompactButton
,OutlinedChip
iOutlinedCompactChip
. (I8249c) - Naprawiliśmy błąd w tabeli
Modifier.scrollAway
, przez co wartośćTimeText
jest nadal wyświetlana, jeśli wartośćitemIndex
jest nieprawidłowa (np. indeks elementu jest poza zakresem). (I2137a) - Zaktualizowaliśmy animację
SwipeToDismissBox
, aby pasowała do implementacji na platformie. Po początkowej animacji ściskania ekran przesuwa się w prawo po odrzuceniu. (I41d34) - W ramach optymalizacji zaktualizowaliśmy
Modifier.scrollAway
tak, aby odczytywał tylkoscrollState
wewnątrz bloku pomiaru, aby uniknąć ponownego tworzenia modyfikatora po każdym ponownym pomiarze. (I4c6f1) - Dodaliśmy dokumentację i przykład do obiektów zastępczych, aby pokazać prawidłową kolejność elementów
Modifier.placeholder
iModifier.placeholderShimmer
w przypadku zastosowania do tego samego elementu kompozycyjnego. (Ie96f4, b/256583229) - Zmieniliśmy domyślną szerokość obramowania elementu
OutlinedCompactChip/OutlinedChip
z 2.dp na 1.dp, aby była zgodna z ostatecznymi specyfikacjami UX. (Ib3d8e) - Naprawiliśmy w
rememberPickerState
błąd, w którym zaktualizowane dane wejściowe nie były zapisywane, przez co elementy kompozycyjne nie były aktualizowane po wprowadzeniu zmian w danych wejściowych. (I49ff6, b/255323197) - Wprowadziliśmy kilka zmian w interfejsie obiektów zastępczych: 1) zmiana gradientu połysku na rozmiar ekranu o 1, 5 raza, 2) wygładzanie (sześciennego Béziera) przesuwania połysku oraz 3) przyspieszenie animacji wymazywania (250 ms). (Id29c1).
- Poprawiliśmy błąd w interfejsie związany z efektem wymazywania elementów zastępczych, który powodował, że elementy graficzne i tła karty były nieco wcześnie wyczyszczone z powodu nieuwzględniania pozycji komponentu na ekranie. (I2c7cb)
- Zaktualizowaliśmy rysunek tła zastępczego, aby scalać kolory, zamiast nakładać je tam, gdzie to możliwe. Pozwoli to ograniczyć ryzyko mieszania się różnych przyciętych warstw z efektem alfa oraz przenikania przez krawędzie kolorów podstawowych. (I2ea26).
- Poprawiliśmy sposób obliczania wartości
ScalingLazyListState.centerItemIndex/centerItemOffset
, więc jeśli 2 elementy znajdują się po obu stronach środkowej linii widocznego obszaru, to ten, który jest najbliższy, nazywany jestcenterItem
. (I30709, b/254257769) - Naprawiliśmy błąd w
ScalingLazyListState.layoutInfo.visibleItemsInfo
, który zgłaszał nieprawidłowe przesunięcia podczas inicjowania plikuScalingLazyColumn
. Teraz będzie zwracana pusta lista, dopóki wszystkie elementy listy nie będą widoczne i mają prawidłowe przesunięcia. Aby potwierdzić, że inicjowanieScalingLazyColumn
zostało ukończone, a elementy są widoczne, sprawdźScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty()
. (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
zostały udostępnione. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.
Funkcje tworzenia wiadomości na Wear OS 1.1
Wersja 1.1.0-beta01 Compose na Wear OS wskazuje, że ta wersja biblioteki jest kompletna, a interfejs API jest zablokowany.
- Wear Compose 1.1 zawiera te nowe funkcje:
- Selektor – ulepszenia ułatwień dostępu w selektorze, które umożliwiają poruszanie się po ekranach z wieloma selektorami za pomocą czytników ekranu, a opis treści jest przystępny.
- Parametr selektora
contentDescription
jest teraz używany tylko w przypadku wybranej opcji selektora i przyjmuje ciąg znaków dopuszczający wartości null (w poprzednim zatwierdzeniu konieczne było przekazanie mapowania z opcji na opis treści, ale została użyta tylko wybrana opcja). - Elementy selektora są teraz zawsze wyśrodkowane. Poprawienie błędu, który powodowało ustawienie parametru
gradientRatio
na 0, miało efekt uboczny zmiany wyrównania. Chip/ToggleChip
– zaktualizowaliśmy domyślne gradienty elementuChip/ToggleChip
, aby były zgodne z najnowszą specyfikacją UX. TabelaChipDefaults.gradientBackgroundChipColors
została zaktualizowana i zaczyna się od 50% w skali podstawowej, a nie do 32,5%.Chip/ToggleChip
– dodano przeciążenia do modyfikowania kształtów elementówChip/Button/ToggleButton
– dodaliśmy nowy styl zarysowany dla elementów i przycisków oraz nowych funkcji kompozycyjnychOutlinedChip
iOutlinedButton
z przezroczystym elementemChip/Button
z cienką ramką.- Card – zaktualizowaliśmy domyślne gradienty kart, aby były zgodne z najnowszą specyfikacją UX. Poprzedni stan kolumny
CardDefaults.cardBackgroundPainter
: z 30% naonSurfaceVariant
, a poprzednio z 20% na 10% (onSurfaceVariant
). Poprzedni stan to 20%. WariantToggleChip.toggleChipColors
zmienia się z gradientu liniowego wynoszącego 75% na 32,5% podstawowej powierzchni. Button/ToggleButton
– dodano właściwości umożliwiające modyfikowanie kształtów przycisków.- Motyw – poprawiliśmy kilka domyślnych kolorów w
MaterialTheme
, aby poprawić dostępność, ponieważ kolory oryginalne nie miały wystarczającego kontrastu, co utrudnia użytkownikom odróżnienie tła elementów, kart i przycisków od tła w motywie. InlineSlider/Stepper
– dodano role przycisków, aby systemTalkback
mógł rozpoznać je jako przyciski.- Ruszt –
PositionIndicator
jest teraz umieszczony w odpowiednim położeniu i rozmiarze, dzięki czemu zajmuje tylko potrzebne miejsce. Jest to przydatne, np. jeśli dodasz informacje semantyczne, TalkBack otrzyma teraz prawidłowe granice obiektuPositionIndicator
wyświetlanego na ekranie. CurvedText/TimeText
– dodano elementModifier.scrollAway
, który powoduje przewijanie elementu w pionie lub poza go na podstawie stanu przewijania (z przeciążeniami w celu obsługi tych elementów:Column
,LazyColumn
iScalingLazyColumn
). ElementScrollAway
jest zwykle używany do przewijania listyTimeText
poza widok, gdy użytkownik zaczyna przewijać listę elementów w górę.CurvedText/TimeText
– dodano obsługęfontFamily
,fontStyle
ifontSynthesis
w systemieCurvedTextStyle
, której można używać na urządzeniachcurvedText
ibasicCurvedText
CurvedText/TimeText
– do konstruktora i metody kopiowania wCurvedTextStyle
dodano elementfontWeight
ToggleControls
– dodaliśmy animowane elementy sterujące przełącznikamiCheckbox
,Switch
iRadioButton
do używania z urządzeniamiToggleChip
iSplitToggleChip
. Można ich używać zamiast ikon statycznych udostępnianych przezToggleChipDefaults
(switchIcon
,checkboxIcon
iradioIcon
).- Obiekt zastępczy – dodano obsługę eksperymentów zastępczych. Dostępne są 3 różne efekty wizualne, które ze sobą współpracują.
- Przede wszystkim w pojemnikach takich jak Elementy czy Karty są rysowane na normalnym tle podczas oczekiwania na wczytanie treści przy użyciu zastępczego pędzla tła.
- Następnie mamy modyfikator (
Modifier.placeholder()
), który będzie rysował zastępczy widżet w kształcie stadionu na górze wczytywanej treści. - Trzecia metoda to efekt gradientu/połysku modyfikatora (
Modifier.placeholderShimmer()
), który jest rysowany nad innymi efektami, aby poinformować użytkowników, że czekamy na wczytanie danych.- Wszystkie te efekty zostały zaprojektowane tak, aby można je było skoordynować, migoczeć i usuwać w sposób zorganizowany.
- Zależności Core Compose zostały zaktualizowane z wersji 1.2 na 1.3
Zmiany interfejsu API
- Parametry czcionki (
fontFamily
,fontWeight
,fontStyle
ifontSynthesis
) można teraz określać bezpośrednio jako parametry parametrucurvedText
(Idc422)
Poprawki błędów
curveText
ibasicCurvedText
będą teraz działać prawidłowo z TalkBack (mają powiązany z nimi prawidłowy rozmiar i umieszczony (ale pusty) węzeł tworzenia interfejsu, z którym tekst jest opisany jako opis treści) (I7af7c, b/210721259)- Poprawka błędu
Picker
występującegoPickerState.repeatedItems = false
w celu dodania jawnego ustawienia parametrów autoCentering w wewnętrznym selektorzeScalingLazyColumn
, by umożliwić przewinięcie zerowej opcji do środka 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
zostały udostępnione. Wersja 1.1.0-alfa07 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy eksperymentalną obsługę obiektów zastępczych. Dostępne są 3 różne efekty wizualne, które ze sobą współpracują. Przede wszystkim w pojemnikach takich jak Elementy czy Karty są rysowane na normalnym tle podczas oczekiwania na wczytanie treści przy użyciu zastępczego pędzla tła. Następnie mamy modyfikator (
Modifier.placeholder()
), który będzie rysował zastępczy widżet w kształcie stadionu na górze wczytywanej treści. Trzecia metoda to efekt gradientu/połysku modyfikatora (Modifier.placeholderShimmer()
), który jest rysowany nad innymi efektami, aby poinformować użytkowników, że czekamy na wczytanie danych. Wszystkie te efekty zostały zaprojektowane tak, aby można je było skoordynować, migoczeć i usuwać w sposób zorganizowany. (I3c339).
Zmiany interfejsu API
- Dodano obsługę:
fontWeight
,fontFamily
,fontStyle
ifontSynthesis
CurvedTextStyle
, do wykorzystania nacurvedText
ibasicCurvedText
. Za pomocą tego parametru możesz określić czcionkę i styl zakrzywionego tekstu.(Iaa1a8),(I72759) - Zaktualizowano parametr przesunięcia elementu
Modifier.scrollAway
na Dp, aby zapewnić spójność z parametremModifier.offset
(wcześniej był on wyrażony w pikselach). Zastosowano też refaktoryzację jakoLayoutModifier
w celu zwiększenia efektywności. (I9f94b) - W ramach nowego interfejsu API przełączania zmieniliśmy nazwę z
RadioButton’s circleColor
naringColor
. (I28fa9). - Dodaliśmy animowane przełączniki
Checkbox
,Switch
iRadioButton
do wykorzystania w usługachToggleChip
iSplitToggleChip
. Można ich używać zamiast ikon statycznych udostępnianych przezToggleChipDefaults
(switchIcon
,checkboxIcon
iradioIcon
). (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
zostały udostępnione. Wersja 1.1.0-alfa06 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy funkcję
Modifier.scrollAway
, która przewija element w pionie lub z niego nie widać na podstawie stanu przewijania (z przeciążeniem w przypadku elementówColumn
,LazyColumn
iScalingLazyColumn
).ScrollAway
jest zwykle używany do przewijania listyTimeText
poza widok, gdy użytkownik zaczyna przewijać listę elementów w górę. (I61766)
Poprawki błędów
- Element
PositionIndicator
jest teraz odpowiednio umiejscowiony i zmieniony tak, aby zajmował tylko potrzebne miejsce. Jest to przydatne, np. jeśli dodasz informacje semantyczne, TalkBack otrzyma teraz prawidłowe granice obiektuPositionIndicator
wyświetlanego na 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
zostały udostępnione. Wersja 1.1.0-alfa05 zawiera te zatwierdzenia.
Poprawki błędów
- Role przycisków zostały dodane do usług
InlineSlider
iStepper
, dzięki czemu TalkBack może je rozpoznawać jako przyciski. (Icb46c, B/244260275) - Poprawiliśmy kolejność znaczników pozycji i strony w Scaffold. Wskaźniki znajdują się teraz na winietowaniu, więc nie są zasłonięte, jeśli są widoczne. (Ib988f, b/244207528)
Wersja 1.1.0-alfa04
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
zostały udostępnione. Wersja 1.1.0-alfa04 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Zaktualizowaliśmy część domyślnych kolorów w Materialtheme, aby poprawić dostępność, ponieważ kolory oryginalne nie miały wystarczającego kontrastu, co utrudnia użytkownikom odróżnienie tła elementów, kart i przycisków od tła w motywie. Zaktualizowane kolory to powierzchni(0xFF202124->0xFF303133), onPrimary(0xFF202124->0xFF303133), onAdditional(0xFF202124->0xFF303133), podstawowy(0xFF669DF6->0xFF2AB4F8) Niewielkie zmiany kolorów mogą mieć wpływ na wyniki testów zrzutów ekranu. (81ab09)
Poprawki błędów
- Popraw błąd logiczny w
ScalingLazyColumn
, który może powodować, że listy z niewielką (zwykle dokładnie 2) elementami listy nie dokończą inicjowania, przez co listy będą przezroczyste. (504347).
Wersja 1.1.0-alfa03
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
zostały udostępnione. Wersja 1.1.0-alfa03 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy nowy styl z konturem do elementów
Chips
iButtons
oraz nowe kompozycjeOutlinedChip
iOutlinedButton
z przezroczystą ramkąChip/Button
z wąską ramką. (Id5972).
Zmiany interfejsu API
- Dodano przeciążenia związane z modyfikowaniem kształtów przycisków (Icccde)
Poprawki błędów
- Poprawiliśmy rozmiar obszaru przełącznika przełącznika urządzenia
ToggleChip
, ponieważ nie był on zgodny ze specyfikacją UX. Specyfikacja UX wymaga umieszczenia między etykietą 4,dp i obszaru ikony przełącznika o wymiarach 24x24.dp, zapewniającej całkowitą szerokość 28 dp. Jednak implementacja nieprawidłowo udostępnia obszar sterowania przełącznikiem 36x24.dp. Spowoduje to usunięcie obszaru etykiet tekstowych o rozmiarze 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 nadmiaru tekstu. Jeśli masz testy zrzutów ekranu, w tymToggleChips
, być może wymagają one aktualizacji. (I514c8, b/240548670)
Wersja 1.1.0-alfa02
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
zostały udostępnione. Wersja 1.1.0-alfa02 zawiera te zatwierdzenia.
Nowe funkcje
- Zmieniliśmy wersję Compose na potrzeby Wear OS od podstawowych bibliotek Compose z 1.2.0 na 1.3.0-alfa0X
Zmiany interfejsu API
- Dodano przeciążenia związane z modyfikowaniem kształtów elementów (I02e87)
Poprawki błędów
- Podczas pokazywania/ukrywania okna animowaliśmy widoczność reklamy winietowej, aby zachować spójność z istniejącą animacją skalowania. (Ida33e).
- Naprawiliśmy błąd, który powodował, że przy przewijaniu mogło występować dzielenie przez zero. (I86cb6)
- Naprawiliśmy błąd w
ChipDefaults.childChipColor()
, dzięki czemu wyłączony kolor tła jest w pełni przezroczysty. (I2b3c3, b/238057342)
Wersja 1.1.0-alpha01
29 czerwca 2022 r.
androidx.wear.compose:compose-foundation:1.1.0-alpha01
, androidx.wear.compose:compose-material:1.1.0-alpha01
i androidx.wear.compose:compose-navigation:1.1.0-alpha01
zostały udostępnione. Wersja 1.1.0-alfa01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Parametr
contentDescription
selektora jest teraz używany tylko w przypadku wybranej opcji selektora i przyjmuje ciąg znaków dopuszczający wartość null (wcześniej trzeba było przekazać mapowanie z opcji do opisu treści, ale została użyta tylko wybrana opcja). (Ife6a7). - Poprawiliśmy ułatwienia dostępu w selektorze, aby po ekranie z wieloma selektorami można było nawigować po nich za pomocą czytników ekranu, a opis treści był łatwo dostępny (I64edb).
Poprawki błędów
- Zaktualizowaliśmy podstawowe reguły profilu w pakiecie biblioteki Wear Compose (I9c694)
- Poprawiliśmy kierunek gradientu elementów w trybie od prawej do lewej. Poprzedni lewy górny róg -> prawy dolny róg, teraz prawy górny róg -> lewy górny róg. (IC2e77).
- Zaktualizowaliśmy domyślne gradienty elementu
Chip/ToggleChip/Card
, aby były zgodne z najnowszą specyfikacją UX. TabelaChipDefaults.gradientBackgroundChipColors
została zaktualizowana i zaczyna się od 50% w skali podstawowej, a nie do 32,5%. Poprzedni stan kolumnyCardDefaults.cardBackgroundPainter
: z 30% naonSurfaceVariant
, a poprzednio z 20% na 10% (onSurfaceVariant
). Poprzedni stan to 20%. WariantToggleChip.toggleChipColors
zmienia się z gradientu liniowego wynoszącego 75% na 32,5% podstawowej powierzchni. (I43bbd) - W przypadku elementu
Chip/ToggleChips
z gradientem dodaliśmy kolor tła (MaterialTheme.color.surface
), by mieć pewność, że będą one prawidłowo widoczne, nawet jeśli za nimi zostanie użyty jasny kolor. (Ibe1a4, b/235937657) - Elementy selektora są teraz zawsze wyśrodkowane. Poprawienie błędu, który powodowało ustawienie parametru
gradientRatio
na 0, miało efekt uboczny zmiany 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
zostały udostępnione. Wersja 1.0.2 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawiliśmy kolejność znaczników pozycji i strony w Scaffold. Wskaźniki znajdują się teraz na winietowaniu, więc nie są zasłonięte, jeśli są widoczne. (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
zostały udostępnione. Wersja 1.0.1 zawiera te zatwierdzenia.
Poprawki błędów
- Popraw błąd logiczny w
ScalingLazyColumn
, który może powodować, że listy z niewielką (zwykle dokładnie 2) elementami listy nie dokończą inicjowania, przez co listy będą 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
zostały udostępnione. Wersja 1.0.0 zawiera te zatwierdzenia.
Główne funkcje 1.0.0
- To jest pierwsza stabilna wersja funkcji Compose na Wear OS (więcej informacji).
- Funkcja Compose na Wear OS opiera się na podstawowych bibliotekach Compose udostępniających dodatkowe komponenty przeznaczone do noszenia oraz, w stosownych przypadkach, alternatywne implementacje podstawowych komponentów Compose dostosowane do urządzeń do noszenia.
- Listę kluczowych komponentów Wear Compose znajdziesz w informacjach o wersji (Tworzenie w Wear OS w wersji beta01).
Poprawki błędów
- Podczas pokazywania/ukrywania okna animowaliśmy widoczność reklamy winietowej, aby zachować spójność z istniejącą animacją skalowania. (Ida33e).
- Naprawiliśmy błąd, który powodował, że przy przewijaniu mogło występować dzielenie przez zero. (I86cb6)
- Naprawiliśmy błąd w
ChipDefaults.childChipColor()
, dzięki czemu wyłączony kolor tła jest w pełni przezroczysty. (I2b3c3, b/238057342)
Wersja 1.0.0-rc02
22 czerwca 2022 r.
androidx.wear.compose:compose-foundation:1.0.0-rc02
, androidx.wear.compose:compose-material:1.0.0-rc02
i androidx.wear.compose:compose-navigation:1.0.0-rc02
zostały udostępnione. Wersja 1.0.0-rc02 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawiliśmy kierunek gradientu na kartach w trybie od prawej do lewej (RTL). Został przesunięty w lewy górny róg -> prawy dolny róg, a teraz prawy górny róg -> lewy dolny. (IC2e77).
- Zaktualizowaliśmy domyślne gradienty elementu
Chip/ToggleChip/Card
, aby były zgodne z najnowszą specyfikacją UX. TabelaChipDefaults.gradientBackgroundChipColors
została zaktualizowana i zaczyna się od 50% w skali podstawowej, a nie do 32,5%. ZakresCardDefaults.cardBackgroundPainter
został zaktualizowany, tak aby zaczynał się z 30% w przypadku podstawowej i kończył się na 20% wartościonSurfaceVariant
(wcześniej wynosił 20%–10% w SurfaceVariant).ToggleChip.toggleChipColors
zmienia się z gradientu liniowego wynoszącego 75% na 32,5% powierzchni podstawowej na 0% powierzchni podstawowej lub 50% podstawowej. (I43bbd) - W przypadku elementu
Chip/ToggleChips
z gradientem dodaliśmy kolor tła (MaterialTheme.color.surface
), by mieć pewność, że będą one prawidłowo widoczne, nawet jeśli za nimi zostanie użyty jasny kolor. (Ibe1a4, b/235937657) - Zaktualizowaliśmy podstawowe reguły profilu w pakiecie 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
zostały udostępnione. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Interfejsy w bibliotekach tworzenia wiadomości są teraz tworzone przy użyciu domyślnych metod interfejsu jdk8 (I5bcf1)
Poprawki błędów
- Usunęliśmy z nagłówka listy jawne wywołanie funkcji
fillMaxWidth()
, ponieważ nie jest ono potrzebne i może spowodować problemy, jeśli elementScalinglazyColumn
zawiera kombinację komponentówListHeader()
iChip()
. Szerokość będzie się zwykle zwiększać lub zmniejszać w miarę przewijania elementów (ListHeader
) w widoku lub poza nim. (I37144, b/235074035) - Naprawiliśmy błąd w elemencie
ScalingLazyColumn
, który powodował, że elementy listy nie rysowały się prawidłowo, dopóki element listy nie został przewinięty, jeśli 0 element był wystarczająco duży (w tym dopełnienie) (Ic6159, b/234328517). - Wprowadziliśmy drobne poprawki w wygładzeniu
ScalingLazyColumn
, ponieważ elementy już się zbliżają do krawędzi ekranu. Jest to zgodne z aktualizacjami specyfikacji UX. Stare wartościCubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f)
-> nowe wartości:CubicBezierEasing(0.3f, 0f, 0.7f, 1f)
. Aby zachować poprzedni sposób działania, możesz zastąpić parametrscalingParams
funkcjiScalingLazyColumn
(Ie375c) - Do elementu
CompactChip
dodaliśmy dopełnienie, aby rozmiar elementu dotykowego wynosił co najmniej 48 dp, zgodnie z wytycznymi dotyczącymi ułatwień dostępu w przypadku materiału. Może to mieć wpływ na Twoje układy, w których używaszCompactChips
, ponieważ zajmują one 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
zostały udostępnione. Wersja 1.0.0-beta03 zawiera te zatwierdzenia.
Nowe funkcje
- Funkcja
ScalingLazyColumn
działa teraz w trybie tworzenia@Preview
. (I3b3b6, b/232947354)
Zmiany interfejsu API
- Zmieniliśmy domyślną wartość właściwości
ScalingLazyColumn.horizontalAlignment
z Początek naCenterHorizontally
, aby zapewnić, że elementy listy nie wypełnią całej szerokości kolumny, zostaną wyrównane pod kątem maksymalnej widoczności. Aby wrócić do poprzedniego działania, ustawhorizontalAlignment = Alignment.Start
.(I9ed4b)
Znane problemy
- Wysokość kliknięcia/dotyku CompactChip jest mniejsza niż w wytycznych dotyczących ułatwień dostępu w formacie Material. Ten problem zostanie poprawiony w następnej wersji (15 czerwca). Jeśli korzystasz z CompactChip, będzie to miało wpływ na Twoje układy, ponieważ CompactChips będzie miał teraz dodatkowe dopełnienie powyżej i poniżej. Dostosuj i przetestuj układy lub zapoznaj się z komentarzami do błędów, aby poznać sposób obejścia istniejącego działania. (b/234332135)
Poprawki błędów
- Nowa wersja demonstracyjna animacji dodawania i usuwania tekstu początkowego w
TimeText
. (I16d75) - Dodaj testy dla:
HorizontalPageIndicator.PagesState
(I64ed0) - Aktualizuję
TimeText
do specyfikacji UX (Ib7ea1)
Wersja 1.0.0-beta02
18 maja 2022 r.
androidx.wear.compose:compose-foundation:1.0.0-beta02
, androidx.wear.compose:compose-material:1.0.0-beta02
i androidx.wear.compose:compose-navigation:1.0.0-beta02
zostały udostępnione. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.
Nowe funkcje
- Selektor zawsze reaguje teraz na zdarzenia przewijania, nawet w trybie „tylko do odczytu”. Dzięki temu użytkownicy nie muszą najpierw kliknąć selektora, aby przejść do przewijania. W trybie tylko do odczytu opcje inne niż obecnie wybrane są zasłonięte podkładką w
gradientColor
. (I72925) - Zmieniliśmy zachowanie użytkownika
Chip/ToggleChip/CompactChip/SplitToggleChip
, aby domyślnie nie uruchamiały funkcjifillMaxWidth
. Będą dopasowywały się do swoich treści. Aby zachować poprzednie działanie, po prostu dodajmodifier = Modifier.fillMaxWidth()
(I60a2c, b/232206371)
Poprawki błędów
- Konstruktor
CurvedTextStyle
, który przyjmujeTextStyle
, uwzględnia teraz równieżfontWeight
(można to dodać do konstruktora i metod kopiowania w przyszłych wersjach interfejsu API) (Ieebb9) - Ulepszenia przesuwania krawędzi. Gdy używany jest element
Modifier.edgeSwipeToDismiss
i przesuniesz palcem w lewo od obszaru brzegowego, nie będzie ono już wywoływane, gdy kierunek przesuwania zmieni się w prawo. Wcześniej można było wywoływać funkcję przesuwania w celu zamknięcia, przesuwając palcem w lewo, a następnie w prawo.(I916ea) HorizontalPageIndicator
wyświetla teraz na ekranie maksymalnie 6 stron. Jeśli łącznie jest więcej niż 6 stron, po lewej lub prawej stronie wyświetli się wskaźnik połowy rozmiaru, a przejście między nimi będzie płynne.(I2ac29)- Poprawione domyślne działanie przyciągania na urządzeniach
ScalingLazyColumn
iPicker
(I49539) - Ulepszenia przesuwania krawędzi. Gdy używana jest funkcja
Modifier.edgeSwipeToDismiss
, przesuwanie palcem w celu zamknięcia uruchamia się tylko wtedy, gdy pierwsze dotknięcie znajdzie się na krawędzi i przesunie w prawo. Wcześniej można było uruchamiać przesuwanie przez przesuwanie z dowolnej części ekranu, gdy przewijanie dobiegło końca.(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
zostały udostępnione. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
Funkcje tworzenia wiadomości na Wear OS 1.0
Funkcja 1.0.0-beta01
w funkcji tworzenia wiadomości na Wear OS to ważna kamień milowa, ponieważ biblioteka jest już gotowa, a interfejs API został zablokowany.
Komponenty Wear Compose Material w wersji 1.0 to:
- Motyw Material Design, który zastępuje interfejs Compose for Mobile
MaterialTheme
, zawiera kolory, kształty i typografię dla komponentów do noszenia na urządzeniach do noszenia, które już od razu wdrażają wytyczne dotyczące UX Wear Material Design. Button
,CompactButton
iToggleButton
– przycisk zawiera 1 miejsce na ikonę, obraz lub krótki tekst (maksymalnie 3 znaki). Okrągły, zalecany rozmiar dla przycisków domyślnych oraz dużych i małych.CompactButton
to 1 boks, w którym można umieścić dowolną treść (ikonę, obraz lub tekst). Ma też okrągły kształt z bardzo małym rozmiarem tła.CompactButton
ma opcjonalne przezroczyste dopełnienie wokół tła, które zwiększa klikalny obszar.ToggleButton
to przycisk, w którym można wstawić dowolną treść (krótki tekst, ikonę lub obraz) i ma stan włączony lub odznaczony (zaznaczone/odznaczone) oraz ikony informujące o tym, czy są zaznaczone czy nie.- Karty – służą do wyświetlania informacji o aplikacjach, np. powiadomień. Elastyczne projektowanie stron w różnych przypadkach użycia dzięki funkcjom
AppCard
iTitleCard
zapewniającym różne układy oraz możliwość wyświetlania obrazów jako zawartości karty lub tła. - Elementy to elementy w kształcie stadionu podobne do przycisków, ale z większym obszarem i kilkoma przegródkami, na które można umieścić etykiety, dodatkowe etykiety i ikony. w różnych rozmiarach i z obsługą obrazów jako tła;
- SwitchChips i SlitToggleChips – element ze stanem zaznaczone/odznaczony i dodanie przedziału
ToggleControl
z ikoną, taką jak przełącznik lub przycisk sygnalizujący zaznaczony stan komponentu.SplitToggleChip
ma 2 obszary, które można kliknąć: 1 klikalny i 1 przełączany. - CircularProgressIndicator – wskaźnik postępu w aplikacji Wear Material z 2 wariantami. Pierwsza określa stopień ukończenia bieżącego zadania i uzupełnia lukę między kątem początkowym i końcowym na ścieżce kołowej. Druga oznacza nieokreślony postęp przez nieokreślony czas oczekiwania.
- CurdText – tworzy część DSL służącą do opisywania elementów
CurvedLayouts
(wraz z obiektamicurvedRow
icurvedColumn
) w celu rozmieszczenia komponentów wokół okrągłych urządzeń. Więcej informacji o elementachCurvedLayout
iCurvedModifier
znajdziesz w sekcji „Podstawy komponentu Wear” poniżej. (w przypadku modyfikatorów pełni ona podobną rolę w świecie niezakrzywionym i umożliwia konfigurowanie różnych aspektów układu, dopełnienia, gradientów itp.). - Okno, alert i potwierdzenie – wyświetla pełnoekranowe okno nałożone na inną treść oraz obsługuje przesuwanie, aby zamknąć. Potrzebny jest 1 boks, który powinien mieć zweryfikowaną treść okna Materiałów Wear Material, np. Alert lub Potwierdzenie. Alert to zweryfikowana treść okna z miejscami na ikonę, tytuł i komunikat. Zawiera przeciążenie 2 przycisków ujemnych i pozytywnych widocznych obok siebie lub miejsce na 1 lub więcej elementów ułożonych w pionie. Potwierdzenie to sprawdzona treść okna, w której wyświetla się komunikat przez określony czas. Jest w nim miejsce na ikonę lub obraz (który może być animowany).
- levelPageIndicator – pokazuje pozycję strony w poziomie w sposób odpowiedni dla urządzenia do noszenia. Wyświetlają się na pełnym ekranie i wyświetlają zakrzywiony wskaźnik na okrągłych urządzeniach. Tej opcji można używać w przeglądarce strony towarzyszącej.
- Ikona – implementacja ikony na Wear, która wykorzystuje kolor i alfa z motywu materiału na Wear. Informacje o ikonie, którą można kliknąć, znajdziesz w sekcji „Przycisk lub element”.
- Selektor – wyświetla przewijaną listę elementów, spośród których można wybrać. Domyślnie elementy będą powtarzane „w nieskończoność” w obu kierunkach. Może wyświetlać się w trybie „tylko do odczytu”, aby ukryć niewybrane opcje.
- PositionIndicator – pokazuje pozycję przewijania lub inne informacje o pozycji w sposób odpowiedni dla urządzenia do noszenia. Zaprojektowany tak, by działał na pełnym ekranie, na okrągłym urządzeniu wyświetla zakrzywiony wskaźnik.
- Scaffold – implementuje podstawową strukturę układu graficznego z Wear Material Design. Ten komponent udostępnia interfejs API, który pozwala połączyć kilka komponentów Wear Material (np.
TimeText
,PositionIndicator
iVignette
) tworzących ekran, co zapewnia dla nich odpowiednią strategię układu i zbiera niezbędne dane, by te komponenty działały prawidłowo. - ScalingLazyColumn – przewijany komponent skalowania/listy rybie oko, który stanowi kluczową część języka Wear Material Design. Zapewnia efekty skalowania i przezroczystości elementów treści. Projekt
ScalingLazyColumn
został zaprojektowany w taki sposób, aby był w stanie obsługiwać potencjalnie dużą liczbę elementów treści, które są zmaterializowane i skomponowane tylko w razie potrzeby. - Suwak – umożliwia użytkownikom wybór z zakresu wartości. Zakres wybranych opcji jest przedstawiony w postaci słupka, który opcjonalnie można wyświetlić z separatorami.
- Stepper – pełny ekran, który umożliwia użytkownikom wybór z wielu wartości za pomocą przycisków zwiększania/zmniejszania u góry i dołu ekranu. W środku znajduje się gniazdo na tekst lub element.
- PrzesuńToCloseBox – obsługuje gest przesuwania w celu zamknięcia. Zajmuje 1 przedział dla tła (wyświetlanego tylko podczas gestu przesuwania) i treści na pierwszym planie. Można ją opcjonalnie połączyć z biblioteką nawigacji Androidax za pomocą aplikacji
SwipeDismissableNavHost
(patrz biblioteka nawigacji w Wear Compose poniżej). - Tekst – implementacja komponentu „Tekst elementu tworzenia wiadomości” na Wear, wykorzystująca kolory i alfa z motywu materiału na Wear
- TimeText – komponent pokazujący godzinę i stan aplikacji u góry ekranu. Dostosowuje się do kształtu ekranu na podstawie zakrzywionego tekstu na okrągłych ekranach.
winietowanie – zastosowanie w Scaffold, zamazujące górną i dolną część ekranu, gdy wykorzystywane są treści przewijane;
W ramach funkcji Wear Compose Foundation dostępne są też te komponenty:
Układ zakrzywiony – Wear Foundation
CurvedLayout
to układ kompozycyjny, który umieszcza elementy podrzędne w okręgu i w razie potrzeby je obraca. Przypomina to układ wiersza zakrzywiony w segmen pierścienia. Pamiętaj, że treść funkcjiCurvedLayout
nie jest funkcją lambda do kompozycji – jest to wersja DSL (język odnoszący się do domeny). Wszystkie elementy w DSL CurvedLayout obsługują opcjonalny parametr modyfikujący utworzony za pomocąCurvedModifier
.BasicCurvedText – element w DSL
CurvedLayout
.basicCurvedText
umożliwia programistom pisanie zakrzywionych tekstów, które mieszczą się w kierunku krzywizny okręgu (zwykle znajduje się na krawędzi okrągłego ekranu).basicCurvedText
można utworzyć tylko wCurvedLayout
, aby zapewnić najlepsze wrażenia, takie jak możliwość określania pozycjonowania i korzystania zCurvedModifiers
. Pamiętaj, że w większości przypadków lepiej jest użyć tekstu z zakrzywionym tekstem, bo korzysta on z motywów Material Design.CurdComposable – obejmuje normalną treść kompozycyjną, by można było jej użyć razem z
CurvedLayout
. Jeśli w środkucurvedComposable
znajduje się kilka elementów, zostaną one narysowane jeden na drugim (tak jak w ramach ramki). Aby umieścić kilka elementów kompozycyjnych wzdłuż krzywej, opakuj każdy z nich za pomocą funkcjicurvedComposable
.Wiersze z zakrzywionymi i Zakrzywione kolumny – podobne jak w przypadku Wiersz i kolumny –
curvedRow
icurvedColumn
można zagnieżdżać w obiekcieCurvedLayout
, aby rozmieścić elementy zgodnie z potrzebami. W przypadkucurvedRow
można określić kierunek układu kątowego i wyrównanie promieniowe. W przypadkucurvedColumn
można określić wyrównanie kątowe i kierunek promieniowy.CurvedModifier – wszystkie komponenty krzywych akceptują parametr modyfikujący, który można utworzyć za pomocą funkcji
CurvedModifier
. Obsługiwane są tło, rozmiar, waga i dopełnienie.Ten komponent jest też dostępny w nawigacji w Wear Compose:
Przesuwanie w dółableNavHost – miejsce w hierarchii tworzenia wiadomości, umożliwiające niezależne nawigację, z możliwością przechodzenia do tyłu za pomocą gestu przesuwania. Treść jest wyświetlana w obszarze
SwipeToDismissBox
, pokazujący bieżący poziom nawigacji. Gdy wykonasz gest przesuwania palcem, aby zamknąć, w tle wyświetlany jest poprzedni poziom nawigacji (jeśli jest dostępny).Zapoznaj się z informacjami o poprzednich wersjach różnych wersji alfa, aby dowiedzieć się, co zostało dostarczone.
Zmiany interfejsu API
- Dodano funkcje (
CurvedModifier.padding*
). Pozwalają określić dodatkową przestrzeń, którą można dodać wokół komponentu krzywego. (I4dbb4) - Usunięto klasę wewnętrzną
CompositionLocal
(I42490) - Dodaliśmy stałe wartości dla rozmiarów ikon
Button
,CompactButton
iToggleButton
zgodnie ze wskazówkami. (cab i57) - Dodaj włączony parametr do
AppCard
iTitleCard
. Teraz mają interfejs API podobny doandroidx.compose.material
kart. Gdy ten parametr ma wartość Fałsz, karty nie można kliknąć. (Idc48d, b/228869805)
Poprawki błędów
- Stepper teraz wyłącza przyciski zmniejszania i zwiększania po osiągnięciu dolnego/górnego limitu (i stosuje ContentAlpha.disabled do ikony iconColor) (I4be9f)
- Dodaliśmy dopełnienie 1 dp wokół zawartości selektora rysowanej za pomocą gradientu, aby zapobiec zniekształceniom tekstu podczas przesuwania. (I0B7b9)
- Dodaj testy zrzutów ekranu dla aplikacji
PositionIndicator
(I5e8bc) - Dodaj więcej testów dla
AppCard
iTitleCard
(I85391, b/228869805)
Wersja 1.0.0-alfa21
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
zostały udostępnione. Wersja 1.0.0-alfa21 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano nowe modyfikatory krzywych, które określają tło zakrzywionego elementu:
CurvedModifier.background
,.radialGradientBackground
i.angularGradientBackground
(I8f392) - Zezwalaj na określanie trybu nadmiarowego tekstu krzywego (klip, wielokropek i widoczny). (I8e7aa).
- Dodano modyfikator
CurvedModifier.weight
podobny do tego w Compose. Tego ustawienia można użyć w przypadku elementów podrzędnych krzywizny i układu krzywego (w przypadku szerokości) oraz w przypadku elementów podrzędnych krzywej kolumny (w przypadku wysokości). (I8abbd). - Dodano modyfikatory
CurvedModifier.size
,.angularSize
i.radialSize
, aby określić rozmiar zakrzywionego elementu. (I623C7)
Zmiany interfejsu API
- Zmień kolejność parametrów, aby tło miało spójne kolory w interfejsie Wear Compose API (I43208).
- Usunięto w prawo i
insideOut
i zastąpione bardziej wyrazistymi stałymi w nowych klasach.LayoutDirection
może rozpoznawać kierunek układu krzywego i jest on dziedziczony, jeśli nie został określony (If0e6a). - Zastąpiliśmy
autoCenter: Boolean
ciągiemautoCenter: AutoCentringParams
, aby rozwiązać problem z interfejsem API związany z tabeląScalingLazyColumn
. (IA9c90). - W ramach interfejsu API (Chip/ToggleChip/Dialog/Slider/Stepper/...) zmieniliśmy nazwy elementów
iconTintColor
itoggleControlTintColor
naiconColor
itoggleControlColor
w miarę zastosowania koloru do boksu icon/toggleControl. (Ied238). - Przepisz wyliczenie
PageIndicatorStyle
do klasy wartości (I2dc72) - Do niektórych boksów w komponentach kompozycyjnych dodaliśmy element
RowScope/ColumnScope/BoxScope
, aby pokazać deweloperom, jakie są założenia dotyczące układów. Dzięki temu deweloperzy będą mogli używać dodatkowych modyfikatorów w przypadku niektórych treści w boksie bez konieczności dodawania dodatkowych elementów układu. Oprócz tego wprowadziliśmy drobne zmiany w kolorach AppCard/TitleCard, tak aby elementytimeColor
iappColor
miały domyślne wartościcontentColor
. W razie potrzeby te właściwości nadal można zastąpić indywidualnie. (I26b59) - Obiekt
SwipeToDismissBoxState.Companion
został ustawiony jako prywatny (I39e84) - Popraw kolejność parametrów w parametrach
InlineSlider
iStepper
. Prosta zmiana w celu zachowania zgodności z wytycznymi interfejsu API (I11fec) - Usunęliśmy obiekt Saver dla
SwipeToDismissBoxState
, ponieważ nie był on używany. (Ifb54e). - Zaktualizowaliśmy
CompactChip
, aby był zgodny z najnowszą specyfikacją UX. Dopełnienie zostało zmniejszone do poziomu = 12,dp, a pionowy = 0,dp. Czcionka etykiety została zmieniona z przycisku na podpis1. Zalecane rozmiary ikon to 20 x 20, gdy dostępna jest zarówno ikona, jak i etykieta, oraz 24 x 24 piksele w przypadku elementów kompaktowych. W przypadku tylko przypadku użycia ikony zadbaliśmy o to, aby była wyśrodkowana. (iea2be) - Do
ScalingLazyListLayoutInfo
dodaliśmy kilka nowych pól, by deweloperzy wiedzieli, ile wartościcontentPadding
iautoCenteringPadding
zostały zastosowane. Mogą być przydatne dla programistów przy obliczaniu flingu/przewijania (I7577b). - W aplikacji Dialog wdrożyliśmy przejścia z jednego wejścia i wyjścia. Dodano parametr
showDialog
, przez co okno steruje widocznością (umożliwia to uruchamianie w oknie animacji wprowadzenia i zakończenia, gdy okno jest widoczne lub ukryte). Pamiętaj, że animacja zakończenia nie jest odtwarzana, gdy użytkownik opuści okno, przesuwając palcem, aby go zamknąć. W ostatnio dodanym przeciążeniuSwipeToDismissBox
dodaliśmy też domyślną wartość stanu. (I682a0) - Aby lepiej obsługiwać i18n i a11y, zmieniliśmy zasady
ToggleChip
iSplitToggleChip
, więc nie mają już domyślnego ustawienia dla przedziałutoggleControl
. Zmieniliśmy też zasadęToggleChipDefaults
, więc poniższe metody zwracają teraz element ImageVector, a nie ikonę (zwróć uwagę, że elementySwitchIcon()->switchIcon()
,CheckboxIcon->checkboxIcon()
iRadioIcon()->radioIcon()
nie zwracają już elementów @Composable, ponieważ zaczynają się od małych liter). Dzięki temu deweloperzy mogą tworzyć własne kompozycjeIcon()
z odpowiednim zestawem funkcjicontentDescription
. (I5bb5b) - Do elementu
SwipeDismissableNavHost
dodaliśmy parametrSwipeDismissableNavHostState
. Pozwala to na korzystanie z przesuwania krawędzi ekranów używanych jako miejsca docelowe nawigacji, ponieważ funkcjęSwipeToDismissBoxState
można teraz podnosić i używać do inicjowania zarównoSwipeDismissableNavHostState
, jak iModifier.edgeSwipeToDismiss
na ekranach, które wymagają przesunięcia krawędziowego. (I819f5, b/228336555)
Poprawki błędów
- Zadbaj o to, aby układy krzywych były aktualizowane w razie potrzeby. (Ie8bfa, b/229079150)
- Rozwiązanie problemu z https://issuetracker.google.com/issues/226648931 (Ia0a0a, b/226648931)
- Usunęliśmy niepotrzebne adnotacje eksperymentalne (I88d7e).
Wersja 1.0.0-alfa20
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
zostały udostępnione. Wersja 1.0.0-alfa20 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaj modyfikator
edgeSwipeToDismiss
dla:SwipeToDismiss
. Zezwala na aktywne działanie elementuswipeToDismiss
tylko z lewej krawędzi widocznego obszaru. Używana, gdy środek ekranu musi obsługiwać podział na strony w poziomie, np. przewijanie mapy w 2 dw. lub przesuwanie w poziomie między stronami.(I3fcec, b/200699800)
Zmiany interfejsu API
- Podstawowa implementacja
CurvedModifiers
– otwiera sposób na dostosowywanie zakrzywionych treści (ale nie ma jeszcze żadnego elementuCurvedModifiers
, a tworzenie modyfikatorów niestandardowych może być dostępne później) (I9b8df) EdgeSwipe
Aktualizacja dokumentacji modyfikatora i wartości domyślnych w celu lepszego zrozumienia .(I6d00d)- Dodaj przedział
PageIndicator
do Scaffold. Dodając atrybutPageIndicator
bezpośrednio do Scaffold, możemy mieć pewność, że będzie się prawidłowo wyświetlać na okrągłych urządzeniach. (IA6042). - Usuń domyślne ikony z parametrów
InlineSlider
i Stepper. Dzięki temu deweloperzy będą bardziej zwracać uwagę na wymagania dotyczące lokalizacji i ułatwień dostępu. Zastosowanie ikon domyślnych zostało pokazane w prezentacjach i przykładach. (I7e6fd). - Zastąp nazwy parametrów końcowych i wiodących wartościami „Start i End in TimeText” (Iaac32).
- Dodaliśmy przeciążenie funkcji
SwipeToDismissBox
z parametremonDismissed
, aby obsługiwać typowe zastosowanie zdarzenia nawigacji po wykonaniu gestu przesuwania. (I50353, b/226565726) - Usunięto adnotacje (
ExperimentalWearMaterialApi
) z wykorzystania w usłudzeTimeText
(Ide520) - Zakresy i interfejsy informacyjne usługi
ScalingLazyList/Column
oznaczyliśmy jako zamknięte, ponieważ nie są przeznaczone do implementacji przez zewnętrznych deweloperów. Dzięki temu w przyszłości będziemy mogli dodawać do nich nowych użytkowników bez wprowadzania zmian powodujących niezgodność plików binarnych. (I7d99f) - Do metod selektora i
PickerDefaults.flingBehaviour()
dodaliśmy nową właściwośćflingBehaviour
, która umożliwia konfigurowanie zachowania przesuwania, na przykład dodanie obsługi RSB. W projekciePickerState
zaimplementowano interfejsScrollableState
. (IB89c7).
Poprawki błędów
- Zaktualizuj podstawowe reguły profilu środowiska wykonawczego Android (ART) dla bibliotek Wear Compose. ART może wykorzystać reguły profili na urządzeniach, aby z wyprzedzeniem skompilować określony podzbiór aplikacji w celu poprawy jej wydajności. Pamiętaj, że nie będzie to miało wpływu na aplikacje z możliwością debugowania. (Iaa8ef)
- Popraw dokumentację (I2c051)
Wersja 1.0.0-alfa19
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
zostały udostępnione. Wersja 1.0.0-alfa19 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Nazwa
CurvedRow
została zmieniona naCurvedLayout
i zmieniona na zakres w usłudze DSL. Przy użyciu tej technologii DSL bardziej złożone układy krzywych można określać za pomocą serii zagnieżdżonych zagnieżdżonych elementówcurvedRow
icurvedColumn
(które są odpowiednikiem krzywego układu wiersza i kolumny). Wewnątrz tych elementów układu można użyć 3 elementów:curvedComposable
(aby dodać dowolny element @Composable),basicCurvedText
(zakrzywiony tekst fundacji) icurvedText
(zakrzywiony tekst na potrzeby noszenia materiału). (IB776a) - Zapewnij możliwość konfigurowania interfejsu
PositionIndicator
. Pozycja podstawowego wskaźnika Pozycja W porządku. (I2f1f3) - Zmieniliśmy nazwę
SwipeDismissTarget
zSwipeToDismissBox
naSwipeToDismissValue.Default
, aSwipeDismissTarget.Dismissal
naSwipeToDismissValue.Dismissed
. Przenieśliśmy też adresySwipeToDismissBoxDefaults.BackgroundKey
iSwipeToDismissBoxDefaults.ContentKey
odpowiednio doSwipeToDismissKeys.Background
(SwipeToDismissKeys.Content
). (I47a36) - Do selektorów dodaliśmy tryb tylko do odczytu, który działa na ekranach z wieloma selektorami, w których można edytować tylko jeden selektor naraz. Gdy selektor jest w trybie tylko do odczytu, wyświetla obecnie wybraną opcję i etykietę, jeśli została podana. (I879de)
- Rozszerzenie
SwipeToDismissBoxState
zostało zmienione, aby ograniczyć zakres zakresuExperimentalWearMaterialApi
doModifier.swipeable
iSwipeableState
, które są teraz używane wewnętrznie.SwipeToDismissBoxState
ma teraz użytkownikówcurrentValue
,targetValue
,isAnimationRunning
isnapTo
, aby obsługiwać typowe przypadki użycia. Daj nam znać, jeśli potrzebujesz dodatkowych usług. Naprawiono też zachowanieSwipeableState
w przypadku, gdy przesunięcie przesunięcia znajduje się w obrębie błędu zaokrąglania reklamy zakotwiczonej. (I58302)
Poprawki błędów
- Uproszczony i poprawiony kod do wykrywania, czy zawartość elementu
ScalingLazyColumn
można przewijać (do określania, czy wyświetlać pasek przewijania lub nie) (I7bce0) - Usunięto błąd we wskaźniku pozycji, który był używany z więcej niż jednym stanem i powodował przełączanie się między nimi (I320b5).
- Zaktualizowaliśmy domyślną typografię i czcionki motywu na Wear OS, aby dostosować je do naszych najnowszych wskazówek dotyczących UX. Zwróć uwagę, że wartości w formatach display1 (40.sp) i display2 (34.sp) są teraz mniejsze niż ich poprzednie wartości. Wprowadziliśmy też różne inne drobne zmiany dotyczące wysokości wiersza i odstępów między wierszami. (IE3077).
- W
SwipeToDismissBox
dodaliśmy opór, dzięki czemu ruch działa tylko wtedy, gdy przesuwasz palcem, aby go zamknąć, a nie w przeciwnym kierunku. (Ifdfb9) - Zmieniliśmy niektóre domyślne wartości parametrów funkcji
CircularProgressIndicator
, aby były zgodne ze wskazówkami dotyczącymi UX Wear Material Design. W wersji Spinner/Indeterminant zmienił się rozmiar (40->24.dp), indexColor (primary->onBackground), przejrzystość trackColor (30%->10%) i szerokość kreski (4->3dp). W wersji Progress/Determinate została zaktualizowana przezroczystość trackColor (30%->10%). (I659cc) - Zaktualizowaliśmy domyślne parametry skalowania modelu
ScalingLazyColumn
, aby były zgodne z najnowszymi specyfikacjami UX Wear Material Design. Wizualnie powoduje to, że elementy listy zaczynają być skalowane bliżej środka listy, ale są mniej skalowane na krawędziach niż wcześniej. (Ica8f3). - Kilka poprawek do elementu
ScalingLazyColumnDefaults.snapFlingBehavior
, aby poprawić koniec animacji (If3260).
Wersja 1.0.0-alfa18
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
zostały udostępnione. Wersja 1.0.0-alfa18 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Ulepszenia PositionIndicator: ShowResult zmieniono nazwę PositionIndicatorVisibility. Pewne ulepszenia wydajności pozwalające uniknąć ponownych obliczeń, gdy nie są potrzebne (Iaed9d)
- Zaktualizowano zalecane kolory dla:
SplitToggleChip
. Elementy SplitToggleChip mają teraz jednolite kolorowe tło, gdy jest zaznaczone lub odznaczone. Głównym wskaźnikiem tego, czy komponent jest zaznaczony, czy nie jest kolor opcji SwitchControl. Dodaliśmy nowyToggleDefaults.splitToggleChipColors()
, który obsługuje nowy schemat kolorów. Uprościliśmy też metodytoggleChipColors()
, usuwając atrybut podziałBackgroundOverlayColor (I7e66e). - Do elementu
ScalingLazyListItemInfo
dodaliśmy parametr unAdjustedSize, ponieważ obliczenie pierwotnego rozmiaru produktu za pomocą skalowanego rozmiaru i współczynnika skalowania nie jest bezpieczne ze względu na precyzję matematyki zmiennoprzecinkowej. (I54657, b/221079441) - Dodaj
HorizontalPageIndicator
. Reprezentuje on łączną liczbę stron i wybraną stronę. W zależności od kształtu urządzenia może być liniowy lub zakrzywiony. Obsługuje również niestandardowy kształt wskaźnika, który określa wygląd poszczególnych wskaźników. (IAC898). - Zaktualizowaliśmy atrybut
PickerState
, aby można było zaktualizować parametr numberOfOptions. Obsługuje to przypadki użycia, takie jakDatePicker
, gdy liczba dni w miesiącu zmienia się w zależności od wybranego miesiąca. Parametr konstruktora dla PickerState został odpowiednio zmieniony na initialNumberOfOptions. (IAD066). - Ukryj
PositionIndicator
, gdy jest paskiem przewijania i nie można z niej skorzystać przewijanie. (Id0a7f) - Aby zapewnić spójność ze Scaffold, nasz pełnoekranowy komponent Okno wyświetla teraz
PositionIndicator
iVignette
. Używamy również właściwościScalingLazyColumn
zamiastColumn
, co oznacza, że zawartość okna dialogowego ma teraz formatScalingLazyListScope
(i zwykle musi być ujęta w element { /* content */ }). Okno obsługuje odpowiednio parametr verticalArrangement. (Idea13). - Zmieniliśmy nazwę właściwości
ToggleChip
iSplitToggleChip
SwitchIcon naswitchControl, aby lepiej dostosować go do stylu Material Design i ułatwić projektantom i programistom poruszanie się po interfejsie API. (If5921, b/220129803) - Dodaliśmy nowy podpis3 do motywu Typologii Wear Material. Caption3 to mała czcionka używana do bardzo długich tekstów, np. tekstów prawnych. (I74b13, b/220128356)
Poprawki błędów
- Zatrzymaj animację przyciągania, gdy będziemy na miejscu. (IdB69d)
- Animuj zmiany we wskaźniku PositionIndicator. (I94cb9)
- Kierując się opiniami użytkowników/UX, zmieniliśmy funkcję automatycznego wycentrowania w
ScalingLazyColumn
tak, że zapewnia ona tylko wystarczającą ilość miejsca, aby elementy o indeksieScalingLazyListState.initialCenterItemIndex
lub wyższym mogły zostać całkowicie przewinięte do środka widocznego obszaru. Dzięki temu deweloperzy mogą umieścić na środku jeden lub dwa elementy elementu, których nie da się przewijać. Oznacza to, że elementScalingLazyColumn
z autoCenter nie będzie mógł przewinąć treści powyżej elementuinitialCenterItemIndex/initialCenterItemScrollOffset
(I22ee2). - Dodaliśmy wersję demonstracyjną selektora dat i naprawiliśmy błąd w
PickerState
, w wyniku którego element SelectOption nie był stosowany do czasu wyświetlenia selektora. (Id0d7e) - Aby ograniczyć przycinanie szerszych elementów
ScalingLazyColumn
na okrągłych ekranach, zwiększyliśmy domyślne dopełnienie poziome z 8 do 10 dp. (I0d609) - Upewnij się, że podczas przewijania widać ikonę
PositionIndicator
. (Ied9a2).
Wersja 1.0.0-alfa17
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
zostały udostępnione. Wersja 1.0.0-alfa17 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy obsługę Snap, której można używać z urządzeniem
ScalingLazyColumn
. UstawflingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state)
, aby włączyć obsługę Snap. (I068d3, b/217377069) - Dodaliśmy wersje demonstracyjne selektora, wybierz godzinę w formacie 24-godzinnym lub 12-godzinnym. (IE5552)
Zmiany interfejsu API
- Rozwiąż problem z niestandardowymi czcionkami
TimeText
i style na urządzeniu kwadratowym (IEa76e) ScalingLazyListLayoutInfo
ma teraz właściwościreverseLayout
,viewportSize
i orientacji pasujące do tych zLazyListLayoutInfo
(I4f258, b/217917020)ScalingLazyColumn
ma teraz właściwośćuserScrollEnabled
pasującą do tej z domenyLazyList
(I164d0, b/217912513)- Selektory mają teraz domyślnie gradient na górze i na dole (Iab92a).
Poprawki błędów
- Zmodyfikowaliśmy element
ScalingLazyColumn
, aby nie wypełniał już zachłannie całego miejsca w swoim elemencie nadrzędnym. Zamiast tego dobierze rozmiar od rozmiaru treści. Jest to zgodne z działaniem funkcjiLazyColumn
. Jeśli chcesz przywrócić poprzednie działanie, przekażModifier.fillMaxWidth()/width()/widthIn()
doScalingLazyColumn
(I51bf8). - Poprawiliśmy komunikat o wyjątku w
SwipeDismissableNavHost.kt
, który był wyświetlany, gdy stos nawigacji był pusty. (I1b1dc).
Wersja 1.0.0-alfa16
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
zostały udostępnione. Wersja 1.0.0-alfa16 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaj
CircularProgressIndicator
. Wskaźniki postępu pokazują długość procesu lub nieokreślony czas oczekiwania. Obsługuje lukę (wycięcie) w przypadku tekstu TimeText lub innych komponentów w przypadku wyświetlania na pełnym ekranie. (IAB8DA)
Zmiany interfejsu API
- Selektory mają teraz parametr
flingBehavior
. Wartość domyślna sprawia, że podczas przewijania lub przesuwania są przyciągane do najbliższej opcji. (I09000) - Dodatkowy interfejs API z liczbą całkowitą dla InlineSlider i Stepper (I1b5d6)
Poprawki błędów
- Zmieniliśmy domyślną wartość initialCenterItemIndex dla jednostki
ScalingLazyListState
z 0->1. Oznacza to, że o ile nie zastąpisz go przy użyciu parametruScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =
)
, drugi element listy (indeks = 1) zostanie umieszczony na środku widocznego obszaru przy inicjowaniu, a przed nim zostanie umieszczony pierwszy element (indeks = 0). Dzięki temu możesz od razu uzyskać lepszy domyślny efekt wizualny, ponieważ większość widocznego obszaru zostanie zapełniona elementami listy. (I0c623, b/217344252) - Zmniejszyliśmy
ScalingLazyColumn
domyślną wartośćextraPadding
, by mieć pewność, że jest dużo elementów listy do narysowania (nawet jeśli pomniejszymy część z nich) z 10% do 5%. Pozwoli to uniknąć tworzenia dodatkowych elementów listy, które mogą nie pojawiać się w widocznym obszarze. Jeśli używane są niestandardowe parametry scaleParams (na przykład bardziej ekstremalne skalowanie), programista może dostosować dodatkowe dopełnienie za pomocą parametruviewportVerticalOffsetResolver
. (I76be4) - Rozwiązywanie problemów z tekstem TimeText w wielu wierszach na urządzeniu z kwadratowym (Ibd3fb)
- Zmodyfikowaliśmy element
ScalingLazyColumn
, aby nie wypełniał już zachłannie całego miejsca w swoim elemencie nadrzędnym. Zamiast tego dobierze rozmiar od rozmiaru treści. Dzięki temu jest to spójne z działaniem funkcjiLazyColumn
. Jeśli chcesz przywrócić poprzednie działanie, przekażModifier.fillMaxSize()
doScalingLazyColumn
. UWAGA: ta zmiana jest niekompletna i zostanie poprawiona w następnej wersji alfa. (I3cbfa)
Wersja 1.0.0-alfa15
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
zostały udostępnione. Wersja 1.0.0-alfa15 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Do
ScalingLazyColumn
dodaliśmy nową usługęautoCentering
. Jeśli ustawisz wartość prawda (domyślnie), będzie można przewijać wszystkie elementy, w tym pierwszy i ostatni, w taki sposób, że będą widoczne na środku widocznego obszaru listy. Pamiętaj, że jeśli używasz automatycznego wycentrowania, warto ustawić dopełnienie treści pionowego na 0.dp. Jeśli użyjesz zarówno automatycznego wyśrodkowania, jak i dopełnienia treści w pionie, przed pierwszym i za ostatnim elementem listy dostępne będzie dodatkowe miejsce, co pozwoli na dalsze przewijanie. (I2a282, b/214922490) - Dodaliśmy komponent
Dialog
, który umożliwia funkcji kompozycyjnej wyświetlanie pełnoekranowego okna, które wyświetla się nad innymi treściami. Po wyświetleniu okno obsługuje przesuwanie, aby zamknąć, i podczas wykonywania gestu przesuwania w tle widoczna będzie zawartość rodzica. Oczekiwana zawartość okna toAlert
lubConfirmation
(zmieniona nazwa z wcześniejszych komponentówAlertDialog
iConfirmationDialog
) –Alert
,Confirmation
iDialog
znajdują się w pakiecieandroidx.wear.compose.material.dialog
. Alert i potwierdzenie mogą być używane jako miejsca docelowe nawigacji. W razie potrzeby do parametrów alertów i potwierdzenia dodaliśmy też parametr ColumnScope. (IA9014). - Usunęliśmy element
onSurfaceVariant2
z motywu kolorystycznego w funkcji Compose for Wear OS i zastąpiliśmy użycie w bibliotece elementemonSurfaceVariant
. (ICD592). - Dodaliśmy metodę automatycznego wybierania opcji w
PickerState
. Opcję wybraną początkowo można też określić podczas tworzenia elementuPickerState
. (I92bdf) - Dodaliśmy obsługę dostosowywania działania przesuwania w
ScalingLazyColumn
. (I1ad2e, b/208842968) - Do biblioteki
Wear.Compose.Navigation
dodaliśmy pozycjęNavController.currentBackStackEntryAsState()
. (If9028, b/212739653) - Dodano
Modifier.onRotaryScrollEvent()
iModifier.onPreRotaryScrollEvent()
w przypadku urządzeń Wear z obracającym się przyciskiem.(I18bf5, b/210748686)
Wersja 1.0.0-alfa14
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
zostały udostępnione. Wersja 1.0.0-alfa14 zawiera te zatwierdzenia.
Nowe funkcje
Do
ScalingLazyListState
dodaliśmy szereg metod, aby umożliwić deweloperowi kontrolę nad przewijaniem do określonych elementów listy oraz ustawianie początkowego elementu listy i przesunięcia.W ramach tej zmiany zmodyfikowaliśmy też listę ScalingLazyList, dzięki czemu jest zorientowana na środek obszaru roboczego, a nie na początku widocznego obszaru.
Do obiektu
ScalingLazyList
dodano nową właściwośćanchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter
, która pozwala kontrolować, czy środek (ScalingLazyListAnchorType.ItemCenter
) czyEdge
(ScalingLazyListAnchorType.ItemStart
) ma być wyrównany względem linii środkowej widocznego obszaru.W związku z tym parametry
ScalingLazyListItemInfo.offset
iScalingLazyListItemInfo.adjustedOffset
uległy zmianie i będą odzwierciedlać przesunięcie elementu względem zarówno pozycji elementu listy, jak i jego elementuanchorType
. Na przykład: w przypadku elementuScalingLazyColumn
z wartościąanchorType
o wartościItemCenter
i elementem listy umieszczonym na środku widocznego obszaru, które wynosi0
.Nowe metody to
scrollTo
,animatedScrollTo
,centerItemIndex
icenterItemOffset
. (I61b61)Do elementu
SwipeDismissableNavHost
dodaliśmy moduł obsługi przycisku Wstecz, który umożliwia przejście do poprzedniego poziomu w hierarchii nawigacji. (I5b086, b/210205624)
Wersja 1.0.0-alfa13
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
zostały udostępnione. Wersja 1.0.0-alfa13 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Wprowadziliśmy
RangeIcons
wewnętrznie (łącznie z dokumentamiInlineSlider
iStepper
). (I927ec)
Poprawki błędów
Rozwiązaliśmy problem, który powodował, że usługa
SwipeDismissableNavHost
dodawała miejsce docelowe do hierarchii tworzenia wiadomości, zanim osiągnie stan cyklu życiaCREATED
, co skutkowało wyświetleniemIllegalStateException
. Ta poprawka była warunkiem wstępnym aktualizacji zależności od zasadynavigation-compose
do wersji2.4.0-beta02
i nowszych. (I40a2b, b/207328687)Dodaliśmy klasę wyliczeniową w elementach rysowalnych, która pozwala pobierać zasoby, które można rysować w bibliotece Wear Compose, dzięki czemu odbicie nie jest już potrzebne. Naprawiliśmy błąd polegający na tym, że elementy rysowane w bibliotece były usuwane po
minifyEnabled=true
lubshrinkResources=true
. (IB2a98).Dodano testy aplikacji
Stepper
w Wear Compose (I2d03a)Dodano przykłady dotyczące języka
SwipeDismissableNavHost
w nawigacji w Wear Compose. (I85f06)
Wersja 1.0.0-alfa12
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
zostały udostępnione. Wersja 1.0.0-alfa12 zawiera te zatwierdzenia.
Nowe funkcje
Dodaliśmy komponent Stepper, który umożliwia użytkownikom wybór z zakresu wartości. Stepper to element sterujący trybem pełnoekranowym z przyciskami zwiększania i zmniejszania znajdującymi się u góry i u dołu oraz gniazdem pośrodku (przy czym zwykle umieszcza się w nim element lub tekst). W razie potrzeby ikony przycisków można dostosować. (I625fe)
Dodaliśmy 2 nowe funkcje kompozycyjne do wyświetlania okien: AlertDialog czeka na odpowiedź użytkownika i wyświetla tytuł, ikonę, wiadomość oraz 2 przyciski (a) 2 przyciski oznaczające proste lub negatywne odpowiedzi albo b) elementy ułożone pionowo lub przełączniki, które zapewniają bardziej elastyczne opcje. Potwierdzenie w oknie dialogowym wyświetla potwierdzenie z określonym czasem oczekiwania. To proste okno zawiera boksy na tytuł i animowaną ikonę. (Ic2cf8).
Zmiany interfejsu API
- Dodaj jednostki (milisekundy) do sugerowanych wartości czasu trwania w oknie. (I09b48)
Wersja 1.0.0-alfa11
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
zostały udostępnione. Wersja 1.0.0-alfa11 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy komponent selektora, który pozwala użytkownikowi wybrać element z listy przewijanej. Domyślnie lista elementów do wyboru jest powtarzana „w nieskończoność” w obu kierunkach, by stworzyć wrażenie obracającego się walca. W kolejnych wersjach wprowadzimy dwie funkcje: przyciąganie do wartości po przesunięciu lub przesunięciu palcem. przez dodanie funkcji w PickerState, aby ustawić/przewinąć do aktualnej wartości. (I6461b)
Zmiany interfejsu API
- Dodano parametr ScalingLazyItemScope i kilka nowych modyfikatorów FillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight, aby umożliwić dostosowywanie rozmiaru elementów listy na podstawie rozmiaru kontenera nadrzędnego. Możesz skonfigurować elementy tak, aby wypełniły cały rozmiar elementu nadrzędnego lub jego część. Udostępnia to funkcję dostępną już w leniwym wierszu/kolumnie (I4612f)
- Dodano obsługę funkcji ScalingLazyColumn, aby umożliwić elementom posiadanie klucza. Dodaliśmy też wygodne metody pozwalające na dodawanie elementów z tablic i list. (IC1f89).
Poprawki błędów
- Dodatkowe przykłady tekstu 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
zostały udostępnione. Wersja 1.0.0-alfa10 zawiera te zatwierdzenia.
Nowe funkcje
Dodano InlineSlider do tworzenia wiadomości w Wear. InlineSlider umożliwia użytkownikom dokonywanie wyboru z zakresu wartości. Zakres wybranych opcji jest przedstawiony jako pasek między wartością minimalną a maksymalną, z której użytkownicy mogą wybrać jedną wartość. (If0148).
Zapoznaj się z nowym narzędziem do tworzenia wiadomości w ćwiczeniach z programowania w WearOS.
Zmiany interfejsu API
- Wskaźnik porównawczy ma teraz
minSdkVersion
o wartości23
. (If2655).
Poprawki błędów
- Zaktualizuj obsługę przenoszenia w MoveCloseableNavHost w efektu SideEffect (I04994, b/202863359)
- Zaktualizuj obsługę przenoszenia w ScrollCloseableNavHost (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
zostały udostępnione. Wersja 1.0.0-alfa09 zawiera te zatwierdzenia.
Nowe funkcje
- Udostępniliśmy wersję przedpremierową funkcji Compose na Wear OS na urządzeniach z systemem Wear OS. Przeczytaj nasz post na blogu, w którym omawiamy główne funkcje kompozycyjne i linki do dodatkowych materiałów na temat tego, jak zacząć z nich korzystać.
Zmiany interfejsu API
- Dodaliśmy obsługę dla deweloperów, aby mogli dostosować wszystkie kolory w motywie koloru Wear Material Design. (I4759b, b/199754668)
Poprawki błędów
- Dodano próbki PrzesuńToCloseBox, który utrzymuje stan (Ibaffe).
- Dodaliśmy linki do przewodników developer.android.com z KDokuments dla CurvedText, TimeText i PrzesuńToCloseBox. (I399d4)
- Przesuwany na stronie obiekt PrzesuwanyNavHost wyświetlany jest teraz, jeśli nie ma bieżącego miejsca docelowego (oznacza, że nie utworzono za pomocą modułu wear.compose.navigation.composable funkcja użytkowa) (I91403)
- Dodaliśmy dokumentację i przykłady użycia źródła czasu w 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
zostały udostępnione. Wersja 1.0.0-alfa08 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Zmieniliśmy nazwy właściwości AppCard i TitleCard
body
nacontent
i przenieśliśmy je na koniec listy właściwości, aby umożliwić ich podanie jako lambda na końcu. Zmieniono też nazwębodyColor
nacontentColor
, aby zachować spójność z nowymi nazwami boksów. (I57e78)
Poprawki błędów
- Dodano linki do witryny developer.android.com przewodniki w Dokumentach KDokumentów dotyczące przycisku, karty, elementu, motywu wskaźnik pozycji i skalowanie leniwej kolumny. (I22428)
- Rozwiązywanie problemów z obsługą przesuwania w Wear OS (I9387e)
- Dodano przykłady poleceń Button, CompactButton Chip, CompactChip, AppCard, TitleCard SwitchButton, SwitchChip, SplitToggleChip (Iddc15)
- Dodano mikrotesty skuteczności dla: Card, Element, SwitchChip, TimeText oraz 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
zostały udostępnione. Wersja 1.0.0-alfa07 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy komponent CurvedText w sekcji Materiał, który umożliwia programistom łatwe pisanie zakrzywionego tekstu wzdłuż krzywizny okręgu (zwykle przy krawędzi okrągłego ekranu). (I19593).
Zmiany interfejsu API
- Dodano testy dla obiektu TimeText (Idfead)
- Przekształć ArcPaddingValues w interfejs. (Iecd4c).
- Dodano animację do MoveToCloseBox (I9ad1b)
- Dodano parametr hasBackground do aplikacji Przesuwane okno API, dzięki czemu można wyłączyć gest przesuwania, gdy nie ma zawartości tła do wyświetlenia. (I313d8)
rememberNavController()
przyjmuje teraz opcjonalne zestawNavigator
instancji, które zostaną dodane do zwróconoNavController
, aby usprawnić (opcjonalnie) wsparcie Nawigatorzy, np. z Materiał nawigacyjny dla akompanitów. (I4619e)- Odwołanie do NamedNavArgument z nawigacji-common i usuń kopię z wear.compose.navigation. (I43af6).
Poprawki błędów
- Naprawiono niestabilne testy krzywej na mniejszych urządzeniach. (If7941).
- Naprawiliśmy możliwość migotania w CurvedRow przy aktualizacji treści. i gwarantuje ponowne pomiary zakrzywionego wiersza (Ie4e06).
- Interfejs ChipDefaults.gradientBackgroundChipColors() został zaktualizowany zgodnie ze zmianami specyfikacji UX. Gradient zaczyna się teraz od MaterialTheme.colors.primary z alfa 32,5%, a kończy MaterialTheme.colors.surface z wartością alfa 0% na tle tła MaterialTheme.colors.surface przy 75% alfa. (Id1548).
- Zaktualizowaliśmy kolory dla SwitchChips w wybranym stanie, aby zapewnić zgodność z najnowszymi wskazówkami dotyczącymi UX dla Wear Material Design. Po wybraniu przełącznika SwitchChips ma teraz tło w postaci gradientu od MaterialTheme.color.surface o wartości 0% alfa, przez lewy górny róg do MaterialTheme.color.primary przy 32% alfa, w prawym dolnym rogu, na tle MaterialTheme.color.surface o 75% alfa. Powoduje to subtelną różnicę między zaznaczoną a niezaznaczoną dla SwitchChip. (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
zostały udostępnione. Wersja 1.0.0-alfa06 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy Scaffold, czyli kompozycyjną aplikację najwyższego poziomu, która zapewnia strukturę do obsługi pozycji wskaźników pozycji (takich jak przewijanie czy głośność), u góry ekranu znajduje się obszar do wyświetlania godziny i stanu aplikacji, a także obsługuje funkcję winietowania do rozmycia górnej i dolnej krawędzi ekranu w przypadku treści, które można przewijać. Głównym obszarem Scaffold jest miejsce, w którym umieszcza się zawartość aplikacji. (I5e0bf)
- Dodano implementację TimeText w przypadku Wear Compose (I5654c)
Biblioteka nawigacyjna w Wear Compose
Dodaliśmy pierwszą wersję biblioteki nawigacji Wear Compose, która zapewnia integrację między bibliotekami Wear Compose i nawigacją Androidx. Udostępnia on prosty sposób poruszania się między funkcjami @Composable jako miejscami docelowymi w aplikacji.
Zalety tej początkowej wersji:
- Element kompozycyjny
SwipeDismissableNavHost
, który hostuje wykres nawigacyjny i umożliwia nawigację wstecz za pomocą gestów przesuwania - Rozszerzenie
NavGraphBuilder.composable
pomagające w tworzeniu wykresów nawigacyjnych rememberSwipeDismissableNavController()
, aby zezwolić na wciąganie
- Element kompozycyjny
Przykład użycia, w którym tworzymy 2 ekrany i przechodzimy między nimi:
val navController = rememberSwipeDismissableNavController() SwipeDismissableNavHost( navController = navController, startDestination = "start" ) { composable("start") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Button(onClick = { navController.navigate("next") }) { Text("Go") } } } composable("next") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Text("Swipe to go back") } } }
Nawigacja w Wear Compose jest spakowana jako osobna biblioteka, dzięki czemu proste aplikacje WearCompose, które mają własną ręcznie przewijaną nawigację, nie muszą korzystać z biblioteki nawigacji Androidx.
Zmiany interfejsu API
- Zaktualizowano
SwipeDismissableNavHost
, by obsługiwaćrememberSaveable
przez ustawienie tożsamości klucza na potrzeby tła i treści (I746fd) - Dodaliśmy adapter PositionIndicator, który obsługuje parametr LazyListState (I21b88)
- Zaktualizowano funkcję LTIToCloseBox, aby obsługiwała zapamiętywane dane (Ie728b).
- Do obiektu ScalingLazyColumn dodaliśmy obsługę odwrotnego układu. Umożliwia to odwrócenie kierunku przewijania i układu strony (I9e2fc).
- Wycofano reguły
performGesture
iGestureScope
, które zawierają zostały zastąpione przezperformTouchInput
iTouchInjectionScope
. (Ia5f3f, b/190493367) - Zmieniliśmy nazwę Wartość winietowania na PozycjaWinieta i zmieniła nazwę na Wartość Winieta.Obie te wartości zmieniły nazwę na PozycjaWinieta.GóraAndDolne. (I57ad7).
- Zmieniliśmy nazwę ScalingLazyColumnState na ScalingLazyListState, ScalingLazyColumnItemInfo na ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo i ScalingLazyColumnScope, ScalingLazyColumnScope, ScalingLazyColumnScope, na wypadek, gdyby w przyszłości zdecydujemy się dodać implementację ScalingLazyListRow. (I22734)
Poprawki błędów
- Zaktualizowaliśmy dokumentację CompactChip, by opisać, co się dzieje w przypadku braku ikony ani etykiety. (I4Ba88)
- Wprowadziliśmy pewne zmiany w elementach karty Wear. (I6b3d0)
- Odstęp między tytułem a treścią zmniejszony z 8 dp do 2 dp.
- Czcionka nagłówka TitleCard została zmieniona z treści na tytuł3.
- Zmieniono gradient tła karty, aby przyciemniono tło.
Wersja 1.0.0-alpha05
1 września 2021 roku
androidx.wear.compose:compose-foundation:1.0.0-alpha05
i androidx.wear.compose:compose-material:1.0.0-alpha05
zostały udostępnione. Wersja 1.0.0-alfa05 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Oznacz ArcPaddingValues jako @Stable (I57deb)
- ScalingLazyColumnState implementuje interfejs ScrollableState, dając deweloperom programowy dostęp do przewijania komponentu. (I47DBC)
Poprawki błędów
- Zmniejszyliśmy odstępy między elementami ikona i tekst w układzie oraz SwitchChip, aby zapewnić ich zgodność ze specyfikacją UX. (I83802)
Wersja 1.0.0-alpha04
18 sierpnia 2021 r.
androidx.wear.compose:compose-foundation:1.0.0-alpha04
i androidx.wear.compose:compose-material:1.0.0-alpha04
zostały udostępnione. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano metodę PrzesuńToBounceBox i modyfikator przesuwany, którego można używać do obsługują gest przesuwania od lewej do prawej. Są one niezależne od komponentów nawigacyjnych, powinien być używany do wyjścia z jednego ekranu i przejścia na inny. Dodane aby przetestować integrację i zademonstrować przesuwanie palcem, aby zamknąć aplikację. (I7bbaa).
- Do klasy ScalingLazyColumnState dodaliśmy interfejsy ScalingLazyColumnItemInfo i ScalingLazyColumnLayoutInfo, by umożliwić programistom poznanie rzeczywistych pozycji i rozmiarów elementów w ScalingLazyColumn po zastosowaniu skalowania. Naprawiliśmy również błąd związany ze sposobem obliczania skalowania przy dopełnienie treści jest stosowane do ScalingLazyColumn. (I27c07)
Zmiany interfejsu API
- Dodaj klasę CurvedTextStyle, aby określić styl tekstu krzywego Opcje. Podobny do TextStyle, ale teraz obsługuje tylko kolory, rozmiar czcionki i tło. W przyszłości dodamy więcej opcji stylizacji. (I96ac3).
- Do klasy ScalingLazyColumnState dodaliśmy interfejsy ScalingLazyColumnItemInfo i ScalingLazyColumnLayoutInfo, by umożliwić programistom poznanie rzeczywistych pozycji i rozmiarów elementów w ScalingLazyColumn po zastosowaniu skalowania. Naprawiliśmy również błąd związany ze sposobem obliczania skalowania przy dopełnienie treści jest stosowane do ScalingLazyColumn. (I27c07)
- Do wyliczenia
SwipeDismissTarget
dodano@ExperimentalWearMaterialApi
, który jest częścią interfejsu APISwipeToDismissBox
. (I48b5e)
Poprawki błędów
- Dodano materiał testowy dotyczący aplikacji MoveToCloseBox (I9febc)
Wersja 1.0.0-alpha03
4 sierpnia 2021 r.
androidx.wear.compose:compose-foundation:1.0.0-alpha03
i androidx.wear.compose:compose-material:1.0.0-alpha03
zostały udostępnione. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodano komponent CurvedText, który pozwala programistom łatwo pisać po krzywizna okręgu (zwykle na krawędzi okrągłego ekranu) (Id1267),
- Zmieniliśmy nazwę
CardDefaults.imageBackgroundPainter()
naCardDefaults.imageWithScrimBackgroundPainter()
, by wyraźnie pokazać, że na obrazie tła znajduje się skrytka. (I53206) - Dodano komponent ScalingLazyColumn, który zawiera komponent listy dla materiału Wear Material. Dzięki temu zawartość listy skaluje się w dół i staje się przezroczysta w miarę skalowania w kierunku krawędzi komponentu. (I7070C)
Poprawki błędów
- Zmieniliśmy domyślny kolor treści appName w AppCard w odpowiedzi na aktualizację specyfikacji UX. Domyślny kolor aplikacji appName to teraz
MaterialTheme.colors.onSurfaceVariant
. Dodatkowo w dokumencie brakuje opisu parametru dla boksu tytułowego. (IC4ad1).
Wersja 1.0.0-alpha02
21 lipca 2021 r.
androidx.wear.compose:compose-foundation:1.0.0-alpha02
i androidx.wear.compose:compose-material:1.0.0-alpha02
zostały udostępnione. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.
Nowe funkcje
- Do rozmieszczenia elementów kompozycyjnych w kształcie łuku dodano nową klasę CurvedRow (I29941).
- Dodaliśmy nowy typ kart do wykorzystania w aplikacjach (TitleCard) oraz możliwość umieszczania obrazów jako tła w celu uwydatnienia treści kart (I53b0f).
Zmiany interfejsu API
- Dodano obsługę wyrównywania promieniowego do zakrzywionego wiersza (podobnie do wyrównanie w pionie w wierszu) (Id9de5)
- Dodaj nową klasę CurvedRow do rozmieszczenia elementów kompozycyjnych w łuku (I29941)
- Dodaliśmy nowy typ kart do wykorzystania w aplikacjach (TitleCard) oraz możliwość umieszczania obrazów jako tła w celu uwydatnienia treści kart (I53b0f).
- Dodano ikony przełączników (pola wyboru, przełączniki i przyciski opcji) do SwitchChipDefaults, aby ułatwić deweloperom konfigurowanie SwitchChip i SlitToggleChips (I7b639).
- Dopełnienie treści początkowej i końcowej elementów zostało zmienione i ma stałe wymiary 14 dp niezależnie od tego, czy element był z nim widoczny (wcześniej miał wartość 12.dp, a w przeciwnym razie – 14.dp) (I34c86).
Poprawki błędów
- Dodaj testy dla CurvedRow (I93cdb)
- Łączenie zależności w Wear Compose z funkcją Compose 1.0.0-rc01. (IE6Bc9)
- Zmieniliśmy sposób malowania obrazów tła w kartach i elementach. Obraz został przycięty, a nie rozciągnięty, co pozwoli zachować jego proporcje. (I29b41)
- Dodaliśmy więcej wersji demonstracyjnych i testów integracji interfejsów Button i SwitchButton. (5e27ed2).
- Dodaliśmy więcej testów dotyczących elementów, aby uwzględnić kolory treści w imageBackgroundChips (Ia9183).
Wersja 1.0.0-alpha01
1 lipca 2021 r.
androidx.wear.compose:compose-foundation:1.0.0-alpha01
i androidx.wear.compose:compose-material:1.0.0-alpha01
zostały udostępnione. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
Wear Compose to biblioteka Kotlin oparta na Compose, która obsługuje interfejs Wear Material Design będący rozszerzeniem Material Design na urządzenia do noszenia z Wear OS. Pierwsza wersja alfa zawiera wczesne, funkcjonalne implementacje tych elementów:
- Motyw Material Design – pozwala spójnie konfigurować kolory, typografię i kształty we wszystkich komponentach używanych z tej biblioteki.
- Chip i CompactChip – mają kształt stadionowy. Dostępne są warianty, które pozwalają umieścić ikony, etykiety i materiały z dodatkowych wytwórni.
- – SwitchChip, SplitToggleChip: specjalny typ układu, który zawiera miejsce na dwustanową ikonę przełączania, np. opcję lub pole wyboru. Dodatkowo interfejs SplitToggleChip zawiera 2 obszary, które można kliknąć: 1 klikalny i 1 przełączany.
- Przycisk, CompactButton – przyciski mają okrągły kształt, z jednym boksem na ikonę lub minimalną ilością tekstu (maksymalnie 3 znaki).
- Przycisk przełączania – przycisk z jednym polem na ikonę lub minimalną ilością tekstu (maksymalnie 3 znaki) do włączania i wyłączania działania.
- Karta, AppCard – prostokątny prostokąt z zaokrąglonymi rogami zawierający miejsca na takie elementy jak ikona aplikacji, godzina, tytuł i treść.
W kolejnych wersjach zestaw widżetów zostanie rozszerzony o obsługę selektorów, suwaków, list, wskaźników stron, okien, wskaźników rsb przewijania, powiadomień i innych elementów Wear Material Design.
Dodatkowo zapewnimy obsługę innych funkcji związanych z urządzeniami do noszenia, takich jak zakrzywione układy i tekst, a także rusztowanie ułatwiające deweloperom tworzenie aplikacji i nakładek do noszenia.
Został opracowany zgodnie z tymi samymi zasadami co w przypadku elementu kompozycyjnego, ale jest kierowany na urządzenia do noszenia. Podczas tworzenia urządzeń do noszenia zamiast biblioteki Compose Compose należy używać biblioteki Material Wear Compose zamiast biblioteki Compose Compose.
Dwie biblioteki „Materiałów” powinny być wzajemnie wykluczające się i nie należy ich mieszać w tej samej aplikacji. Jeśli deweloperzy uwzględnili w swoich zależnościach bibliotekę Compose Material, sugeruje to, że: a) brakuje komponentów w bibliotece materiałów Wear Compose, prosimy o informacje, czego potrzebują, lub b) używają komponentu, którego nie zalecamy do noszenia na urządzeniu do noszenia.