Tworzenie wiadomości na Wear

  
Pisz aplikacje Jetpack Compose na urządzenia do noszenia, udostępniając funkcje obsługi konkretnych urządzeń, rozmiarów, kształtów i gestów nawigacyjnych.
Najnowsza aktualizacja Wersja stabilna Kandydat do publikacji Wersja Beta Wersja alfa
17 kwietnia 2024 r. 1.3.1 - - 1.4.0-alfa07

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.

Utwórz nowy numer

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Wear Compose Material3 w wersji 1.0

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 i RadioButton. (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 z onSelected na onSelect. (I1a971).
  • Tokenizacja RadioButton i SplitRadioButton oraz refaktoryzowanie istniejących metod, aby zmniejszyć ilość wyszukiwania CompositionLocal, przez dodanie wystąpień kolorów w pamięci podręcznej oraz wprowadzenie metod RadioButtonColors i SplitRadioButtonColors 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 i SplitToggleButtonColors, tworząc wewnętrzne instancje w pamięci podręcznej i ograniczając użycie CompositionLocal. (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 elementu filledButtonColors. (I4fe3b)
  • Zrefaktoryzowaliśmy wzorce domyślne dla ButtonColors, IconButtonColors i TextButtonColors, tworząc wewnętrznie instancję w pamięci podręcznej i ograniczając użycie CompositionLocal. (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 funkcji ToggleButton tym, że element RadioButton można wybrać (i działa w grupie wyboru), a element ToggleButton 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ć obiektu MutableInteractionSource – w razie potrzeby zostanie on utworzony w komponencie. Zmiana na wartość null sprawi, że niektóre komponenty nigdy nie będą przydzielać elementu MutableInteractionSource, 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 obiektu MutableInteractionSource przekazywanego do tych komponentów, zalecamy przekazywanie zamiast niego wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (Ib90fc, b/298048146)
  • Dodano nowy interfejs API Ripple do bibliotek wear:compose-material i wear:compose-material3, który zastępuje wycofaną wersję rememberRipple. Dodaje też tymczasowy CompositionLocal (LocalUseFallbackRippleImplementation), który pozwala przywrócić w Material Design komponenty z wycofanymi interfejsami API rememberRipple/RippleTheme. Zostanie ona usunięta w następnej stabilnej wersji. Ma być tymczasową pomoc przy migracji tylko w przypadkach, gdy udostępniasz niestandardowy RippleTheme. 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 i SplitToggleButton, 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 i RadioButton, 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 i RadioButton, 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 na BasicSwipeToDismissBox. Dzięki temu wyraźnie widać rozróżnienie między komponentem na poziomie podstawowym a elementem SwipeToDismissBox na poziomie Material3. To ostatnie pobiera kolory z MaterialTheme, które będą używane w Scrims, a pozostałą implementację przekazuje interfejsowi BasicSwipeToDismissBox. (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 Material3 HorizontalPageIndicator. Zamiast tego będzie on odpowiadał kształtowi ekranu urządzenia (liniowy lub okrągły). (I83728)
  • Oddzieliliśmy kolory w polu SplitToggleButton i ToggleButton, dodając nową klasę SplitToggleButtonColors. (I78bee)

Wersja 1.0.0-alfa13

4 października 2023 r.

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 i SwitchColors 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 i ListSubheader. (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łych TextButton i TextToggleButton, ponieważ dotyczy to tylko IconButton. (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 i TextButton, 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 i TextToggleButton do Material3 – okrągły przycisk przełączania z pojedynczym miejscem na ikonę i tekst. W przypadku różnych rozmiarów ToggleButton zalecamy użycie atrybutu Modifier.touchTargetAwareSize z rozmiarami podanymi w odpowiednich przyciskach przełączania. (I9f015)
  • Do komponentów Material3 dodaliśmy atrybuty ListHeader i ListSubheader. (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 i InlineSlider obsługują teraz wielokrotne kliknięcia przy długim naciśnięciu, dzięki czemu możesz szybko zwiększać lub zmniejszać wartość Stepper i InlineSlider, 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 polu Modifier.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 API wear.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 rozszerzenia toDisabledColor 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ów TextButton zalecamy użycie Modifier.touchTargetAwareSize i ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize i LargeButtonSizeIcon dostępnych w TextButtonDefaults. Domyślny element TextButton 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żyj filledTextButtonColors. W przypadku średnio traktowanych celów (TextButton) ustaw obramowanie na ButtonDefaults.outlinedButtonBorder. Aby znaleźć pośredni element między konturem a wypełnieniem – użyj filledTonalTextButtonColors. (I667e4)
  • Dodaliśmy Card, OutlinedCard, AppCard i TitleCard do biblioteki Wear Compose Material3. Elementy AppCard i TitleCard można też ustawić jako kontur za pomocą znaków CardDefaults.outlinedCardColors i CardDefaults.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). Konstruktory ButtonColors 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 i OutlinedIconButton. W przypadku różnych rozmiarów IconButton zalecamy użycie Modifier.touchTargetAwareSize i ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize i LargeButtonSizeIcon dostępnych w IconButtonDefaults. Dostępne są też parametry IconButtonDefaults.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ślne PlatformTextStyle.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:

    • Motyw materiałowy – konfiguruje schemat kolorów, typografię i kształty w sposób spójny w komponentach biblioteki. Ulepszyliśmy kolory motywu Material3 z uwzględnieniem łatwości dostępu. (I84005)
    • Tekst/ikona – elementy składowe aplikacji na Wear Compose (I8e06a)
  • 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-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. Dodatkowo ScalingLazyColumn i selektor domyślnie obsługują pokrętło. Nowe przeciążenia zawierają parametr rotaryBehavior określający konfigurację przewijania lub przyciągania. Jeśli parametr rotaryBehavior jest ustawiony na przyciąganie, zalecamy wywoływanie funkcji również za pomocą parametru flingBehavior w przypadku przewijania dotykowego. (I2ef6f)
  • Przeciąganie i przesuwanie (NestedScroll) zostało zastąpione przez UserInput i SideEffect, 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 i SplitSelectableChip, aby ułatwić rozróżnienie między przełącznikami, takimi jak Switch/Checkbox, a elementami do wyboru, takimi jak RadioButton. Spowoduje to zastąpienie wcześniej dodanych przeciążeń (ToggleChip/SplitToggleChip) parametrami selectionControl. (Ia0217)
  • Zaktualizowano modyfikator widoczności elementu IndeterminateStrokeWidth w domenie ProgressIndicatorDefaults 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 i initialCenterItemScrollOffset zasobu ScalingLazyListState są dostępne publicznie. (I0c616)
  • Udostępniliśmy dokument FullScreenStrokeWidth z witryny ProgressIndicatorDefaults jako publiczny. (Ibea23)

Poprawki błędów

  • Poprawiliśmy skuteczność aplikacji PositionIndicator dzięki zmniejszeniu liczby połączeń do layoutInfo z ScalingLazyColumn. (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 i SplitToggleChip, które przyjmuje parametr selectionControl zamiast parametru toggleControl. Tego parametru należy używać z elementem sterującym RadioButton, 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 z onSelected na onSelect dla ToggleChip i SplitToggleChip (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 metody inspectableProperties() w elemencie ModifierNodeElement, 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ż przycisk PositionIndicator wcześniej się nie wyświetlał. (419cef7)

Zmiany w interfejsie API

  • W bibliotekach wear:compose-material i wear:compose-material3 dodaliśmy nowy interfejs API Ripple, który zastąpił wycofaną wersję rememberRipple. Dodaje też tymczasowy CompositionLocal (LocalUseFallbackRippleImplementation), który pozwala przywrócić w Material Design komponenty z wycofanymi interfejsami API rememberRipple/RippleTheme. Zostanie ona usunięta w następnej stabilnej wersji. Ma być tymczasową pomoc przy migracji tylko w przypadkach, gdy udostępniasz niestandardowy RippleTheme. 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ą teraz 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ć obiektu MutableInteractionSource – w razie potrzeby zostanie on utworzony w komponencie. Zmiana na wartość null sprawi, że niektóre komponenty nigdy nie będą przydzielać elementu MutableInteractionSource, 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 obiektu MutableInteractionSource 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 i RadioButton, 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, wyliczenie SwipeToDismissValue i funkcja rozszerzenia Modifier.edgeSwipeToDismiss są teraz częścią pakietu androidx.wear.compose.foundation, a nie jak dotychczas androidx.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 i SwipeToRevealChip pomogą Ci wdrożyć recommended swipe-to-reveal guidance. Klasa SwipeToRevealSample 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 i ToggleChip, aby zapewnić lepszą obsługę skalowania czcionek wybranych przez użytkownika. Może to spowodować przycinanie treści. Aby rozwiązać ten problem, kształt large w elemencie MaterialTheme ma teraz większy promień narożnika (26 dp zamiast 24 dp). Nowy promień narożników obiektów Chip i ToggleChip pozwala uniknąć przycięcia treści na narożnikach elementu ToggleChip.

    • Większość elementów Chips i ToggleChips się nie zmienia, ponieważ mają domyślną wysokość 52 dp. Jednak w przypadku obiektów Chip i ToggleChip, 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ć.

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 komponencie SwipeDismissableNavHost 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 i ToggleChip. 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.

    Tekst przycięty z rogami
    Rys. 1. Tekst przycięty z rogów.
    Tekst nie jest obcięty
    Rys. 2. Tekst nieprzycięty.

    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 i Modifier.edgeSwipeToDismiss zostały przeniesione z wersji androidx.wear.compose.material do androidx.wear.compose.foundation. To samo dotyczy implementacji przesunięcia palcem, aby ją zamknąć w aplikacji BasicSwipeToDismissBox. Umożliwia to obsługę gestów przez przeciąganie, aby zamknąć, niezależnie od interfejsu Material Design, np. od SwipeDismissableNavHost w androidx.wear.compose.navigation. W stylu Material Design nadal zalecamy stosowanie interfejsu SwipeToDismissBox z tabeli androidx.wear.compose.material, ponieważ pobiera ono kolory z szablonu MaterialTheme, a potem przekazuje pozostałą implementację do interfejsu BasicSwipeToDismissBox.
  • SwipeDismissableNavHost obsługuje teraz nowy parametr userSwipeEnabled, 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 dodatku HierarchicalFocusCoordinator.
  • SwipeToReveal ma nowe kompozycje SwipeToRevealCard i SwipeToRevealChip w interfejsie Material Design, aby były zgodne z zalecanymi wskazówkami dotyczącymi UX dla Card i Chip. 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 i ToggleChip 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ści ExpandableStates, 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ądzeniu Placeholder.

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 na BasicSwipeToDismissBox. Dzięki temu wyraźnie widać rozróżnienie między komponentem na poziomie podstawowym a elementem SwipeToDismissBox na poziomie materiału. To ostatnie pobiera kolory z MaterialTheme, które będą używane w Scrims, a pozostałą implementację przekazuje interfejsowi BasicSwipeToDismissBox. (Ibecfc)
  • Oznaczyliśmy aplikację rememberExpandableStateMapping jako eksperymentalną i poprawiliśmy wydajność aplikacji expandableItem. (I5f6bc)
  • Zastąpiliśmy klasę SwipeToRevealAction w interfejsach API Card and Chip Material SwipeToReveal interfejsem API opartym na przedziałach, używając funkcji kompozycyjnych SwipeToRevealPrimaryAction, SwipeToRevealSecondaryAction i SwipeToRevealUndoAction. Zapoznaj się z przykładowym kodem, aby dowiedzieć się, jak korzystać z nowego interfejsu API. (Ia8943)
  • Zastąpiliśmy flagi animacji PositionIndicator parametrami AnimationSpec. Poszczególne animacje można wyłączyć, przekazując w atrybucie snap 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 i showPositionAnimation. Poprzedni interfejs API został wycofany i przekierowuje wywołania do nowego. Ze względu na wydajność i spójność z UX, gdy element PositionIndicator jest używany z przewijaną listą, zalecamy wyłączenie flag showFadeInAnimation i showPositionAnimation. Jeśli używasz funkcji PositionIndicator 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ły SwipeToDismissBoxState, SwipeToDismissValue i edgeSwipeToDismiss. Zastąp odpowiednikami w formacie wear.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 – element PositionIndicator był animowany na ekranie początkowym. Zamierzamy wprowadzić podobną zmianę na początku wersji 1.4 alfa, aby na początku był wyświetlany PositionIndicator, 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 r.

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 i showPositionAnimation. Poprzedni interfejs API został wycofany i przekierowuje wywołania do nowego. Ze względu na wydajność i spójność z UX, gdy element PositionIndicator jest używany z przewijaną listą, zalecamy wyłączenie flag showFadeInAnimation i showPositionAnimation. Jeśli używasz funkcji PositionIndicator 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. Element SwipeToDismissBox 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 i positionChange) (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 i SwipeToRevealCard. (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ę interfejsu SwipeToReveal 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 do onGloballyPositioned(). (Ic90f1)
  • Do optymalizacji przydziałów strumieni używamy teraz drawWithCache w przypadku elementów PositionIndicator, ProgressIndicator i SelectionControls. (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ści ExpandableStates, na potrzeby przypadków, w których muszą być tworzone na żądanie, niekoniecznie w zakresie @Composable (Iff9e0)
  • Pakiet SwipeToDismissBox został przeniesiony z pakietu androidx.wear.compose.material do pakietu androidx.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 i ToggleChip ustawiliśmy jako publiczne (Idbfde)
  • Poziome i pionowe dopełnienia w przypadku Chip i CompactChip ustawiliśmy publicznie. (Ieeaf7)
  • Dodaliśmy funkcję wyłączania obsługi przesuwania w SwipeDismissableNavHost za pomocą nowego parametru userSwipeEnabled. (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 samym SwipeDismissableNavHost) za pomocą funkcji HierarchicalFocusCoordinator (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 Material SwipeToDismissBox 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 i ToggleChip 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 i InlineSlider obsługują teraz wielokrotne kliknięcia przy długim naciśnięciu, dzięki czemu możesz szybko zwiększać lub zmniejszać wartość Stepper i InlineSlider, 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 i 1.2.0-alpha10 wprowadzamy zmiany w DefaultTextStyle. 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).
Tekst został obcięty z dużą czcionką
Rys. 1. Tekst obcięty.
  • Już go nie widać, gdy dopełnienie czcionki jest wyłączone:
Tekst nie jest obcięty z dużą czcionką
Rys. 2. Tekst nieprzycięty.
  • Zaktualizowaliśmy wear.compose.foundation, aby była zależność interfejsu API od wear.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

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ądzeniu ScalingLazyColumn. (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 ustawieniu IncludeFontPadding (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 i expandableItems to 2 nowe komponenty Foundation, które obsługują elementy rozwijane w obrębie elementu ScalingLazyColumn. Użyj expandableItem w przypadku pojedynczego elementu rozwijania, np. Tekst, w którym jest podana liczba wierszy. Użyj expandableItems w przypadku grupy elementów rozwijanych i expandableButton, 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 element userScrollEnabled, 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 API HierarchicalFocusCoordinator 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ługi androidx.wear.compose.material.ScalingLazyColumn do aplikacji androidx.wear.compose.foundation.lazy.ScalingLazyColumn. Zaktualizuj, aby używać wersji Foundation.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 parametrem enableRangeSemantics, 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, a WearPreviewDevices – wyświetla podgląd elementów kompozycyjnych na różnych urządzeniach do noszenia.
  • Do funkcji Wear Compose dodaliśmy atrybut DefaultTextStyle. Ustawienie domyślne PlatformTextStyle.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 w CurvedSize.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ń w SwipeToReveal, 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 na Role.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:

Tekst został obcięty z dużą czcionką
Rys. 1. Tekst obcięty.
  • Już go nie widać, gdy dopełnienie czcionki jest wyłączone:
Tekst nie jest obcięty z dużą czcionką
Rys. 2. Tekst nieprzycięty.

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 API CurvedModifier, 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 na ExpandableState. (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 aplikacja PickerGroup 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ślne PlatformTextStyle.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, a WearPreviewDevices – 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 parametru focusEnabled 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 i ToggleButton, 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 elemencie PickerGroup. 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ące TestNavHostController (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 TalkBack PickerGroup 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ługi androidx.wear.compose.material.ScalingLazyColumn do andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn (zapoznaj się z tym przykładem). Ta nowa lokalizacja jest bardziej zbliżona do tej w lokalizacji compose.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 wersji Foundation.Lazy ScalingLazyColumn. Dodatkowo do pola ScalingLazyListLayoutInfo dodano pole anchorType. (I29d95)
  • Funkcja ScalingLazyColumn została oznaczona jako wycofana w pakiecie Wear Compose Material (I16d34)
  • Zaktualizowaliśmy modyfikator ScrollAway, aby korzystał z elementu ScalingLazyListState z Wear Compose Foundation.Lazy, i wycofaliśmy przeciążenie, które spowodowało obciążenie ScalingLazyListState interfejsu Wear Compose Material. (Ifc42c)
  • Zaktualizowaliśmy interfejsy API Dialog w zakresie ScalingLazyListState z Foundation.Lazy i wycofaliśmy przeciążenia korzystające z Material ScalingLazyListState (Ic8960)
  • Zaktualizowaliśmy interfejsy API selektora, aby korzystały z interfejsu ScalingParams z Foundation.Lazy, i wycofaliśmy przeciążenia korzystające z interfejsu Material ScalingParams. (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 z Foundation.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ę na Foundation.Lazy, a nie na Material ScalingLazyColumn (Ic6caa)
  • Do naszej prezentacji DatePicker dodaliśmy opcjonalne parametry fromDate/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 z BasicText (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ć parametru rememberUpdatedState. Ten stan zostanie zaktualizowany, gdy lambda onContentReady. (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 komponentu Modifier.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 HierarchicalFocusCoordinatorkompozycję, 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ów timeSource w interfejsie API TimeText. (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ło autoCentering 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 elementu ScalingLazyListAnchorType.ItemStart obliczenie dopełnienia u góry spowoduje obliczenie prawidłowego dopełnienia u góry. W przypadku elementu ScalingLazyListAnchorType.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ów LazyListState i ScalingLazyListState 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ć parametru rememberUpdatedState. Ten stan zostanie zaktualizowany, gdy lambda onContentReady. (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

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ło autoCentering 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 elementu ScalingLazyListAnchorType.ItemStart obliczenie dopełnienia u góry spowoduje obliczenie prawidłowego dopełnienia u góry. W przypadku elementu ScalingLazyListAnchorType.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ów LazyListState i ScalingLazyListState 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 i OutlinedCompactChip. (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 i Modifier.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 element centerItem 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 funkcji ScalingLazyColumn. Teraz zwracana jest pusta lista, dopóki wszystkie jej elementy nie będą widoczne i mają odpowiednie przesunięcia. Sprawdź, czy ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty() inicjowanie ScalingLazyColumn 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 interfejsu Chip/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ów
    • Chip/Button/ToggleButton – dodaliśmy nowy styl konturu elementów i przycisków oraz nowych elementów kompozycyjnych OutlinedChip i OutlinedButton 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ści onSurfaceVariant (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 czemu Talkback 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 pola PositionIndicator na ekranie.
    • CurvedText/TimeText – dodano element Modifier.scrollAway, który umożliwia przewijanie elementu w pionie do lub z widoku w zależności od stanu przewijania (przeciążenia współpracują z Column, LazyColumn i ScalingLazyColumn). ScrollAway zwykle służy do przewijania TimeText, gdy użytkownik zaczyna przewijać listę elementów w górę.
    • CurvedText/TimeText – dodano obsługę systemów fontFamily, fontStyle i fontSynthesis w systemie CurvedTextStyle, której można używać na urządzeniach curvedText i basicCurvedText
    • CurvedText/TimeText – dodano element fontWeight do konstruktora i metody kopiowania w komponencie CurvedTextStyle
    • ToggleControls – dodano animowane elementy sterujące przełącznikiem Checkbox, Switch i RadioButton do użytku z elementami ToggleChip i SplitToggleChip. Możesz ich użyć zamiast statycznych ikon dostępnych w ToggleChipDefaults (switchIcon, checkboxIcon i radioIcon).
    • 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 i fontSynthesis) można teraz określić bezpośrednio jako parametry curvedText (Idc422)

Poprawki błędów

  • curveText i basicCurvedText 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ł, gdy PickerState.repeatedItems = false dodał jawne ustawienie parametrów autoCentering w wewnętrznym elemencie selektora ScalingLazyColumn, 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 i fontSynthesis w przeglądarce CurvedTextStyle, którą można użyć na urządzeniach curvedText i basicCurvedText. 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 elementem Modifier.offset (wcześniej był on w pikselach). Dla wydajności refaktoryzowano też tę funkcję jako LayoutModifier. (I9f94b)
  • W ramach nowego interfejsu API do przełączania ustawień zmieniliśmy nazwę z RadioButton’s circleColor na ringColor. (I28fa9)
  • Dodaliśmy animowane przełączniki Checkbox, Switch i RadioButton do użytku z ToggleChip i SplitToggleChip. Możesz ich użyć zamiast statycznych ikon dostępnych w ToggleChipDefaults (switchIcon, checkboxIcon i radioIcon). (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 stronach Column, LazyColumn i ScalingLazyColumn). ScrollAway zwykle służy do przewijania TimeText 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 pola PositionIndicator 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 i Stepper 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 i Buttons oraz nowych elementów kompozycyjnych OutlinedChip i OutlinedButton, 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 tym ToggleChips, 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%. Zakres CardDefaults.cardBackgroundPainter został zaktualizowany tak, aby zaczynał się z 30% podstawowej i kończył przy 20% dla powierzchni onSurfaceVariant (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 obiektem Chip/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%. Zaktualizowano CardDefaults.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 obiektem Chip/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 element ScalinglazyColumn zawiera kombinację komponentów ListHeader() i Chip(), ponieważ szerokość może się zmniejszać lub zmniejszać w miarę przewijania ListHeader 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ści CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f) -> nowe wartości CubicBezierEasing(0.3f, 0f, 0.7f, 1f). Aby zachować stare działanie, możesz zastąpić scalingParams funkcji ScalingLazyColumn (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 funkcji CompactChips, 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 na CenterHorizontally, 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 funkcji fillMaxWidth. Zamiast tego będą dopasowywały się do treści. Aby zachować poprzednie działanie, po prostu dodaj modifier = Modifier.fillMaxWidth()(I60a2c, b/232206371)

Poprawki błędów

  • Konstruktor CurvedTextStyle przyjmujący TextStyle uwzględnia teraz także fontWeight(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 i Picker (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 i ToggleButton – 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 elemencie CompactButton 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 i TitleCard, 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. Dodatkowo SplitToggleChip 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 elementami curvedRow i curvedColumn) w celu rozmieszczenia komponentów na urządzeniach okrągłych. Więcej informacji o CurvedLayout i CurvedModifier 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 i Vignette) 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ść funkcji CurvedLayout 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 elementu CurvedModifier.

  • 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). Element basicCurvedText można utworzyć tylko w obrębie elementu CurvedLayout, aby zapewnić jego największą wygodę, np. możliwość określenia pozycjonowania i zastosowania właściwości CurvedModifiers. 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śli curvedComposable 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ą atrybutu curvedComposable.

  • crzywy wiersz i kolumna krzywych – podobnie jak w przypadku kolumn Wiersz i Kolumna, elementy curvedRow i curvedColumn można zagnieżdżać w obiekcie CurvedLayout, aby rozmieszczać elementy zgodnie z potrzebami. W przypadku elementu curvedRow można określić kierunek układu kątowego i wyrównanie promieniowe. W przypadku elementu curvedColumn 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 i ToggleButton zgodnie ze wskazówkami (I57cab).
  • Dodaj włączony parametr do metod AppCard i TitleCard. Teraz mają interfejs API podobny do kart androidx.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 i TitleCard (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 trybie LayoutDirection i jest dziedziczony, jeśli nie został określony (If0e6a)
  • Zastąpiliśmy łańcuch autoCenter: Boolean elementem autoCenter: AutoCentringParams, aby rozwiązać problem z interfejsem API dotyczący: ScalingLazyColumn. (Ia9c90)
  • Zmieniliśmy nazwy iconTintColor i toggleControlTintColor na iconColor oraz toggleControlColor 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 ustawienia timeColor i appColor 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 i Stepper. 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 typu contentPadding i autoCenteringPadding 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ążeniu SwipeToDismissBox. (I682a0)
  • Aby lepiej obsługiwać i18n i a11y, zmieniliśmy ToggleChip i SplitToggleChip. Nie mają już one domyślnej wartości dla boksu toggleControl. Zmieniliśmy też zasady ToggleChipDefaults, 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), i SwitchIcon()->switchIcon(), CheckboxIcon->checkboxIcon() i RadioIcon()->radioIcon(). Dzięki temu deweloperzy mogą tworzyć własne kompozycje Icon() z odpowiednim zestawem contentDescription i zachęcać ich do tego. (I5bb5b)
  • Do interfejsu SwipeDismissableNavHost dodaliśmy parametr SwipeDismissableNavHostState. Umożliwia to korzystanie z przesuwania po krawędzi na ekranach używanych jako miejsca docelowe nawigacji, ponieważ obiekty SwipeToDismissBoxState można teraz przenosić i używać do inicjowania zarówno funkcji SwipeDismissableNavHostState, jak i Modifier.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 do SwipeToDismiss. Pozwala na aktywowanie elementu swipeToDismiss 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 żadnych CurvedModifiers, a możliwość tworzenia modyfikatorów niestandardowych może być dostępna później) (I9b8df).
  • EdgeSwipeaktualizacja 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 parametrem onDismissed, aby umożliwić typowe korzystanie ze zdarzenia nawigacji po zakończeniu gestu przesuwania. (I50353, b/226565726)
  • Usunięto adnotacje ExperimentalWearMaterialApi z użycia w TimeText (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 interfejs ScrollableState. (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 na CurvedLayout 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ów curvedRow i curvedColumn (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) i curvedText (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 na SwipeDismissTarget.oryginał na SwipeToDismissValue.Default, a SwipeDismissTarget.Dismissal na SwipeToDismissValue.Dismissed. Przenieśliśmy też platformy SwipeToDismissBoxDefaults.BackgroundKey i SwipeToDismissBoxDefaults.ContentKey do SwipeToDismissKeys.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 do Modifier.swipeable i SwipeableState, które są teraz używane wewnętrznie. SwipeToDismissBoxState ma teraz currentValue, targetValue, isAnimationRunning i snapTo 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ż zachowanie SwipeableState 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 format ToggleDefaults.splitToggleChipColors(), który obsługuje nowy schemat kolorów. Uprościliśmy też metody toggleChipColors(), 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 jak DatePicker, 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 i Vignette. W użyciu używamy teraz także pola ScalingLazyColumn zamiast Column, co oznacza, że okno dialogowe znajduje się teraz w polu ScalingLazyListScope (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 i SplitToggleChipswitchIcon, 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 indeksie ScalingLazyListState.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 element ScalingLazyColumn korzystający z automatycznego wyśrodkowania nie będzie mógł przewijać zawartości nad elementem initialCenterItemIndex/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, ustaw flingBehavior = 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ści reverseLayout, viewportSize i orientacji zgodne z tymi z kolumny LazyListLayoutInfo (I4f258, b/217917020)
  • ScalingLazyColumn ma teraz właściwość userScrollEnabled odpowiadającą tej wartości z kolumny LazyList (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 zachowaniem LazyColumn. Jeśli chcesz przywrócić stare zachowanie, przekaż zasadę Modifier.fillMaxWidth()/width()/widthIn() do metody ScalingLazyColumn (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ą parametru ScalingLazyListState.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ą parametru viewportVerticalOffsetResolver. (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 elementu LazyColumn. Jeśli chcesz przywrócić stare zachowanie, przekaż Modifier.fillMaxSize() do ScalingLazyColumn. 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 do ScalingLazyColumn. 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 to Alert lub Confirmation (nazwa została zmieniona z poprzednich komponentów AlertDialog i ConfirmationDialog) – Alert, Confirmation i Dialog znajdują się w pakiecie androidx.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 elementu PickerState. (I92bdf)
  • Dodaliśmy obsługę dostosowywania sposobu przesuwania elementu ScalingLazyColumn. (I1ad2e, b/208842968)
  • Dodaliśmy NavController.currentBackStackEntryAsState() do biblioteki Wear.Compose.Navigation. (If9028, b/212739653)
  • Dodano Modifier.onRotaryScrollEvent() i Modifier.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) czy Edge (ScalingLazyListAnchorType.ItemStart) ma być wyrównany względem osi widocznego obszaru.

    Z tego powodu opcje ScalingLazyListItemInfo.offset i ScalingLazyListItemInfo.adjustedOffset uległy zmianie i będą teraz odzwierciedlać przesunięcie elementu w odniesieniu zarówno do pozycji elementu listy, jak i jej wartości anchorType. Przykład: jeśli element ScalingLazyColumn ma wartość anchorType o wartości ItemCenter, a element listy znajduje się pośrodku linii widocznego obszaru, przesunięcie będzie wynosić 0.

    Nowe metody to scrollTo, animatedScrollTo, centerItemIndex i centerItemOffset. (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 niej InlineSlider i Stepper). (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 życia CREATED, co skutkuje działaniem IllegalStateException. Ta poprawka była wymagana, aby można było zaktualizować zależność w navigation-compose do wersji 2.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 lub shrinkResources=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ści 23. (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 na content 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 na contentColor. (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 instancji Navigator, które zostaną dodane do zwróconego obiektu NavController, 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
  • 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 i GestureScope, które zostały zastąpione przez performTouchInput i TouchInjectionScope. (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)
    1. Odstęp karty tytułowej między tytułem a treścią zmniejszono z 8,dp do 2,dp.
    2. Czcionka nagłówka karty tytułowej została zmieniona z treści na tytuł3.
    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 wyliczenia SwipeDismissTarget, które są częścią interfejsu API SwipeToDismissBox. (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 na CardDefaults.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.