Tworzenie wiadomości na Wear
Najnowsza aktualizacja | Wersja stabilna | Kandydat do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
12 czerwca 2024 r. | 1.3.1 | - | 1.4.0-beta03 | - |
Deklarowanie zależności
Aby dodać zależność na Wear, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.
W pliku build.gradle
aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:
Odlotowy
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 znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wear Compose Material3 w wersji 1.0
Wersja 1.0.0-alfa23
14 maja 2024 r.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha23
została zwolniona. Wersja 1.0.0-alfa23 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zaktualizowaliśmy interfejsy API
ToggleButton
iRadioButton
, aby umożliwić konfigurowanie wyłączonych kolorów. (If13a7) - Dodaliśmy nowe
CircularProgressIndicator
dla Material3. (Ib3bd7)
Poprawki błędów
- Naprawiliśmy błąd polegający na tym, że po wybraniu przycisków dotykanie dwukrotne kliknięcie włącza się automatycznie. (I7ed88)
Wersja 1.0.0-alfa22
1 maja 2024 r.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha22
została zwolniona. Wersja 1.0.0-alfa22 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zaktualizowaliśmy dokument Material3:
ColorScheme
. (I7b2b8) - Zaktualizowaliśmy przełącznik Material3. Oprócz tego znacznik zmienił się, podobnie jakby zmienił się kolor pola 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.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha21
została zwolniona. Wersja 1.0.0-alpha21 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.
Aplikacja 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 alfa stanu naciśnięcia Echa i zaznaczenia w celu zwiększenia kontrastu. (I59f0a)
- Zgodnie z najnowszymi zmianami w stylach typograficznych i wysokości linii dodaliśmy odstępy między etykietami głównymi i dodatkowymi w
Button
,ToggleButton
iRadioButton
. (I2c0ba)
Wersja 1.0.0-alfa19
6 marca 2024 roku
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha19
została zwolniona. Wersja 1.0.0-alfa19 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaliśmy
TimeText
do biblioteki Wear Compose Material3. Ten komponent pokazuje aktualną godzinę (i dodatkowy stan) u góry ekranu. Nowy, zwięzły interfejs Material3 API zapobiega powielaniu treści linearnych i zakrzywionych. (I4d7c3) - Zmieniliśmy nazwy parametrów dla:
RadioButton
zonSelected
naonSelect
. (I1a971). - Tokenizacja
RadioButton
iSplitRadioButton
oraz refaktoryzowanie istniejących metod, aby zmniejszyć ilość wyszukiwaniaCompositionLocal
, przez dodanie wystąpień kolorów w pamięci podręcznej oraz wprowadzenie metodRadioButtonColors
iSplitRadioButtonColors
wewnętrznych. (I02b33).
Wersja 1.0.0-alfa18
21 lutego 2024 r.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha18
została zwolniona. Wersja 1.0.0-alfa18 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zrefaktoryzowaliśmy wzorzec domyślnych ustawień
CardColors
,ToggleButtonColors
iSplitToggleButtonColors
, tworząc wewnętrzne instancje w pamięci podręcznej i ograniczając użycieCompositionLocal
. (If3fec)
Wersja 1.0.0-alfa17
7 lutego 2024 r.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha17
została zwolniona. Wersja 1.0.0-alfa17 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zaktualizowaliśmy interfejs API przycisku, aby domyślnie używał interfejsu
buttonColors
, i usunęliśmy duplikat elementufilledButtonColors
. (I4fe3b) - Zrefaktoryzowaliśmy wzorce domyślne dla
ButtonColors
,IconButtonColors
iTextButtonColors
, tworząc wewnętrznie instancję w pamięci podręcznej i ograniczając użycieCompositionLocal
. (I5f51c) - Usunęliśmy narzut elementu
rememberUpdatedState
w klasach kolorów specyficznych dla komponentów i oznaczyliśmy metody akcesorium w klasach kolorów jako wewnętrzne. (If6571)
Poprawki błędów
- Zaktualizowaliśmy aplikację
Modifier.minimumInteractiveComponentSize
, aby używała uprawnieńModifier.node
. (Iba6b7)
Wersja 1.0.0-alfa16
24 stycznia 2024 r.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha16
została zwolniona. Wersja 1.0.0-alfa16 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy
CompactButton
, który może używać tych samych wypełnionych, wypełnionych i konturowych kolorów co przycisk.(I05df0)
Zmiany w interfejsie API
- Dodaliśmy
RadioButton
/SplitRadioButton
jako kontenery do elementów sterujących umożliwiających wybór, np. sterowania głosem. Różni się od obecnej funkcjiToggleButton
tym, że elementRadioButton
można wybrać (i działa w grupie wyboru), a elementToggleButton
można przełączać (i jest niezależny). (I61275) - Usuwamy język
LocalContentAlpha
z biblioteki Material3 na Wear Compose, aby zachować spójność z biblioteką Compose Material3. (I49a0a) - Komponenty Wear Material3 i Material3, które stwarzałyby w interfejsie API wartość
MutableInteractionSource
, zostały zaktualizowane tak, aby ujawnić 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 przenosić obiektuMutableInteractionSource
– w razie potrzeby zostanie on utworzony w komponencie. Zmiana na wartość null sprawi, że niektóre komponenty nigdy nie będą przydzielać elementuMutableInteractionSource
, a inne komponenty będą mogły tylko leniwe tworzenie instancji, gdy będzie to konieczne, co zwiększy wydajność tych komponentów. Jeśli nie używasz obiektuMutableInteractionSource
przekazywanego do tych komponentów, zalecamy przekazywanie zamiast niego wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (Ib90fc, b/298048146) - Dodano nowy interfejs API Ripple do bibliotek
wear:compose-material
iwear:compose-material3
, który zastępuje wycofaną wersjęrememberRipple
. Dodaje też tymczasowyCompositionLocal
(LocalUseFallbackRippleImplementation
), który pozwala przywrócić w Material Design komponenty z wycofanymi interfejsami APIrememberRipple/RippleTheme
. Zostanie ona usunięta w następnej stabilnej wersji. Ma być tymczasową pomoc przy migracji tylko w przypadkach, gdy udostępniasz niestandardowyRippleTheme
. Na stronie developers.android.com znajdziesz informacje o migracji oraz inne informacje, które wiążą się z tą zmianą. (af92b21) - Wprowadziliśmy drobne ulepszenia w interfejsie
HorizontalPageIndicator
API i jego dokumentacji. (I60efc) - Zaktualizowaliśmy funkcję
ColorScheme
, aby stała się niezmienna, dzięki czemu poszczególne zmiany kolorów są mniej efektywne, ale bardziej efektywne używanie kolorów jest bardziej wydajne. Powodem tej zmiany jest to, że w przypadku większości aplikacji nie trzeba aktualizować poszczególnych kolorów. Nadal jest to możliwe, ale spowoduje ponowne utworzenie większej liczby subskrypcji niż do tej pory. To z kolei znacznie zmniejszymy liczbę subskrypcji stanowych za pomocą całego kodu materialnego, co wpłynie na inicjowanie i koszty działania w bardziej standardowych przypadkach użycia. (Ibc2d6) - Zaktualizowaliśmy interfejsy API
ToggleButton
iSplitToggleButton
, aby umożliwić dostosowywanie wyłączonych kolorów. Oprócz tego tokeny Material Design są używane do określania wartości koloru i typografii. (If087c) - Zaktualizowano kolory tła obrazu przycisku, aby można było używać tokenów Material Design. (Iba215)
- Zmieniliśmy komponenty
Checkbox
,Switch
iRadioButton
, tak aby umożliwiały tylko wyświetlanie, usuwając obsługę kliknięć. Te komponenty powinny być używane w narzędziu(Split)ToggleButton
, które obsługuje kliknięcia, więc są teraz wyraźniej oznaczone jako przeznaczone tylko do wyświetlania (i nie są przeznaczone do samodzielnego użytku na Wear). (I2322e)
Poprawki błędów
- Dodaliśmy tokeny dla wartości czasu trwania i wygładzania ruchu w Wear Compose Material 3. (I437cd)
- Naprawiliśmy błąd w elementach
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
iRadioButton
, dzięki czemu powiadomienia o ułatwieniach dostępu nie powtarzają się (wcześniej powtarzały się role semantyczne). (Ica281) - Usunęliśmy warstwę Materialcore z urządzenia
CompactButton
, aby poprawić wydajność. (7902858)
Wersja 1.0.0-alfa15
15 listopada 2023 r.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha15
została zwolniona. Wersja 1.0.0-alpha15 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zmieniliśmy nazwę poziomu podstawowego
SwipeToDismissBox
naBasicSwipeToDismissBox
. Dzięki temu wyraźnie widać rozróżnienie między komponentem na poziomie podstawowym a elementemSwipeToDismissBox
na poziomie Material3. To ostatnie pobiera kolory zMaterialTheme
, które będą używane w Scrims, a pozostałą implementację przekazuje interfejsowiBasicSwipeToDismissBox
. (Ibecfc)
Poprawki błędów
- Usunęliśmy warstwę Material-Core z przycisku Material3, aby poprawić wydajność. (I55555)
Wersja 1.0.0-alfa14
18 października 2023 r.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha14
została zwolniona. Wersja 1.0.0-alfa14 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Usunęliśmy parametr
indicatorStyle
z interfejsu Material3HorizontalPageIndicator
. Zamiast tego będzie on odpowiadał kształtowi ekranu urządzenia (liniowy lub okrągły). (I83728) - Oddzieliliśmy kolory w polu
SplitToggleButton
iToggleButton
, dodając nową klasęSplitToggleButtonColors
. (I78bee)
Wersja 1.0.0-alfa13
4 października 2023 roku
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha13
została zwolniona. Wersja 1.0.0-alfa13 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Do interfejsu
TitleCard
dodaliśmy opcjonalne pole Podtytuł. (Ifc45a) - Dodaliśmy tokeny kolorów Material Design dla kategorii
TextButton
. (I769dc)
Wersja 1.0.0-alfa12
20 września 2023 r.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha12
została zwolniona. Wersja 1.0.0-alpha12 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zaktualizowaliśmy
IconButton
, aby można było używać tokenów Material Design. (I3f137) - Zaktualizowaliśmy
IconToggleButton
, aby można było używać tokenów Material Design. (I7d263) - Konstruktorami
CheckboxColors
,RadioButtonColors
iSwitchColors
udostępniliśmy publicznie. (I82b73)
Wersja 1.0.0-alfa11
6 września 2023 r.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha11
została zwolniona. Wersja 1.0.0-alpha11 zawiera te zatwierdzenia.
Poprawki błędów
- Zaktualizowaliśmy typografię kart Material3 na
TitleMedium
. (I597bd) - Zaktualizowaliśmy typografię i ujednolicenie naszych Material3
ListHeader
iListSubheader
. (Ib5ceb)
Wersja 1.0.0-alfa10
23 sierpnia 2023 r.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha10
została zwolniona. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaj
HorizontalPageIndicator
w bibliotece Wear Material3. (Ifee99)
Zmiany w interfejsie API
- Zaktualizuj kod przycisku, aby używać tokenów projektu Material3. (I92fe4)
- Zadeklarowanie interfejsów API Wear Material 3 Stepper i Slider jako eksperymentalnych, ponieważ szczegóły interfejsu są jeszcze w fazie opracowywania. (I84d54)
- Usunęliśmy rozmiary
ExtraSmall
z okrągłychTextButton
iTextToggleButton
, ponieważ dotyczy to tylkoIconButton
. (Ibc7d5)
Poprawki błędów
- Zaktualizowaliśmy wskazówki dotyczące typografii dla elementu TextToggleButton, aby używać etykiety LabelLarge for LargeButtonSize (Ib10fa)
- Zaktualizowaliśmy wskazówki dotyczące typografii dla elementu TextButton, aby używać etykiety LabelLarge for LargeButtonSize (I8f3a7)
- Minimalny docelowy obszar dotykowy karty ustawiliśmy na 48 dp na potrzeby ułatwień dostępu. (Ieb9b1)
- Dodaj AppCard z obrazem demonstracyjnym, usuwając aplikację AppCard z prezentacją w tle (Id735f)
- Naprawa błędu w okrągłych przyciskach, które powodują nieprawidłowe połączenie modyfikatorów. (I5e162)
Wersja 1.0.0-alfa09
9 sierpnia 2023 r.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha09
została zwolniona. Wersja 1.0.0-alpha09 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy
ToggleButton
dla elementu Material3 (I6bed6).
Zmiany w interfejsie API
- Włączyliśmy adnotację
FloatRange
jako ograniczenia interfejsu API , które wcześniej były podawane w komentarzach. (Icb401) - Zaktualizowaliśmy typografię elementów Wear Material3, aby była zgodna z najnowszymi wytycznymi dotyczącymi tego standardu. (I1bad6)
Poprawki błędów
- Zaktualizowaliśmy kolory urządzeń
Button
,IconButton
iTextButton
, aby były zgodne z wyglądem Material3. (Ib2495) - Naprawiliśmy widoczność znaczników wyboru w stanach wyłączenia. (Ib25bf)
Wersja 1.0.0-alfa08
26 lipca 2023 r.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha08
została zwolniona. Wersja 1.0.0-alpha08 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy te elementy sterujące wyborem w przypadku Materiał3 –
Switch
,Checkbox
,RadioButton
. (Ib918c) - Dodaliśmy
IconToggleButton
iTextToggleButton
do Material3 – okrągły przycisk przełączania z pojedynczym miejscem na ikonę i tekst. W przypadku różnych rozmiarówToggleButton
zalecamy użycie atrybutuModifier.touchTargetAwareSize
z rozmiarami podanymi w odpowiednich przyciskach przełączania. (I9f015) - Do komponentów Material3 dodaliśmy atrybuty
ListHeader
iListSubheader
. (Ibaefe) - Dodano materiał Material3
SwipeToDismissBox
, który wywołuje nową podstawęSwipeToDismissBox
i poda domyślne wartości kolorów z motywu. (I275fb) - Dodaliśmy
InlineSlider
Material3 do Wear Compose. Użytkownicy mogą dokonać wyboru z wielu wartości. Zakres wyboru jest widoczny jako słupek między wartością minimalną a maksymalną z zakresu, z którego użytkownicy mogą wybrać jedną wartość.InlineSlider
idealnie nadaje się do regulacji ustawień takich jak głośność czy jasność. (I7085f)
Zmiany w interfejsie API
- Zaktualizowaliśmy kształty w motywie Wear Material 3, aby używać obiektu
RoundedCornerShape
zamiast kształtu. (Idb133). - Stałe wysokości przycisku ustawiliśmy jako publiczne (Idbfde).
- Zaktualizowano pliki interfejsu API, aby dodać adnotacje do pomijania zgodności (I8e87a, b/287516207)
- Zaktualizowaliśmy element
InlineSliderColors
w komponencie Wear Compose Material 3, aby zawierał publiczny konstruktor i właściwości publiczne. (I6b632) - Zaktualizowaliśmy wszystkie klasy kolorów w Wear Compose Material 3, aby uwzględnić publiczne konstrutory i właściwości publiczne. (I17702)
- Stałe dopełnienie przycisku w poziomie i w pionie są teraz publiczne. (Ieeaf7)
Poprawki błędów
- Wysokość przycisku będzie teraz dostosowywana do treści, która zwiększyła się dzięki dużym czcionkom ułatwiającym dostęp (Iaf302)
- Zaktualizowaliśmy kilka wersji demonstracyjnych przycisku, aby rozwiązać problemy z ułatwieniami dostępu. (I61ce9)
Stepper
iInlineSlider
obsługują teraz wielokrotne kliknięcia przy długim naciśnięciu, dzięki czemu możesz szybko zwiększać lub zmniejszać wartośćStepper
iInlineSlider
, przytrzymując przyciski + lub - (I27359).
Wersja 1.0.0-alfa07
21 czerwca 2023 r.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha07
została zwolniona. Wersja 1.0.0-alpha07 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy komponent
Stepper
do biblioteki tworzenia wiadomości na Wear OS Material 3. Jest to podobne do poprzedniej wersji Material, ale ze względu na opinie deweloperów domyślnie pomijane są semantyki zakresu. Przypadki, w których wymagana jest semantyka zakresu, podajemy w poluModifier.rangeSemantics
. (Ic39fd) - Dodaliśmy aplikację
curvedText
do biblioteki tworzenia wiadomości na Wear OS Material 3. (Ia8ae3)
Poprawki błędów
- Zaktualizowaliśmy
wear.compose.foundation
, aby był zależność interfejsu APIwear.compose.material3
(I72004, b/285404743)
Wersja 1.0.0-alfa06
7 czerwca 2023 r.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha06
została zwolniona. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.
Poprawki błędów
- Zaktualizowaliśmy funkcję
TextButton
, aby używała funkcji rozszerzeniatoDisabledColor
w przypadku prawidłowych wyłączonych wartości alfa. (I814c8)
Wersja 1.0.0-alfa05
24 maja 2023 r.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha05
została zwolniona. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.
Nowe funkcje
- Do Material3 dodaliśmy okrągły przycisk
TextButton
z pojedynczym miejscem na tekst. W przypadku różnych rozmiarówTextButton
zalecamy użycieModifier.touchTargetAwareSize
iExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
iLargeButtonSizeIcon
dostępnych wTextButtonDefaults
. Domyślny elementTextButton
nie ma obramowania i jest przezroczysty w przypadku działań, które nie wymagają dużego nacisku. W przypadku działań, które wymagają znacznego wyróżnienia, użyjfilledTextButtonColors
. W przypadku średnio traktowanych celów (TextButton
) ustaw obramowanie naButtonDefaults.outlinedButtonBorder
. Aby znaleźć pośredni element między konturem a wypełnieniem – użyjfilledTonalTextButtonColors
. (I667e4) - Dodaliśmy
Card
,OutlinedCard
,AppCard
iTitleCard
do biblioteki Wear Compose Material3. ElementyAppCard
iTitleCard
można też ustawić jako kontur za pomocą znakówCardDefaults.outlinedCardColors
iCardDefaults.outlinedCardBorder
(I80e72)
Zmiany w interfejsie API
- Przenieśliśmy na koniec parametr etykiety przycisku, aby umożliwić obsługę składni lambda na końcu, i usunęliśmy parametr roli (można go zastąpić za pomocą funkcji
Modifier.semantics
). KonstruktoryButtonColors
są teraz publiczne. (Ie1b6d)
Wersja 1.0.0-alfa04
10 maja 2023 r.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha04
została zwolniona. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.
Nowe funkcje
- Do Material3 dodaliśmy
IconButton
– okrągły przycisk z pojedynczym miejscem na ikonę/obraz. Dostępne są 4 warianty:IconButton
,FilledIconButton
,FilledTonalIconButton
iOutlinedIconButton
. W przypadku różnych rozmiarówIconButton
zalecamy użycieModifier.touchTargetAwareSize
iExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
iLargeButtonSizeIcon
dostępnych wIconButtonDefaults
. Dostępne są też parametryIconButtonDefaults.iconSizeFor
służące do określania zalecanego rozmiaru ikony dla danego rozmiaru przycisku. (I721d4)
Wersja 1.0.0-alfa03
19 kwietnia 2023 r.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha03
została zwolniona. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaliśmy komponent przycisku Material 3 – jest to przycisk w kształcie stadionu, który w bibliotece materiałów na Wear Compose nosił wcześniej nazwę Chip (została ona zmieniona na Przycisk, aby zachować spójność z biblioteką Compose Material 3). Przycisk domyślny ma wypełnione tło. Dostępne są też odmiany przycisków:
FilledTonal
(wyciszone tło), Konturowy (przezroczysty z cienką obwódką) i Podrzędny (przezroczyste tło bez obramowania, używane do dodatkowych działań o najmniejszej widoczności). W kolejnej wersji pojawią się okrągłe przyciski do prostych ikon i tekstu.(Ia6942)
Wersja 1.0.0-alfa02
5 kwietnia 2023 r.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha02
została zwolniona. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Poprawki błędów
- Do interfejsu Wear Compose Material 3 dodaliśmy element
DefaultTextStyle
. Ustawienie domyślnePlatformTextStyle.includeFontPadding
ma wartość Prawda (bieżące ustawienie). Pozwoli nam to zsynchronizować w przyszłości domyślne wyłączenie dopełnienia czcionki z bibliotekami tworzenia wiadomości (patrz Naprawa dopełnienia czcionki w obszarze tworzenia wiadomości). (I7e461)
Wersja 1.0.0-alfa01
22 marca 2023 r.
Aplikacja androidx.wear.compose:compose-material3:1.0.0-alpha01
została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
Material 3 to kolejna ewolucja stylu Material Design, która obejmuje zaktualizowane motywy i zaprojektowane na nowo komponenty. Materiał 3 w Wear Compose jest spójny z biblioteką Material 3 Compose na Androidzie. Ta pierwsza wersja alfa zawiera wczesne, funkcjonalne implementacje następujących elementów:
Będziemy nadal pracować równolegle z materiałami 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 poszerzony o inne znane komponenty z usługi Utwórz 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 przede wszystkim 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.
Aplikacja 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 atrybut
Modifier.rotaryScrollable
, aby zastąpić użycie elementu „możliwy do zaznaczenia” elementem „focusTarget”, aby zwiększyć skuteczność. (Id294b) - Rozwiązaliśmy problem, który powodował, że aplikacja
ProgressIndicator
powtórzyła swoje ogłoszenie na stronieTalkBack
. (I94563) - Zaktualizowaliśmy profile podstawowe biblioteki Wear Compose. (I3cbc3)
Wersja 1.4.0-beta02
29 maja 2024 r.
Aplikacja 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ść granic, która jest przekazywana czytnikom ekranu z tekstu zakrzywionego, aby rozwiązać problemy z obcinaniem tekstu (Id865f).
- Ograniczyliśmy granicę
HorizontalPageIndicator
, która była przekazywana do czytników ekranu – wcześniej wskaźnik zajmował pełny ekran (Id8d7a).
Wersja 1.4.0-beta01
14 maja 2024 r.
Aplikacja androidx.wear.compose:compose-*:1.4.0-beta01
została zwolniona. Wersja 1.4.0-beta01 zawiera te zatwierdzenia.
Wersja 1.4–beta01 funkcji Utwórz na Wear OS wskazuje, że ta wersja biblioteki jest już gotowa, a interfejs API jest zablokowany (z wyjątkiem sytuacji oznaczonych jako eksperymentalne). Wear Compose 1.4 zawiera te nowe funkcje:
- Dodaliśmy
Modifier.rotaryScrollable
– nowy modyfikator, który łączy zdarzenia obrotowe z przewijanymi kontenerami, umożliwiając użytkownikom przewijanie za pomocą pokrętła lub obracającej się ramki na urządzeniu z Wear OS. DodatkowoScalingLazyColumn
iPicker
domyślnie obsługują teraz pokrętło. ParametrrotaryScrollableBehavior
służy do konfigurowania działania przewijania lub przyciągania. Aby zapewnić działanie funkcji przyciągania, zalecamy jej stosowanie za pomocą parametruflingBehavior
, a także w przypadku przewijania dotykowego. SwipeDismissableNavHost
wyświetla teraz animację wejścia dla przejść w aplikacji.PositionIndicator
wyświetla się teraz domyślnie przy pierwszym wyświetleniu ekranu.- W przypadku ułatwień dostępu dodano
SelectableChip
iSplitSelectableChip
jako odmianę w języku:ToggleChip
– użyj tego atrybutuRadioButton
, aby zapewnić możliwość wyboru semantyki zamiast przełączania semantyki ułatwień dostępu ListHeader
obsługuje teraz dostosowanie wysokości, gdy treść potrzebuje dodatkowej wysokości, aby zmieścić się w dużych rozmiarach czcionek.
Poprawki błędów
- Naprawiliśmy błąd polegający na tym, że elementy z możliwością wyboru deklarowały dwukrotne kliknięcie, aby przełączyć je po wybraniu elementów. (I7ed88)
Wersja 1.4.0-alfa08
1 maja 2024 r.
Aplikacja androidx.wear.compose:compose-*:1.4.0-alpha08
została zwolniona. Wersja 1.4.0-alpha08 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Wprowadziliśmy następujące zmiany w nowym interfejsie API: nazwa z
Modifier.rotary
naModifier.rotaryScrollable
, nazwa interfejsuRotaryBehavior
naRotaryScrollableBehavior
, a jego funkcjahandleScrollEvent
naperformScroll
, nazwaRotaryScrollableAdapter
naRotaryScrollableLayoutInfoProvider
i usunięcie właściwościscrollableState
. (I0c8a6) - Wprowadziliśmy dodatkowe zmiany w obrotowym interfejsie API: zmieniliśmy nazwę
RotaryScrollableLayoutInfoProvider
naRotarySnapLayoutInfoProvider
(ponieważ ten dostawca jest potrzebny tylko w przypadku obrót ze strzałką). Zmieniliśmy typ parametrusnapOffset
wRotaryScrollableDefaults.snapBehavior snapOffset
z Int na Dp. (Iddebe) - Zmieniliśmy nazwę parametru
clickInteractionSource
w domenieSplitSelectableChip
nacontainerInteractionSource
. (Ia8f84) - Zaktualizowaliśmy nazwy parametrów wywołania zwrotnego kliknięcia dla
SplitSelectableChip
– zonClick
naonSelectionClick
i zonBodyClick
naonContainerClick
. (I32237)
Poprawki błędów
- Zaktualizowaliśmy poziome dopełnienie elementu
PositionIndicator
na 2 dp (poprzednio 5 dp), aby naprawić błąd polegający na tym, że pasek przewijaniaPositionIndicator
zasłaniał treść, którą można przewijać. Uwaga: ze względu na zmianę dopełnienia ta zmiana powinna spowodować nieprawidłowe działanie istniejących zrzutów ekranu zawierającychPositionIndicator
. (I57472) - Poprawiliśmy dokumentację nowego obrotowego interfejsu API, przedstawiając różnice między obrotowymi urządzeniami o niskiej i wysokiej rozdzielczości. (I63abe)
- W usłudze
SwipeDismissableNavHost
rozwiązaliśmy wyjątek spoza zakresu, który mógł być aktywowany, gdy interpolowane wartości alfa były mniejsze od zera. (Ib75a1, b/335782510)
Wersja 1.4.0-alfa07
17 kwietnia 2024 r.
Aplikacja androidx.wear.compose:compose-*:1.4.0-alpha07
została zwolniona. Wersja 1.4.0-alfa07 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaliśmy
Modifier.rotary
– nowy modyfikator, który łączy zdarzenia obrotowe z przewijanymi kontenerami, umożliwiając użytkownikom przewijanie za pomocą pokrętła lub obracającej się ramki na urządzeniu z Wear OS. DodatkowoScalingLazyColumn
i selektor domyślnie obsługują pokrętło. Nowe przeciążenia zawierają parametrrotaryBehavior
określający konfigurację przewijania lub przyciągania. Jeśli parametrrotaryBehavior
jest ustawiony na przyciąganie, zalecamy wywoływanie funkcji również za pomocą parametruflingBehavior
w przypadku przewijania dotykowego. (I2ef6f) - Przeciąganie i przesuwanie (
NestedScroll
) zostało zastąpione przezUserInput
iSideEffect
, aby uwzględnić rozszerzoną definicję tych źródeł, które obejmują teraz animacje (Efekt boczny) oraz Kółko myszy i klawiaturę (UserInput). (I40579) - Dodaliśmy
SelectableChip
iSplitSelectableChip
, aby ułatwić rozróżnienie między przełącznikami, takimi jakSwitch/Checkbox
, a elementami do wyboru, takimi jakRadioButton
. Spowoduje to zastąpienie wcześniej dodanych przeciążeń (ToggleChip/SplitToggleChip
) parametramiselectionControl
. (Ia0217) - Zaktualizowano modyfikator widoczności elementu
IndeterminateStrokeWidth
w domenieProgressIndicatorDefaults
na publiczny. (I5b5a4)
Wersja 1.4.0-alfa06
3 kwietnia 2024 r.
Aplikacja androidx.wear.compose:compose-*:1.4.0-alpha06
została zwolniona. Wersja 1.4.0-alpha06 zawiera te zatwierdzenia.
Poprawki błędów
- W ramach działań związanych z przejściem z horologa na AndroidaX dodaliśmy wewnętrzną wersję roboczą wsparcia rotacyjnego. (I617d1)
- W ramach działań związanych z przeniesieniem działania rotologicznego do AndroidaX z poziomu horyzontu dodaliśmy wewnętrzną wersję roboczą obsługi reakcji haptycznych. (I5568a)
Wersja 1.4.0-alfa05
20 marca 2024 r.
Aplikacja androidx.wear.compose:compose-*:1.4.0-alpha05
została zwolniona. Wersja 1.4.0-alpha05 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Właściwości
initialCenterItemIndex
iinitialCenterItemScrollOffset
zasobuScalingLazyListState
są dostępne publicznie. (I0c616) - Udostępniliśmy dokument
FullScreenStrokeWidth
z witrynyProgressIndicatorDefaults
jako publiczny. (Ibea23)
Poprawki błędów
- Poprawiliśmy skuteczność aplikacji
PositionIndicator
dzięki zmniejszeniu liczby połączeń dolayoutInfo
zScalingLazyColumn
. (IDc83d).
Wersja 1.4.0-alfa04
6 marca 2024 roku
Aplikacja androidx.wear.compose:compose-*:1.4.0-alpha04
została zwolniona. Wersja 1.4.0-alpha04 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaliśmy nowe przeciążenie dla parametrów
ToggleChip
iSplitToggleChip
, które przyjmuje parametrselectionControl
zamiast parametrutoggleControl
. Tego parametru należy używać z elementem sterującymRadioButton
, aby zapewnić możliwość wyboru semantyki zamiast przełączania semantyki na potrzeby ułatwień dostępu (I1d6d9). - Zaktualizowaliśmy nazwy parametrów nowego przeciążenia
selectionControl
zonSelected
naonSelect
dlaToggleChip
iSplitToggleChip
(I1a971)
Wersja 1.4.0-alfa03
21 lutego 2024 r.
Aplikacja androidx.wear.compose:compose-*:1.4.0-alpha03
została zwolniona. Wersja 1.4.0-alpha03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Kod
Modifier.inspectable
został wycofany. Ten interfejs API będzie tworzyć większą liczbę unieważnień modyfikatora niż to konieczne, więc odradzamy korzystanie z niego. Zachęcamy deweloperów do zaimplementowania metodyinspectableProperties()
w elemencieModifierNodeElement
, jeśli chcą udostępnić narzędzia w zakresie właściwości modyfikatora. (Ib3236)
Poprawki błędów
- Naprawiliśmy błąd w dokumentacji dotyczący adnotacji
WearPreview*
. (Id526d)
Wersja 1.4.0-alfa02
7 lutego 2024 r.
Aplikacja androidx.wear.compose:compose-*:1.4.0-alpha02
została zwolniona. Wersja 1.4.0-alpha02 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiliśmy błąd związany z przesuwaniem palcem po ekranie, w którym można było wchodzić w interakcję (i anulować) zaplanowane działanie na jednym elemencie przez przesuwanie palcem po innym elemencie.(Ide059)
- Zaktualizowaliśmy atrybut
ListHeader
, by umożliwić regulację wysokości w przypadku, gdy treść wymaga dodatkowej wysokości ze względu na duży rozmiar czcionki. (I7290c, b/251166127)
Wersja 1.4.0-alfa01
24 stycznia 2024 r.
Aplikacja androidx.wear.compose:compose-*:1.4.0-alpha01
została zwolniona. Wersja 1.4.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy animację wpisów w
SwipeDismissableNavHost
dla przejść w aplikacji.(cfeb79a) PositionIndicator
wyświetla się teraz domyślnie przy pierwszym wyświetleniu ekranu. Wprowadziliśmy tę zmianę, by dostosować ją do naszych wytycznych dotyczących jakości Wear. Oznacza to, że na ekranach, które zawierająPositionIndicator
, trzeba będzie zaktualizować zrzuty ekranu, ponieważ przyciskPositionIndicator
wcześniej się nie wyświetlał. (419cef7)
Zmiany w interfejsie API
- W bibliotekach
wear:compose-material
iwear:compose-material3
dodaliśmy nowy interfejs API Ripple, który zastąpił wycofaną wersjęrememberRipple
. Dodaje też tymczasowyCompositionLocal
(LocalUseFallbackRippleImplementation
), który pozwala przywrócić w Material Design komponenty z wycofanymi interfejsami APIrememberRipple/RippleTheme
. Zostanie ona usunięta w następnej stabilnej wersji. Ma być tymczasową pomoc przy migracji tylko w przypadkach, gdy udostępniasz niestandardowyRippleTheme
. Na stronie developers.android.com znajdziesz informacje o migracji oraz inne informacje, które wiążą się z tą zmianą. (af92b21) - Zaktualizowaliśmy funkcję
ColorScheme
, aby stała się niezmienna, dzięki czemu poszczególne zmiany kolorów są mniej efektywne, ale bardziej efektywne używanie kolorów jest bardziej wydajne. Powodem tej zmiany jest to, że w przypadku większości aplikacji nie trzeba aktualizować poszczególnych kolorów. Nadal jest to możliwe, ale spowoduje ponowne utworzenie większej liczby subskrypcji niż do tej pory. To z kolei znacznie zmniejszymy liczbę subskrypcji stanowych w całym kodzie materialnym, co wpłynie na inicjowanie i koszty działania w większej liczbie standardowych przypadków użycia. (F5c48b7) - Komponenty Wear Material3 i Wear material3 stwarzające w interfejsie API lukę w elemencie
MutableInteractionSource
ujawniają terazMutableInteractionSource
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 przenosić obiektuMutableInteractionSource
– w razie potrzeby zostanie on utworzony w komponencie. Zmiana na wartość null sprawi, że niektóre komponenty nigdy nie będą przydzielać elementuMutableInteractionSource
, a inne komponenty będą mogły tylko leniwe tworzenie instancji, gdy będzie to konieczne, co zwiększy wydajność tych komponentów. Jeśli nie używasz obiektuMutableInteractionSource
przekazywanego do tych komponentów, zalecamy przekazywanie zamiast niego wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (f8fa920) - Zaktualizowaliśmy
rememberExpandableState
, by zapisać stan reklamy rozwijanej. Dzięki temu dane będą przechowywane, gdy przejdziesz na inny ekran, i zostaną przywrócone po powrocie do pierwotnego ekranu. (5c80095)
Poprawki błędów
- Zaktualizowaliśmy ustawienie
ReduceMotion
, aby używać detektora świadomego cyklu życia. (7c6b122) - Zaktualizowaliśmy detektor aplikacji
TouchExplorationStateProvider
, aby uwzględniał cykl życia (be28b01) - Usunęliśmy warstwę Materialcore z aplikacji
CompactButton
, by poprawić wydajność (25db8e9). - Aby uniknąć wyjątków, udoskonaliliśmy
BasicSwipeToDismissBox
w odniesieniu do przesunięcia NaN (b983739) - Zaktualizowaliśmy
BasicSwipeToDismissBox
, aby mieć pewność, że wartości alfa mieszczą się w zakresie 0,1 - Naprawiliśmy błąd w
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
iRadioButton
, dzięki czemu komunikaty o ułatwieniach dostępu nie powtarzają się (wcześniej powtarzały się role semantyczne) (d11eeb7)
Wersja 1.3
Wersja 1.3.1
3 kwietnia 2024 r.
Aplikacja 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 związany z przesuwaniem palcem po ekranie, w którym można było wchodzić w interakcję (i anulować) zaplanowane działanie na jednym elemencie przez przesuwanie palcem po innym elemencie. (Ide059)
Wersja 1.3.0
24 stycznia 2024 r.
Aplikacja androidx.wear.compose:compose-*:1.3.0
została zwolniona. Wersja 1.3.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.2.0
- Klasa
SwipeToDismissBoxState
, wyliczenieSwipeToDismissValue
i funkcja rozszerzeniaModifier.edgeSwipeToDismiss
są teraz częścią pakietuandroidx.wear.compose.foundation
, a nie jak dotychczasandroidx.wear.compose.material
. Ta zaktualizowana architektura umożliwia wdrożenie obsługi gestów niezależnie od innych aspektów projektowania. Procesy w stylu Material Design, takie jak stosowanie kolorów ze skonfigurowanego motywu, są obsługiwane oddzielnie. - Zajęcia
SwipeToRevealCard
iSwipeToRevealChip
pomogą Ci wdrożyćrecommended swipe-to-reveal guidance
. KlasaSwipeToRevealSample
pokazuje, jak używać tych komponentów. W wersji 1.3.0–alfa02 wprowadziliśmy zmianę, która powoduje wzrost wysokości obiektów
Chip
iToggleChip
, aby zapewnić lepszą obsługę skalowania czcionek wybranych przez użytkownika. Może to spowodować przycinanie treści. Aby rozwiązać ten problem, kształtlarge
w elemencieMaterialTheme
ma teraz większy promień narożnika (26 dp zamiast 24 dp). Nowy promień narożników obiektówChip
iToggleChip
pozwala uniknąć przycięcia treści na narożnikach elementuToggleChip
.- Większość elementów
Chips
iToggleChips
się nie zmienia, ponieważ mają domyślną wysokość 52 dp. Jednak w przypadku obiektówChip
iToggleChip
, które zawierają wiele wierszy tekstu etykiety podstawowej lub dodatkowej albo których wysokość została zastąpiona, testy zrzutu ekranu mogą nie działać.
- Większość elementów
Dodatkowe zmiany
Pełniejszy zestaw zmian wprowadzonych w wersji 1.3.0 znajdziesz w informacjach o wersji beta01.
Zalecenia dotyczące implementacji
- Jeśli Twoja aplikacja umożliwia użytkownikom przesuwanie zawartości ekranu (np. w aplikacji opartej na mapie), wyłącz obsługę przesuwania, ustawiając dla elementu
userSwipeEnabled
w komponencieSwipeDismissableNavHost
wartośćfalse
i dodaj przycisk umożliwiający użytkownikom przejście do poprzedniego ekranu. - Aby wyłączyć animacje wskaźnika pozycji podczas rozjaśniania i zmiany pozycji na przewijanej liście, użyj obiektu
SnapSpec
. - Podczas oczekiwania na wczytanie treści do odtworzenia przez aplikację do multimediów wyświetl pusty element kompozycyjny
Placeholder
. - Do utworzenia kolekcji elementów rozwijanych na żądanie użyj eksperymentalnej klasy
ExpandableStateMapping
.
Wersja 1.3.0-rc01
10 stycznia 2024 r.
Aplikacja 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
MaterialTheme
, aby jego zaokrąglony promień narożników wynosił 26 dp. Teraz będzie on używany przez Chipa iToggleChip
. Ta zmiana jest potrzebna do obsługi dostosowania wysokości, gdy treść wymaga dodatkowej wysokości, by zmieścić się w dużych rozmiarach czcionek. W przeciwnym razie istniejący kształt stadionu wycina część tekstu.Ta zmiana może spowodować błędy w testach zrzutów ekranu. (I2e6ae)
Wersja 1.3.0-beta02
13 grudnia 2023 r.
Aplikacja 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 aplikacji
BasicSwipeToDismissBox
. Został on zmodyfikowany w poprzedniej wersji w taki sposób, że część przesuwana w trakcie przejścia powstała, gdy palec dotyka ekranu. (Id8e76).
Wersja 1.3.0-beta01
15 listopada 2023 r.
Aplikacja androidx.wear.compose:compose-*:1.3.0-beta01
została zwolniona. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Wersja 1.3–beta01 funkcji Utwórz na Wear OS wskazuje, że ta wersja biblioteki jest już gotowa, a interfejs API jest zablokowany (z wyjątkiem sytuacji oznaczonych jako eksperymentalne). Wear Compose 1.3 ma te nowe funkcje:
- Funkcje
SwipeToDismissBoxState
,SwipeToDismissValue
iModifier.edgeSwipeToDismiss
zostały przeniesione z wersjiandroidx.wear.compose.material
doandroidx.wear.compose.foundation
. To samo dotyczy implementacji przesunięcia palcem, aby ją zamknąć w aplikacjiBasicSwipeToDismissBox
. Umożliwia to obsługę gestów przez przeciąganie, aby zamknąć, niezależnie od interfejsu Material Design, np. odSwipeDismissableNavHost
wandroidx.wear.compose.navigation
. W stylu Material Design nadal zalecamy stosowanie interfejsuSwipeToDismissBox
z tabeliandroidx.wear.compose.material
, ponieważ pobiera ono kolory z szablonuMaterialTheme
, a potem przekazuje pozostałą implementację do interfejsuBasicSwipeToDismissBox
. SwipeDismissableNavHost
obsługuje teraz nowy parametruserSwipeEnabled
, który umożliwia wyłączenie przesuwania na ekranach, na których nie jest to wymagane.- Aplikacja
BasicSwipeToDismissBox
poprawiła obsługę ostrości przy użyciu dodatkuHierarchicalFocusCoordinator
. SwipeToReveal
ma nowe kompozycjeSwipeToRevealCard
iSwipeToRevealChip
w interfejsie Material Design, aby były zgodne z zalecanymi wskazówkami dotyczącymi UX dlaCard
iChip
. Wprowadziliśmy też obsługę cofania działań dodatkowych.DefaultTextStyle
wyłącza teraz dopełnienie czcionki, aby zachować spójność na całej platformie Androida.Chip
iToggleChip
dostosowują teraz wysokość do treści, które zwiększyły się ze względu na duże czcionki ułatwiające ułatwienie dostępu- W
PositionIndicator
są teraz dostępne indywidualne specyfikacje animacji z rozjaśnianiem, zanikaniem i zmianą pozycji. Ze względu na wydajność zalecamy wyłączenie zanikania i zmiany pozycji w przypadku używania z przewijanymi listami. - Funkcja
ExpandableStateMapping
zapewnia nowy sposób generowania wartościExpandableStates
, gdy trzeba je utworzyć na żądanie, a niekoniecznie z zakresem@Composable
. Placeholder
umożliwia teraz zresetowanie, jeśli treści nie są już w stanie gotowości. Ponadto ustawienie zmniejszania ruchu dotyczy teraz efektu migotania i ruchu wycierania na urządzeniuPlaceholder
.
Znane problemy
PositionIndicator
nie jest widoczny(a) na początku przy pierwszym wyświetleniu ekranu. Zamierzamy wprowadzić zmianę na początku wersji 1.4 alfa, tak aby początkowo była widoczna, ale bez animacji.
Zmiany w interfejsie API
- Zmieniliśmy nazwę poziomu podstawowego
SwipeToDismissBox
naBasicSwipeToDismissBox
. Dzięki temu wyraźnie widać rozróżnienie między komponentem na poziomie podstawowym a elementemSwipeToDismissBox
na poziomie materiału. To ostatnie pobiera kolory zMaterialTheme
, które będą używane w Scrims, a pozostałą implementację przekazuje interfejsowiBasicSwipeToDismissBox
. (Ibecfc) - Oznaczyliśmy aplikację
rememberExpandableStateMapping
jako eksperymentalną i poprawiliśmy wydajność aplikacjiexpandableItem
. (I5f6bc) - Zastąpiliśmy klasę
SwipeToRevealAction
w interfejsach API Card and Chip MaterialSwipeToReveal
interfejsem API opartym na przedziałach, używając funkcji 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
. Poszczególne animacje można wyłączyć, przekazując w atrybuciesnap
wartośćAnimationSpec
. (I6c523)
Poprawki błędów
- Naprawiliśmy błąd wywoływany przez ograniczony zakrzywiony tekst przy ograniczonym rozmiarze (I50efe).
- Rozwiązaliśmy potencjalną awarię NaN związaną z urządzeniem
curvedComposable
(I970eb) - Cofnęliśmy usunięcie animacji z wyróżnieniem zmiany pozycji w aplikacji
PositionIndicator
. (Ieb424) - Usunęliśmy warstwę „Material-Core” z interfejsu Material Chip, aby poprawić jej wydajność. (If2dcb)
Wersja 1.3.0-alfa08
18 października 2023 r.
Aplikacja androidx.wear.compose:compose-*:1.3.0-alpha08
została zwolniona. Wersja 1.3.0-alpha08 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Do przeciążeń
PositionIndicator
dodaliśmy poszczególne flagi, aby umożliwić sterowanie różnymi animacjami:showFadeInAnimation
,showFadeOutAnimation
ishowPositionAnimation
. Poprzedni interfejs API został wycofany i przekierowuje wywołania do nowego. Ze względu na wydajność i spójność z UX, gdy elementPositionIndicator
jest używany z przewijaną listą, zalecamy wyłączenie flagshowFadeInAnimation
ishowPositionAnimation
. Jeśli używasz funkcjiPositionIndicator
jako samodzielnego wskaźnika, np. do zmiany głośności, zalecamy włączenie wszystkich 3 animacji. (I44294) - Po przeniesieniu funkcji „Przesuń, aby zamknąć” do
wear.compose.foundation
wycofaliśmy materiałySwipeToDismissBoxState
,SwipeToDismissValue
iedgeSwipeToDismiss
. Zastąp odpowiednikami w formaciewear.compose.foundation
. (Iee8c9)
Poprawki błędów
- Zaktualizowaliśmy profile podstawowe dla bibliotek podstawowych, materiałowych i nawigacji do Wear Compose. (Idb060).
- Cofnęliśmy zmianę w działaniu elementu
PositionIndicator
wprowadzonego w poprzednim liście zmian – elementPositionIndicator
był animowany na ekranie początkowym. Zamierzamy wprowadzić podobną zmianę na początku wersji 1.4 alfa, aby na początku był wyświetlanyPositionIndicator
, ale bez animacji. (I41843) - Rozwiązaliśmy kilka problemów z wydajnością w usłudze
PositionIndicator
. (I1c654, b/302399827) - Zoptymalizowaliśmy wydajność domyślnej implementacji dostawcy stanu eksploracji dotykiem i korzystaliśmy z elementu
State<Boolean>
, a nie stanu pochodnego. (Ieec4d). - Ustawiliśmy prostokąty (
systemGestureExclusion
) dla Androida 13 i nowszych wersji. (Ib1f4b)
Wersja 1.3.0-alfa07
4 października 2023 roku
Aplikacja androidx.wear.compose:compose-*:1.3.0-alpha07
została zwolniona. Wersja 1.3.0-alpha07 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaliśmy poszczególne flagi do interfejsu
PositionIndicator
, aby umożliwić sterowanie różnymi animacjami:showFadeInAnimation
,showFadeOutAnimation
ishowPositionAnimation
. Poprzedni interfejs API został wycofany i przekierowuje wywołania do nowego. Ze względu na wydajność i spójność z UX, gdy elementPositionIndicator
jest używany z przewijaną listą, zalecamy wyłączenie flagshowFadeInAnimation
ishowPositionAnimation
. Jeśli używasz funkcjiPositionIndicator
jako samodzielnego wskaźnika, np. do zmiany głośności, zalecamy włączenie wszystkich 3 animacji. (Ia2d63)
Poprawki błędów
- Ulepszyliśmy funkcję przesuwania, by odsłonić ruch – dodaliśmy animację zanikania do tekstu głównego działania i zaciemnienie dodatkowego działania oraz zmianę skali ikony przy pełnym przesuwaniu. (Ib7223)
- Zalecamy udostępnienie działań „Przesuń, aby odsłonić”, oraz dodanie niestandardowych czynności ułatwień dostępu do przykładów funkcji „Przesuń, aby odsłonić”. (I42224)
- Poprawiliśmy wydajność funkcji
SwipeToDismissBox
, w tym refaktoryzację, aby zagwarantować, że początkowa logika nie powoduje zmiany kompozycji. ElementSwipeToDismissBox
jest teraz wyświetlany na pełnym ekranie. (Ie0aa2) - Naprawiliśmy błąd, który powodował, że element
PositionIndicator
nieprawidłowo zniknął. (I2091a) - Zwiększono skuteczność utworu
PositionIndicator
dzięki optymalizacji zmian kompozycji. Następnie dodano nowe flagi sterujące animacjami (fadeIn
,fadeOut
ipositionChange
) (patrz Zmiany w interfejsie API) (Ifac7d). - Dodaliśmy testy mikroporównawcze dla
PositionIndicator
(Idf875)
Wersja 1.3.0-alfa06
20 września 2023 r.
Aplikacja androidx.wear.compose:compose-*:1.3.0-alpha06
została zwolniona. Wersja 1.3.0-alpha06 zawiera te zatwierdzenia.
Poprawki błędów
- Dodaliśmy obsługę platformy
Modifier.edgeSwipeToDismiss
za pomocąSwipeToReveal
. (I95774, b/293444286) - Dodaliśmy próbki dla materiału
SwipeToRevealChip
iSwipeToRevealCard
. (Ieb974) - Zaktualizowaliśmy profile podstawowe dla bibliotek Wear Compose Foundation i bibliotek Material. (I1dd1f)
Wersja 1.3.0-alfa05
6 września 2023 r.
Aplikacja androidx.wear.compose:compose-*:1.3.0-alpha05
została zwolniona. Wersja 1.3.0-alpha05 zawiera te zatwierdzenia.
Poprawki błędów
- Dodaliśmy obsługę funkcji „Przesuń, aby odsłonić”, aby umożliwić przesunięcie tylko jednego elementu naraz. (I3cd7a)
- Ulepszyliśmy dokumentację elementu
ScalingLazyColumnDefaults
, by lepiej odzwierciedlała jego rzeczywiste działanie. (I886d3)
Wersja 1.3.0-alfa04
23 sierpnia 2023 r.
Aplikacja androidx.wear.compose:compose-*:1.3.0-alpha04
została zwolniona. Wersja 1.3.0-alpha04 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy obsługę cofania zmian w działaniu dodatkowym
SwipeToReveal
. (I7a22d)
Zmiany w interfejsie API
- Dodaj
HorizontalPageIndicator
w bibliotece Wear Material3. (Ifee99) - Zaktualizowano narzędzia podglądu Wear Compose, aby korzystać z biblioteki
androidx.wear.tooling.preview
. (Ib036e)
Poprawki błędów
- Naprawa błędu w okrągłych przyciskach, które powodują nieprawidłowe połączenie modyfikatorów. (I5e162)
Wersja 1.3.0-alfa03
9 sierpnia 2023 r.
Aplikacja androidx.wear.compose:compose-*:1.3.0-alpha03
została zwolniona. Wersja 1.3.0-alpha03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaliśmy 2 nowe funkcje kompozycyjne w Material, aby umożliwić implementowanie elementu
SwipeToReveal
przy użyciu kart i elementów. Te elementy kompozycyjne są zgodne z zalecanymi wskazówkami dotyczącymi wygody korzystania z komponentu i ułatwiają programistom implementację interfejsuSwipeToReveal
z istniejącymi komponentami w Wear Material. (I7ec65) - Włączyliśmy adnotacje
FloatRange
jako ograniczenia interfejsu API, które wcześniej były podawane w komentarzach. (Icb401)
Poprawki błędów
- Początkową logikę przewijania
ScalingLazyColumn
przenieśliśmy doonGloballyPositioned()
. (Ic90f1) - Do optymalizacji przydziałów strumieni używamy teraz
drawWithCache
w przypadku elementówPositionIndicator
,ProgressIndicator
iSelectionControls
. (I5f225, b/288234617) - Naprawiliśmy widoczność znaczników wyboru w stanach wyłączenia. (Ib25bf)
- Zaktualizowaliśmy
Placeholder
, aby umożliwić zresetowanie i pokazywanie symbolu zastępczego, gdy treść nie jest już w stanie gotowości. (Ibd820) - Wprowadziliśmy kilka poprawek dotyczących niestabilnych testów
Placeholder
(Idb560).
Wersja 1.3.0-alfa02
26 lipca 2023 r.
Aplikacja androidx.wear.compose:compose-*:1.3.0-alpha02
została zwolniona. Wersja 1.3.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Opracowaliśmy
ExpandableStateMapping
, nowy sposób generowania wartościExpandableStates
, na potrzeby przypadków, w których muszą być tworzone na żądanie, niekoniecznie w zakresie@Composable
(Iff9e0) - Pakiet
SwipeToDismissBox
został przeniesiony z pakietuandroidx.wear.compose.material
do pakietuandroidx.wear.compose.foundation
. (I275fb) - Zaktualizowano pliki interfejsu API, aby dodać adnotacje do pomijania zgodności. (I8e87a, b/287516207)
- Stałe wysokości dla
Chip
,CompactChip
iToggleChip
ustawiliśmy jako publiczne (Idbfde) - Poziome i pionowe dopełnienia w przypadku
Chip
iCompactChip
ustawiliśmy publicznie. (Ieeaf7) - Dodaliśmy funkcję wyłączania obsługi przesuwania w
SwipeDismissableNavHost
za pomocą nowego parametruuserSwipeEnabled
. (Id2a0b, b/230865655) - Zaktualizowaliśmy bibliotekę nawigacji na Wear Compose, aby korzystała z nowej funkcji
SwipeToDismissBox
z Wear Compose Foundation. (I4ff8e)
Poprawki błędów
- Naprawiliśmy błąd kolejności elementów w elemencie
expandedItem
, który po kliknięciu przycisku działał z nieprawidłową treścią. (I1899d, b/289991514) - Popraw obsługę elementów
SwipeToDismissBox
(a tym samymSwipeDismissableNavHost
) za pomocą funkcjiHierarchicalFocusCoordinator
(I45362, b/277852486) - Wprowadziliśmy poprawkę w obsłudze gestów w aplikacji
SwipeableV2
. (I89737) - Ustaliliśmy, że zakończyliśmy tworzenie podstawowych profili dla wersji 1.2. (Id5740).
- Po migracji interfejsu
SwipeToDismissBox
do ustawień podstawowych implementacja MaterialSwipeToDismissBox
przekazuje teraz do środowiska podstawowego i udostępnia domyślne wartości kolorów z motywu.(If8451) - Dodaliśmy semantykę nagłówka do elementu
ListHeader
. (Ic5420) - W razie potrzeby
Chip
iToggleChip
będą teraz dostosowywać wysokość do treści, która zwiększyła się dzięki dużym czcionkom ułatwiającym dostęp. (Iaf302) - Naprawiliśmy błąd dotyczący semantycznej roli klikalnego obszaru w
SplitToggleChip
z zakresu ułatwień dostępu. (Ieed3a) - Ustawienie Ogranicz ruch wyłącza teraz efekt połysku i ruch wycierania obiektów zastępczych. (I91046)
Stepper
iInlineSlider
obsługują teraz wielokrotne kliknięcia przy długim naciśnięciu, dzięki czemu możesz szybko zwiększać lub zmniejszać wartośćStepper
iInlineSlider
, przytrzymując przyciski + lub -. (I27359)
Wersja 1.3.0-alfa01
21 czerwca 2023 r.
Aplikacja androidx.wear.compose:compose-*:1.3.0-alpha01
została zwolniona. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.
Poprawki błędów
- Zgodnie z zapowiedziami w
1.2.0-alpha07
i1.2.0-alpha10
wprowadzamy zmiany wDefaultTextStyle
. Wyłączymy dopełnienie czcionki, aby zachować spójność na całej platformie Androida. Zajmuje to niektórych przypadków przycinania tekstu z dużymi rozmiarami czcionek, a także może wpływać na układ ekranu, dlatego konieczna jest aktualizacja testów zrzutu ekranu. Na przykład w tym miejscu widzimy przycięcie tekstu (Ic6a86).
- Już go nie widać, gdy dopełnienie czcionki jest wyłączone:
- Zaktualizowaliśmy
wear.compose.foundation
, aby była zależność interfejsu API odwear.compose.material
(I72004, b/285404743) - Naprawiliśmy błąd w aplikacji
SwipeToDismissBox
. Klucze tła i treści są teraz przekazywane do bloku zapamiętania, dzięki czemu przy zmianie treści lub tła tworzone są nowe modyfikatory. (Ib876c, b/280392104) - Zaktualizowaliśmy nazwę
TimeText
, aby podczas wybierania formatu 12- lub 24-godzinnego uwzględniała wartości lokalne. (If4a3d) - Naprawiliśmy niespójność w parametrach domyślnych
contentScrimColor
(SwipeToDismissBox
). (I2d70f) - Ulepszyliś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 przy dużych rozmiarach czcionek, dlatego zaktualizujemy je we wczesnej wersji 1.3 alfa, aby w takich przypadkach dostosować wysokość.
Wersja 1.2
Wersja 1.2.1
18 października 2023 r.
Aplikacja androidx.wear.compose:compose-*:1.2.1
została zwolniona. Wersja 1.2.1 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono błąd, który powodował nieprawidłowe zniknięcie elementu
PositionIndicator
. (7a167f)
Wersja 1.2.0
9 sierpnia 2023 r.
Aplikacja 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 funkcji Utwórz na Wear OS 1.2.0 (więcej informacji)
- Listę najważniejszych zmian w Wear Compose 1.2 znajdziesz w informacjach o wersji (Tworzenie na Wear OS 1.2 Beta01).
Wersja 1.2.0-rc01
26 lipca 2023 r.
Aplikacja androidx.wear.compose:compose-*:1.2.0-rc01
została zwolniona. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Utworzyliśmy profile podstawowe dla wersji 1.2 (Id5740)
Wersja 1.2.0-beta02
7 czerwca 2023 r.
Aplikacja 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 na urządzeniuScalingLazyColumn
. (I58024)
Poprawki błędów
- Zaktualizowaliśmy profile podstawowe dla biblioteki podstawowej i biblioteki materiałów do Wear Compose(I4725d)
- Rozwiązaliśmy niespójność w wartościach domyślnych dla parametrów
SwipeToDismissBox
contentScrimColor
(I2d70f) - Poprawiliśmy wartość domyślną
DefaultTextStyle
w ustawieniuIncludeFontPadding
(I737ed).
Wersja 1.2.0-beta01
24 maja 2023 r.
Aplikacja androidx.wear.compose:compose-*:1.2.0-beta01
została zwolniona. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.
Co zawiera funkcja Utwórz na Wear OS 1.2
Wersja 1.2–beta01 funkcji Utwórz na Wear OS wskazuje, że ta wersja biblioteki jest już gotowa, a interfejs API jest zablokowany (z wyjątkiem sytuacji oznaczonych jako eksperymentalne). Wear Compose 1.2 zawiera te nowe funkcje:
expandableItem
iexpandableItems
to 2 nowe komponentyFoundation
, które obsługują elementy rozwijane w obrębie elementuScalingLazyColumn
. UżyjexpandableItem
w przypadku pojedynczego elementu rozwijania, np. Tekst, w którym jest podana liczba wierszy. UżyjexpandableItems
w przypadku grupy elementów rozwijanych iexpandableButton
, 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łączonego lub wyłączonego.Picker
– interfejs API zawiera teraz elementuserScrollEnabled
, który umożliwia określenie, czy selektor jest aktywny na potrzeby przewijania przez użytkowników.PickerGroup
– nowy obiekt 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
– wprowadziliśmy zmiany w animacjach połysk i „Wymaż”. Efekt czyszczenia jest stosowany od razu, gdy treść jest gotowa.ScalingLazyColumn
– przenieśliśmy te zajęcia (ScalingLazyColumn
) i powiązane z nimi zajęcia z usługiandroidx.wear.compose.material.ScalingLazyColumn
do aplikacjiandroidx.wear.compose.foundation.lazy.ScalingLazyColumn
. Zaktualizuj, aby używać wersjiFoundation.Lazy
.SwipeToReveal
– oprócz obecnego wzorca długiego naciśnięcia dodaliśmy eksperymentalną obsługę funkcji „przesuń, aby odsłonić” jako sposób na dostęp do działań dodatkowych.Stepper
– zawiera teraz przeciążenie z dodatkowym parametremenableRangeSemantics
, które ułatwia wyłączenie semantyki domyślnego zakresu.Previews
– dodaliśmy te niestandardowe adnotacje do wyświetlania podglądu funkcji kompozycyjnych na ekranach Wear:WearPreviewSmallRound
wyświetla podgląd funkcji kompozycyjnej na małym, okrągłym urządzeniu;WearPreviewLargeRound
wyświetla funkcję kompozycyjną na dużym okrągłym urządzeniu;WearPreviewSquare
wyświetla kompozycję na kwadratowym urządzeniu. Dodatkowo te adnotacje i adnotacje z wieloma podglądami:WearPreviewFontScales
wyświetla podgląd funkcji kompozycyjnych stosowanych na urządzeniach do noszenia z wieloma rozmiarami czcionek, aWearPreviewDevices
– wyświetla podgląd elementów kompozycyjnych na różnych urządzeniach do noszenia.- Do funkcji Wear Compose dodaliśmy atrybut
DefaultTextStyle
. Ustawienie domyślnePlatformTextStyle.includeFontPadding
ma wartość Prawda (to jest aktualne ustawienie). Umożliwi nam to synchronizację domyślnego wyłączenia dopełniania czcionki z bibliotekami tworzenia wiadomości we wczesnej wersji 1.3 alfa. Więcej informacji znajdziesz na stronie 1.2.0-alfa10.
Nowe funkcje
- Dodaliśmy eksperymentalną obsługę wyłączania skalowania i zanikania po włączeniu ustawienia red_motion. (I58024)
Poprawki błędów
- Ulepszona dokumentacja
angularWidthDp
wCurvedSize.kt
(Iab75c) SwipeDismissableNavHost
rejestruje teraz ostrzeżenie z potencjalnymi przyczynami pustego stosu. Ma to na celu zapobieganie nieoczekiwanym awariom spowodowanym przez funkcjęIllegalArgumentException
, która jest wywoływana, gdy stos wsteczny był pusty. (I04a81, b/277700155)
Wersja 1.2.0-alfa10
10 maja 2023 r.
Aplikacja androidx.wear.compose:compose-*:1.2.0-alpha10
została zwolniona. Wersja 1.2.0-alpha10 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy obsługę funkcji „Przesuń, aby odsłonić”, aby umożliwić dostęp do dodatkowych działań. Uzupełnia on wzorzec „długiego naciśnięcia”, czyli dotychczasowy sposób ujawniania (różnych) dodatkowych działań przez użytkownika. (I60862)
Zmiany w interfejsie API
- Dodaliśmy
RevealScope
do funkcji kompozycyjnych działań wSwipeToReveal
, co daje dostęp do przesunięcia, w którym są pokazywane dodatkowe działania. (I3fd56)
Poprawki błędów
- Naprawiono problem z zatrzymywaniem się
ScalingLazyColumn
w interfejsie Wear API 33 po mignięciu (Ic4599) - Wprowadziliśmy kilka ulepszeń w
PositionIndicator
, aby zmniejszyć zacinanie. (I35e92) - Naprawiliśmy błąd w elementach chip i
CompactChip
, w których rola semantyczna nie była już ustawiona naRole.Button
. (I93f91, b/277326264)
Znane problemy
Zidentyfikowaliśmy błąd w Android Studio, który powoduje błędy w podglądzie renderowania po dodaniu adnotacji @WearPreviewDevices i @WearPreviewFontScales. Wkrótce planujemy opublikować poprawkę. Pamiętaj, że inne adnotacje z podglądem Wear działają zgodnie z oczekiwaniami w Android Studio Giraffe w wersji 2022.3.1 i nowszych.
W wersji 1.2.0-alfa07 dodaliśmy do Wear Compose wartość DefaultTextStyle, zachowując dotychczasową wartość PlatformTextStyle.includeFontPadding jako true. Tło znajdziesz w sekcji Naprawa dopełnienia czcionki w komponencie. Wkrótce zmienimy ustawienie DefaultTextStyle, aby wyłączyć dopełnienie czcionki we wczesnej wersji 1.3 alfa i w celu zachowania spójności na całej platformie Androida. Zajmuje się tym przypadkiem przycinania tekstu z dużymi rozmiarami czcionek. Może też wpływać na układ ekranu i wymagać aktualizacji testów zrzutów ekranu. Na przykład w przypadku dużych rozmiarów czcionki przycinamy tekst:
- Już go nie widać, gdy dopełnienie czcionki jest wyłączone:
Nowe ustawienie można teraz zastosować, zastępując typografię w motywie – patrz przykładowy kod.
Wersja 1.2.0-alfa09
19 kwietnia 2023 r.
Aplikacja androidx.wear.compose:compose-*:1.2.0-alpha09
została zwolniona. Wersja 1.2.0-alpha09 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaj
angularSizeDp
do interfejsu APICurvedModifier
, aby ustawić szerokość kątową w DP (I89a52)
Poprawki błędów
- Rozwiązaliśmy problemy z ułatwieniami dostępu w naszych wersjach demonstracyjnych selektora czasu(Id0eb7)
Wersja 1.2.0-alfa08
5 kwietnia 2023 r.
Aplikacja androidx.wear.compose:compose-*:1.2.0-alpha08
została zwolniona. Wersja 1.2.0-alpha08 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zmieniliśmy nazwę grupy
ExpandableItemsState
naExpandableState
. (If85ea) - Dodaliśmy
expandableButton
, aby uprościć tworzenie przycisku, który zwija się, gdy treść jest rozwinięta, oraz zaktualizowaliśmy przykłady rozwijania. (Iae309)
Poprawki błędów
- Ulepszyliśmy próbki rozwijania, by pokazać więcej możliwości. Zmodyfikowano animację elementu
expandableItem
, aby jej zawartość była wyśrodkowana. (I2f637) - Zaktualizowano tabelę
ToggleControls
, aby uniknąć dodatkowych zmian kompozycji podczas ręcznego animowania kolorów za pomocą stanu. (I5d319)
Wersja 1.2.0-alfa07
22 marca 2023 r.
Aplikacja androidx.wear.compose:compose-*:1.2.0-alpha07
została zwolniona. Wersja 1.2.0-alpha07 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Przenieśliśmy komponenty elementu rozwijania (dodane w wersji 1.2.0-alfa06) z materiału do podstawy, ponieważ nie mają one znaczącego odniesienia do elementu
MaterialTheme
. (Ib0525)
Poprawki błędów
- Naprawiliśmy awarię, która wystąpiła na ekranie przy użyciu dodatku
PickerGroup
. Zadbaliśmy o to, aby aplikacjaPickerGroup
prawidłowo obsługiwała ostrość, gdy żaden selektor nie jest zaznaczony. W naszych prezentacjach selektora dodaliśmy też obsługę przewijania RSA. (If8c19) - Poprawiliśmy przejścia okien dialogowych – przejście początkowe jest teraz płynniejsze, tak aby odpowiadało przejściu w na końcu. (Ib5af9)
- Do funkcji Wear Compose dodaliśmy atrybut
DefaultTextStyle
. Ustawienie domyślnePlatformTextStyle.includeFontPadding
ma wartość Prawda (to jest aktualne ustawienie). Umożliwi nam to synchronizowanie domyślnego wyłączenia dopełniania czcionki z bibliotekami tworzenia wiadomości w przyszłości – informacje o tle znajdziesz w sekcji Rozwiązywanie problemów z dopełnieniem czcionki w komponencie tworzenia wiadomości. (I2aee8) - Cofnięto zależność wersji
UpsideDownCake
w wersji testowej za pomocą funkcji activity, która blokuje publikowanie aplikacji w Sklepie Google Play. (I6443d)
Wersja 1.2.0-alfa06
8 marca 2023 r.
Aplikacja androidx.wear.compose:compose-*:1.2.0-alpha06
została zwolniona. Wersja 1.2.0-alpha06 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaj komponent
CurvedBox
, który umieszcza komponenty na sobie w zakrzywionym świecie. (I29200) - Dodano elementy rozwijane – 2 nowe komponenty do obsługi grupy rozwijanych elementów w elemencie
ScalingLazyColumn
lub pojedynczy rozwijany element(np. tekst, w którym można rozwinąć liczbę wierszy). (I95dd5) - Dodaliśmy te niestandardowe adnotacje do wyświetlania podglądu funkcji kompozycyjnych na ekranach Wear:
WearPreviewSmallRound
wyświetla podgląd funkcji kompozycyjnej na małym, okrągłym urządzeniu;WearPreviewLargeRound
wyświetla funkcję kompozycyjną na dużym okrągłym urządzeniu;WearPreviewSquare
wyświetla funkcję kompozycyjną na kwadratowym urządzeniu. Dodatkowo te adnotacje i adnotacje z wieloma podglądami:WearPreviewFontScales
wyświetla podgląd funkcji kompozycyjnych stosowanych na urządzeniach do noszenia z wieloma rozmiarami czcionek, aWearPreviewDevices
– wyświetla podgląd elementów kompozycyjnych na różnych urządzeniach do noszenia. Aby korzystać z tych podglądów, musisz korzystać z najnowszej wersji Androida Studio (Giraffe Canary 6) lub nowszej. Pamiętaj, że jeśli te adnotacje nie są odpowiednie do Twoich potrzeb, możesz nadal korzystać z podglądu, które pozwala na dalsze dostosowywanie za pomocą parametrów. (I397ff) - Oznaczyliśmy
HierarchicalFocusCoordinator
jako eksperymentalną, ale ze względu na jej szeroką zastosowanie uważamy ją za kandydującą do przeniesienia do podstawowych bibliotek tworzenia wiadomości. (I3a768)
Poprawki błędów
- Poprawiliśmy błąd w polu
HierarchicalFocusCoordinator
. Gdy lambda przekazywana dla parametrufocusEnabled
zmienia się, teraz prawidłowo korzystamy z nowej wartości. (Icb353) - Gdy używasz kolorów podstawowych jako tła w
Button
,CompactButton
,Chip
,CompactChip
iToggleButton
, zmodyfikowaliśmy domyślny kolor wyłączonej treści na Tło. Zwiększa to kontrast w przypadku ułatwień dostępu. (I527cc)
Wersja 1.2.0-alfa05
22 lutego 2023 roku
Aplikacja androidx.wear.compose:compose-*:1.2.0-alpha05
została zwolniona. Wersja 1.2.0-alpha05 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zaktualizowaliśmy interfejs API
PickerGroup
, aby umożliwić opcjonalnie wprowadzenie ograniczeń minimalnych dotyczących elementu kompozycyjnego. Gdy zasada ma wartość Prawda, minimalne ograniczenia przekazywane z nadrzędnego elementu kompozycyjnego są dozwolone w elemenciePickerGroup
. Jeśli zasada ma wartość Fałsz,PickerGroup
resetuje minimalne ograniczenia. (I3e046) - Aby umożliwić obsługę automatycznej animacji w przypadku określonej opcji selektora (I6fe67), dodaliśmy do interfejsu Picker API funkcję
animateScrollToOption
.
Poprawki błędów
- Zaktualizowaliśmy
HorizontalPageIndicator
, aby obsługiwały układy od prawej do lewej. (Ia4359) - Dodano testy zrzutu ekranu dla układu od prawej do lewej w
HorizontalPageIndicator
(I6fbb8). - Do aplikacji
SwipeDismissableNavHostTest
dodano kolejne testy wykorzystująceTestNavHostController
(I61d54)
Wersja 1.2.0-alfa04
8 lutego 2023 r.
Aplikacja androidx.wear.compose:compose-*:1.2.0-alpha04
została zwolniona. Wersja 1.2.0-alpha04 zawiera te zatwierdzenia.
Nowe funkcje
PickerGroup
do obsługi wielu selektorów jednocześnie za pomocą interfejsu API fokusu. Umożliwia wybieranie różnych selektora, automatyczne centrowanie ich na podstawie parametrów i umożliwianie deweloperom zmiany zaznaczenia między różnymi selektorami podczas obsługi zdarzeń z grupy. W trybie TalkBackPickerGroup
obsługuje go, przenosząc zaznaczenie z grupy na wybrany selektor. (I60840)
Zmiany w interfejsie API
- Aby ułatwić wyłączenie semantyki domyślnego zakresu, dodaliśmy do narzędzia Stepper przeciążenie i dodatkowy parametr
enableRangeSemantics
(Ia61d4).
Poprawki błędów
- Zezwalaj na zagnieżdżenie pola
ScalingLazyColumn
na stronie przewijanej w poziomie (Iec3f8, b/266555016) - Ulepszyliśmy procedurę czyszczenia dokumentów Stepper i testów
StepperTest
. (Ic118e) - Zależność
androidx.navigation
została zaktualizowana do wersji 2.5.3 (If58ed)
Wersja 1.2.0-alfa03
25 stycznia 2023 r.
Aplikacja androidx.wear.compose:compose-*:1.2.0-alpha03
została zwolniona. Wersja 1.2.0-alpha03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Przenieśliśmy
ScalingLazyColumn
(i powiązane z nim zajęcia) z usługiandroidx.wear.compose.material.ScalingLazyColumn
doandrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn
(zapoznaj się z tym przykładem). Ta nowa lokalizacja jest bardziej zbliżona do tej w lokalizacjicompose.foundation.lazy.LazyColumn
i jest bardziej naturalna, ponieważ nie jest uznawanym komponentem Material Design. Tę zmianę wprowadzamy w ramach przygotowań do utworzenia nowej biblioteki Material3, nad którą będziemy pracować równolegle z dotychczasową biblioteką Material. (I060e7)
W ramach migracji ScalingLazyColumn
z Material do Foundation.Lazy
wprowadziliśmy te zmiany:
- Interfejs API
PositionIndicator
dotyczący kierowania na materiałScalingLazyColumn
został wycofany – zaktualizuj go do wersjiFoundation.Lazy ScalingLazyColumn
. Dodatkowo do polaScalingLazyListLayoutInfo
dodano poleanchorType
. (I29d95) - Funkcja
ScalingLazyColumn
została oznaczona jako wycofana w pakiecie Wear Compose Material (I16d34) - Zaktualizowaliśmy modyfikator
ScrollAway
, aby korzystał z elementuScalingLazyListState
z Wear ComposeFoundation.Lazy
, i wycofaliśmy przeciążenie, które spowodowało obciążenieScalingLazyListState
interfejsu Wear Compose Material. (Ifc42c) - Zaktualizowaliśmy interfejsy API Dialog w zakresie
ScalingLazyListState
zFoundation.Lazy
i wycofaliśmy przeciążenia korzystające z MaterialScalingLazyListState
(Ic8960) - Zaktualizowaliśmy interfejsy API selektora, aby korzystały z interfejsu
ScalingParams
zFoundation.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 funkcji
ScalingLazyListState.centerItemIndex
. Polega to na tym, że aktualizacje są przekazywane tylko wtedy, gdy wartość rzeczywiście ulega zmianie (Ia9f38). - Poprawiliśmy wydajność aplikacji
SwipeToDismissBox
(I3933b) - Dodano testy porównawcze aplikacji
ScalingLazyColumn
w Wear Compose Foundation (Ie00f9). - Zaktualizowaliśmy niektóre wewnętrzne metody klas
ScalingLazyColumn
w Material Material, aby używać ich odpowiedników zFoundation.Lazy
(I38aab) - Rozwiązaliśmy pewne problemy w testach selektora i dodaliśmy więcej testów sprawdzania przewijania z przesunięciem (I6ac34).
- Zaktualizowaliśmy wersje demonstracyjne integracji
ScalingLazyColumn
, aby opierać się naFoundation.Lazy
, a nie na MaterialScalingLazyColumn
(Ic6caa) - Do naszej prezentacji
DatePicker
dodaliśmy opcjonalne parametryfromDate/toDate
(I961cd).
Wersja 1.2.0-alfa02
11 stycznia 2023 r.
Aplikacja androidx.wear.compose:compose-*:1.2.0-alpha02
została zwolniona. Wersja 1.2.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Testy interfejsu Android Compose będą teraz obsługiwać układ każdej klatki podczas wykonywania klatek w celu przejścia w stan bezczynności (np. za pomocą
waitForIdle
). Może to mieć wpływ na testy dotyczące poszczególnych klatek animacji układu. (I8ea08, b/222093277) - Parametr
minLines
został dodany do Wear Text, aby zapewnić spójne działanie zBasicText
(I24874). - Plik
CompactChipTapTargetPadding
został upubliczniony, aby można było go znaleźć w dokumentacji (If1e70, b/234119038)
Poprawki błędów
- Wyłącz kompilacje wieloplatformowe dla pakietów
wear.compose
(Iad3d7) - Napraw kdocs dla:
scrollToOption
(I6f9a0) - Zaktualizowano:
PlaceholderState.rememberPlaceholderState()
, aby używać parametrurememberUpdatedState
. Ten stan zostanie zaktualizowany, gdy lambdaonContentReady
. (I02635, b/260343754) - Rozwiązaliśmy problem z zakłóceniami tekstu występujący w komponencie
Picker
przy użyciu nowej strategii komponowania dodanej do komponentuModifier.graphicsLayer
. (I99302) - Naprawiliśmy błąd, który powodował migotanie obrazu w wersji demonstracyjnej
DatePicker
(I660bd). - Poprawiliśmy dostępność wersji demonstracyjnych selektora daty i godziny z 12 godzinami (I05e12)
- Zaktualizowaliśmy demonstracje selektora daty i godziny, aby zmiany w RSB nie miały wpływu na selektory (I4aecb).
Wersja 1.2.0-alfa01
7 grudnia 2022 r.
Aplikacja androidx.wear.compose:compose-*:1.2.0-alpha01
została zwolniona. Wersja 1.2.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Zaktualizowaliśmy eksperymentalną funkcję obiektu zastępczego, dzięki czemu efekt „Wymaż” jest stosowany natychmiast, gdy treść jest gotowa, zamiast czekać na rozpoczęcie kolejnej pętli animacji. Wprowadziliśmy też zmiany w połysku i znikaniu animacji. (I5a7f4)
Zmiany w interfejsie API
- Dodaliśmy
HierarchicalFocusCoordinator
kompozycję, która pozwala oznaczać poddrzewa kompozycji jako aktywne lub wyłączone.(I827cb) - Dodaliśmy nową usługę, która zastępuje semantyczną rolę roli
ToggleButton
.(I67132) - Zaktualizowaliśmy
TimeTextDefaults.TimeFormat12Hours
, aby usunąć rano/po południu w:TimeText
. Spowoduje to zmianę domyślnej wartości parametrówtimeSource
w interfejsie APITimeText
. (I1eb7f) - Rozszerzyliśmy interfejs Picker API, aby zwiększyć dostępność na ekranach z wieloma opcjami. Dostępna jest nowa właściwość
userScrollEnabled
, która pozwala określać, czy selektor jest aktywny na potrzeby przewijania przez użytkowników. (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 ostateczną specyfikacją UX. (Icf84d) - Aby ograniczyć wpływ pierwszego elementu dodanego do pustego pola
ScalingLazyColumn
, który pojawia się na przewijaniu, dodaliśmy okołoautoCentering topPadding
, gdy zawartość jest pusta. Ta zmiana pozwala obliczyć ilość potrzebnego dopełnienia u góry strony, przy założeniu, że początkowy element ma wysokość 0,dp. W przypadku elementuScalingLazyListAnchorType.ItemStart
obliczenie dopełnienia u góry spowoduje obliczenie prawidłowego dopełnienia u góry. W przypadku elementuScalingLazyListAnchorType.ItemCenter
obliczenie będzie nieprawidłowe, ponieważ wysokość elementów jest potrzebna do prawidłowego rozmiaru zawartości, co skutkuje niewielkim przewijaniem na podstawie rzeczywistej wysokości elementu.(I239a4) - Zaktualizowaliśmy zrzut ekranu tła w animacji
SwipeToDismiss
, aby pasował do platformy Wear. (I9003e) - Poprawiliśmy obsługę funkcji
PositionIndicator
elementówLazyListState
iScalingLazyListState
w przypadku elementów listy o rozmiarze 0, aby uniknąć błędów dzielenia przez zero.(Ic28dd)
Wersja 1.1
Wersja 1.1.2
8 lutego 2023 r.
Opublikowano 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
. Wersja 1.1.2 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiliśmy błąd, który powodował niepotrzebne zmiany kompozycji w funkcji
ScalingLazyListState.centerItemIndex
. Polega to na tym, że aktualizacje są przekazywane tylko wtedy, gdy wartość rzeczywiście ulega zmianie (Ia9f38).
Wersja 1.1.1
11 stycznia 2023 r.
Opublikowano 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
. Wersja 1.1.1 zawiera te zatwierdzenia.
Poprawki błędów
- Zaktualizowano:
PlaceholderState.rememberPlaceholderState()
, aby używać parametrurememberUpdatedState
. Ten stan zostanie zaktualizowany, gdy lambdaonContentReady
. (I02635, b/260343754)
Wersja 1.1.0
7 grudnia 2022 r.
Opublikowano 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
. Wersja 1.1.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.0.0
- Stabilna wersja funkcji Utwórz na Wear OS 1.1.0 (więcej informacji).
- Listę najważniejszych zmian w Wear Compose 1.1 znajdziesz w informacjach o wersji (Tworzenie na Wear OS 1.1 w wersji beta01).
Nowe funkcje
- Zaktualizowaliśmy eksperymentalną funkcję obiektu zastępczego, dzięki czemu efekt „Wymaż” jest stosowany natychmiast, gdy treść jest gotowa, zamiast czekać na rozpoczęcie kolejnej pętli animacji. Wprowadziliśmy też zmiany w połysku i znikaniu 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 ostateczną specyfikacją UX. (Icf84d) - Aby ograniczyć wpływ pierwszego elementu dodanego do pustego pola
ScalingLazyColumn
, który pojawia się na przewijaniu, dodaliśmy okołoautoCentering topPadding
, gdy zawartość jest pusta. Ta zmiana pozwala obliczyć ilość potrzebnego dopełnienia u góry strony, przy założeniu, że początkowy element ma wysokość 0,dp. W przypadku elementuScalingLazyListAnchorType.ItemStart
obliczenie dopełnienia u góry spowoduje obliczenie prawidłowego dopełnienia u góry. W przypadku elementuScalingLazyListAnchorType.ItemCenter
obliczenie będzie nieprawidłowe, ponieważ wysokość elementów jest potrzebna do prawidłowego rozmiaru zawartości, co skutkuje niewielkim przewijaniem na podstawie rzeczywistej wysokości elementu.(I239a4) - Zaktualizowaliśmy zdjęcie tła w animacji
SwipeToDismiss
, aby pasowało do platformy Wear (I9003e). - Poprawiliśmy obsługę funkcji
PositionIndicator
elementówLazyListState
iScalingLazyListState
w przypadku elementów listy o rozmiarze 0, aby uniknąć błędów dzielenia przez zero.(Ic28dd)
Wersja 1.1.0-rc01
9 listopada 2022 r.
Opublikowano 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
. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Dodaliśmy reguły profilu podstawowego dla
Placeholders
,ScrollAway
,RadioButton
,Switch
,Checkbox
,OutlinedButton
,OutlinedCompactButton
,OutlinedChip
iOutlinedCompactChip
. (I8249c) - Naprawiliśmy błąd w
Modifier.scrollAway
. Jeśli wartośćitemIndex
jest nieprawidłowa (np. indeks elementu jest poza zakresem), wartośćTimeText
nadal będzie wyświetlana. (I2137a) - Zaktualizowaliśmy animację
SwipeToDismissBox
, aby odpowiadała implementacji na platformie. Po początkowej animacji ściskania ekran przesuwa się w prawo po uruchomieniu odrzucania. (I41d34) - W ramach optymalizacji zaktualizowaliśmy funkcję
Modifier.scrollAway
, tak aby odczytywała tylko wartośćscrollState
wewnątrz bloku pomiaru, aby uniknąć konieczności ponownego kompilowania modyfikatora po każdym ponownym pomiarze. (I4c6f1) - Dodaliśmy dokumentację i próbkę obiektów zastępczych, aby pokazać prawidłową kolejność elementów
Modifier.placeholder
iModifier.placeholderShimmer
w przypadku 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 ostateczną specyfikacją UX. (Ib3d8e) - W usłudze
rememberPickerState
naprawiliśmy błąd, który powodował, że zaktualizowane dane wejściowe nie były zapisywane, co uniemożliwia aktualizowanie elementów kompozycyjnych po ich wprowadzeniu. (I49ff6, b/255323197) - Wprowadziliśmy pewne zmiany w interfejsie obiektów zastępczych.1) zmieniliśmy gradient migotania na 1, 5 raza większy, 2) dodano wygładzanie (kwadratowe ramki) efektu poblasku i 3) przyspieszyliśmy animację wymazywania (o 250 ms). (Id29c1).
- Naprawiliśmy błąd interfejsu związany z efektem zastępczym wymazywania obrazu, w wyniku którego tła elementów i kart były usuwane nieco wcześnie ze względu na brak brania pod uwagę pozycji komponentu na ekranie. (I2c7cb)
- Zaktualizowaliśmy rysunek obiektu zastępczego tła, aby w miarę możliwości scalać kolory, a nie nakładać je na warstwy tam, gdzie jest to możliwe. Pozwala to zmniejszyć ryzyko zmieszania alfa różnych przyciętych warstw, co spowoduje prześwietlenie kolorów bazowych na krawędziach zastępczych tła. (I2ea26)
- Poprawiliśmy sposób obliczania wartości
ScalingLazyListState.centerItemIndex/centerItemOffset
. Jeśli 2 elementy znajdują się po obu stronach linii środkowej widocznego obszaru, jako elementcenterItem
będzie uznawany ten, który jest najbliżej. (I30709, b/254257769) - Naprawiliśmy błąd w interfejsie
ScalingLazyListState.layoutInfo.visibleItemsInfo
, który zgłaszał nieprawidłowe przesunięcia podczas inicjowania funkcjiScalingLazyColumn
. Teraz zwracana jest pusta lista, dopóki wszystkie jej elementy nie będą widoczne i mają odpowiednie przesunięcia. Sprawdź, czyScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty()
inicjowanieScalingLazyColumn
się zakończyło, a elementy są widoczne. (I3a3b8)
Wersja 1.1.0-beta01
24 października 2022 r.
Opublikowano 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
. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.
Co zawiera funkcja Utwórz na Wear OS 1.1
Wersja 1.1.0–beta01 funkcji Utwórz na Wear OS wskazuje, że ta wersja biblioteki jest już dostępna, a interfejs API jest zablokowany.
- Wersja Wear Compose w wersji 1.1 zawiera te nowe funkcje:
- Selektor – ułatwienia dostępu w selektorze, dzięki którym można wygodnie poruszać się po ekranach z wieloma opcjami za pomocą czytników ekranu, a opis treści jest bardziej przystępny
- Parametr
contentDescription
selektora jest teraz używany tylko w przypadku wybranej opcji selektora i przyjmuje ciąg znaków z wartością null (w poprzednim zatwierdzeniu trzeba było przekazać mapowanie opcji do opisu treści, ale użyta została tylko wybrana opcja). - Elementy selektora są teraz zawsze wyśrodkowane. Usunięcie błędu polegającego na ustawieniu
gradientRatio
na 0 dało efekt uboczny zmiany wyrównania. Chip/ToggleChip
– zaktualizowaliśmy domyślne gradienty interfejsuChip/ToggleChip
, aby były zgodne z najnowszą specyfikacją UX.ChipDefaults.gradientBackgroundChipColors
został zaktualizowany tak, aby zaczynał od 50% podstawowego, a nie 32,5%.Chip/ToggleChip
– dodano przeciążenia związane z modyfikowaniem kształtów elementówChip/Button/ToggleButton
– dodaliśmy nowy styl konturu elementów i przycisków oraz nowych elementów kompozycyjnychOutlinedChip
iOutlinedButton
z przezroczystym ramkąChip/Button
z cienkim obramowaniem.- Karta – zaktualizowaliśmy domyślne gradienty kart, aby zapewnić zgodność z najnowszą specyfikacją UX.
CardDefaults.cardBackgroundPainter
został zaktualizowany tak, aby zaczynał się od 30% podstawowej i kończył przy 20% wartościonSurfaceVariant
(wcześniej 20% do 10%onSurfaceVariant
).ToggleChip.toggleChipColors
zmienia się z gradientu liniowego 75% dla powierzchni na 32,5% dla podstawowej, na 50% dla podstawowej. Button/ToggleButton
– dodano właściwości modyfikowania kształtów przycisków.- Motyw – zaktualizowaliśmy liczbę domyślnych kolorów w
MaterialTheme
, aby poprawić dostępność, ponieważ oryginalne kolory nie miały wystarczającego kontrastu, co utrudniało użytkownikom odróżnienie tła elementów/kart/przycisków od koloru tła motywu. InlineSlider/Stepper
– dodano role przycisków, dzięki czemuTalkback
może je rozpoznawać jako przyciski.- Scaffold –
PositionIndicator
jest teraz umiejscowiony i dostosowany do rozmiaru, tak aby zajmowało tylko potrzebną ilość miejsca. Jest to przydatne, jeśli na przykład dodasz informacje semantyczne, TalkBack otrzyma teraz prawidłowe granice polaPositionIndicator
na ekranie. CurvedText/TimeText
– dodano elementModifier.scrollAway
, który umożliwia przewijanie elementu w pionie do lub z widoku w zależności od stanu przewijania (przeciążenia współpracują zColumn
,LazyColumn
iScalingLazyColumn
).ScrollAway
zwykle służy do przewijaniaTimeText
, gdy użytkownik zaczyna przewijać listę elementów w górę.CurvedText/TimeText
– dodano obsługę systemówfontFamily
,fontStyle
ifontSynthesis
w systemieCurvedTextStyle
, której można używać na urządzeniachcurvedText
ibasicCurvedText
CurvedText/TimeText
– dodano elementfontWeight
do konstruktora i metody kopiowania w komponencieCurvedTextStyle
ToggleControls
– dodano animowane elementy sterujące przełącznikiemCheckbox
,Switch
iRadioButton
do użytku z elementamiToggleChip
iSplitToggleChip
. Możesz ich użyć zamiast statycznych ikon dostępnych wToggleChipDefaults
(switchIcon
,checkboxIcon
iradioIcon
).- Obiekt zastępczy – dodaliśmy eksperymentalną obsługę symboli zastępczych. Zawiera 3 różne efekty wizualne, które współdziałają ze sobą.
- Pierwszy z nich to zastępczy efekt pędzla pędzla tła używany w kontenerach takich jak układ scalony i karty do rysowania na normalnym tle podczas oczekiwania na wczytanie treści.
- Drugi modyfikator (
Modifier.placeholder()
) do rysowania zastępczego widżetu w kształcie stadionu na ładowanej treści. - Po trzecie, modyfikator gradientu/poblasku (
Modifier.placeholderShimmer()
), który jest nakładany na inne efekty, aby pokazać użytkownikom, że czekamy na wczytanie danych.- Wszystkie te efekty są skoordynowane, a ich migoczące i migotliwe efekty są dobrze zorganizowane.
- Podstawowe zależności funkcji Compose zostały zaktualizowane z 1.2 do 1.3
Zmiany w interfejsie API
- Parametry czcionki (
fontFamily
,fontWeight
,fontStyle
ifontSynthesis
) można teraz określić bezpośrednio jako parametrycurvedText
(Idc422)
Poprawki błędów
curveText
ibasicCurvedText
będą teraz działać prawidłowo z TalkBack (mają prawidłowo rozmiar i umieszczony (ale pusty) węzeł interfejsu tworzenia wiadomości, wykorzystując tekst jako opis treści) (I7af7c, b/210721259)- Naprawiono błąd w funkcji
Picker
, który występował, gdyPickerState.repeatedItems = false
dodał jawne ustawienie parametrów autoCentering w wewnętrznym elemencie selektoraScalingLazyColumn
, dzięki czemu można było przewijać opcję zero'th na środek widoku. (I8a4d7)
Wersja 1.1.0-alfa07
5 października 2022 r.
Opublikowano 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
. Wersja 1.1.0-alpha07 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy eksperymentalną obsługę symboli zastępczych. Zawiera 3 różne efekty wizualne, które współdziałają ze sobą. Pierwszy z nich to zastępczy efekt pędzla pędzla tła używany w kontenerach takich jak układ scalony i karty do rysowania na normalnym tle podczas oczekiwania na wczytanie treści. Drugi modyfikator (
Modifier.placeholder()
) do rysowania zastępczego widżetu w kształcie stadionu na ładowanej treści. Po trzecie, modyfikator gradientu/poblasku (Modifier.placeholderShimmer()
), który jest nakładany na inne efekty, aby pokazać użytkownikom, że czekamy na wczytanie danych. Wszystkie te efekty są skoordynowane, a ich migoczące i migotliwe efekty są dobrze zorganizowane. (I3c339)
Zmiany w interfejsie API
- Dodano obsługę
fontWeight
,fontFamily
,fontStyle
ifontSynthesis
w przeglądarceCurvedTextStyle
, którą można użyć na urządzeniachcurvedText
ibasicCurvedText
. Te parametry pozwalają określić czcionkę i styl tekstu zakrzywionego.(Iaa1a8),(I72759) - Zaktualizowano parametr przesunięcia elementu
Modifier.scrollAway
na Dp w celu zachowania spójności z elementemModifier.offset
(wcześniej był on w pikselach). Dla wydajności refaktoryzowano też tę funkcję jakoLayoutModifier
. (I9f94b) - W ramach nowego interfejsu API do przełączania ustawień zmieniliśmy nazwę z
RadioButton’s circleColor
naringColor
. (I28fa9) - Dodaliśmy animowane przełączniki
Checkbox
,Switch
iRadioButton
do użytku zToggleChip
iSplitToggleChip
. Możesz ich użyć zamiast statycznych ikon dostępnych wToggleChipDefaults
(switchIcon
,checkboxIcon
iradioIcon
). (I8a8c4)
Wersja 1.1.0-alfa06
21 września 2022 r.
Opublikowano 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
. Wersja 1.1.0-alpha06 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy narzędzie
Modifier.scrollAway
, które przewija element w pionie do lub z widoku w zależności od stanu przewijania (z przeciążeniami działającymi na stronachColumn
,LazyColumn
iScalingLazyColumn
).ScrollAway
zwykle służy do przewijaniaTimeText
poza widok, gdy użytkownik zaczyna przewijać listę elementów w górę. (I61766)
Poprawki błędów
- Urządzenie
PositionIndicator
zostało umiejscowione i powiększone tak, aby zajmowało tylko potrzebne miejsce. Jest to przydatne, jeśli na przykład dodasz informacje semantyczne, TalkBack otrzyma teraz prawidłowe granice polaPositionIndicator
na ekranie. (Ie6106, b/244409133)
Wersja 1.1.0-alfa05
7 września 2022 roku
Opublikowano 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
. Wersja 1.1.0-alpha05 zawiera te zatwierdzenia.
Poprawki błędów
- Do funkcji
InlineSlider
iStepper
dodano role przycisków, aby funkcja TalkBack mogła je rozpoznać jako przyciski. (Icb46c, b/244260275) - Poprawiliśmy kolejność elementów w rankingu (z-order) i wskaźników strony w scaffold. Wskaźniki będą teraz znajdować się nad winietą, dzięki czemu nie będą przez nią przesłonięte, jeśli są dostępne. (Ib988f, b/244207528)
Wersja 1.1.0-alfa04
24 sierpnia 2022 r.
Opublikowano 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
. Wersja 1.1.0-alpha04 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zaktualizowaliśmy szereg domyślnych kolorów w komponencie MaterialTheme, aby zwiększyć dostępność, ponieważ oryginalne kolory nie miały wystarczającego kontrastu, co utrudniało użytkownikom odróżnienie tła elementów/kart/przycisków od koloru tła motywu. Zaktualizowane kolory to: Powierzchnia (0xFF202124->0xFF303133), onPrimary(0xFF202124->0xFF303133), onsecondary(0xFF202124->0xFF303133), primaryVariant(0xFF669DF4FF0->0xFF669DF4->0xFF8Error4F8). Chociaż zmiany kolorów są stosunkowo subtelne, mogą wpłynąć na istniejące testy zrzutów ekranu. (81ab09)
Poprawki błędów
- Popraw błąd logiczny w usłudze
ScalingLazyColumn
, który mógł powodować, że listy z niewielką (zwykle dokładnie 2) liczbą elementów listy nie kończyły się inicjowaniem, a przez to były przejrzyste. (504347)
Wersja 1.1.0-alfa03
10 sierpnia 2022 r.
Opublikowano 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
. Wersja 1.1.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy nowy styl konturu dla
Chips
iButtons
oraz nowych elementów kompozycyjnychOutlinedChip
iOutlinedButton
, które zapewniają przezroczystośćChip/Button
z cienką obwódką. (Id5972)
Zmiany w interfejsie API
- Dodano przeciążenia związane z modyfikowaniem kształtów przycisków (Icccde).
Poprawki błędów
- Poprawiliśmy rozmiar obszaru sterującego przełącznika w elemencie
ToggleChip
, ponieważ nie był on zgodny ze specyfikacją UX. Specyfikacja UX wymaga spacji 4.dp między etykietą a obszarem ikony sterującej o wymiarach 24 x 24 dp, co daje łączną szerokość 28 dp. Implementacja błędnie podaje jednak obszar sterowania przełącznika o wymiarach 36 x 24.dp. W rezultacie obszar etykiet tekstowych zostaje usunięty o 8 dp. UWAGA: ta poprawka błędu zapewnia dodatkowe miejsce na etykietę tekstową, co w efekcie może (pozytywnie) wpłynąć na układ tekstu w przypadku wydzielanego tekstu. Jeśli masz testy zrzutów ekranu, w tymToggleChips
, może być konieczne ich zaktualizowanie. (I514c8, b/240548670)
Wersja 1.1.0-alfa02
27 lipca 2022 roku
Opublikowano 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
. Wersja 1.1.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- Zmieniliśmy wersję funkcji tworzenia w przypadku zależności Wear OS z podstawowymi bibliotekami Compose z wersji 1.2.0 na 1.3.0-alfa0X
Zmiany w interfejsie API
- Dodano przeciążenia związane z modyfikowaniem kształtów elementów (I02e87).
Poprawki błędów
- Zoptymalizowaliśmy widoczność reklamy winietowej podczas pokazywania/ukrywania okna, aby zachować spójność z istniejącą animacją skalowania. (Ida33e).
- Naprawiliśmy błąd polegający na tym, że dzielenie przez zero może powodować, że podczas przewijania nic się nie przesuwa. (I86cb6)
- Naprawiliśmy błąd w elemencie
ChipDefaults.childChipColor()
, który sprawił, że wyłączony kolor tła jest w pełni przezroczysty. (I2b3c3, b/238057342)
Wersja 1.1.0-alfa01
29 czerwca 2022 r.
Opublikowano 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
. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Parametr
contentDescription
selektora jest teraz używany tylko w przypadku wybranej opcji selektora i przyjmuje ciąg znaków z wartością null (wcześniej trzeba było przekazać mapowanie z opcji do opisu treści, ale używana była tylko wybrana opcja). (Ife6a7) - Ulepszyliśmy ułatwienia dostępu w selektorze, aby ułatwić nawigację za pomocą czytników ekranu z wieloma selektorami, a opis treści jest przystępny (I64edb).
Poprawki błędów
- Zaktualizowaliśmy reguły profilu podstawowego w pakiecie z biblioteką Wear Compose (I9c694)
- Poprawiliśmy kierunek gradientu elementów w trybie od prawej do lewej. Poprzednio: lewy górny - prawy dolny róg. Teraz prawy górny róg > lewy dolny róg. (Ic2e77).
- Zaktualizowaliśmy domyślne gradienty interfejsu
Chip/ToggleChip/Card
, aby były zgodne z najnowszą specyfikacją UX.ChipDefaults.gradientBackgroundChipColors
został zaktualizowany tak, aby zaczynał od 50% a nie 32,5%. ZakresCardDefaults.cardBackgroundPainter
został zaktualizowany tak, aby zaczynał się z 30% podstawowej i kończył przy 20% dla powierzchnionSurfaceVariant
(poprzednio 20% do 10%onSurfaceVariant
).ToggleChip.toggleChipColors
zmienia się z gradientu liniowego o 75% powierzchni na 32,5% dla pierwotnej powierzchni na 50% dla podstawowej. (I43bbd) - Dodaliśmy kolor tła (
MaterialTheme.color.surface
) za obiektemChip/ToggleChips
z gradientowym tłam, by zapewnić ich prawidłową widoczność nawet wtedy, gdy za nimi zostanie użyty jasny kolor, mało prawdopodobny. (Ibe1a4, b/235937657) - Elementy selektora są teraz zawsze wyśrodkowane. Usunięcie błędu polegającego na ustawieniu
gradientRatio
na 0 dało efekt uboczny zmiany wyrównania. (I712b8)
Wersja 1.0
Wersja 1.0.2
7 września 2022 roku
Opublikowano 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
. Wersja 1.0.2 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawiliśmy kolejność elementów w rankingu (z-order) i wskaźników strony w scaffold. Wskaźniki będą teraz znajdować się nad winietą, dzięki czemu nie będą przez nią przesłonięte, jeśli są dostępne. (Ib988f, b/244207528)
Wersja 1.0.1
24 sierpnia 2022 r.
Opublikowano 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
. Wersja 1.0.1 zawiera te zatwierdzenia.
Poprawki błędów
- Popraw błąd logiczny w usłudze
ScalingLazyColumn
, który mógł powodować, że listy z niewielką (zwykle dokładnie 2) liczbą elementów listy nie kończyły się inicjowaniem, a przez to były przejrzyste. (076c61)
Wersja 1.0.0
27 lipca 2022 roku
Opublikowano 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
. Wersja 1.0.0 zawiera te zatwierdzenia.
Główne funkcje wersji 1.0.0
- To pierwsza stabilna wersja funkcji Utwórz na Wear OS (więcej informacji).
- Funkcja Compose w aplikacji na Wear OS bazuje na podstawowych bibliotekach Compose, udostępniając dodatkowe komponenty przeznaczone do noszenia oraz, w razie potrzeby, alternatywne implementacje podstawowych komponentów Compose dostosowanych do urządzeń do noszenia.
- Listę najważniejszych komponentów Wear Compose znajdziesz w informacjach o wersji (Tworzenie na Wear OS Beta01).
Poprawki błędów
- Zoptymalizowaliśmy widoczność reklamy winietowej podczas pokazywania/ukrywania okna, aby zachować spójność z istniejącą animacją skalowania. (Ida33e).
- Naprawiliśmy błąd polegający na tym, że dzielenie przez zero może powodować, że podczas przewijania nic się nie przesuwa. (I86cb6)
- Naprawiliśmy błąd w elemencie
ChipDefaults.childChipColor()
, który sprawił, że wyłączony kolor tła jest w pełni przezroczysty. (I2b3c3, b/238057342)
Wersja 1.0.0-rc02
22 czerwca 2022 r.
Opublikowano 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
. Wersja 1.0.0-rc02 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawiliśmy kierunek gradientu kart w trybie od prawej do lewej (RTL). Była w prawym górnym rogu > w prawym dolnym rogu. (Ic2e77).
- Zaktualizowaliśmy domyślne gradienty interfejsu
Chip/ToggleChip/Card
, aby były zgodne z najnowszą specyfikacją UX.ChipDefaults.gradientBackgroundChipColors
został zaktualizowany tak, aby zaczynał od 50% podstawowego zamiast 32,5%. ZaktualizowanoCardDefaults.cardBackgroundPainter
, aby zaczynał się od 30% podstawowej i kończył przy 20%onSurfaceVariant
(wcześniej wynosił 20% do 10% onSurfaceVariant).ToggleChip.toggleChipColors
zmienia gradient liniowy 75% powierzchni na 32,5% pierwotny na 0% powierzchni na 50% pierwotny. (I43bbd) - Dodaliśmy kolor tła (
MaterialTheme.color.surface
) za obiektemChip/ToggleChips
z gradientowym tłam, by zapewnić ich prawidłową widoczność nawet wtedy, gdy za nimi zostanie użyty jasny kolor, mało prawdopodobny. (Ibe1a4, b/235937657) - Zaktualizowaliśmy reguły profilu podstawowego w pakiecie z biblioteką Wear Compose (I9c694)
Wersja 1.0.0-rc01
15 czerwca 2022 r.
Opublikowano 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
. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Zmiany w interfejsie 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 jednoznaczne wywołanie funkcji
fillMaxWidth()
z nagłówka listy, ponieważ nie jest ono potrzebne i może powodować problemy, jeśli elementScalinglazyColumn
zawiera kombinację komponentówListHeader()
iChip()
, ponieważ szerokość może się zmniejszać lub zmniejszać w miarę przewijaniaListHeader
elementów. (I37144, b/235074035) - Naprawiliśmy błąd w elemencie
ScalingLazyColumn
, który powodował, że elementy listy nie rysowały się prawidłowo do momentu przewinięcia, jeśli 0. element listy był wystarczająco duży (łącznie z dopełnieniem) (Ic6159, b/234328517) - Wprowadziliśmy niewielką zmianę w wygładzeniu
ScalingLazyColumn
, gdy elementy dotykają krawędzi ekranu, aby dostosować je do zmian specyfikacji UX. Stare wartościCubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f)
-> nowe wartościCubicBezierEasing(0.3f, 0f, 0.7f, 1f)
. Aby zachować stare działanie, możesz zastąpićscalingParams
funkcjiScalingLazyColumn
(Ie375c) - Dodaliśmy dopełnienie do elementu
CompactChip
, aby mieć pewność, że rozmiar elementu dotykowego na ekranie musi mieć wysokość co najmniej 48 dp zgodnie z wytycznymi Material dotyczącymi ułatwień dostępu. Może to mieć wpływ na wszystkie układy, w których używasz funkcjiCompactChips
, ponieważ zajmują one więcej miejsca. (I3d57c)
Wersja 1.0.0-beta03
1 czerwca 2022 r.
Opublikowano 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
. Wersja 1.0.0-beta03 zawiera te zatwierdzenia.
Nowe funkcje
- Aplikacja
ScalingLazyColumn
działa w trybie tworzenia@Preview
. (I3b3b6, b/232947354)
Zmiany w interfejsie API
- Zmieniliśmy domyślną wartość właściwości
ScalingLazyColumn.horizontalAlignment
z początkowej naCenterHorizontally
, aby mieć pewność, że gdy elementy list nie wypełnią całej szerokości kolumny, zostaną wyrównane, aby zapewnić maksymalną widoczność. Aby wrócić do poprzedniego zestawu działań:horizontalAlignment = Alignment.Start
.(I9ed4b)
Znane problemy
- Wysokość dotknięcia w komponencie CompactChip jest mniejsza niż w przypadku ułatwień dostępu w Material Material. Wprowadzone zmiany zostaną wprowadzone w następnej wersji (15 czerwca). Jeśli używasz CompactChip, wpłynie to na układy, ponieważ CompactChips będzie mieć teraz dodatkowe dopełnienie powyżej i poniżej. Dostosuj i przetestuj układy lub przeczytaj komentarze o błędach, aby dowiedzieć się, jak obejść ten problem. (b/234332135)
Poprawki błędów
- Nowa wersja demonstracyjna animacji dodawania i usuwania tekstu początkowego w elemencie
TimeText
. (I16d75) - Dodaj testy dla:
HorizontalPageIndicator.PagesState
(I64ed0) - Aktualizacja interfejsu
TimeText
bliżej specyfikacji UX (Ib7ea1)
Wersja 1.0.0-beta02
18 maja 2022 r.
Opublikowano 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
. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.
Nowe funkcje
- Selektor teraz zawsze odpowiada na zdarzenia przewijania, nawet w trybie „tylko do odczytu”. Dzięki temu użytkownicy nie muszą wcześniej wybierać selektora przez kliknięcie, zanim przewiną. W trybie „tylko do odczytu” opcje inne niż obecnie wybrane są zasłonięte podkładką w
gradientColor
. (I72925) - Zmieniliśmy działanie użytkownika
Chip/ToggleChip/CompactChip/SplitToggleChip
, aby nie używała domyślnie funkcjifillMaxWidth
. Zamiast tego będą dopasowywały się do treści. Aby zachować poprzednie działanie, po prostu dodajmodifier = Modifier.fillMaxWidth()
(I60a2c, b/232206371)
Poprawki błędów
- Konstruktor
CurvedTextStyle
przyjmującyTextStyle
uwzględnia teraz takżefontWeight
(można to dodać do konstruktora i metod kopiowania w kolejnych wersjach interfejsu API) (Ieebb9) - Ulepszenia przesuwania krawędzi. Jeśli korzystasz z funkcji
Modifier.edgeSwipeToDismiss
i przesuniesz palcem w lewo od obszaru krawędzi, nie będzie już ono uruchamiać się po zmianie kierunku przesuwania w prawo. Wcześniej można było uruchomić funkcję przesuwania, aby zamknąć, przesuwając palcem w lewo, a następnie w prawo.(I916ea) HorizontalPageIndicator
może teraz wyświetlać na ekranie maksymalnie 6 stron. Jeśli w sumie dostępnych jest więcej niż 6 stron, po lewej lub prawej stronie pojawi się wskaźnik połowy rozmiaru i płynne przejście między stronami (I2ac29).- Ulepszone domyślne działanie przyciągania na urządzeniach z systemem
ScalingLazyColumn
iPicker
(I49539) - Ulepszenia przesuwania krawędzi. Przy korzystaniu z usługi
Modifier.edgeSwipeToDismiss
przesuwanie, aby zamknąć, uruchamia się tylko wtedy, gdy pierwszy raz dotkniesz krawędzi i przesuniesz palcem w prawo. Wcześniej można było uruchamiać funkcję przesuwania, aby ją zamknąć, przesuwając palcem od dowolnej części ekranu, gdy przewijanie dotrze do początku.(I8ca2a)
Wersja 1.0.0-beta01
11 maja 2022 roku
Opublikowano 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
. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
Co zawiera funkcja Utwórz na Wear OS 1.0
Pole 1.0.0-beta01
tworzenia wiadomości w przypadku Wear OS to ważny krok milowy, ponieważ biblioteka jest już gotowa, a interfejs API jest zablokowany.
Komponenty Wear Compose Material w wersji 1.0 to:
- Motyw Material Design – zastępuje funkcję
MaterialTheme
w tworzeniu wiadomości na urządzeniu mobilnym i udostępnia kolory, kształty i typografii do tworzenia komponentów na urządzeniach do noszenia, które są zgodne z wytycznymi UX Wear Material Design. Button
,CompactButton
iToggleButton
– ten przycisk umożliwia umieszczenie ikony, obrazu lub krótkiego tekstu (maksymalnie 3 znaki). Okrąg w zalecanych rozmiarach dla przycisków domyślnych oraz dużych i małych.CompactButton
to pojedynczy boks na dowolną treść (ikona, obraz lub tekst). Ma okrągły kształt i bardzo małe tło. W elemencieCompactButton
można umieścić 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). Zawiera on stany włączenia/wyłączenia (zaznaczony/odznaczony) z kolorami i różnymi ikonami wskazującymi, czy pole jest zaznaczone.- Karty – służą do wyświetlania informacji o aplikacjach, np. powiadomienia. Elastyczny wygląd strony dostosowany do różnych zastosowań dzięki
AppCard
iTitleCard
, które zapewniają różne układy i obsługę obrazów jako zawartości karty lub tła. - Chips to elementy w kształcie stadionu podobne do przycisków, ale z większym obszarem i wieloma gniazdami na etykiety, etykiety dodatkowe i ikony. Różne rozmiary i z obsługą obrazów jako tła.
- SwitchChips i SplitToggleChips – element ze stanem zaznaczonym/odznaczonym oraz dodanym przedziałem
ToggleControl
, w którym wyświetla się ikona, na przykład przełącznik lub przycisk opcji, wskazujący stan zaznaczonego komponentu. DodatkowoSplitToggleChip
ma 2 obszary, które można kliknąć: 1 klikalny i 1 z którym można przełączać. - Okrągły wskaźnik postępu – wskaźnik postępu materiału Wear z dwiema wersjami. Pierwszy określa odsetek ukończenia trwającego zadania i pomaga utworzyć przerwę na ścieżce kołowej między kątami rozpoczęcia i zakończenia. Drugi oznacza nieokreślony postęp przez nieokreślony czas oczekiwania.
- łukowy tekst – stanowi część DSL do opisania obiektu
CurvedLayouts
(wraz z elementamicurvedRow
icurvedColumn
) w celu rozmieszczenia komponentów na urządzeniach okrągłych. Więcej informacji oCurvedLayout
iCurvedModifier
znajdziesz poniżej, w sekcji Podstawy komponentów Wear. (Odgrywa ona rolę podobną do modyfikatorów w świecie niezakrzywionym i umożliwia konfigurowanie różnych aspektów układu, dopełnienia, gradientów itp.). - Okno, alert i potwierdzenie – okno wyświetla się na pełnym ekranie, nałożone na inną treść i obsługuje przesunięcie, aby zamknąć. Zajmuje 1 miejsce, które powinno być sprawdzone w oknie dialogowym z Wear Material, takim jak alert lub potwierdzenie. Alert to sprawdzona zawartość okna z boksami na ikonę, tytuł i komunikat. Zawiera on przeciążenia dwóch przycisków minus i dodatnich wyświetlanych obok siebie lub miejsca na 1 lub więcej elementów ułożonych w pionie. Potwierdzenie to oparta na danych treść okna dialogowego, która wyświetla komunikat przez określony czas. Zawiera miejsce na ikonę lub obraz (które mogą być animowane).
- HorizontalPageIndicator – pokazuje pozycję strony w poziomie w sposób odpowiedni do formatu urządzenia do noszenia. Zaprojektowany do wyświetlania na pełnym ekranie z zakrzywionym wskaźnikiem na okrągłych urządzeniach. Do używania z przeglądarką strony Accompanist.
- Ikona – implementacja ikony na Wear, która wykorzystuje kolor i alfa z motywu Wear Material. Ikonę, którą można kliknąć, znajdziesz w sekcji Przycisk lub Element.
- Selektor – wyświetla przewijaną listę elementów do wyboru. Domyślnie elementy będą powtarzane „bez ograniczeń” w obu kierunkach. Można ją wyświetlać w trybie „tylko do odczytu”, aby ukryć niewybrane opcje.
- PositionIndicator – pokazuje pozycję przewijania lub inne wskazanie położenia w sposób odpowiedni do formatu urządzenia do noszenia. Ta funkcja jest przeznaczona na pełny ekran, a na okrągłych urządzeniach wyświetla się zakrzywiony wskaźnik.
- Scaffold – implementuje podstawową strukturę układu wizualnego Wear Material Design. Zapewnia on interfejs API umożliwiający połączenie kilku komponentów Wear Material (np.
TimeText
,PositionIndicator
iVignette
) tworzących ekran. Pozwala to zadbać o właściwą strategię układu i gromadzić dane niezbędne do prawidłowego działania tych komponentów. - ScalingLazyColumn – komponent przewijanej listy skalowania/rybie oko, który stanowi kluczowy element języka Wear Material Design. Zapewnia efekty skalowania i przejrzystości elementów treści.
ScalingLazyColumn
obsługuje potencjalnie dużą liczbę elementów treści, które są zmaterializowane i skonstruowane tylko wtedy, gdy to konieczne. - Suwak – umożliwia użytkownikom dokonanie wyboru z zakresu wartości. Zakres wyboru jest widoczny w postaci słupka, który można opcjonalnie wyświetlić z separatorami.
- Stepper – pełnoekranowy komponent, który umożliwia użytkownikom dokonanie wyboru z zakresu wartości za pomocą przycisków zwiększania/zmniejszania u góry i dołu ekranu z boksem w środku przeznaczonym na tekst lub element.
- PrzesuńToZamknijBox – obsługuje gest przesuwania, aby zamknąć. Zajmuje 1 miejsce na tło (wyświetlane tylko podczas gestu przesuwania) i na zawartość na pierwszym planie. Można ją opcjonalnie połączyć z biblioteką nawigacyjną Androidax za pomocą
SwipeDismissableNavHost
(patrz biblioteka nawigacji na Wear Compose poniżej). - Tekst – implementacja na Wear komponentu Tekst w komponencie Utwórz przy użyciu koloru i alfa z motywu Wear Material
- TimeText: komponent wyświetlający czas i stan aplikacji u góry ekranu. Dostosowuje się do kształtu ekranu przez zastosowanie zakrzywionego tekstu na okrągłych ekranach.
Winieta – metoda stosowana w Scaaffold, która zamazuje górną i dolną część ekranu, gdy użytkownik korzysta z przewijanej zawartości.
W Wear Compose Foundation znajdziesz też te komponenty:
Układ zakrzywiony – podstawa Wear
CurvedLayout
to układ kompozycyjny, który umieszcza elementy podrzędne w łuku, obracając je w razie potrzeby. Przypomina układ liniowy zakrzywiony w segmencie pierścienia. Pamiętaj, że zawartość funkcjiCurvedLayout
nie jest funkcją kompozycyjną lambda, lecz jest to język DSL (język zależny od domeny). Wszystkie elementy DSL obiektu CurvedLayout obsługują opcjonalny parametr modyfikatora utworzony na podstawie elementuCurvedModifier
.baseCurvedText – element w systemie DSL
CurvedLayout
;basicCurvedText
umożliwia programistom łatwe pisanie tekstu zakrzywionego wzdłuż jego krzywizny (zwykle na krawędzi okrągłego ekranu). ElementbasicCurvedText
można utworzyć tylko w obrębie elementuCurvedLayout
, aby zapewnić jego największą wygodę, np. możliwość określenia pozycjonowania i zastosowania właściwościCurvedModifiers
. Zwróć uwagę, że w większości przypadków należy używać krzywej tekstu, ponieważ zastosowano w niej motywy Material Design.zakrzywioneComposable – zawija normalne treści kompozycyjne, by można było ich używać z funkcją
CurvedLayout
. JeślicurvedComposable
zawiera w sobie kilka elementów, zostaną one narysowane jeden na drugim (jak prostokąt). Aby umieścić na krzywej kilka elementów kompozycyjnych, zawijaj każdy z nich za pomocą atrybutucurvedComposable
.crzywy wiersz i kolumna krzywych – podobnie jak w przypadku kolumn Wiersz i Kolumna, elementy
curvedRow
icurvedColumn
można zagnieżdżać w obiekcieCurvedLayout
, aby rozmieszczać elementy zgodnie z potrzebami. W przypadku elementucurvedRow
można określić kierunek układu kątowego i wyrównanie promieniowe. W przypadku elementucurvedColumn
można określić wyrównanie kątowe i kierunek promieniowy.CurvedModifier – wszystkie zakrzywione komponenty akceptują parametr modyfikatora, który można utworzyć za pomocą funkcji
CurvedModifier
. Obsługiwane są: tło, rozmiar, waga i dopełnienie.W nawigacji w Wear Compose jest też ten komponent:
ScrollableNavHost zapewnia miejsce w hierarchii tworzenia, umożliwiając samodzielne poruszanie się po ekranie z nawigacją wsteczną udostępnianą za pomocą gestu przesuwania. Treść jest wyświetlana w sekcji
SwipeToDismissBox
, która wskazuje bieżący poziom nawigacji. Gdy gest przesuwania palcem zostanie zamknięty, w tle widoczny będzie poprzedni poziom nawigacji (jeśli został wybrany).Aby dowiedzieć się więcej, zapoznaj się z informacjami o poprzednich wersjach poszczególnych wersji alfa.
Zmiany w interfejsie API
- Dodano funkcje (
CurvedModifier.padding*
). Służą one do określenia dodatkowej przestrzeni wokół komponentu zakrzywionego. (I4dbb4). - Usunięto klasę wewnętrzną
CompositionLocal
(I42490) - Dodaliśmy stałe wartości rozmiarów ikon
Button
,CompactButton
iToggleButton
zgodnie ze wskazówkami (I57cab). - Dodaj włączony parametr do metod
AppCard
iTitleCard
. Teraz mają interfejs API podobny do kartandroidx.compose.material
. Jeśli ten parametr ma wartość false (fałsz), karty nie będzie można kliknąć. (Idc48d, b/228869805)
Poprawki błędów
- Stepper wyłącza teraz przyciski zwiększania i zmniejszania głośności po osiągnięciu dolnego/górnego limitu (i stosuje atrybut ContentAlpha.disabled do atrybutu iconColor) (I4be9f)
- Dodaliśmy 1 dp dopełnienie wokół zawartości selektora rysowanych z użyciem gradientu, aby zapobiec zniekształceniom w tekście wyświetlanym podczas przesuwania. (I0b7b9)
- Dodaj testy zrzutu 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.
Opublikowano 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
. Wersja 1.0.0-alpha21 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano nowe modyfikatory zakrzywionych, które określają tło elementu zakrzywionego:
CurvedModifier.background
,.radialGradientBackground
i.angularGradientBackground
(I8f392). - Zezwalaj na określanie trybu przepełnienia tekstu krzywego (klip/wielokropek/widoczny). (I8e7aa)
- Dodano modyfikator
CurvedModifier.weight
, podobny do modyfikatora w sekcji Utwórz. Tego ustawienia można użyć w przypadku elementów podrzędnych obiektu łuku krzywego i układu krzywego (w przypadku szerokości) oraz elementów podrzędnych kolumny zakrzywiona kolumna (w przypadku wysokości). (I8abbd). - Dodano modyfikatory
CurvedModifier.size
,.angularSize
i.radialSize
, aby określić rozmiar zakrzywionego elementu. (I623c7)
Zmiany w interfejsie API
- Zmień kolejność parametrów, aby w interfejsie Wear Compose API (I43208) było spójne tło przed kolorem.
- W nowych klasach usunięto parametry w prawo i parametry
insideOut
, a następnie zastąpiliśmy stałymi o większym stopniu ekspresji. Kierunek układu krzywego może być teraz rozpoznawany w trybieLayoutDirection
i jest dziedziczony, jeśli nie został określony (If0e6a) - Zastąpiliśmy łańcuch
autoCenter: Boolean
elementemautoCenter: AutoCentringParams
, aby rozwiązać problem z interfejsem API dotyczący:ScalingLazyColumn
. (Ia9c90) - Zmieniliśmy nazwy
iconTintColor
itoggleControlTintColor
naiconColor
oraztoggleControlColor
w całym interfejsie API (Chip/ToggleChip/Dialog/Slider/Stepper/...), ponieważ kolor jest stosowany w gnieździe ikona/toggleControl. (Ied238) - Przepisz wyliczenie
PageIndicatorStyle
do klasy wartości (I2dc72) - Dodaliśmy
RowScope/ColumnScope/BoxScope
do niektórych boksów w komponentach, aby poinformować deweloperów o założeniach dotyczących układów. Dzięki temu deweloperzy mogą stosować dodatkowe modyfikatory w niektórych treściach w niektórych boksach. Nie trzeba wtedy dodawać dodatkowych elementów układu. Dodatkowo wprowadziliśmy kilka drobnych zmian w kolorach AppCard i TitleCard, aby ustawieniatimeColor
iappColor
miały domyślnie wartośćcontentColor
. W razie potrzeby wszystkie te właściwości można zastąpić pojedynczo. (I26b59) - Ustawienie obiektu
SwipeToDismissBoxState.Companion
jako prywatnego (I39e84) - Popraw kolejność parametrów
InlineSlider
iStepper
. prosta zmiana w zachowaniu zgodności z wytycznymi dotyczącymi interfejsu API (I11fec), - Usunęliśmy obiekt Oszczędności dla:
SwipeToDismissBoxState
, ponieważ nie był używany. (Ifb54e) - Zaktualizowaliśmy aplikację
CompactChip
, aby była zgodna 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 występują zarówno ikona, jak i etykieta, oraz 24 x 24 piksele w przypadku ikony kompaktowej. W przypadku użycia tylko ikony zadbaliśmy też o to, aby została wyśrodkowana. (Iea2be) - W
ScalingLazyListLayoutInfo
dodaliśmy kilka nowych pól, aby deweloperzy mogli sprawdzić, ile zasobów typucontentPadding
iautoCenteringPadding
zostało zastosowane. Te informacje mogą być przydatne dla programistów przy obliczaniu przesuwania/przewijania (I7577b) - Wdrożyliśmy przejścia wejścia/wyjścia w narzędziu Dialog. Dodano parametr
showDialog
, a okno steruje teraz własną widocznością (umożliwia to uruchamianie animacji wstępu i zakończenia, gdy okno jest widoczne/ukryte). Animacja zakończenia nie jest wykonywana, gdy użytkownik opuści okno, przesuwając palcem, aby zamknąć. Dodaliśmy również wartość domyślną stanu w ostatnio dodanym przeciążeniuSwipeToDismissBox
. (I682a0) - Aby lepiej obsługiwać i18n i a11y, zmieniliśmy
ToggleChip
iSplitToggleChip
. Nie mają już one domyślnej wartości dla boksutoggleControl
. Zmieniliśmy też zasadyToggleChipDefaults
, tak aby poniższe metody zwracały teraz funkcję ImageVector zamiast ikony Icon (pamiętaj, że nie zwracają już atrybutów @Composables, zmieniające się tak, aby zaczynały się od małych liter), iSwitchIcon()->switchIcon()
,CheckboxIcon->checkboxIcon()
iRadioIcon()->radioIcon()
. Dzięki temu deweloperzy mogą tworzyć własne kompozycjeIcon()
z odpowiednim zestawemcontentDescription
i zachęcać ich do tego. (I5bb5b) - Do interfejsu
SwipeDismissableNavHost
dodaliśmy parametrSwipeDismissableNavHostState
. Umożliwia to korzystanie z przesuwania po krawędzi na ekranach używanych jako miejsca docelowe nawigacji, ponieważ obiektySwipeToDismissBoxState
można teraz przenosić i używać do inicjowania zarówno funkcjiSwipeDismissableNavHostState
, jak iModifier.edgeSwipeToDismiss
na ekranach, które wymagają przesuwania po krawędzi. (I819f5, b/228336555)
Poprawki błędów
- W razie potrzeby zaktualizuj układy zakrzywionych. (Ie8bfa, b/229079150)
- Poprawka błędu strony https://issuetracker.google.com/issues/226648931 (Ia0a0a, b/226648931)
- Usunięto zbędne adnotacje eksperymentalne (I88d7e).
Wersja 1.0.0-alfa20
6 kwietnia 2022 roku
Opublikowano 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
. Wersja 1.0.0-alpha20 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaj modyfikator
edgeSwipeToDismiss
doSwipeToDismiss
. Pozwala na aktywowanie elementuswipeToDismiss
tylko przy lewej krawędzi widocznego obszaru. Używana, gdy środek ekranu musi obsługiwać stronicowanie w poziomie, np. przewijanie mapy dwuwymiarowe lub przesuwanie w poziomie między stronami (I3fcec, b/200699800).
Zmiany w interfejsie API
- Podstawowa implementacja
CurvedModifiers
umożliwia wprowadzenie sposobów dostosowywania zakrzywionej treści (ale nie ma jeszcze żadnychCurvedModifiers
, a możliwość tworzenia modyfikatorów niestandardowych może być dostępna później) (I9b8df). EdgeSwipe
aktualizacja dokumentacji modyfikatora i wartości domyślnych .(I6d00d)- Dodaj przedział
PageIndicator
do Scaffold. Dodając dyrektywęPageIndicator
bezpośrednio do Scaffold, możemy zapewnić jej prawidłowe wyświetlanie na urządzeniach okrągłych. (Ia6042) - Usuń ikony domyślne z parametrów
InlineSlider
i Stepper. Dzięki temu deweloperzy będą mogli zwrócić uwagę na wymagania dotyczące lokalizacji i ułatwień dostępu. Wykorzystanie ikon domyślnych było widoczne w wersjach demonstracyjnych i przykładów. (I7e6fd) - Zastąp nazwy parametrów końca i początku w polu TimeText (Iaac32) wartością Start i End.
- Dodaliśmy przeciążenie
SwipeToDismissBox
z parametremonDismissed
, aby umożliwić typowe korzystanie ze zdarzenia nawigacji po zakończeniu gestu przesuwania. (I50353, b/226565726) - Usunięto adnotacje
ExperimentalWearMaterialApi
z użycia wTimeText
(Ide520) - Oznaczyliśmy
ScalingLazyList/Column
zakresy i interfejsy informacyjne jako zapieczętowane, ponieważ nie są przeznaczone dla zewnętrznych programistów. Pozwoli nam to dodawać do nich nowych członków bez wprowadzania zmian powodujących niezgodność plików binarnych. (I7d99f) - Dodaliśmy nową właściwość
flingBehaviour
do selektora oraz metodęPickerDefaults.flingBehaviour()
, aby umożliwić konfigurowanie zachowania przesuwania, np. dodanie obsługi RSA.PickerState
implementuje teraz interfejsScrollableState
. (Ib89c7)
Poprawki błędów
- Zaktualizuj reguły profilu podstawowego środowiska wykonawczego Androida (ART) dla bibliotek Wear Compose. ART może wykorzystać reguły profili na urządzeniach, aby z wyprzedzeniem kompilować z wyprzedzeniem określony podzbiór aplikacji w celu zwiększenia jej wydajności. Pamiętaj, że nie będzie to miało wpływu na aplikacje z możliwością debugowania. (Iaa8ef)
- Ulepsz dokumentację (I2c051)
Wersja 1.0.0-alfa19
23 marca 2022 r.
Opublikowano 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
. Wersja 1.0.0-alfa19 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nazwa
CurvedRow
została zmieniona naCurvedLayout
i została zmieniona na zakres z DSL. Za pomocą tego DSL bardziej złożone układy krzywe można określić za pomocą serii zagnieżdżonych obiektówcurvedRow
icurvedColumn
(które są odpowiednikami krzywych wierszy i kolumn). W tych elementach układu można używać 3 elementów:curvedComposable
(aby dodać dowolny element @Composable),basicCurvedText
(zakrzywiony tekst fundacji) icurvedText
(załóż zakrzywiony tekst z uwzględnieniem materiału). (Ib776a) - Spersonalizuj stronę
PositionIndicator
. Podstawowa pozycja PositionIndicator może być teraz ustawiona na pozycję End (z uwzględnieniem kierunku układu), przeciwpozycji (uwzględnia obrót ekranu, aby ustawić się naprzeciwko fizycznej RSB) lub na pozycję lewą i prawą (bezwzględnie). (I2f1f3) - Zmieniliśmy nazwę usługi
SwipeToDismissBox
naSwipeDismissTarget
.oryginał naSwipeToDismissValue.Default
, aSwipeDismissTarget.Dismissal
naSwipeToDismissValue.Dismissed
. Przenieśliśmy też platformySwipeToDismissBoxDefaults.BackgroundKey
iSwipeToDismissBoxDefaults.ContentKey
doSwipeToDismissKeys.Background
(SwipeToDismissKeys.Content
). (I47a36) - Dodaliśmy do selektora tryb „tylko do odczytu” w przypadku ekranów z wieloma selektorami, na których w danym momencie można edytować tylko jeden. Gdy selektor jest w trybie tylko do odczytu, wyświetla aktualnie wybraną opcję oraz etykietę, jeśli została podana. (I879de)
- Przekształcono zakres
SwipeToDismissBoxState
, aby ograniczyć zakres uprawnieńExperimentalWearMaterialApi
doModifier.swipeable
iSwipeableState
, które są teraz używane wewnętrznie.SwipeToDismissBoxState
ma terazcurrentValue
,targetValue
,isAnimationRunning
isnapTo
członków zespołu, którzy obsługują typowe przypadki użycia. Jeśli chcesz udostępnić dodatkowe usługi, daj nam znać. Naprawiono też zachowanieSwipeableState
w przypadku, gdy przesunięcie przesunięcia mieści się w zakresie błędu zaokrąglenia kotwicy. (I58302)
Poprawki błędów
- Uproszczony i poprawiony kod wykrywający, czy treść elementu
ScalingLazyColumn
można przewijać (na podstawie tego, czy ma być wyświetlany pasek przewijania) (I7bce0). - Poprawiono błąd związany ze wskaźnikiem pozycji, gdy użytkownik korzystał z więcej niż jednego stanu i przełączał się między nimi (I320b5).
- Zaktualizowaliśmy domyślne ustawienia tworzenia wiadomości w przypadku typografii i czcionek motywu Wear OS, aby dostosować je do naszych najnowszych wytycznych dotyczących UX. Zwróć uwagę, że wartości opcje display1 (40.sp) i display2 (34.sp) są teraz mniejsze od ich poprzednich wartości. Wprowadziliśmy też kilka innych drobnych zmian w wysokości linii i odstępach między wierszami. (Ie3077)
- W urządzeniu
SwipeToDismissBox
dodaliśmy opór, dzięki czemu ruch odbywa się tylko po przesunięciu palcem w celu zamknięcia, a nie w przeciwnym kierunku. (Ifdfb9) - Zmieniliśmy niektóre domyślne wartości parametrów funkcji
CircularProgressIndicator
, aby ujednolicić je ze wskazówkami dotyczącymi Wear Material Design UX. W przypadku wersji Spinner/Indeterminant zmieniono rozmiar (40->24,dp), wskaźnikColor (primary->onBackground), przezroczystość trackColor (30%–>10%) oraz szerokość kreski (4->3 dp). W wersji Postęp/Określenie zaktualizowaliśmy przezroczystość trackColor (30%->10%). (I659cc) - Zaktualizowaliśmy domyślne parametry skalowania interfejsu
ScalingLazyColumn
, aby były zgodne z najnowszymi specyfikacjami Wear Material Design UX. Dzięki temu elementy listy zaczynają być skalowane bliżej środka listy, ale zmniejszają ich rozmiar na krawędziach listy. (Ica8f3) - Wprowadziliśmy kilka poprawek w funkcji
ScalingLazyColumnDefaults.snapFlingBehavior
, które poprawiają zakończenie animacji (If3260)
Wersja 1.0.0-alfa18
9 marca 2022 r.
Opublikowano 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
. Wersja 1.0.0-alfa18 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Wprowadziliśmy kilka ulepszeń w elemencie PositionIndicator (Pozycja Indicatora): ShowResults (zmieniono nazwę PositionIndicatorWidoczność). Ulepszenia wydajności pozwalające uniknąć ponownych obliczeń, gdy nie są potrzebne (Iaed9d)
- Zalecane kolory dla:
SplitToggleChip
zostały zaktualizowane. Zaznaczone lub odznaczone elementy SplitToggleChip mają teraz jednokolorowe tło, a kolor elementu SwitchControl wskazuje, czy komponent jest zaznaczony czy nie. Dodaliśmy nowy formatToggleDefaults.splitToggleChipColors()
, który obsługuje nowy schemat kolorów. Uprościliśmy też metodytoggleChipColors()
, usuwając parametr metoda copyBackgroundOverlayColor (I7e66e) - Do parametru
ScalingLazyListItemInfo
dodaliśmy parametr uncustomizeedSize, ponieważ ze względu na precyzję działań matematycznych na podstawie liczby zmiennoprzecinkowej obliczenie oryginalnego rozmiaru produktu na podstawie przeskalowanego rozmiaru i współczynnika skalowania nie jest bezpieczne. (I54657, b/221079441) - Dodaj
HorizontalPageIndicator
. Odzwierciedla on łączną liczbę stron i wybranej strony. Może być liniowy lub zakrzywiony, w zależności od kształtu urządzenia. Obsługuje również niestandardowy kształt wskaźnika, który określa wygląd poszczególnych wskaźników. (Iac898) - Aby można było zaktualizować parametr numberOfOptions, zaktualizowaliśmy:
PickerState
. Pozwala to na takie przypadki użycia jakDatePicker
, gdy liczba dni w miesiącu zmienia się w zależności od wybranego miesiąca. Parametr konstruktora dla funkcji PickerState został odpowiednio zmieniony na initialNumberOfOptions. (Iad066) - Ukryj
PositionIndicator
, gdy jest paskiem przewijania i nie można przewijać. (Id0a7f). - Aby zapewnić spójność ze Scaffold, nasz komponent pełnoekranowego okna wyświetla teraz
PositionIndicator
iVignette
. W użyciu używamy teraz także polaScalingLazyColumn
zamiastColumn
, co oznacza, że okno dialogowe znajduje się teraz w poluScalingLazyListScope
(i zwykle musi być ono ujęte w element { /* content */ }). Okno obsługuje odpowiednio parametr verticalArrangement. (Idea13) - Zmieniliśmy nazwę właściwości
ToggleChip
iSplitToggleChip
switchIcon, aby zmienić ustawienie przełącznika, aby lepiej dopasować je do stylu Material Design, aby ułatwić projektantom i programistom poruszanie się po interfejsie API. (If5921, b/220129803) - Do typologii motywu Material (Wear) dodaliśmy nowy podpis3.Caption3 to mała czcionka przeznaczona na bardzo długie formy tekstu, na przykład teksty prawne. (I74b13, b/220128356)
Poprawki błędów
- Zatrzymaj tę animację, gdy będziemy na miejscu. (Idb69d).
- Animuj zmiany za pomocą parametru PositionIndicator. (I94cb9)
- Biorąc pod uwagę opinie interfejsu użytkownika/UX, zmieniliśmy automatyczne wyśrodkowanie
ScalingLazyColumn
. Teraz będzie ono mieć tylko wystarczająco dużo miejsca, aby elementy o indeksieScalingLazyListState.initialCenterItemIndex
lub wyższym mogły zostać w pełni przewinięte do środka widocznego obszaru. Dzięki temu mogą umieścić 1 lub 2 elementy dotyczące elementu początkowo na środku, których nie da się przewijać do środka. Oznacza to, że elementScalingLazyColumn
korzystający z automatycznego wyśrodkowania nie będzie mógł przewijać zawartości nad elementeminitialCenterItemIndex/initialCenterItemScrollOffset
(I22ee2). - Dodaliśmy wersję demonstracyjną selektora dat i naprawiliśmy w
PickerState
błąd, który powodował, że początkowo wybrana opcja nie była stosowana, dopóki selektor się nie wyświetlił. (Id0d7e). - Aby ograniczyć przycinanie szerszych elementów
ScalingLazyColumn
na okrągłych ekranach, zwiększyliśmy domyślne dopełnienie treści w poziomie z 8 do 10 dp. (I0d609) - Upewnij się, że podczas przewijania widać
PositionIndicator
. (Ied9a2)
Wersja 1.0.0-alfa17
23 lutego 2022 r.
Opublikowano 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
. Wersja 1.0.0-alfa17 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy obsługę przyciągania, której można używać z urządzeniem
ScalingLazyColumn
. Aby włączyć obsługę snapa, ustawflingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state)
. (I068d3, b/217377069) - Dodaliśmy wersje demonstracyjne selektora czasu, który pozwala wybrać godzinę w formacie 24-godzinnym lub 12-godzinnym. (Ie5552)
Zmiany w interfejsie API
- Rozwiązywanie problemów z niestandardowymi czcionkami i stylami (
TimeText
) na urządzeniu kwadratowym (Iea76e) ScalingLazyListLayoutInfo
ma teraz właściwościreverseLayout
,viewportSize
i orientacji zgodne z tymi z kolumnyLazyListLayoutInfo
(I4f258, b/217917020)ScalingLazyColumn
ma teraz właściwośćuserScrollEnabled
odpowiadającą tej wartości z kolumnyLazyList
(I164d0, b/217912513)- Selektory mają teraz domyślnie ustawiony gradient na górze i na dole (Iab92a).
Poprawki błędów
- Zmodyfikowaliśmy element
ScalingLazyColumn
, tak aby nie wypełniał już z łatwością całego miejsca w elemencie nadrzędnym. Jego rozmiar zależy od rozmiaru zawartości. Jest to zgodne z zachowaniemLazyColumn
. Jeśli chcesz przywrócić stare zachowanie, przekaż zasadęModifier.fillMaxWidth()/width()/widthIn()
do metodyScalingLazyColumn
(I51bf8). - Poprawiliśmy komunikat o wyjątku w
SwipeDismissableNavHost.kt
, który był wyzwalany, gdy pasek nawigacji był pusty. (I1b1dc)
Wersja 1.0.0-alfa16
9 lutego 2022 r.
Opublikowano 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
. Wersja 1.0.0-alfa16 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaj
CircularProgressIndicator
. Wskaźniki postępu wskazują długość procesu lub nieokreślony czas oczekiwania. Obsługuje przerwę (wycięcie) dla TimeText lub innych komponentów w przypadku wyświetlania w trybie pełnoekranowym. (Iab8da)
Zmiany w interfejsie API
- Selektory mają teraz parametr
flingBehavior
. Wartość domyślna powoduje, że podczas przewijania lub przesuwania są przyciągane do najbliższej opcji. (I09000) - Dodatkowy interfejs API liczby całkowitej dla elementów InlineSlider i Stepper (I1b5d6)
Poprawki błędów
- Zmieniliśmy domyślny wskaźnik initialCenterItemIndex dla obiektu
ScalingLazyListState
z 0->1. Oznacza to, że jeśli nie zmienisz tego podczas tworzenia stanu za pomocą parametruScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =
)
, drugi element listy (indeks == 1) będzie w momencie inicjowania umieszczony na środku widocznego obszaru, a pierwszy (indeks == 0) – przed nim. Pozwala to uzyskać lepszy domyślny efekt wizualny, ponieważ większość widocznego obszaru zostanie wypełniona elementami listy. (I0c623, b/217344252) - Zmniejszyliśmy domyślną wartość pola
ScalingLazyColumn
(extraPadding
) z 10% do 5%, aby mieć pewność, że jest dużo elementów listy do narysowania (nawet jeśli niektóre z nich zostaną zmniejszone). 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 (np. bardziej ekstremalne skalowanie), deweloper może dostosować dodatkowe dopełnienie za pomocą parametruviewportVerticalOffsetResolver
. (I76be4) - Rozwiązywanie problemów z funkcją TimeText w wielu wierszach na urządzeniu kwadratowym (Ibd3fb)
- Zmodyfikowaliśmy element
ScalingLazyColumn
, tak aby nie wypełniał już z łatwością całego miejsca w elemencie nadrzędnym. Jego rozmiar zależy od rozmiaru zawartości. Jest to zgodne z działaniem elementuLazyColumn
. Jeśli chcesz przywrócić stare zachowanie, przekażModifier.fillMaxSize()
doScalingLazyColumn
. UWAGA: ta zmiana jest niekompletna i zostanie uwzględniona kolejna zmiana w kolejnej wersji alfa. (I3cbfa)
Wersja 1.0.0-alfa15
26 stycznia 2022 r.
Opublikowano 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
. Wersja 1.0.0-alpha15 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaliśmy nową usługę
autoCentering
doScalingLazyColumn
. Jeśli ustawisz wartość „true” (prawda), wszystkie elementy, w tym pierwszy i ostatni, będzie można przewijać i znajdować się na środku widocznego obszaru listy. Pamiętaj, że jeśli używasz automatycznego centrowania, prawdopodobnie zechcesz ustawić dopełnienie treści w pionie na 0,dp. Jeśli zarówno automatyczne wyśrodkowanie, jak i pionowe dopełnienie treści zostaną udostępnione, przed pierwszym i za ostatnim elementem listy będzie dostępne dodatkowe miejsce, co umożliwi dalsze przewijanie. (I2a282, b/214922490) - Dodaliśmy komponent
Dialog
, który umożliwia każdemu elementowi kompozycyjnemu wyświetlenie okna pełnoekranowego, które wyświetla się nad innymi treściami. Po wyświetleniu okno dialogowe obsługuje funkcję przesuwania, aby zamknąć, i pokazuje w tle treść elementu nadrzędnego podczas gestu przesuwania. Spodziewana treść okna toAlert
lubConfirmation
(nazwa została zmieniona z poprzednich 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 dodano też zakres ColumnScope do parametrów alertu i potwierdzenia. (Ia9014) - Usunęliśmy język
onSurfaceVariant2
z komponentu z motywem kolorystycznym na WearOS i zastąpiliśmy zastosowania w bibliotece funkcjąonSurfaceVariant
. (Icd592) - Dodaliśmy metodę automatycznego wybierania opcji w elemencie
PickerState
. Opcję wybraną początkowo można też określić podczas tworzenia elementuPickerState
. (I92bdf) - Dodaliśmy obsługę dostosowywania sposobu przesuwania elementu
ScalingLazyColumn
. (I1ad2e, b/208842968) - Dodaliśmy
NavController.currentBackStackEntryAsState()
do bibliotekiWear.Compose.Navigation
. (If9028, b/212739653) - Dodano
Modifier.onRotaryScrollEvent()
iModifier.onPreRotaryScrollEvent()
dla urządzeń Wear z obrotowym przyciskiem bocznym.(I18bf5, b/210748686)
Wersja 1.0.0-alfa14
12 stycznia 2022 r.
Opublikowano 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
. Wersja 1.0.0-alfa14 zawiera te zatwierdzenia.
Nowe funkcje
W
ScalingLazyListState
dodaliśmy kilka metod, które pozwalają deweloperowi kontrolować przewijanie do konkretnych elementów listy, a także ustawić początkowy element listy i przesunięcie.W ramach tej zmiany zmodyfikowaliśmy również ScalingLazyList, która jest zorientowana wokół środka widocznego obszaru obiektu ScalingLazyList, a nie do początku widocznego obszaru.
Do interfejsu
ScalingLazyList
została dodana nowa właściwośćanchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter
, która pozwala określić, czy środek widocznego obszaru (ScalingLazyListAnchorType.ItemCenter
) czyEdge
(ScalingLazyListAnchorType.ItemStart
) ma być wyrównany względem osi widocznego obszaru.Z tego powodu opcje
ScalingLazyListItemInfo.offset
iScalingLazyListItemInfo.adjustedOffset
uległy zmianie i będą teraz odzwierciedlać przesunięcie elementu w odniesieniu zarówno do pozycji elementu listy, jak i jej wartościanchorType
. Przykład: jeśli elementScalingLazyColumn
ma wartośćanchorType
o wartościItemCenter
, a element listy znajduje się pośrodku linii widocznego obszaru, przesunięcie będzie wynosić0
.Nowe metody to
scrollTo
,animatedScrollTo
,centerItemIndex
icenterItemOffset
. (I61b61)Dodaliśmy moduł obsługi przycisku Wstecz do funkcji
SwipeDismissableNavHost
, dzięki czemu naciśnięcie przycisku Wstecz powoduje przejście na poprzedni poziom w hierarchii nawigacji. (I5b086, b/210205624)
Wersja 1.0.0-alfa13
15 grudnia 2021 roku
Opublikowano 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
. Wersja 1.0.0-alfa13 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Przygotowaliśmy aplikację
RangeIcons
na użytek wewnętrzny (wewnętrznie odwołuje się do niejInlineSlider
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 przed osiągnięciem stanu cyklu życiaCREATED
, co skutkuje działaniemIllegalStateException
. Ta poprawka była wymagana, aby można było zaktualizować zależność wnavigation-compose
do wersji2.4.0-beta02
i nowszych. (I40a2b, b/207328687)Dodaliśmy klasę enum Drawables do pobierania zasobów, które można przeciągnąć w bibliotece Wear Compose, aby odczucia nie były już potrzebne. Naprawiono błąd, przez który elementy rysowane z biblioteki były usuwane, gdy
minifyEnabled=true
lubshrinkResources=true
. (Ib2a98)Dodano testy funkcji
Stepper
w Wear Compose (I2d03a)Dodaliśmy przykłady dla:
SwipeDismissableNavHost
w nawigacji przy tworzeniu wiadomości na Wear. (I85f06)
Wersja 1.0.0-alfa12
Grudzień 1, 2021
Opublikowano 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
. Wersja 1.0.0-alpha12 zawiera te zatwierdzenia.
Nowe funkcje
Dodaliśmy komponent Stepper, który umożliwia użytkownikom dokonanie wyboru z zakresu wartości. Stepper to element sterujący w trybie pełnoekranowym z przyciskami zwiększania i zmniejszania u góry i u dołu oraz przedziałem pośrodku (mającym miejsce na element lub tekst). W razie potrzeby ikony przycisków można dostosować. (I625fe)
Dodaliśmy 2 nowe funkcje kompozycyjne do wyświetlania okien dialogowych: AlertDialog oczekuje na odpowiedź użytkownika i wyświetla tytuł, ikonę i komunikat oraz a) 2 przyciski do prostych i negatywnych wyborów albo b) umieszczone w pionie elementy lub przełączniki do bardziej elastycznych opcji. ConfirmationDialog wyświetla potwierdzenie z czasem oczekiwania. To proste okno zawiera boksy na tytuł i ikonę (animowaną). (Ic2cf8)
Zmiany w interfejsie API
- Dodaj jednostki (milisekundy) do sugerowanych wartości czasu trwania okna. (I09b48)
Wersja 1.0.0-alfa11
17 listopada 2021 r.
Opublikowano 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
. Wersja 1.0.0-alpha11 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 powtarza się „bez końca” w obu kierunkach, aby zapewnić wrażenie obracającego się walca widocznego z boku. W kolejnych wersjach wprowadzimy 2 funkcje: przyciąganie do wartości po przesunięciu palcem/przesunięciu oraz dodanie do funkcji PickerState funkcji umożliwiającej ustawienie/przewijanie do bieżącej wartości. (I6461b)
Zmiany w interfejsie API
- Dodano obiekt ScalingLazyItemScope i kilka nowych modyfikatorów FillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight, aby umożliwić dostosowywanie rozmiaru elementów listy na podstawie rozmiaru kontenera nadrzędnego. Elementy można skonfigurować tak, aby wypełniały cały rozmiar elementu nadrzędnego lub jego część. Ujawni to funkcje dostępne już w elemencie LazyRow/Column (I4612f).
- Dodano obsługę kolumny ScalingLazyColumn, która umożliwiała elementom posiadanie klucza. Dodaliśmy również wygodne metody, które umożliwiają dodawanie elementów z tablic i list. (Ic1f89)
Poprawki błędów
- Dodatkowe przykłady TimeText (I8cb64)
Wersja 1.0.0-alfa10
3 listopada 2021 r.
Opublikowano 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
. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.
Nowe funkcje
Dodano suwak InlineSlider na potrzeby tworzenia wiadomości na Wear. Wbudowany suwak umożliwia użytkownikom dokonanie wyboru z zakresu wartości. Zakres wyboru jest widoczny jako słupek między wartością minimalną a maksymalną z zakresu, z którego użytkownicy mogą wybrać jedną wartość. (If0148)
Sprawdź nowe funkcje tworzenia wiadomości w ćwiczeniach z programowania na Wear OS.
Zmiany w interfejsie API
- Makroporównawcze ma teraz
minSdkVersion
o wartości23
. (If2655)
Poprawki błędów
- Aktualizowanie obsługi przejść w metodzie SwipeDismissableNavHost w elemencie SideEffect (I04994, b/202863359)
- Aktualizowanie obsługi przejść w SwipeDismissableNavHost (I1cbe0, b/202863359)
Wersja 1.0.0-alfa09
27 października 2021 roku
Opublikowano 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
. Wersja 1.0.0-alpha09 zawiera te zatwierdzenia.
Nowe funkcje
- Udostępniliśmy na Wear OS wersję przedpremierową tworzenia wiadomości dla programistów. Przeczytaj nasz post na blogu, w którym znajdziesz omówienie głównych funkcji kompozycyjnych i linki do materiałów na temat rozpoczynania z nich korzystania.
Zmiany w interfejsie API
- Deweloperzy mogą teraz dostosować wszystkie kolory w motywie Kolor w stylu Wear Material Design. (I4759b, b/199754668)
Poprawki błędów
- Dodano próbki funkcji PrzesuńToDismissBox, które pozostają w stanie trwałym (Ibaffe);
- Dodaliśmy linki do przewodników Developers.android.com w Dokumentach Google dotyczących CurvedText, TimeText i SwipeToDismissBox. (I399d4)
- PromptableNavHost zgłasza teraz komunikat, gdy nie ma bieżącego miejsca docelowego (wskazuje, że NavGraph nie został utworzony za pomocą funkcji narzędzia wear.compose.navigation.composable) (I91403).
- Dodaliśmy dodatkową dokumentację i przykłady użycia źródła czasu w TimeText (I4f6f0)
Wersja 1.0.0-alfa08
13 października 2021 r.
Opublikowano 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
. Wersja 1.0.0-alpha08 zawiera te zatwierdzenia.
Zmiany w interfejsie 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 mogły być udostępniane jako końcowe lambda. W celu zachowania spójności z nowymi nazwami boksów również zmieniono nazwębodyColor
nacontentColor
. (I57e78)
Poprawki błędów
- Dodaliśmy w KDokumentach linki do wskazówek programisty.android.com dotyczące przycisków, kart, elementów, motywu, wskaźnika pozycji i skalowania komponentów leniwej kolumny. (I22428)
- Naprawianie problemów z obsługą przesunięcia palcem w Wear OS w tej sekcji. (I9387e)
- Dodaliśmy przykłady dla Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, SwitchChip, SplitToggleChip (Iddc15)
- Dodaliśmy mikroporównawcze testy wydajności karty Card, Chip, SwitchChip, TimeText i ScalingLazyColumn. (If2fe9)
Wersja 1.0.0-alfa07
29 września 2021 r.
Opublikowano 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
. Wersja 1.0.0-alpha07 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy do materiału Material Design komponent CurvedText, który umożliwia programistom pisanie tekstu zakrzywionego wzdłuż krzywizny okręgu (zwykle na krawędzi okrągłego ekranu). (I19593)
Zmiany w interfejsie API
- Dodano testy TimeText (Idfead).
- Przekształć obiekt ArcPaddingValues w interfejs. (Iecd4c)
- Dodano animację do elementu PrzesuńToDismissBox (I9ad1b).
- Dodano parametr hasBackground do interfejsu API shiftToDismissBox, aby umożliwić wyłączenie gestu przesuwania, gdy nie ma treści w tle do wyświetlenia. (I313d8)
rememberNavController()
przyjmuje teraz opcjonalny zestaw instancjiNavigator
, które zostaną dodane do zwróconego obiektuNavController
, aby lepiej obsługiwać opcjonalne nawigatory, takie jak Accompanist Navigation Material. (I4619e)- Dodaj odwołanie NamedNavArgument z nawigacji do wspólnego elementu i usuń tekst z wear.compose.navigation. (I43af6)
Poprawki błędów
- Naprawiono niestabilne środowisko testowe CurvedRow na mniejszych urządzeniach. (If7941)
- Naprawiono możliwe migotanie wiersza zakrzywionego podczas aktualizowania treści i ponowne pomiar 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% i kończy ciągiem MaterialTheme.colors.surface z alfa @ 0% na tle elementu MaterialTheme.colors.surface @ 75% alfa. (Id1548).
- Zaktualizowaliśmy kolory elementów SwitchChip w wybranym stanie, aby były zgodne z najnowszymi wytycznymi dotyczącymi interfejsu Wear Material Design. Po zaznaczeniu tej opcji elementy SwitchChips mają teraz tło gradientowe z MaterialTheme.color.surface @ 0% alfa w lewym górnym rogu oraz MaterialTheme.color.primary przy 32% alfa, w prawym dolnym rogu i na tle MaterialTheme.color.surface @ 75% alfa. Powoduje to bardziej subtelną różnicę między zaznaczoną a odznaczoną opcją SwitchChip. (Idd40b)
Wersja 1.0.0-alfa06
15 września 2021 r.
Opublikowano 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
. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy w Scaffold aplikację kompozycyjną najwyższego poziomu, która zapewnia strukturę do obsługi pozycji Positionindicators (takiej jak Scroll lub Volume) (w górnej części ekranu), w której wyświetlają się czas i stan aplikacji. Obsługuje również winietowanie do zamazywania górnej i dolnej krawędzi ekranu w celu przewijania zawartości. Główny obszar scaffold to miejsce, w którym umieszcza się zawartość aplikacji. (I5e0bf)
- Dodano implementację TimeText w Wear Compose (I5654c).
Biblioteka nawigacji w Wear Compose
Dodaliśmy pierwszą wersję biblioteki nawigacji na Wear Compose, która zapewnia integrację między bibliotekami Wear Compose i bibliotekami nawigacji Androidx. Pozwala w prosty sposób przechodzić między funkcjami @Composable jako miejscami docelowymi w aplikacji.
Ta wstępna wersja zapewnia:
- Obiekt kompozycyjny
SwipeDismissableNavHost
, który zawiera wykres nawigacyjny i umożliwia nawigację wsteczną za pomocą gestów przesuwania - Rozszerzenie
NavGraphBuilder.composable
ułatwiające tworzenie wykresów nawigacyjnych rememberSwipeDismissableNavController()
, aby zezwolić na stan podniesienia
- Obiekt kompozycyjny
Przykład użycia, w którym tworzymy 2 ekrany i nawigujemy 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 dostępna jako osobna biblioteka, dzięki czemu proste aplikacje na Wear Compose, które mają własną, ręcznie przesuwaną nawigację, nie muszą korzystać z biblioteki Nawigacji Androidx.
Zmiany w interfejsie API
- Zaktualizowano
SwipeDismissableNavHost
, aby obsługiwałrememberSaveable
przez ustawienie tożsamości klucza dla tła i treści (I746fd) - Dodaliśmy adapter PositionIndicator, który obsługuje LazyListState (I21b88).
- Zaktualizowano element PrzesuńToDismissBox, aby obsługiwał funkcję zapamiętanego zapisu (Ie728b)
- Dodaliśmy obsługę odwrotnego układu do kolumny ScalingLazyColumn. Umożliwia odwrócenie kierunku przewijania i układu (I9e2fc).
- Wycofane funkcje
performGesture
iGestureScope
, które zostały zastąpione przezperformTouchInput
iTouchInjectionScope
. (Ia5f3f, b/190493367) - Zmieniliśmy nazwę wartości VignetteValue na pozycję VignetteValue.Obie te wartości zostały zmienione na VignettePosition.TopAndDół. (I57ad7)
- Zmieniliśmy nazwę ScalingLazyColumnState na ScalingLazyListState, ScalingLazyColumnItemInfo na ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo na ScalingLazyListUkładInfo i ScalingLazyColumnScope na ScalingLazyListScope na wypadek, gdyby w przyszłości miała pojawić się implementacja ScalingLazyRow. (I22734)
Poprawki błędów
- Zaktualizowaliśmy dokumentację CompactChip, by wyjaśniała, co się stanie, jeśli nie podasz ikony ani etykiety. (I4ba88)
- Wprowadziliśmy kilka zmian w komponentach karty Wear. (I6b3d0)
- Odstęp karty tytułowej między tytułem a treścią zmniejszono z 8,dp do 2,dp.
- Czcionka nagłówka karty tytułowej została zmieniona z treści na tytuł3.
- Gradient tła karty został zmieniony, aby tło stało się ciemniejsze.
Wersja 1.0.0-alfa05
1 września 2021 roku
Opublikowano androidx.wear.compose:compose-foundation:1.0.0-alpha05
i androidx.wear.compose:compose-material:1.0.0-alpha05
. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Oznacz ArcPaddingValues jako @Stable (I57deb)
- ScalingLazyColumnState korzysta teraz z interfejsu ScrollableState, który zapewnia programistom dostęp programistyczny do przewijania komponentu. (I47dbc)
Poprawki błędów
- Zmniejszyliśmy odstępy między ikoną i tekstem w układzie oraz na elemencie SwitchChip, aby dostosować je do specyfikacji UX (I83802).
Wersja 1.0.0-alfa04
18 sierpnia 2021 r.
Opublikowano androidx.wear.compose:compose-foundation:1.0.0-alpha04
i androidx.wear.compose:compose-material:1.0.0-alpha04
. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano przesunięcie w danym miejscu i modyfikator przesuwany do obsługi gestu przesuwania od lewej do prawej. Chociaż ta opcja nie jest związana z komponentami nawigacji, powinna służyć do zamykania jednego ekranu i przechodzenia do innego. Dodaliśmy testy integracji do demonstracji funkcji „przesuń, aby zamknąć”. (I7bbaa)
- Do klasy ScalingLazyColumnState dodaliśmy interfejsy ScalingLazyColumnItemInfo i ScalingLazyColumnUkładInfo do klasy ScalingLazyColumnState, aby umożliwić programistom poznanie rzeczywistych pozycji i rozmiarów elementów w ScalingLazyColumn po zastosowaniu skalowania. Naprawiliśmy też błąd w sposobie obliczania skalowania po zastosowaniu dopełnienia zawartości „górnej” w kolumnie ScalingLazyColumn. (I27c07)
Zmiany w interfejsie API
- Dodaj klasę CurvedTextStyle, aby określić opcje stylu zakrzywionego tekstu. Działa podobnie do TextStyle, ale obsługuje teraz tylko kolor, rozmiar czcionki i tło. W przyszłości dodamy więcej opcji stylu. (I96ac3)
- Do klasy ScalingLazyColumnState dodaliśmy interfejsy ScalingLazyColumnItemInfo i ScalingLazyColumnUkładInfo do klasy ScalingLazyColumnState, aby umożliwić programistom poznanie rzeczywistych pozycji i rozmiarów elementów w ScalingLazyColumn po zastosowaniu skalowania. Naprawiliśmy też błąd w sposobie obliczania skalowania po zastosowaniu dopełnienia zawartości „górnej” w kolumnie ScalingLazyColumn. (I27c07)
- Dodano
@ExperimentalWearMaterialApi
do wyliczeniaSwipeDismissTarget
, które są częścią interfejsu APISwipeToDismissBox
. (I48b5e)
Poprawki błędów
- Dodano materiał testowy na karcie PrzesuńToDismissBox (I9febc).
Wersja 1.0.0-alfa03
4 sierpnia 2021 r.
Opublikowano androidx.wear.compose:compose-foundation:1.0.0-alpha03
i androidx.wear.compose:compose-material:1.0.0-alpha03
. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodano komponent CurvedText, który umożliwia programistom łatwe pisanie tekstu wzdłuż krzywizny okręgu (zwykle na krawędzi okrągłego ekranu) (Id1267).
- Nazwa
CardDefaults.imageBackgroundPainter()
została zmieniona naCardDefaults.imageWithScrimBackgroundPainter()
, aby wyraźniej zaznaczyć, że na obrazie tła z zaznaczoną krawędzią jest widoczne zarysowanie. (I53206) - Dodano komponent ScalingLazyColumn, który dostarcza komponent listy dla Wear Material zapewniający widok rybie oko, w którym zawartość listy pomniejsza się i staje się przezroczysta w miarę skalowania się w kierunku krawędzi komponentu. (I7070c)
Poprawki błędów
- W odpowiedzi na aktualizację specyfikacji UX zmieniliśmy domyślny kolor treści appName w AppCard. Domyślny kolor nazwy appName to teraz
MaterialTheme.colors.onSurfaceVariant
. Dodatkowo dodano brakujący parametr opisu w dokumencie dotyczącym boksu tytułowego. (Ic4ad1)
Wersja 1.0.0-alfa02
21 lipca 2021 r.
Opublikowano androidx.wear.compose:compose-foundation:1.0.0-alpha02
i androidx.wear.compose:compose-material:1.0.0-alpha02
. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano nową klasę CurvedRow do elementów kompozycyjnych w układzie łuku (I29941).
- Dodaliśmy nowy typ kart do wykorzystania w aplikacjach (TitleCard) oraz dodaliśmy obsługę obrazów jako tła w celu uwydatnienia zawartości kart (I53b0f).
Zmiany w interfejsie API
- Dodano obsługę wyrównania promieniowego do krzywej (podobnej do wyrównania w pionie w wierszu) (Id9de5)
- Dodawanie nowej klasy CurvedRow do układu elementów kompozycyjnych w łuku (I29941)
- Dodaliśmy nowy typ kart do wykorzystania w aplikacjach (TitleCard) oraz dodaliśmy obsługę obrazów jako tła w celu uwydatnienia zawartości kart (I53b0f).
- Dodano ikony przełączania (pole wyboru, przełącznik i przyciski) w komponencie SwitchChipDefaults, aby ułatwić programistom konfigurowanie SwitchChip i SplitToggleChips (I7b639).
- Dopełnienie pola początkowego i końcowego treści elementów zostało zaktualizowane tak, aby miało spójne wartości 14.dp niezależnie od tego, czy element ma ikonę (wcześniej była 12.dp, jeśli ikona była dostępna, a 14.dp, jeśli nie) (I34c86).
Poprawki błędów
- Dodaj testy dla CurvedRow (I93cdb)
- Wykorzystywanie zależności Wear Compose do tworzenia wiadomości w wersji 1.0.0-rc01 (Ie6bc9)
- Zmieniliśmy sposób malowania obrazu tła w kartach i elementach, dzięki czemu obraz jest przycinany (a nie rozciągany) w celu zachowania proporcji. (I29b41).
- Dodaliśmy więcej prezentacji i testów integracji przycisków Button i SwitchButton. (5e27ed2)
- Dodano więcej testów elementów w celu pokrycia kolorów zawartości elementu imageBackgroundChips (Ia9183).
Wersja 1.0.0-alfa01
1 lipca 2021 r.
Opublikowano androidx.wear.compose:compose-foundation:1.0.0-alpha01
i androidx.wear.compose:compose-material:1.0.0-alpha01
. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
Wear Compose to oparta na usłudze Kotlin biblioteka w komponencie, która obsługuje Wear Material Design – rozszerzenie Material Design na urządzenia do noszenia z Wear OS. Ta pierwsza wersja alfa zawiera wczesne, funkcjonalne implementacje następujących elementów:
- Motyw materiałowy – kolory, typografia i kształty są spójne dla wszystkich komponentów używanych w bibliotece.
- Chip, CompactChip – mają kształt stadionu, a dostępne są różne wersje ikony, etykiety i etykiety pomocniczej.
- – SwitchChip, SplitToggleChip – to specjalny typ elementu, który zawiera gniazdo na ikonę przełączania dwustanowego, na przykład przycisk opcji lub pole wyboru. Dodatkowo SplitToggleChip ma 2 obszary, które można kliknąć: 1 klikalny i 1 z włączonym przełącznikiem.
- Przycisk, przycisk kompaktowy – przyciski mają okrągły kształt, z pojedynczym miejscem na treści na ikonę lub minimalnym tekstem (maksymalnie 3 znaki).
- SwitchButton – przycisk służący do włączania i wyłączania działania z pojedynczym miejscem na ikonę lub minimalnym tekstem (maksymalnie 3 znaki).
- Karta, AppCard – prostokątny kształt z zaokrąglonymi narożnikami, w którym znajdują się miejsca na takie treści jak ikona aplikacji, czas, tytuł i treść.
W kolejnych wersjach poszerzymy zestaw widżetów o obsługę selektorów, suwaków, list, wskaźników stron, okien, wskaźników rsb przewijania, komunikatów i innych elementów interfejsu Wear Material Design.
Zapewnimy również obsługę innych funkcji urządzeń do noszenia, takich jak zakrzywione układy i tekst, a także rusztowanie, które ułatwią deweloperom tworzenie aplikacji/nakładek do noszenia.
Materiał na Wear Compose został zaprojektowany przy użyciu tych samych zasad co w przypadku tego materiału, ale jest skierowany do urządzeń do noszenia. Podczas tworzenia urządzenia do noszenia zamiast biblioteki materiałów do tworzenia wiadomości należy używać biblioteki materiałów Wear Compose.
Dwie biblioteki „Material” powinny wzajemnie się wykluczać i nie należy mieszać ich w tej samej aplikacji. Jeśli deweloperzy uwzględnią bibliotekę Compose Material w swoich zależnościach, będzie oznaczać, że: a) brakuje w bibliotece Wear Compose Material, czego potrzebujesz, albo b) korzystają z komponentu, którego nie zalecamy na urządzeniach do noszenia.