Wear Compose

  
Zapisuj aplikacje Jetpack Compose na urządzenia do noszenia według zapewnia funkcje obsługujące określone urządzenia do noszenia, rozmiary, kształty gestów nawigacji.
Najnowsza aktualizacja Wersja stabilna Kandydat do wydania Wersja Beta Wydanie alfa
4 września 2024 r. 1.4.0 - - 1.5.0-alfa01

Deklarowanie zależności

Aby dodać zależność w Wear, musisz dodać repozytorium Google Maven do swojego w projektach AI. Zapoznaj się z repozytorium Google Maven. .

Dodaj zależności artefaktów, których potrzebujesz w pliku build.gradle aplikacji lub modułu:

Odlotowe

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.4.0"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material:1.4.0"

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation "androidx.wear.compose:compose-navigation:1.4.0"

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.4.0")
    
    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

Kotlin

dependencies {
    implementation("androidx.wear.compose:compose-foundation:1.4.0")

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material:1.4.0")

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation("androidx.wear.compose:compose-navigation:1.4.0")
    
    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.4.0")

    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli odkryjesz nowe problemy jak ulepszyć tę bibliotekę. Przyjrzyj się istniejące problemy w tej bibliotece, zanim utworzysz nową. Możesz zagłosować nad istniejącym problemem przez klikając przycisk gwiazdki.

Tworzenie nowego numeru

Zobacz dokumentację narzędzia Issue Tracker. .

Wear Compose Material3 w wersji 1.0

Wersja 1.0.0-alfa24

4 września 2024 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha24 została zwolniona. Wersja 1.0.0-alfa24 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Do motywu Material3 dodaliśmy schemat animacji. Są one używane przez komponenty w bibliotece do zastosowania specyfikacji animacji, takich jak sprężyny, które pozwalają wyrazić ekspresyjny ruch. (I54ff3)
  • Do biblioteki Material3 dodaliśmy komponenty AppScaffold i ScreenScaffold, które obejmują funkcje koordynowania warstw i przejść TimeText oraz ScrollIndicator. W modelu AppScaffold znajdują się elementy rusztowania znajdujące się u góry wszystkich ekranów. W związku z tym dodanie elementu TimeText do elementu AppScaffold umożliwia pozostawanie w tym samym miejscu podczas przesuwania między ekranami. Ekrany mogą samodzielnie zastępować lub ukrywać czas wyświetlania. ScreenScaffold udostępnia boks dla modułu ScrollIndicator i automatycznie animuje wskaźnik przewijania podczas przewijania, łącznie z czasem oczekiwania, aby ukryć ten wskaźnik po braku aktywności. (I047D6)
  • Dodaliśmy ScrollIndicator w nowym stylu Material3. Ma on ustalony rozmiar miniatury na podstawie początkowej zawartości listy, co pozwala uniknąć różnic w rozmiarze podczas wczytywania na liście treści, które się spowalniają. (IC228d).
  • Zmieniliśmy interfejs API ScrollAway tak, że ScreenStage jest klasą wartości zamiast klasą wyliczeniową, co umożliwi dodawanie kolejnych etapów w miarę potrzeb. (I48c93)
  • Dodaliśmy EdgeButton, charakterystyczny przycisk zgodny z Wear o kształcie dopasowanym do krzywizny dolnej części ekranu (I16369).
  • Do elementu ScreenScaffold dodaliśmy nowy boks na dolny przycisk (taki jak EdgeButton), który będzie wyświetlany i zmieniany w zależności od przewijanej treści (I032eb).
  • Aby dodać efekty ruchu Material3 do elementów w usłudze LazyColumn, dodaliśmy Modifier.scrollTransform i Modifier.targetMorphingHeight. (IE229a)
  • Dodaliśmy SegmentedCircularProgressIndicator jako odmianę produktu CircularProgressIndicator. Posegmentowana odmiana wyświetla jedną wartość postępu we wszystkich segmentach lub pokazuje każdy segment jako włączony/wyłączony. (I6e059)
  • Dodaliśmy LinearProgressIndicator jako alternatywę dla istniejącego elementu CircularProgressIndicator. (I89182)
  • Dodaliśmy układ AlertDialog, który umożliwia wyświetlanie ważnych promptów użytkownikowi. Dostępne są wersje dla pary przycisków potwierdzenia/zamknięcia lub jednego dolnego przycisku (zwykle EdgeButton) pod stosem opcji. W obu przypadkach dostępne są miejsca na ikonę, tytuł i dodatkowy tekst z dodatkowymi informacjami. (Ieb873)
  • Dodaliśmy OpenOnPhoneDialog, którego należy używać do wskazywania działania, które będzie kontynuowane na telefonie użytkownika. Aplikacja OpenOnPhoneDialog jest odrzucana po upływie określonego czasu oczekiwania. (I978fd)
  • Dodaliśmy Confirmation – komponent okna, który zawiera boksy na ikonę oraz tekst zakrzywiony lub liniowy. Dla komunikatów o sukcesie/niepowodzeniu podane są konkretne odmiany. Potwierdzenia są automatycznie zamykane po upływie limitu czasu. (IB43e8)
  • Do elementu TimeText dodaliśmy tło, aby ograniczyć problemy związane z nakładaniem się treści i elementem TimeText oraz ukryciem czasu. (Ia11fd).
  • Dodaliśmy obiekt LevelIndicator, który pokazuje wartość ustawienia, na przykład Głośność. Można go używać z istniejącym komponentem Stepper do utworzenia ekranu głośności. LevelIndicator jest podobny do ScrollIndicator, ale wyświetla się po przeciwnej stronie ekranu, ma większą szerokość kreski i domyślnie inny kolor wskaźników. (I8a4ac).
  • Dodaliśmy układ TimePicker z układami ustawionymi na 24-godzinny (z sekundami lub bez nich) lub 12-godzinny z wyborem am/pm. (IA5124).
  • Dodaliśmy DatePicker z konfiguracją kolejności kolumn (np.dzień-miesiąc-rok, miesiąc-dzień-rok lub rok-miesiąc-dzień) i opcjonalnymi datami min./maks. (Ibf13b).
  • Do funkcji text w TimeText dodaliśmy parametr wagi. Jeśli element TimeText składa się z więcej niż 1 elementu tekstowego, umożliwia to kontrolę nad rozkładem przestrzeni. (I36700)
  • Dodaliśmy RadioButton i SplitRadioButton – te komponenty upraszczają poprzedni interfejs API, łącząc zarówno element (Split)SelectableButton, jak i podrzędny element sterujący (If7ae8).
  • Dodaliśmy CheckboxButton i SplitCheckboxButton – te komponenty upraszczają poprzedni interfejs API, łącząc zarówno ustawienie (Podziel) ToggleButton, jak i podrzędne pole wyboru (Ia8f70).
  • Dodaliśmy SwitchButton i SplitSwitchButton – te komponenty upraszczają poprzedni interfejs API, łącząc (Split)ToggleButton i podrzędny element sterujący Switch (I0d349).
  • Zaktualizowaliśmy dokumentację AnimatedText, by wyjaśnić zachowanie przekraczające limit. (Iff30a).
  • Dodaliśmy funkcję ButtonGroup, aby łączyć 2 lub 3 przyciski w taki sposób, aby naciśnięcie przycisku powodowało skoordynowaną animację. (Ie27db)
  • Dodaliśmy opcjonalną animację kształtu dla elementów IconButton i TextButton po naciśnięciu. (Iffca5).
  • Dodaliśmy dodatkową wersję kolorystyczną – FilledVariant do aplikacji Button, IconButton, TextButton, CompactButton i EdgeButton (I65fc3).
  • Do elementu ImageWithScrimPainter dodaliśmy parametr forcedSize, dzięki czemu tła obrazów przycisków domyślnie zachowują rozmiar komponentu. Jeśli zasada jest ustawiona na forcedSize = null, stosowana jest zamiast tego właściwość Painter.instrinsicSize. (IC57af).
  • Dodaliśmy do przycisków opcję długiego kliknięcia (Ib613d).
  • Obsługa przytrzymywania długich kliknięć została dodana do IconButton i TextButton. (I38891)
  • Dodaliśmy obsługę długich kliknięć do sekcji Karty. (I305d5)
  • Dodaliśmy LocalTextMaxLines, LocalTextAlign i LocalTextOverflow jako CompositionLocals i użyliśmy ich jako domyślnych parametrów w dniu Text. Lokalne kompozycje mogą być teraz używane przez komponenty takie jak CheckboxButton, SwitchButton czy RadioButton do wdrażania wskazówek dotyczących UX, ale w razie potrzeby deweloperzy mogą zastąpić parametry. (IAB841)
  • Dodaliśmy Placeholder, aby pomóc w maskowaniu zawartości komponentów takich jak przyciski aż do momentu wczytania danych. (I1a532).
  • Dodaliśmy IconToggleButtonColors i TextToggleButtonColors, aby zastąpić usunięte wcześniej ToggleButtonColors. (Ie0bf1)

Poprawki błędów

  • Zaktualizowaliśmy Button, FilledTonalButton, OutlinedButton, ChildButton i CompactButton, aby korzystać z nowych funkcji CompositionLocals LocalTextMaxLines, LocalTextAlign i LocalTextOverflow na potrzeby implementacji wskazówek dotyczących UX – w razie potrzeby deweloperzy mogą zastąpić te parametry bezpośrednio w aplikacji Text (Ie51f7)
  • Zmieniliśmy domyślną szerokość kreski obiektu LevelIndicator na 6dp, by odróżnić go od ScrollIndicator, którego szerokość kreski wynosi 4dp. (If6f63).
  • Naprawiliśmy błąd w obszarze TimeText, więc obsługiwane są już większe kąty wymiotowania. (IE489f)
  • Naprawiono błąd występujący podczas ponownego komponowania elementu EdgeButton. (I4cdca).
  • Poprawiono układ przycisków podziału, gdy dodano dopełnienie treści. (Ia33d3).
  • Zaokrągla niewielkie wartości postępu, co najmniej do szerokości linii wskaźnika postępu. (I3Bd84)

Wersja 1.0.0-alfa23

14 maja 2024 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha23 została zwolniona. Wersja 1.0.0-alfa23 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Zaktualizowaliśmy interfejsy API ToggleButton i RadioButton, aby umożliwić skonfigurowanie wyłączonych kolorów. (If13a7).
  • Dodaliśmy nowy CircularProgressIndicator do Material3. (Ib3bd7).

Poprawki błędów

  • Naprawiliśmy błąd, który polegał na tym, że po wybraniu przycisków dwukrotne kliknięcie przycisku przełączania. (I7ed88).

Wersja 1.0.0-alfa22

1 maja 2024 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha22 została zwolniona. Wersja 1.0.0-alfa22 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Zaktualizowaliśmy Material3 ColorScheme. (I7b2b8)
  • Zaktualizowaliśmy przełącznik Material3. Oprócz zmian kolorów, znacznik wyboru jest teraz zgodny z polem wyboru. (Icac7b)

Poprawki błędów

  • Zaktualizuj wszystkie wersje demonstracyjne integracji, aby używać nowego modyfikatora rotaryScrollable. (I25090)

Wersja 1.0.0-alfa21

17 kwietnia 2024 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha21 została zwolniona. Wersja 1.0.0-alfa21 zawiera te zatwierdzenia.

  • Ta wersja została aktywowana z powodu problemu technicznego w poprzedniej wersji, w wyniku którego brakowało źródłowych plików jar. W tej wersji nie ma nowych zatwierdzeń.

Wersja 1.0.0-alfa20

3 kwietnia 2024 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha20 została zwolniona. Wersja 1.0.0-alfa20 zawiera te zatwierdzenia.

Poprawki błędów

  • Dostosowaliśmy stany alfa, aby poprawić kontrast. (I59f0A)
  • W Button, ToggleButton i RadioButton dodaliśmy odstępy między etykietami głównymi i dodatkowymi zgodnie z najnowszymi zmianami w stylach typograficznych i wysokości wierszy. (I2c0ba).

Wersja 1.0.0-alfa19

6 marca 2024 roku

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha19 została zwolniona. Wersja 1.0.0-alfa 19 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Do biblioteki Material3 w Wear Compose dodaliśmy element TimeText. Ten komponent pokazuje aktualną godzinę (i dodatkowy stan) u góry ekranu. Nowy, zwięzły interfejs Material3 API zapobiega duplikowaniu treści linearnych i zakrzywionych. (I4d7c3)
  • Zmieniliśmy nazwy parametrów z onSelected na onSelect dla RadioButton. (I1a971).
  • Tokenizacja metod RadioButton i SplitRadioButton obejmuje też istniejące metody, aby zmniejszyć liczbę wyszukiwań CompositionLocal. Aby to zrobić, dodaj instancje kolorów z pamięci podręcznej i ustaw metody uwierzytelniania RadioButtonColors i SplitRadioButtonColors wewnętrznie. (I02b33)

Wersja 1.0.0-alfa18

21 lutego 2024 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha18 została zwolniona. Wersja 1.0.0-alfa18 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Zrefaktoryzowaliśmy domyślny wzorzec dla CardColors, ToggleButtonColors i SplitToggleButtonColors, tworząc wewnętrznie instancje przechowywane w pamięci podręcznej i ograniczając wykorzystanie CompositionLocal. (If3fec).

Wersja 1.0.0-alfa17

7 lutego 2024 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha17 została zwolniona. Wersja 1.0.0-alfa17 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Zaktualizowaliśmy interfejs Button API tak, aby domyślnie używał buttonColors i usunęliśmy duplikat filledButtonColors. (I4fe3b)
  • Zrefaktoryzowaliśmy domyślne wzorce dla ButtonColors, IconButtonColors i TextButtonColors, tworząc wewnętrznie instancję z pamięci podręcznej i ograniczając wykorzystanie CompositionLocal. (I5f51c)
  • Usunęliśmy nadmiarowy koszt funkcji rememberUpdatedState w klasach kolorów określonych dla komponentu i oznaczono metody akcesorów wewnątrz klas kolorów jako wewnętrzne. (If6571).

Poprawki błędów

  • Zaktualizowaliśmy aplikację Modifier.minimumInteractiveComponentSize, tak aby używała obecnie nazwy Modifier.node. (IBa6b7)

Wersja 1.0.0-alfa16

24 stycznia 2024 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha16 została zwolniona. Wersja 1.0.0-alfa16 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy kolor CompactButton, który może używać tego samego wypełnionego, wypełnionego tonalnego i koloru konturu, co w przypadku przycisku (I05df0).

Zmiany interfejsu API

  • Dodaliśmy RadioButton/SplitRadioButton jako kontenery do elementów sterujących wyboru, takich jak Sterowanie radiowe. Różni się to od obecnej funkcji ToggleButton tym, że element RadioButton można wybrać (i działa w ramach grupy wyboru), a ToggleButton można przełączać (i jest niezależny). (I61275)
  • Usunęliśmy pakiet LocalContentAlpha z biblioteki Wear Compose Material3, aby zachować spójność z biblioteką Compose Material3. (I49a0a)
  • Zaktualizowaliśmy komponenty Wear materiał i Wear materiał3, które ujawniają identyfikator MutableInteractionSource w interfejsie API, tak aby teraz ujawniał wartość null dla pola MutableInteractionSource, która domyślnie ma wartość null. Nie ma tu żadnych zmian semantycznych: przekazanie wartości null oznacza, że nie chcesz podnosić obiektu MutableInteractionSource i w razie potrzeby zostanie on utworzony w komponencie. Zmiana na wartość null umożliwia niektórym komponentom nigdy nie przydzielanie elementu MutableInteractionSource, a innym komponentom można tworzyć tylko leniwe tworzenie instancji tylko wtedy, gdy jest to konieczne, co zwiększa wydajność tych komponentów. Jeśli nie używasz identyfikatora MutableInteractionSource przekazywanego tym komponentom, zalecamy przekazanie wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (Ib90fc, b/298048146)
  • Dodaje nowy interfejs Ripple API w bibliotekach wear:compose-material i wear:compose-material3, który zastępuje wycofany interfejs rememberRipple. Dodajemy też tymczasowy CompositionLocal (LocalUseFallbackRippleImplementation), który pozwala przywrócić komponenty Material Design z wycofanych interfejsów API rememberRipple/RippleTheme. Zostanie ona usunięta w następnej stabilnej wersji. Jest przeznaczona tylko do tymczasowej migracji w przypadku, gdy udostępniasz niestandardowy RippleTheme. Informacje o migracji i inne szczegóły dotyczące tej zmiany znajdziesz na stronie developer.android.com. (af92b21).
  • Wprowadziliśmy drobne ulepszenia w interfejsie API HorizontalPageIndicator i jego dokumentacji. (I60efc)
  • Zaktualizowaliśmy funkcję ColorScheme, aby była niezmienna, co ograniczyło efektywność poszczególnych aktualizacji kolorów, ale sprawiło, że częściej używane są kolory. Zmiana ta wynika z faktu, że w większości aplikacji brak aktualizowania poszczególnych kolorów. W dalszym ciągu jest to możliwe, ale nastąpi też ponowne skomponowanie kodu niż wcześniej. To spowoduje znaczne zmniejszenie liczby subskrypcji stanu z użyciem całego kodu materiałowego oraz wpłynie na koszty inicjowania i czasu działania w bardziej standardowych przypadkach użycia. (Ibc2d6).
  • Zaktualizowaliśmy interfejsy API ToggleButton i SplitToggleButton, aby umożliwić dostosowywanie wyłączonych kolorów. Dodatkowo tokeny Material Design są teraz używane do określania wartości kolorów i typografii. (If087c).
  • Zaktualizowano kolory tła obrazu przycisku, aby używać tokenów Material Design. (IBa215).
  • Zmieniliśmy komponenty Checkbox, Switch i RadioButton w tryb tylko do wyświetlania i usunęliśmy obsługę kliknięć. Komponenty te powinny być używane w (Split)ToggleButton, które obsługują kliknięcia, dlatego teraz są wyraźniej oznaczone jako przeznaczone tylko do wyświetlania (i nie są przeznaczone do samodzielnego użytkowania na urządzeniach Wear). (I2322e)

Poprawki błędów

  • W Wear Compose Material 3 dodaliśmy tokeny wartości ruchu dla czasu trwania i wygładzania. (I437cd).
  • Naprawiliśmy błąd w ToggleButton, SplitToggleButton, Checkbox, Switch i RadioButton, przez co powiadomienia o ułatwieniach dostępu nie powtarzały się (wcześniej role semantyczne były zduplikowane). (Ica281).
  • Usunęliśmy warstwę Materialcore z CompactButton, aby poprawić wydajność. (7902858).

Wersja 1.0.0-alfa15

15 listopada 2023 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha15 została zwolniona. Wersja 1.0.0-alfa15 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Zmieniliśmy nazwę poziomu podstawowego SwipeToDismissBox na BasicSwipeToDismissBox. Zwiększa to rozróżnienie między komponentem na poziomie „Podstawy” a poziomem Material3 (SwipeToDismissBox). Ten drugi pobiera kolory z interfejsu MaterialTheme, aby wykorzystać je w próbkach, a pozostałą implementację deleguje do BasicSwipeToDismissBox. (Ibecfc).

Poprawki błędów

  • Usunęliśmy warstwę Material Core w przycisku Material3, aby poprawić wydajność. (I55555)

Wersja 1.0.0-alfa14

18 października 2023 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha14 została zwolniona. Wersja 1.0.0-alfa14 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Usunęliśmy parametr indicatorStyle z elementu HorizontalPageIndicator z Material3. Zamiast tego będzie on dopasowany do kształtu ekranu urządzenia (liniowego lub okrągłego). (I83728)
  • Oddzieliliśmy kolory dla pola SplitToggleButton od tych dla ToggleButton, dodając nową klasę SplitToggleButtonColors. (I78Bee)

Wersja 1.0.0-alfa13

4 października 2023 roku

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha13 została zwolniona. Wersja 1.0.0-alfa13 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Do dokumentu TitleCard dodaliśmy opcjonalne pole Podtytuł. (Ifc45a).
  • Dodaliśmy tokeny kolorów Material Design do wersji TextButton. (I769dc)

Wersja 1.0.0-alfa12

20 września 2023 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha12 została zwolniona. Wersja 1.0.0-alfa12 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Zaktualizowaliśmy IconButton, aby umożliwić korzystanie z tokenów Material Design. (I3f137)
  • Zaktualizowaliśmy IconToggleButton, aby umożliwić korzystanie z tokenów Material Design. (I7d263)
  • Upubliczniliśmy konstrukcje elementów CheckboxColors, RadioButtonColors i SwitchColors. (I82b73)

Wersja 1.0.0-alfa11

6 września 2023 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha11 została zwolniona. Wersja 1.0.0-alfa11 zawiera te zatwierdzenia.

Poprawki błędów

  • Zaktualizowaliśmy typografię kart Material3 na TitleMedium. (I597bd)
  • Zaktualizowaliśmy typografię i wyrównanie elementów Material3 ListHeader i ListSubheader. (IB5CEb).

Wersja 1.0.0-alpha10

23 sierpnia 2023 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha10 została zwolniona. Wersja 1.0.0-alfa10 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaj aplikację HorizontalPageIndicator do biblioteki Wear Material3. (Ifee99)

Zmiany interfejsu API

  • Zaktualizuj kod Przycisków, aby używać tokenów projektowania Material3. (I92fe4)
  • Deklarowanie interfejsów Wear Material Stepper i Slider API jako eksperymentalnych, ponieważ szczegóły interfejsu jeszcze nie są gotowe. (I84d54)
  • Usunęliśmy rozmiary ExtraSmall z okrągłych TextButton i TextToggleButton, ponieważ dotyczy on tylko IconButton. (IBc7d5)

Poprawki błędów

  • Zaktualizowaliśmy wytyczne dotyczące typografii w przypadku TextToggleButton, aby dodać do nich etykietę LargeButtonSize (Ib10fa).
  • Zaktualizowaliśmy wytyczne dotyczące typografii w przypadku przycisku TextButton, aby dodać do niego etykietę LargeButtonSize (I8f3a7)
  • Aby zapewnić ułatwienie dostępu, minimalny docelowy element dotykowy karty powinien wynosić 48 dp. (Ieb9b1)
  • Dodaj kartę AppCard z obrazem demonstracyjnym, usuwając kartę AppCard z wersją demonstracyjną w tle (Id735f)
  • Poprawiono błąd związany z okrągłymi przyciskami, w których modyfikatory nie były prawidłowo połączone. (I5e162)

Wersja 1.0.0-alpha09

9 sierpnia 2023 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha09 została zwolniona. Wersja 1.0.0-alfa09 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy ToggleButton dla material3 (I6bed6)

Zmiany interfejsu API

  • Włączyliśmy adnotację FloatRange jako ograniczenia interfejsu API , które były wcześniej opisane w komentarzach. (Icb401)
  • Zaktualizowaliśmy typografię w przypadku Wear Material3, aby była zgodna z najnowszymi wytycznymi dotyczącymi tego standardu. (I1bad6)

Poprawki błędów

  • Zaktualizowaliśmy kolory produktów Button, IconButton i TextButton, aby były zgodne ze stylem Material3. (IB2495).
  • Naprawiliśmy widoczność zaznaczenia pól wyboru w stanach, gdy reklamy są wyłączone. (IB25bf)

Wersja 1.0.0-alpha08

26 lipca 2023 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha08 została zwolniona. Wersja 1.0.0-alfa08 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy te elementy sterujące do wyboru w przypadku Material3 – Switch, Checkbox i RadioButton. (IB918C)
  • Do Material3 dodaliśmy okrągły przycisk przełączania z pojedynczym boksem na ikonę i tekst. W tym celu dodaliśmy IconToggleButton i TextToggleButton. W przypadku różnych rozmiarów elementu ToggleButton zalecamy użycie właściwości Modifier.touchTargetAwareSize z rozmiarami podanymi w odpowiednich przyciskach przełączania. (I9f015).
  • Do komponentów Material3 dodaliśmy ListHeader i ListSubheader. (Ibaefe).
  • Dodaliśmy SwipeToDismissBox Material3, który wywołuje nową podstawę SwipeToDismissBox i dostarcza domyślne wartości kolorów na podstawie motywu. (I275fb)
  • Dodaliśmy InlineSlider Material3 do Wear Compose. Użytkownik może wybierać wartości z wielu wartości. Zakres wybranych opcji jest przedstawiony jako pasek między wartością minimalną a maksymalną, z której użytkownicy mogą wybrać jedną wartość. Urządzenie InlineSlider idealnie nadaje się do regulacji ustawień takich jak głośność czy jasność. (I7085F)

Zmiany interfejsu API

  • Zaktualizowaliśmy motyw Kształty w stylu Wear Material 3. Teraz korzysta on z elementu RoundedCornerShape, a nie z kształtu. (Idb133).
  • Stały wysokości przycisku ustawiliśmy jako publiczne (Idbfde).
  • Zaktualizowano pliki interfejsu API, aby dodać adnotacje o pomijaniu zgodności (I8e87a, b/287516207)
  • Zaktualizowaliśmy atrybut InlineSliderColors w narzędziu Wear Compose Material 3, aby dodać publiczny konstruktor i właściwości publiczne. (I6b632)
  • Zaktualizowaliśmy wszystkie klasy kolorów w narzędziu Wear Compose Material 3, aby dodać publiczne konstruktory i właściwości publiczne. (I17702)
  • Umieściliśmy stałe dopełnienie w poziomie i pionie przycisku. (Ieeaf7).

Poprawki błędów

  • W razie potrzeby wysokość przycisku będzie dostosowywać się do treści rozwiniętych ze względu na duże czcionki z myślą o ułatwieniach dostępu (Iaf302).
  • Zaktualizowaliśmy wiele wersji demonstracyjnych przycisków, aby rozwiązać problemy z ułatwieniami dostępu. (I61ce9).
  • Stepper i InlineSlider obsługują teraz powtarzane kliknięcia przytrzymania, dzięki czemu można szybko zwiększyć lub zmniejszyć wartość Stepper i InlineSlider, przytrzymując przyciski + i - (I27359).

Wersja 1.0.0-alpha07

21 czerwca 2023 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha07 została zwolniona. Wersja 1.0.0-alfa07 zawiera te zatwierdzenia.

Nowe funkcje

  • Do biblioteki Compose for Wear OS Material 3 dodaliśmy komponent Stepper. Jest to podobne do poprzedniej wersji Material, z tą różnicą, że domyślnie semantyka zakresu została pominięta w odpowiedzi na opinie deweloperów. Przypadki, w których wymagana jest semantyka zakresów, podajemy Modifier.rangeSemantics. (IC39fd).
  • Do biblioteki Material 3 na Wear OS dodaliśmy aplikację curvedText. (Ia8ae3),

Poprawki błędów

  • Zaktualizowaliśmy wear.compose.foundation, aby dodać zależność interfejsu API wear.compose.material3 (I72004, b/285404743)

Wersja 1.0.0-alpha06

7 czerwca 2023 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha06 została zwolniona. Wersja 1.0.0-alfa06 zawiera te zatwierdzenia.

Poprawki błędów

  • Zaktualizowaliśmy TextButton, aby używał funkcji rozszerzenia toDisabledColor w celu prawidłowego wykrywania wyłączonych wartości alfa. (I814C8)

Wersja 1.0.0-alpha05

24 maja 2023 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha05 została zwolniona. Wersja 1.0.0-alfa05 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy TextButton do Material3 – okrągłego przycisku z jednym boksem na tekst. W przypadku różnych rozmiarów elementu TextButton zalecamy użycie atrybutów Modifier.touchTargetAwareSize i ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize i LargeButtonSizeIcon dostępnych w polu TextButtonDefaults. Domyślny TextButton nie ma obramowania i przezroczystego tła do działań o niskim stopniu podkreślenia. W przypadku działań, które wymagają dużej uwagi, użyj filledTextButtonColors; dla średniego podkreślenia – z konturem TextButton ustaw obramowanie na ButtonDefaults.outlinedButtonBorder; aby znaleźć środek między konturem a wypełnionym, użyj filledTonalTextButtonColors. (I667e4).
  • Do biblioteki Wear Compose 3 dodaliśmy pliki Card, OutlinedCard, AppCard i TitleCard. AppCard i TitleCard mogą również mieć zarysowany wygląd za pomocą elementów CardDefaults.outlinedCardColors i CardDefaults.outlinedCardBorder(I80e72)

Zmiany interfejsu API

  • Przenieśliśmy parametr Etykieta przycisku na koniec, aby obsługiwać składnię lambda, i usunęliśmy parametr roli (można go zastąpić, używając parametru Modifier.semantics). Konstruktory ButtonColors są teraz publiczne. (IE1b6d)

Wersja 1.0.0-alpha04

10 maja 2023 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha04 została zwolniona. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy IconButton do Material3 – okrągłego przycisku z 1 miejscem na ikonę/obraz. Są 4 odmiany: IconButton, FilledIconButton, FilledTonalIconButton i OutlinedIconButton. W przypadku różnych rozmiarów elementu IconButton zalecamy użycie atrybutów Modifier.touchTargetAwareSize i ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize i LargeButtonSizeIcon dostępnych w polu IconButtonDefaults. Udostępniamy też pole IconButtonDefaults.iconSizeFor, które pozwala określić zalecany rozmiar ikony dla danego rozmiaru przycisku. (I721d4)

Wersja 1.0.0-alpha03

19 kwietnia 2023 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha03 została zwolniona. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodaliśmy komponent Material 3 Button – jest to przycisk w kształcie stadionu, który w bibliotece materiałów na Wear Compose nosił wcześniej nazwę Chip (nazwa została zmieniona na Przycisk, aby zapewnić spójność z biblioteką Material Material 3). Przycisk domyślny ma wypełnione tło. Dostępne są też różne wersje przycisków: FilledTonal (wyciszone tło), z konturem (przezroczyste z cienką ramką) i element podrzędny (przezroczyste tło i bez obramowania, używane w przypadku działań uzupełniających o najmniejszym stopniu widoczności). Okrągłe przyciski z prostą ikoną i tekstem zostaną udostępnione w przyszłej wersji (Ia6942).

Wersja 1.0.0-alpha02

5 kwietnia 2023 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha02 została zwolniona. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.

Poprawki błędów

  • Do elementu Wear Compose 3 dodaliśmy element DefaultTextStyle w narzędziu Wear Compose 3. Ustawienie domyślne PlatformTextStyle.includeFontPadding ma wartość Prawda (obecne ustawienie). Pozwoli to nam zsynchronizować wyłączenie domyślnego dopełnienia czcionek z bibliotekami tworzenia wiadomości w przyszłości (zobacz Poprawianie dopełnienia czcionki w funkcji tworzenia wiadomości w tle). (I7e461)

Wersja 1.0.0-alpha01

22 marca 2023 r.

Usługa androidx.wear.compose:compose-material3:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

  • Material 3 stanowi kolejną wersję Material Design z uaktualnionym motywem i nowymi komponentami. Interfejs Material 3 w Wear Compose został zaprojektowany tak, aby był spójny z biblioteką Material 3 Compose na Androidzie. Pierwsza wersja alfa zawiera wczesne, funkcjonalne implementacje tych elementów:

    • Motyw Material Design – pozwala spójnie konfigurować schemat kolorów, typografię i kształty dla różnych komponentów w bibliotece. Motyw Material3 ma zmienione kolory, aby obsługiwać kontrast z ułatwieniami dostępu. (I84005)
    • Tekst/ikona – elementy składowe aplikacji na Wear Compose (I8e06a)
  • Będziemy nadal rozwijać równolegle materiały na Wear Material (androidx.wear.compose:compose-material) i Wear Material 3 (androidx.wear.compose:compose-material3). W przyszłych wersjach Material3 zestaw widżetów zostanie rozszerzony o inne znane komponenty z funkcji tworzenia wiadomości na Wear OS, takie jak przyciski, selektory i suwaki.

  • Biblioteki Wear Material i Wear Material 3 wzajemnie się wykluczają i nie należy ich mieszać w tej samej aplikacji, głównie dlatego, że odwołują się do różnych motywów, co prowadzi do nieoczekiwanych niespójności.

Wear Compose w wersji 1.5

Wersja 1.5.0-alpha01

4 września 2024 r.

Usługa androidx.wear.compose:compose-*:1.5.0-alpha01 została zwolniona. Wersja 1.5.0-alfa01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Do biblioteki Wear Compose Foundation dodaliśmy nowy element LazyColumn z powiązanymi interfejsami API LazyColumnState i LazyColumnScope. Stanowi podstawę tworzenia niestandardowych efektów skalowania i modyfikowania elementów w Wear Compose. (Ib3b22)
  • W ramach nowego interfejsu API LazyColumn dodaliśmy do pliku LazyColumnScope zindeksowaną wersję języka itemsIndexed. (IB4a57)
  • Dodaliśmy modyfikatory LazyColumn, które obsługują zachowania skalowania i przekształcania. (IE229a)
  • Wersja HierarchicalFocusCoordinator została awansowana do wersji stabilnej. (I31035)
  • Dodaliśmy obsługę odstępów między literami w zakrzywionym tekście. (I3C740)
  • Do elementu CurvedLayout.curvedComposable dodaliśmy parametr rotationLocked, aby zatrzymać rotację komponentów. (I66898)
  • Tymczasowy interfejs API LocalUseFallbackRippleImplementation z materiału do noszenia i materiału Wear 3 został usunięty (I62282)
  • Element WearDevices.SQUARE został usunięty z podglądu wielu elementów @WearPreviewDevices (I11c02)

Poprawki błędów

  • SwipeToReveal umieszcza teraz odkryte elementy w widocznej części ekranu. Jest to pomocne, gdy użyjesz elementu SwipeToReveal na liście. Dzięki temu elementy będą zawsze interaktywne i nigdy nie wyjdą poza ekran. (I38929)
  • Po zakończeniu wykonywania zadania animatedTo SwipeToReveal resetuje wartość lastActionType na Brak. (I59b03)
  • Ulepszyliśmy dokumentację nowego parametru rotationLocked w systemie curvedComposable. (Ifbd57).
  • Naprawiono błąd, który powodował awarię podczas przekazywania elementu NaN do źródła performFling na urządzeniu ScalingLazyColumnSnapFlingBehavior. (IC13DA).
  • Usunięto błąd związany z modyfikatorem rozmiaru układu krzywego (I0fedf).
  • Dodaliśmy obsługę odstępów między literami określonych w „sp”. (I9f6e3)
  • Naprawiliśmy błąd w oknie Material2, w wyniku którego wywołanie zwrotne onDismissRequest nie było wywoływane, gdy okno stało się niewidoczne (I64656).
  • Zmieniono nazwę LayoutCoordinates.introducesFrameOfReference na LayoutCoordinates.introducesMotionFrameOfReference, aby lepiej odzwierciedlić jej przeznaczenie. Zmieniono nazwę powiązanej funkcji, aby obliczać współrzędne na podstawie tej flagi. (I3a330)

Wersja 1.4

Wersja 1.4.0

4 września 2024 r.

Usługa androidx.wear.compose:compose-*:1.4.0 została zwolniona. Wersja 1.4.0 zawiera te zatwierdzenia.

Ważne zmiany wprowadzone od wersji 1.3.0

  • ScalingLazyColumn i Picker obsługują teraz domyślnie pokrętło. Zaleca się usunięcie wyraźnego pokrętła i pozostawienie domyślnego działania systemu. W razie potrzeby użyj parametru rotaryScrollableBehavior, aby skonfigurować działanie przewijania lub przyciągania. Aby zapewnić przyciąganie, zalecamy korzystanie z funkcji przyciągania i przewijania dotykiem przy użyciu parametru flingBehavior.
  • Modifier.rotaryScrollable to nowy modyfikator, który łączy zdarzenia rotacyjne z przewijanymi kontenerami, dzięki czemu użytkownicy mogą przewijać ekran za pomocą pokrętła lub obrotowej ramki na urządzeniu z Wear OS.
  • SwipeDismissableNavHost udostępnia teraz animację przejścia z poziomu aplikacji.
  • Pole PositionIndicator jest teraz domyślnie wyświetlane przy pierwszym wyświetleniu ekranu.

Dodatkowe zmiany

Wersja 1.4.0-rc01

21 sierpnia 2024 r.

Usługa androidx.wear.compose:compose-*:1.4.0-rc01 została zwolniona. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.

  • Zaktualizowaliśmy zależności Compose do wersji 1.7.0-rc01 i przypiętą Nawigację w Wear Compose do wersji androidx.lifecycle 2.8.3

Wersja 1.4.0-beta03

12 czerwca 2024 r.

Usługa androidx.wear.compose:compose-*:1.4.0-beta03 została zwolniona. Wersja 1.4.0-beta03 zawiera te zatwierdzenia.

Poprawki błędów

  • Zaktualizowaliśmy zasadę Modifier.rotaryScrollable, zastępując fragment „fokus” skrótem „focusTarget”, co zwiększa skuteczność. (Id294b)
  • Naprawiliśmy błąd polegający na tym, że firma ProgressIndicator powtarzała swoje ogłoszenie pod adresem TalkBack. (I94563)
  • Zaktualizowaliśmy profile podstawowe biblioteki Wear Compose. (I3cbc3)

Wersja 1.4.0-beta02

29 maja 2024 r.

Usługa androidx.wear.compose:compose-*:1.4.0-beta02 została zwolniona. Wersja 1.4.0-beta02 zawiera te zatwierdzenia.

Poprawki błędów

  • Zwiększyliśmy szerokość granicy przekazywaną czytnikom ekranu z zakrzywionego tekstu, aby rozwiązać problemy z obcinaniem (Id865f).
  • Ograniczyliśmy granicę pola HorizontalPageIndicator, które były przekazywane do czytników ekranu – wcześniej ten wskaźnik zajmował pełny ekran (Id8d7a).

Wersja 1.4.0-beta01

14 maja 2024 r.

Usługa androidx.wear.compose:compose-*:1.4.0-beta01 została zwolniona. Wersja 1.4.0-beta01 zawiera te zatwierdzenia.

Wersja 1.4-beta01 tworzenia wiadomości na Wear OS wskazuje, że ta wersja biblioteki jest już dostępna, a interfejs API jest zablokowany (z wyjątkiem miejsc oznaczonych jako eksperymentalne). Wear Compose 1.4 zawiera te nowe funkcje:

  • Dodaliśmy Modifier.rotaryScrollable – nowy modyfikator, który łączy zdarzenia rotacyjne z przewijanymi kontenerami, co umożliwia użytkownikom przewijanie zawartości pokrętła lub obrotowej ramki na urządzeniu z Wear OS. Dodatkowo urządzenia ScalingLazyColumn i Picker obsługują teraz domyślnie pokrętło. Parametr rotaryScrollableBehavior pozwala skonfigurować działanie przewijania lub przyciągania. Aby przyciągnąć uwagę, zalecamy stosowanie tej funkcji również w przypadku przewijania dotykiem za pomocą parametru flingBehavior.
  • SwipeDismissableNavHost udostępnia teraz animację przejścia z poziomu aplikacji.
  • Pole PositionIndicator jest teraz domyślnie wyświetlane przy pierwszym wyświetleniu ekranu.
  • Obiekty SelectableChip i SplitSelectableChip zostały dodane jako odmiana usługi ToggleChip – używaj jej razem z elementem RadioButton, aby zapewnić możliwość wyboru semantyki zamiast przełączania semantyki ułatwień dostępu
  • ListHeader umożliwia teraz dostosowywanie wysokości, gdy zawartość wymaga dodatkowej wysokości z myślą o dużych rozmiarach czcionki.

Poprawki błędów

  • Naprawiliśmy błąd, który polegał na tym, że elementy do wyboru były dwukrotne dotknięciem, aby przełączyć po wybraniu elementów. (I7ed88).

Wersja 1.4.0-alpha08

1 maja 2024 r.

Usługa androidx.wear.compose:compose-*:1.4.0-alpha08 została zwolniona. Wersja 1.4.0-alfa08 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Wprowadziliśmy następujące zmiany w nowym rotacyjnym interfejsie API: nazwa „Modifier.rotary” to Modifier.rotaryScrollable. zmieniono nazwę interfejsu RotaryBehavior na RotaryScrollableBehavior, a jego funkcji handleScrollEvent na performScroll; zmienił(a) nazwę RotaryScrollableAdapter na RotaryScrollableLayoutInfoProvider i usunięto właściwość scrollableState. (I0C8a6)
  • wprowadziliśmy dodatkowe zmiany w obrotowym interfejsie API: nazwaliśmy go RotaryScrollableLayoutInfoProvider na RotarySnapLayoutInfoProvider (ponieważ ten dostawca jest potrzebny tylko do obsługi rotacji z Snap). zmieniono typ parametru snapOffset w elemencie RotaryScrollableDefaults.snapBehavior snapOffset z Int na Dp. (Iddebe)
  • Zmieniliśmy nazwę parametru clickInteractionSource w domenie SplitSelectableChip na containerInteractionSource. (Ia8f84).
  • Zmieniliśmy nazwy parametrów wywołania zwrotnego kliknięcia dla SplitSelectableChip – z onClick na onSelectionClick i z onBodyClick na onContainerClick. (I32237)

Poprawki błędów

  • Zaktualizowaliśmy dopełnienie poziome w polu PositionIndicator na 2 dp (było to 5 dp), aby naprawić błąd polegający na tym, że PositionIndicator (pasek przewijania) nachodzi na treści, które można przewijać. Pamiętaj, że ta zmiana prawdopodobnie spowoduje uszkodzenie istniejących zrzutów ekranu, które zawierają obiekt PositionIndicator, z powodu zmiany dopełnienia. (I57472)
  • Ulepszyliśmy dokumentację nowego rotary API, opisując różnice między urządzeniami o niskiej rozdzielczości i wysokiej rozdzielczości. (I63abe).
  • Poprawiliśmy wyjątek poza zakresem w regionie SwipeDismissableNavHost, który mógł zostać aktywowany, gdy interpolowane wartości alfa były mniejsze od 0. (Ib75a1, b/335782510)

Wersja 1.4.0-alpha07

17 kwietnia 2024 r.

Usługa androidx.wear.compose:compose-*:1.4.0-alpha07 została zwolniona. Wersja 1.4.0-alfa07 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodaliśmy Modifier.rotary – nowy modyfikator, który łączy zdarzenia rotacyjne z przewijanymi kontenerami, co umożliwia użytkownikom przewijanie zawartości pokrętła lub obrotowej ramki na urządzeniu z Wear OS. Dodatkowo ScalingLazyColumn i selektor domyślnie obsługują teraz pokrętło, a nowe przeciążenia zawierają parametr rotaryBehavior służący do określania konfiguracji przewijania lub przyciągania. Jeśli parametr rotaryBehavior ma wartość przyciągania, zalecamy stosowanie tego parametru w przypadku przewijania dotykiem również za pomocą parametru flingBehavior. (I2ef6f).
  • Źródła „Przeciągnij i przesunięcie” (NestedScroll) zostały zastąpione przez reguły UserInput i SideEffect, aby uwzględnić rozszerzoną definicję tych źródeł, do których teraz należą animacje (efekt boczny) oraz kółkiem myszy i klawiaturą (UserInput). (I40579)
  • Dodaliśmy SelectableChip i SplitSelectableChip, aby ułatwić rozróżnienie między elementami sterującymi, takimi jak Switch/Checkbox, a elementami sterującymi, które można wybrać, takimi jak RadioButton. Spowoduje to zastąpienie wcześniej dodanych przeciążeń parametru ToggleChip/SplitToggleChip parametrami selectionControl. (IA0217).
  • Zmieniono modyfikator widoczności elementu IndeterminateStrokeWidth w: ProgressIndicatorDefaults na publiczny. (I5b5a4)

Wersja 1.4.0-alpha06

3 kwietnia 2024 r.

Usługa androidx.wear.compose:compose-*:1.4.0-alpha06 została zwolniona. Wersja 1.4.0-alfa06 zawiera te zatwierdzenia.

Poprawki błędów

  • W ramach szerszego wysiłku związanego z przejściem z Horologist na AndroidaX do systemu AndroidX dodaliśmy wewnętrzny projekt obsługi rotacji. (I617d1)
  • W ramach szerszego wysiłków związanych z przejściem z Horologist na Androida X dodaliśmy wewnętrzną wersję roboczą obsługi haptycznej. (I5568a)

Wersja 1.4.0-alpha05

20 marca 2024 r.

Usługa androidx.wear.compose:compose-*:1.4.0-alpha05 została zwolniona. Wersja 1.4.0-alfa05 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Upubliczniliśmy właściwości initialCenterItemIndex i initialCenterItemScrollOffset obiektów ScalingLazyListState. (I0c616)
  • Upubliczniliśmy FullScreenStrokeWidth z ProgressIndicatorDefaults. (Ibea23).

Poprawki błędów

  • Poprawiliśmy skuteczność usługi PositionIndicator, zmniejszając liczbę połączeń z numerem layoutInfo z ScalingLazyColumn. (Idc83d).

Wersja 1.4.0-alpha04

6 marca 2024 roku

Usługa androidx.wear.compose:compose-*:1.4.0-alpha04 została zwolniona. Wersja 1.4.0-alfa04 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Do funkcji ToggleChip i SplitToggleChip dodaliśmy nowe przeciążenie, które przyjmuje parametr selectionControl zamiast toggleControl. Powinno być używane razem z elementem sterującym RadioButton, aby w przypadku ułatwień dostępu uzyskać semantykę z możliwością wyboru (zamiast z możliwością przełączania) (I1d6d9).
  • Zaktualizowaliśmy nazwy parametrów nowego obciążenia selectionControl z onSelected na onSelect dla ToggleChip i SplitToggleChip (I1a971)

Wersja 1.4.0-alpha03

21 lutego 2024 r.

Usługa androidx.wear.compose:compose-*:1.4.0-alpha03 została zwolniona. Wersja 1.4.0-alfa03 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Kod Modifier.inspectable został wycofany. Ten interfejs API doprowadzi do większej liczby unieważnień modyfikatora, dlatego odradzamy jego używanie. Zachęcamy deweloperów do wdrożenia metody inspectableProperties() w ModifierNodeElement, jeśli chcą oni przetestować właściwości modyfikatora dla narzędzi. (IB3236)

Poprawki błędów

  • Naprawiliśmy błąd dokumentacji w adnotacjach WearPreview*. (Id526d)

Wersja 1.4.0-alpha02

7 lutego 2024 r.

Usługa androidx.wear.compose:compose-*:1.4.0-alpha02 została zwolniona. Wersja 1.4.0-alfa02 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiliśmy błąd w funkcji przesuwania, aby pokazać, przez co można było wchodzić w interakcję z zaangażowanym działaniem (i anulować) związane z nim działanie poprzez rozpoczęcie przesuwania innego elementu.(Ide059)
  • Zaktualizowaliśmy ListHeader, by umożliwić dostosowywanie wysokości, gdy zawartość wymaga dodatkowej wysokości w celu dopasowania do dużego rozmiaru czcionki. (I7290c, b/251166127)

Wersja 1.4.0-alpha01

24 stycznia 2024 r.

Usługa androidx.wear.compose:compose-*:1.4.0-alpha01 została zwolniona. Wersja 1.4.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

  • Do SwipeDismissableNavHost dodaliśmy animację wejścia dla przejść w aplikacji.(cfeb79a)
  • Pole PositionIndicator jest teraz domyślnie wyświetlane przy pierwszym wyświetleniu ekranu. Wprowadziliśmy tę zmianę, aby zapewnić zgodność ze wskazówkami dotyczącymi jakości Wear. Oznacza to, że testy zrzutu ekranu będą wymagać aktualizacji na ekranach, które zawierają PositionIndicator, ponieważ PositionIndicator nie byłyby wcześniej wyświetlane. (419cef7).

Zmiany interfejsu API

  • W bibliotekach wear:compose-material i wear:compose-material3 dodaliśmy nowy interfejs API Ripple, który zastępuje wycofany interfejs rememberRipple. Dodajemy też tymczasowy CompositionLocal (LocalUseFallbackRippleImplementation), który pozwala przywrócić komponenty Material Design z wycofanych interfejsów API rememberRipple/RippleTheme. Zostanie ona usunięta w następnej stabilnej wersji. Jest przeznaczona tylko do tymczasowej migracji w przypadku, gdy udostępniasz niestandardowy RippleTheme. Informacje o migracji i inne szczegóły dotyczące tej zmiany znajdziesz na stronie developer.android.com. (af92b21).
  • Zaktualizowaliśmy funkcję ColorScheme, aby była niezmienna, co ograniczyło efektywność poszczególnych aktualizacji kolorów, ale sprawiło, że częściej używane są kolory. Zmiana ta wynika z faktu, że w większości aplikacji brak aktualizowania poszczególnych kolorów. W dalszym ciągu jest to możliwe, ale nastąpi ponowne skomponowanie więcej niż wcześniej. To z kolei znacznie zmniejszy liczbę subskrypcji stanu z użyciem całego kodu materiałowego oraz wpłynie na koszty inicjowania i czasu działania w bardziej standardowych przypadkach użycia. (f5c48b7)
  • Zaktualizowaliśmy materiał Wear Material i Wear materiał3, który ujawnia wartość MutableInteractionSource w interfejsie API. Teraz wyświetla się wartość MutableInteractionSource z wartością null, która domyślnie ma wartość null. Nie ma tu żadnych zmian semantycznych: przekazanie wartości null oznacza, że nie chcesz podnosić obiektu MutableInteractionSource i w razie potrzeby zostanie on utworzony w komponencie. Zmiana na wartość null umożliwia niektórym komponentom nigdy nie przydzielanie elementu MutableInteractionSource, a innym komponentom można tworzyć tylko leniwe tworzenie instancji tylko wtedy, gdy jest to konieczne, co zwiększa wydajność tych komponentów. Jeśli nie używasz identyfikatora MutableInteractionSource przekazywanego tym komponentom, zalecamy przekazanie wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (F8fa920)
  • Zaktualizowaliśmy sekcję rememberExpandableState, by zapisać stan rozwijania. Dzięki temu dane zostaną zapisane przy przechodzeniu na inny ekran i przywrócone po powrocie do pierwotnego ekranu. (5C80095)

Poprawki błędów

  • Zaktualizowaliśmy ustawienie ReduceMotion, aby używało detektora zależnego od cyklu życia. (7c6B122)
  • Zaktualizowaliśmy detektor aplikacji TouchExplorationStateProvider, aby uwzględniał cykl życia (be28b01)
  • Usunęliśmy warstwę Materialcore z CompactButton, aby poprawić wydajność (25db8e9).
  • Zwiększyliśmy zakres kompensacji NaN (BasicSwipeToDismissBox), aby uniknąć wyjątków (b983739)
  • Zaktualizowaliśmy funkcję BasicSwipeToDismissBox, by wartości alfa mieściły się w zakresie 0,1
  • Naprawiliśmy błąd w ToggleButton, SplitToggleButton, Checkbox, Switch i RadioButton, przez co powiadomienia o ułatwieniach dostępu nie powtarzały się (wcześniej role semantyczne były zduplikowane) (d11eeb7).

Wersja 1.3

Wersja 1.3.1

3 kwietnia 2024 r.

Usługa androidx.wear.compose:compose-*:1.3.1 została zwolniona. Wersja 1.3.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiliśmy błąd w funkcji przesuwania, aby pokazać, przez co można było wchodzić w interakcję (i anulować) działanie podjęte na jeden z nich przez rozpoczęcie przesuwania kolejnego elementu. (Ide059).

Wersja 1.3.0

24 stycznia 2024 r.

Usługa androidx.wear.compose:compose-*:1.3.0 została zwolniona. Wersja 1.3.0 zawiera te zatwierdzenia.

Ważne zmiany wprowadzone od wersji 1.2.0

  • Klasa SwipeToDismissBoxState, wyliczenie SwipeToDismissValue i funkcja rozszerzenia Modifier.edgeSwipeToDismiss są teraz częścią pakietu androidx.wear.compose.foundation, a nie androidx.wear.compose.material. Ta zaktualizowana architektura umożliwia wdrożenie obsługi gestów niezależnie od innych aspektów projektowych. Przepływy pracy w stylu Material Design, takie jak stosowanie kolorów ze skonfigurowanego motywu, są obsługiwane oddzielnie.
  • Klasy SwipeToRevealCard i SwipeToRevealChip pomagają wdrożyć recommended swipe-to-reveal guidance. Zajęcia SwipeToRevealSample pokazują, jak używać tych komponentów.
  • W wersji 1.3.0-alfa02 wprowadziliśmy zmianę, która powoduje zwiększenie wysokości obiektów Chip i ToggleChip, co pozwala lepiej obsługiwać skalowanie czcionek wybrane przez użytkownika. Może to spowodować tworzenie klipów. Aby rozwiązać ten problem, kształt large w przypadku elementu MaterialTheme ma teraz większy promień narożnika (26 dp zamiast 24 dp). Obiekty Chip i ToggleChip używają nowego promienia narożnika, aby uniknąć przycinania treści na rogach elementu i ToggleChip.

    • Większość elementów Chips i ToggleChips pozostaje bez zmian, biorąc pod uwagę domyślną wysokość 52 dp. Jednak obiekty Chip i ToggleChip, które zawierają wiele wierszy tekstu etykiety podstawowej lub dodatkowej albo których wysokość została zastąpiona, mogą powodować błędy w testach zrzutów ekranu.

Dodatkowe zmiany

Bardziej kompletne informacje o zmianach wprowadzonych w wersji 1.3.0 znajdziesz w informacjach o wersji beta01.

Zalecenia dotyczące implementacji

  • Jeśli Twoja aplikacja umożliwia użytkownikom przesuwanie zawartości ekranu, np. w aplikacji opartej na mapie, wyłącz obsługę przesuwania, ustawiając userSwipeEnabled na false w komponencie kompozycyjnym SwipeDismissableNavHost i dodaj przycisk umożliwiający powrót do poprzedniego ekranu.
  • Aby wyłączyć animacje wskaźnika pozycji podczas zanikania i zmiany pozycji na przewijanej liście, użyj obiektu SnapSpec.
  • Czekając, aż aplikacja do multimediów załaduje treści do odtworzenia, wyświetl pusty element kompozycyjny Placeholder.
  • Aby utworzyć kolekcję elementów rozwijanych na żądanie, możesz użyć eksperymentalnej klasy ExpandableStateMapping.

Wersja 1.3.0-rc01

10 stycznia 2024 r.

Usługa androidx.wear.compose:compose-*:1.3.0-rc01 została zwolniona. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Zaktualizowaliśmy duży kształt w rozmiarze MaterialTheme, aby korzystał z zaokrąglonego narożnika (26 dp). Ten kształt będzie teraz używany przez elementy chip i ToggleChip. Ta zmiana jest niezbędna do regulacji wysokości, gdy zawartość wymaga dodatkowej wysokości z myślą o dużych rozmiarach czcionki. W przeciwnym razie obecny kształt stadionu może obejmować fragment tekstu.

    Tekst przycięty w rogach
    Rys. 1. Tekst przycięty w rogach.
    .
    Tekst nie został przycięty
    Rys. 2. Tekst nie jest przycięty.

    Ta zmiana może spowodować błędy w testach zrzutów ekranu. (I2e6ae).

Wersja 1.3.0-beta02

13 grudnia 2023 r.

Usługa androidx.wear.compose:compose-*:1.3.0-beta02 została zwolniona. Wersja 1.3.0-beta02 zawiera te zatwierdzenia.

Poprawki błędów

  • Przywróciliśmy zamierzony ruch przesuwania w usłudze BasicSwipeToDismissBox. Zostało to zmienione w poprzedniej wersji, tak że przejście do przesuwanego obszaru odbywało się, gdy palec dotykał ekranu. (Id8e76)

Wersja 1.3.0-beta01

15 listopada 2023 r.

Usługa androidx.wear.compose:compose-*:1.3.0-beta01 została zwolniona. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.

Wersja 1.3-beta01 tworzenia wiadomości na Wear OS wskazuje, że ta wersja biblioteki jest już dostępna, a interfejs API jest zablokowany (z wyjątkiem miejsc oznaczonych jako eksperymentalne). Wear Compose 1.3 zawiera te nowe funkcje:

  • Reguły SwipeToDismissBoxState, SwipeToDismissValue i Modifier.edgeSwipeToDismiss zostały przeniesione z wersji androidx.wear.compose.material na androidx.wear.compose.foundation wraz z widoczną implementacją „przesuwania w celu zamknięcia” w usłudze BasicSwipeToDismissBox. Dzięki temu obsługa gestów w celu zamknięcia aplikacji przez przesuwanie odbywa się niezależnie od interfejsu Material Design, na przykład SwipeDismissableNavHost w androidx.wear.compose.navigation. Zalecamy używanie interfejsu SwipeToDismissBox z androidx.wear.compose.material z interfejsem Material Design, ponieważ pobiera kolory z interfejsu MaterialTheme, a potem przekazuje pozostałą implementację do interfejsu BasicSwipeToDismissBox.
  • SwipeDismissableNavHost obsługuje teraz nowy parametr userSwipeEnabled, dzięki czemu można wyłączyć obsługę przesuwania w przypadku ekranów, na których nie jest to wymagane.
  • Urządzenie BasicSwipeToDismissBox poprawiło regulację ostrości dzięki aplikacji HierarchicalFocusCoordinator.
  • SwipeToReveal ma nowe elementy kompozycyjne SwipeToRevealCard i SwipeToRevealChip w Material, które są zgodne z zalecanymi wskazówkami UX dotyczącymi tych języków: Card i Chip. Pozwala też cofnąć obsługę działania dodatkowego.
  • DefaultTextStyle wyłącza teraz dopełnienie czcionki, aby zapewnić spójność w całej platformie Androida.
  • Chip i ToggleChip dostosowują teraz swoją wysokość, aby dostosować ją do treści, które powiększyły się dzięki dużym czcionkom z myślą o ułatwieniach dostępu.
  • PositionIndicator ma teraz osobne specyfikacje w przypadku animacji rozjaśniania, zanikania i zmiany pozycji. Ze względu na wydajność zalecamy wyłączenie zanikania i zmiany pozycji w połączeniu z listami, które można przewijać.
  • Funkcja ExpandableStateMapping zapewnia nowy sposób generowania komponentów ExpandableStates, gdy trzeba je tworzyć na żądanie, a niekoniecznie z zakresem @Composable.
  • Placeholder umożliwia teraz zresetowanie treści, gdy zawartość nie jest już w stanie gotowości. Ustawienie zmniejszania ruchu jest teraz stosowane do efektu połysku i ruchu wymazywania na urządzeniu Placeholder.

Znane problemy

  • Początkowo PositionIndicator nie jest widoczny podczas wyświetlania ekranu po raz pierwszy. Planujemy wprowadzić zmianę we wczesnej wersji 1.4 alfa, aby nowa wersja była widoczna na początku, ale bez animacji.

Zmiany interfejsu API

  • Zmieniliśmy nazwę poziomu podstawowego SwipeToDismissBox na BasicSwipeToDismissBox. Zwiększa to rozróżnienie między komponentem na poziomie Podstawa a poziomem materiału (SwipeToDismissBox). Ten drugi pobiera kolory z interfejsu MaterialTheme, aby wykorzystać je w próbkach, a pozostałą implementację deleguje do BasicSwipeToDismissBox. (Ibecfc).
  • Oznaczyliśmy aplikację rememberExpandableStateMapping jako eksperymentalną i zwiększyliśmy skuteczność aplikacji expandableItem. (I5f6bc)
  • Zastąpiliśmy klasę SwipeToRevealAction w interfejsach API Material SwipeToReveal Card i Chip interfejsem API opartym na przedziałach przy użyciu elementów 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. Aby wyłączyć poszczególne animacje, podaj w polu snap parametr AnimationSpec. (I6c523)

Poprawki błędów

  • Naprawiliśmy błąd powodujący wyświetlanie zakrzywionego tekstu w ograniczonym zakresie przy ograniczeniu rozmiaru (I50efe).
  • Rozwiązaliśmy potencjalną awarię NaN związaną z urządzeniem curvedComposable (I970eb)
  • Cofnęliśmy usunięcie animacji podświetlenia zmiany pozycji z PositionIndicator. (Ieb424)
  • Usunęliśmy warstwę Material-core dla chipu materiałowego, aby poprawić jego wydajność. (If2dcb)

Wersja 1.3.0-alfa08

18 października 2023 r.

Usługa androidx.wear.compose:compose-*:1.3.0-alpha08 została zwolniona. Wersja 1.3.0-alfa08 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Do przeciążeń PositionIndicator dodaliśmy poszczególne flagi, aby kontrolować różne animacje: showFadeInAnimation, showFadeOutAnimation i showPositionAnimation. Poprzedni interfejs API został wycofany i przekierowywał wywołania do nowego. Ze względu na wydajność i spójność UX, gdy w polu PositionIndicator jest używana przewijana lista, zalecamy wyłączenie flag showFadeInAnimation i showPositionAnimation. Jeśli PositionIndicator jest używany jako osobny wskaźnik, na przykład do zmiany głośności, zalecamy włączenie wszystkich 3 animacji. (I44294)
  • Po migracji funkcji „Przesuń, aby zamknąć” do wersji wear.compose.foundation wycofaliśmy Material SwipeToDismissBoxState, SwipeToDismissValue i edgeSwipeToDismiss. Zastąp ich odpowiednikiem w języku: wear.compose.foundation. (IEEE8c9).

Poprawki błędów

  • Zaktualizowaliśmy profile podstawowe dla bibliotek podstawowych, materiałów i nawigacji. (IdB060)
  • Cofnęliśmy zmianę w działaniu usługi PositionIndicator wprowadzoną w poprzedniej liście zmian, tak aby element PositionIndicator był animowany podczas początkowego wyświetlania ekranu. Podobną zmianę zamierzamy wprowadzić we wczesnej wersji alfa 1.4, aby początkowo wyświetlały się PositionIndicator, ale bez animacji. (I41843)
  • Rozwiązaliśmy problemy z wydajnością aplikacji PositionIndicator. (I1c654, b/302399827)
  • Zoptymalizowaliśmy skuteczność domyślnej implementacji dostawcy stanu eksploracji dotykiem, tak aby zależała od stanu State<Boolean>, a nie stanu pochodnego. (Ieec4d).
  • Ustawiliśmy prostokąty systemGestureExclusion na Androida 13 i nowszego. (Ib1f4b).

Wersja 1.3.0-alpha07

4 października 2023 roku

Usługa androidx.wear.compose:compose-*:1.3.0-alpha07 została zwolniona. Wersja 1.3.0-alfa07 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Do elementu PositionIndicator dodaliśmy osobne flagi, które umożliwiają sterowanie różnymi animacjami: showFadeInAnimation, showFadeOutAnimation i showPositionAnimation. Poprzedni interfejs API został wycofany i przekierowywał wywołania do nowego. Ze względu na wydajność i spójność UX, gdy w polu PositionIndicator jest używana przewijana lista, zalecamy wyłączenie flag showFadeInAnimation i showPositionAnimation. Jeśli PositionIndicator jest używany jako osobny wskaźnik, na przykład do zmiany głośności, zalecamy włączenie wszystkich 3 animacji. (Ia2d63).

Poprawki błędów

  • Ulepszyliśmy przesuwanie, aby pokazać ruch – dodaliśmy animację zanikania do tekstu głównego działania i zanikanie działania dodatkowego oraz zmianę skali ikon po pełnym rozwinięciu przesuwania. (IB7223)
  • Zalecamy udostępnienie funkcji „Przesuń, aby odsłonić” oraz dodanie niestandardowych czynności ułatwień dostępu do próbek „Przesuń, aby odkryć”. (I42224)
  • Poprawiliśmy wydajność funkcji SwipeToDismissBox, w tym przez refaktoryzację, aby początkowa logika nie uruchamiała zmiany kompozycji. SwipeToDismissBox jest teraz narysowany na pełnym ekranie. (Ie0aa2).
  • Naprawiliśmy błąd, który powodował nieprawidłowe zniknięcie elementu PositionIndicator. (I2091a)
  • Zwiększona skuteczność elementu PositionIndicator dzięki optymalizacji zmian kompozycji. Następnie dodano nowe flagi do sterowania animacjami (fadeIn, fadeOut i positionChange) (zobacz zmiany interfejsu API) (Ifac7d).
  • Dodaliśmy testy mikrotestów porównawczych dla: PositionIndicator (Idf875)

Wersja 1.3.0-alpha06

20 września 2023 r.

Usługa androidx.wear.compose:compose-*:1.3.0-alpha06 została zwolniona. Wersja 1.3.0-alfa06 zawiera te zatwierdzenia.

Poprawki błędów

  • Dodaliśmy obsługę Modifier.edgeSwipeToDismiss w SwipeToReveal. (I95774, b/293444286)
  • Dodaliśmy próbki materiałów SwipeToRevealChip i SwipeToRevealCard. (Ieb974)
  • Zaktualizowaliśmy profile podstawowe aplikacji Wear Compose Foundation i bibliotek Material Design. (I1dd1f)

Wersja 1.3.0-alpha05

6 września 2023 r.

Usługa androidx.wear.compose:compose-*:1.3.0-alpha05 została zwolniona. Wersja 1.3.0-alfa05 zawiera te zatwierdzenia.

Poprawki błędów

  • Dodaliśmy obsługę funkcji „Przesuń, aby odsłonić”, dzięki czemu można przesuwać tylko jeden element naraz. (I3cd7a).
  • Poprawiliśmy dokumentację interfejsu ScalingLazyColumnDefaults, aby lepiej odzwierciedlić jego rzeczywiste działanie. (I886d3)

Wersja 1.3.0-alfa04

23 sierpnia 2023 r.

Usługa androidx.wear.compose:compose-*:1.3.0-alpha04 została zwolniona. Wersja 1.3.0-alfa04 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy możliwość cofania w przypadku dodatkowego działania powodującego konwersję SwipeToReveal. (I7a22d).

Zmiany interfejsu API

  • Dodaj aplikację HorizontalPageIndicator do biblioteki Wear Material3. (Ifee99)
  • Zaktualizowaliśmy narzędzie podglądu w Wear Compose, aby mogło korzystać z biblioteki androidx.wear.tooling.preview. (IB036e)

Poprawki błędów

  • Poprawiono błąd związany z okrągłymi przyciskami, w których modyfikatory nie były prawidłowo połączone. (I5e162)

Wersja 1.3.0-alfa03

9 sierpnia 2023 r.

Usługa androidx.wear.compose:compose-*:1.3.0-alpha03 została zwolniona. Wersja 1.3.0-alfa03 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodaliśmy 2 nowe kompozycje w Material, które pozwalają wdrożyć SwipeToReveal za pomocą kart i elementów. Te elementy kompozycyjne są zgodne z zalecanymi wskazówkami UX dotyczącymi komponentu i ułatwiają deweloperom wdrożenie SwipeToReveal za pomocą dotychczasowych komponentów w Wear Material. (I7ec65).
  • Włączyliśmy adnotacje FloatRange jako ograniczenia interfejsu API, które były wcześniej opisane w komentarzach. (Icb401)

Poprawki błędów

  • Przenieśliśmy początkową logikę przewijania ScalingLazyColumn do zakresu onGloballyPositioned(). (IC90f1)
  • Używamy teraz drawWithCache w usługach PositionIndicator, ProgressIndicator i SelectionControls do optymalizacji przydziałów pociągnięć. (I5f225, b/288234617)
  • Naprawiliśmy widoczność zaznaczenia pól wyboru w stanach, gdy reklamy są wyłączone. (IB25bf)
  • Zaktualizowaliśmy funkcję Placeholder, aby umożliwić zresetowanie i wyświetlenie symbolu zastępczego, gdy treść nie jest już gotowa. (IBD820)
  • Wprowadziliśmy kilka poprawek w niestabilnych testach Placeholder (Idb560)

Wersja 1.3.0-alfa02

26 lipca 2023 r.

Usługa androidx.wear.compose:compose-*:1.3.0-alpha02 została zwolniona. Wersja 1.3.0-alfa02 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Udostępniliśmy ExpandableStateMapping, nowy sposób generowania ExpandableStates na potrzeby przypadków, gdy trzeba je tworzyć na żądanie, niekoniecznie w zakresie @Composable (Iff9e0).
  • Plik SwipeToDismissBox został przeniesiony z pakietu androidx.wear.compose.material do androidx.wear.compose.foundation. (I275fb)
  • Zaktualizowaliśmy pliki interfejsu API, aby dodać adnotacje o pomijaniu zgodności. (I8e87a, b/287516207)
  • Stały wysokości dla Chip, CompactChip i ToggleChip ustawiliśmy jako publiczne (Idbfde).
  • Upublicznialiśmy poziome i pionowe dopełnienie w polach Chip i CompactChip. (Ieeaf7).
  • Dodano funkcję wyłączania obsługi przesuwania w SwipeDismissableNavHost za pomocą nowego parametru userSwipeEnabled. (Id2a0b, b/230865655)
  • Zaktualizowaliśmy bibliotekę nawigacji Wear Compose, aby korzystała z nowej funkcji SwipeToDismissBox z Wear Compose Foundation. (I4ff8e)

Poprawki błędów

  • Naprawiliśmy błąd kolejności nakładania elementów, który powodował, że expandedItem nie wyświetlał prawidłowej treści po kliknięciu przycisku, który ma przycisk. (I1899d, b/289991514)
  • Popraw ostrość elementu SwipeToDismissBox (a tym samym SwipeDismissableNavHost) przy użyciu interfejsu HierarchicalFocusCoordinator (I45362, b/277852486)
  • Poprawiliśmy obsługę gestów w SwipeableV2 . (I89737)
  • Finalizowaliśmy już profile podstawowe dla wersji 1.2. (Id5740).
  • Po migracji środowiska SwipeToDismissBox do Fundamenty implementacja Material SwipeToDismissBox przekazuje domyślne wartości kolorów z motywu (If8451).
  • Do atrybutu ListHeader dodaliśmy semantykę nagłówków. (IC5420)
  • Chip i ToggleChip będą teraz w razie potrzeby dostosować swoją wysokość, aby dostosować ją do treści, które powiększyły się dzięki dużym czcionkom ułatwień dostępu. (Iaf302).
  • Naprawiono błąd związany z semantyczną rolą obszaru do kliknięcia (SplitToggleChip) na potrzeby ułatwień dostępu. (Ieed3a).
  • Ustawienie zmniejszania ruchu wyłącza teraz efekt połysku i ruch z wyłączeniem obiektów zastępczych. (I91046)
  • Stepper i InlineSlider obsługują teraz powtarzane kliknięcia przytrzymania, dzięki czemu można szybko zwiększyć lub zmniejszyć wartość Stepper i InlineSlider, przytrzymując przyciski + i -. (I27359)

Wersja 1.3.0-alpha01

21 czerwca 2023 r.

Usługa androidx.wear.compose:compose-*:1.3.0-alpha01 została zwolniona. Wersja 1.3.0-alfa01 zawiera te zatwierdzenia.

Poprawki błędów

  • Zgodnie z zapowiedzią w językach 1.2.0-alpha07 i 1.2.0-alpha10 zmieniamy ustawienie zasady DefaultTextStyle, aby wyłączyć dopełnienie czcionki. Zapewni to spójność na całej platformie Androida. Pozwoli to rozwiązać niektóre przypadki obcinania tekstu z dużymi czcionkami i może wpłynąć na układ ekranu, w związku z czym konieczna będzie aktualizacja testów zrzutów ekranu. Na przykład widzimy tutaj klip tekstowy (Ic6a86).
.
Tekst obcięty z dużym rozmiarem czcionki
Rys. 1. Tekst obcięty
  • Nie jest już widoczny, gdy dopełnienie czcionki jest wyłączone:
.
Tekst nie został przycięty i ma duży rozmiar czcionki
Rys. 2. Tekst nie jest przycięty.
  • Zaktualizowaliśmy wear.compose.foundation, aby był zależność interfejsu API wear.compose.material (I72004, b/285404743)
  • Naprawiliśmy błąd w grze SwipeToDismissBox. Klucze tła i treści są teraz przekazywane do bloku zapamiętania, dzięki czemu w przypadku zmiany zawartości lub tła są tworzone nowe modyfikatory. (Ib876c, b/280392104)
  • Zaktualizowaliśmy TimeText, tak aby przy wyborze formatu 12- lub 24-godzinnego używał ustawień regionalnych. (If4a3d).
  • Rozwiązaliśmy już niespójność w domyślnych parametrach parametru SwipeToDismissBox contentScrimColor. (I2d70f)
  • Poprawiliśmy obsługę ruchu w aplikacji SwipeToReveal. (I28fb7)

Znane problemy

  • Obsługa rozmiarów czcionek skonfigurowanych przez użytkownika jest wymogiem ułatwień dostępu. Wiemy, że elementy wielowierszowe mogą powodować przycinanie tekstu, gdy są wyświetlane przy dużych rozmiarach. Będziemy je więc aktualizować we wczesnej wersji 1.3 alfa, aby w takich przypadkach poprawić wysokość.

Wersja 1.2

Wersja 1.2.1

18 października 2023 r.

Usługa androidx.wear.compose:compose-*:1.2.1 została zwolniona. Wersja 1.2.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiliśmy błąd związany z nieprawidłowym znikaniem elementu PositionIndicator. (7a167f).

Wersja 1.2.0

9 sierpnia 2023 r.

Usługa androidx.wear.compose:compose-*:1.2.0 została zwolniona. Wersja 1.2.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.1.0

Wersja 1.2.0-rc01

26 lipca 2023 r.

Usługa androidx.wear.compose:compose-*:1.2.0-rc01 została zwolniona. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Finalizowaliśmy profile podstawowe dla wersji 1.2 (Id5740).

Wersja 1.2.0-beta02

7 czerwca 2023 r.

Usługa androidx.wear.compose:compose-*:1.2.0-beta02 została zwolniona. Wersja 1.2.0-beta02 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy nową eksperymentalną zmienną LocalReduceMotion CompositionLocal, która wyłącza skalowanie i zanikanie w interfejsie ScalingLazyColumn. (I58024)

Poprawki błędów

  • Zaktualizowaliśmy profile podstawowe dla podstawowej funkcji Wear Compose i bibliotek materiałów(I4725d)
  • Rozwiązaliśmy niespójność w domyślnych wartościach parametrów contentScrimColor parametru SwipeToDismissBox (I2d70f)
  • Poprawiliśmy domyślną wartość parametru DefaultTextStyle używaną w ustawieniu IncludeFontPadding (I737ed).

Wersja 1.2.0-beta01

24 maja 2023 r.

Usługa androidx.wear.compose:compose-*:1.2.0-beta01 została zwolniona. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.

Funkcje tworzenia wiadomości na Wear OS 1.2

Wersja 1.2-beta01 tworzenia wiadomości na Wear OS wskazuje, że ta wersja biblioteki jest już dostępna, a interfejs API jest zablokowany (z wyjątkiem miejsc oznaczonych jako eksperymentalne). Wear Compose 1.2 ma te nowe funkcje:

  • expandableItem i expandableItems to 2 nowe komponenty Foundation, które obsługują rozwijane elementy w elemencie ScalingLazyColumn. Użyj właściwości expandableItem w przypadku pojedynczego rozwijanego elementu, np. Tekst, w którym jest liczba wierszy. Użyj expandableItems w przypadku grupy elementów rozwijanych, a 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łączone lub wyłączone.
  • Picker – interfejs API zawiera teraz tag userScrollEnabled, który określa, czy selektor ma być aktywny w przypadku przewijania przez użytkownika.
  • PickerGroup – nowy element kompozycyjny do jednoczesnej obsługi wielu selektorów. Obsługuje on zaznaczenie między selektorami za pomocą interfejsu API HierarchicalFocusCoordinator i umożliwia automatyczne wyśrodkowanie elementów selektora.
  • Placeholder – poprawiliśmy animacje poblasku i wymaż. Efekt wymazywania jest stosowany natychmiast, gdy zawartość jest gotowa.
  • ScalingLazyColumn – przenieśliśmy zajęcia ScalingLazyColumn i powiązane z nimi zajęcia z androidx.wear.compose.material.ScalingLazyColumn do androidx.wear.compose.foundation.lazy.ScalingLazyColumn. Zaktualizuj, aby używać wersji Foundation.Lazy.
  • SwipeToReveal – dodaliśmy eksperymentalną obsługę przesuwania, aby odsłonić, która umożliwia dostęp do działań dodatkowych. Uzupełnia ona obecny wzór „długiego naciśnięcia”.
  • Stepper – teraz występuje przeciążenie z dodatkowym parametrem enableRangeSemantics, który ułatwia wyłączenie domyślnej semantyki zakresu.
  • Previews – dodaliśmy te niestandardowe adnotacje do wyświetlania podglądu elementów kompozycyjnych na ekranach Wear: WearPreviewSmallRound wyświetla podgląd funkcji kompozycyjnej na małym, okrągłym urządzeniu. WearPreviewLargeRound wyświetla podgląd funkcji kompozycyjnej na dużym okrągłym urządzeniu. WearPreviewSquare wyświetla podgląd funkcji kompozycyjnej na urządzeniu z kwadratowym. Dodatkowo te adnotacje i adnotacje z podglądem wielu podglądów: WearPreviewFontScales wyświetla podgląd elementów kompozycyjnych na urządzeniu Wear z użyciem różnych rozmiarów czcionek, a WearPreviewDevices wyświetla podglądy kompozycyjne na różnych urządzeniach.
  • Do funkcji Wear Compose dodaliśmy funkcję DefaultTextStyle, która domyślnie ma wartość „prawda” właściwości PlatformTextStyle.includeFontPadding (jest to aktualne ustawienie). Pozwoli to nam zsynchronizować wyłączenie domyślnego dopełnienia czcionki z bibliotekami tworzenia wiadomości we wczesnej wersji 1.3 alfa – więcej informacji znajdziesz w artykule 1.2.0-alfa10.

Nowe funkcje

  • Dodaliśmy eksperymentalną obsługę wyłączonego skalowania i zanikania animacji po włączeniu ustawienia red_motion. (I58024)

Poprawki błędów

  • Ulepszona dokumentacja usługi angularWidthDp w CurvedSize.kt (Iab75c)
  • SwipeDismissableNavHost rejestruje teraz ostrzeżenie z potencjalnymi przyczynami pustego stosu backendu. Ma to na celu zapobieganie nieoczekiwanym awariom spowodowanym przez żądanie IllegalArgumentException, które zostało zgłoszone, gdy stos wsteczny był pusty. (I04a81, b/277700155)

Wersja 1.2.0-alfa10

10 maja 2023 r.

Usługa androidx.wear.compose:compose-*:1.2.0-alpha10 została zwolniona. Wersja 1.2.0-alfa10 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy obsługę funkcji „Przesuń, aby odsłonić”, aby umożliwić dostęp do działań dodatkowych. Uzupełnia on wzorzec przytrzymania, czyli istniejący sposób, w jaki użytkownik może ujawnić (inne) działania dodatkowe. (I60862)

Zmiany interfejsu API

  • Do elementów kompozycyjnych w działaniach SwipeToReveal dodaliśmy element RevealScope. Dzięki temu masz dostęp do przesunięcia, przy którym ujawniane są dodatkowe działania. (I3fd56)

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że po flingu (Ic4599) interfejs ScalingLazyColumn zatrzymywał się na interfejsie Wear API 33.
  • Aby ograniczyć zacinanie, wprowadziliśmy kilka ulepszeń w działaniu PositionIndicator. (I35e92)
  • Naprawiliśmy błąd w elementach Chip i CompactChip, który powodował, że rola semantyczna nie była już ustawiona na Role.Button. (I93f91, b/277326264)

Znane problemy

  • Zidentyfikowaliśmy w Android Studio błąd, który powoduje błędy w podglądzie renderowania po adnotacjach @WearPreviewDevices i @WearPreviewFontScales. W najbliższym czasie planujemy wprowadzić poprawkę. Pamiętaj, że inne adnotacje dotyczące podglądu Wear działają zgodnie z oczekiwaniami w Android Studio Giraffe w wersji 2022.3.1 i nowszych.

  • W wersji 1.2.0-alpha07 dodaliśmy DefaultTextStyle do Wear Compose, zachowując istniejącą wartość PlatformTextStyle.includeFontPadding na wartość true (prawda). Informacje na temat tła znajdziesz w sekcji Rozwiązywanie problemów z dopełnieniem czcionek w narzędziu Compose. Zmieniamy styl DefaultTextStyle, aby wyłączyć dopełnienie czcionki we wczesnej wersji 1.3 alfa, aby zapewnić spójność w całej platformie Androida. Pozwoli to rozwiązać niektóre przypadki obcinania tekstu z użyciem dużych czcionek i może też wpłynąć na układ ekranu, w związku z czym testy zrzutu ekranu wymagają aktualizacji. Przykład: przy dużych rozmiarach czcionki przycinanie tekstu jest widoczne tutaj:

.
Tekst obcięty z dużym rozmiarem czcionki
Rys. 1. Tekst obcięty
  • Nie jest już widoczny, gdy dopełnienie czcionki jest wyłączone:
.
Tekst nie został przycięty i ma duży rozmiar czcionki
Rys. 2. Tekst nie jest przycięty.

Nowe ustawienie można zastosować już teraz, zastępując typografię w motywie (zobacz przykładowy kod).

Wersja 1.2.0-alpha09

19 kwietnia 2023 r.

Usługa androidx.wear.compose:compose-*:1.2.0-alpha09 została zwolniona. Wersja 1.2.0-alfa09 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodaj angularSizeDp do interfejsu API CurvedModifier w celu ustawienia szerokości kątowej w DP (I89a52)

Poprawki błędów

  • Rozwiązaliśmy problemy z ułatwieniami dostępu w wersjach demonstracyjnych selektora czasu(Id0eb7)

Wersja 1.2.0-alpha08

5 kwietnia 2023 r.

Usługa androidx.wear.compose:compose-*:1.2.0-alpha08 została zwolniona. Wersja 1.2.0-alfa08 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Zmieniliśmy nazwę z ExpandableItemsState na ExpandableState. (If85ea).
  • Aby uprościć tworzenie przycisku zwijanego po rozwinięciu treści, dodaliśmy expandableButton, aby uprościć tworzenie przycisku zwijanego po rozwinięciu treści. Zaktualizowaliśmy też przykłady elementów rozwijanych. (IAE309).

Poprawki błędów

  • Ulepszone przykłady rozwijane, aby pokazać więcej możliwości. Zmodyfikowano animację elementu expandableItem, aby jej treść była wyśrodkowana przez animację. (I2f637)
  • Zaktualizowano ToggleControls, aby uniknąć dodatkowych zmian kompozycji w przypadku ręcznego animowania kolorów za pomocą stanu. (I5d319)

Wersja 1.2.0-alpha07

22 marca 2023 r.

Usługa androidx.wear.compose:compose-*:1.2.0-alpha07 została zwolniona. Wersja 1.2.0-alfa07 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Przenieśliśmy komponenty elementu rozwijanego (dodane w wersjach 1.2.0-alfa06) z materiału do podstawy, ponieważ nie miały one istotnego odniesienia do MaterialTheme. (IB0525)

Poprawki błędów

  • Naprawiliśmy awarię, która występowała na ekranie przy użyciu funkcji PickerGroup. Dzięki temu usługa PickerGroup prawidłowo obsługuje ostrość, gdy żaden selektor nie jest ustawiony na fokus. W prezentacjach selektora dodaliśmy też obsługę przewijania RSB. (If8c19).
  • Ulepszyliśmy przejścia między dialogami – przejście początkowe jest teraz płynniejsze, aby dopasować je do końca. (Ib5af9).
  • Do funkcji Wear Compose dodaliśmy funkcję DefaultTextStyle, która domyślnie ma wartość „prawda” właściwości PlatformTextStyle.includeFontPadding (jest to aktualne ustawienie). Pozwoli to nam zsynchronizować wyłączenie domyślnego dopełnienia czcionki z bibliotekami tworzenia wiadomości w przyszłości – informacje w tle znajdziesz w sekcji Poprawianie dopełnienia czcionki w narzędziu Compose. (I2aee8).
  • Przywrócono zależność podglądu UpsideDownCake przez tworzenie aktywności, która blokuje publikowanie aplikacji w Sklepie Google Play. (I6443D)

Wersja 1.2.0-alpha06

8 marca 2023 r.

Usługa androidx.wear.compose:compose-*:1.2.0-alpha06 została zwolniona. Wersja 1.2.0-alfa06 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodaj komponent CurvedBox, który nakłada na siebie komponent w zakrzywionym świecie. (I29200)
  • Dodano elementy rozwijane – dwa nowe komponenty do obsługi grupy elementów rozwijanych w elemencie ScalingLazyColumn lub pojedynczego rozwijanego elementu, np. Tekst, w którym rozwija się liczba wierszy. (I95dd5)
  • Dodaliśmy te niestandardowe adnotacje do wyświetlania podglądu elementów kompozycyjnych na ekranach Wear: WearPreviewSmallRound wyświetla podgląd funkcji kompozycyjnej na małym, okrągłym urządzeniu. WearPreviewLargeRound wyświetla podgląd funkcji kompozycyjnej na dużym okrągłym urządzeniu. WearPreviewSquare wyświetla podgląd funkcji kompozycyjnej na urządzeniu z kwadratowym. Dodatkowo te adnotacje i adnotacje z podglądem wielu podglądów: WearPreviewFontScales wyświetla podgląd elementów kompozycyjnych na urządzeniu Wear z użyciem różnych rozmiarów czcionek, a WearPreviewDevices wyświetla podglądy kompozycyjne na różnych urządzeniach. Aby korzystać z tych podglądów, musisz korzystać z najnowszej wersji Android Studio (Giraffe Canary 6) lub nowszej. Jeśli te adnotacje nie odpowiadają Twoim celom, nadal możesz korzystać z podglądu i wprowadzać dalsze dostosowania za pomocą parametrów. (I397FF)
  • Oznaczyliśmy usługę HierarchicalFocusCoordinator jako eksperymentalną, ponieważ można ją przenieść do podstawowych bibliotek kompozycji ze względu na szeroki zakres zastosowań. (I3a768)

Poprawki błędów

  • Naprawiliśmy błąd w systemie HierarchicalFocusCoordinator: po zmianie lambda przekazywanej w parametrze focusEnabled prawidłowo używamy nowej. (Icb353)
  • Zmieniliśmy domyślny kolor wyłączonej treści na Tło, gdy używasz kolorów podstawowych jako tła w usługach Button, CompactButton, Chip, CompactChip i ToggleButton. Zwiększa to kontrast w przypadku ułatwień dostępu. (I527cc)

Wersja 1.2.0-alpha05

22 lutego 2023 roku

Usługa androidx.wear.compose:compose-*:1.2.0-alpha05 została zwolniona. Wersja 1.2.0-alfa05 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Zaktualizowano interfejs API PickerGroup, aby umożliwić opcjonalnie propagowanie ograniczeń minimalnych do funkcji kompozycyjnej. Jeśli zasada ma wartość Prawda, minimalne ograniczenia przekazywane z nadrzędnej funkcji kompozycyjnej są dozwolone w elemencie PickerGroup. Jeśli zasada ma wartość Fałsz, PickerGroup zresetuje minimalne ograniczenia. (I3E046)
  • Do interfejsu API selektora dodaliśmy animateScrollToOption, aby obsługiwać animację automatyczną do określonej opcji selektora (I6fe67).

Poprawki błędów

  • Zaktualizowaliśmy HorizontalPageIndicator, by obsługiwać układy od prawej do lewej. (IA4359).
  • Dodano testy zrzutów ekranu dla układu od prawej do lewej w HorizontalPageIndicator (I6fbb8)
  • Dodano kolejne testy do aplikacji SwipeDismissableNavHostTest, które korzystają z interfejsu TestNavHostController (I61d54)

Wersja 1.2.0-alfa04

8 lutego 2023 r.

Usługa androidx.wear.compose:compose-*:1.2.0-alpha04 została zwolniona. Wersja 1.2.0-alfa04 zawiera te zatwierdzenia.

Nowe funkcje

  • PickerGroup do jednoczesnej obsługi wielu selektorów za pomocą interfejsu API fokusu. Obsługuje zaznaczenie różnych selektorów, umożliwia automatyczne wyśrodkowanie selektorów na podstawie parametrów i umożliwia programistom przełączanie zaznaczenia między różnymi selektorami przy obsłudze zdarzeń z grupy. W trybie TalkBack interfejs PickerGroup obsługuje funkcję TalkBack, przenosząc fokus z grupy do wybranego selektora. (I60840)

Zmiany interfejsu API

  • Dodaliśmy do Stepper przeciążenie z dodatkowym parametrem enableRangeSemantics, aby ułatwić wyłączenie domyślnej semantyki zakresu (Ia61d4).

Poprawki błędów

  • Zezwalaj na zagnieżdżenie obiektu ScalingLazyColumn na stronie przewijanej w poziomie (Iec3f8, b/266555016)
  • Ulepszenie czyszczenia dokumentacji z kroków kroku i testów StepperTest. (IC118e).
  • Zaktualizowano zależność androidx.navigation do wersji 2.5.3 (If58ed)

Wersja 1.2.0-alfa03

25 stycznia 2023 r.

Usługa androidx.wear.compose:compose-*:1.2.0-alpha03 została zwolniona. Wersja 1.2.0-alfa03 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Przenieśliśmy zajęcia ScalingLazyColumn (i powiązane z nimi zajęcia) z androidx.wear.compose.material.ScalingLazyColumn do andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn (migracja znajduje się w tym przykładzie). Ta nowa lokalizacja bardziej odpowiada lokalizacji compose.foundation.lazy.LazyColumn i jest bardziej naturalna, ponieważ nie jest zatwierdzonym komponentem Material Design. Zmiana jest wprowadzana w ramach przygotowań do utworzenia nowej biblioteki Material3, nad którą będziemy pracować równolegle z dotychczasową biblioteką Material. (I060e7)

Te zmiany są częścią migracji interfejsu ScalingLazyColumn z materiału Material do Foundation.Lazy:

  • PositionIndicator Interfejsy API kierowania na materiał ScalingLazyColumn zostały wycofane – zaktualizuj je do Foundation.Lazy ScalingLazyColumn. Dodatkowo do pola ScalingLazyListLayoutInfo dodano pole anchorType. (I29d95)
  • Aplikacja ScalingLazyColumn została oznaczona jako wycofana w pakiecie materiałów na Wear Compose (I16d34)
  • Zaktualizowaliśmy modyfikator ScrollAway, aby używał wartości ScalingLazyListState z Wear Compose Foundation.Lazy i wycofaliśmy przeciążenie, które pobierało ScalingLazyListState z materiałów Wear Compose. (Ifc42c).
  • Zaktualizowaliśmy interfejsy Dialog API, aby używały ScalingLazyListState z Foundation.Lazy i wycofaliśmy przeciążenia korzystające z interfejsu Material ScalingLazyListState (Ic8960)
  • Zaktualizowaliśmy interfejsy API selektora, aby używały ScalingParams z interfejsu 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 usłudze ScalingLazyListState.centerItemIndex – dzięki temu, że wypycha on aktualizacje tylko wtedy, gdy wartość faktycznie się zmienia (Ia9f38)
  • Zwiększyliśmy wydajność urządzenia SwipeToDismissBox (I3933b)
  • W funkcji Wear Compose Foundation dodano testy porównawcze aplikacji ScalingLazyColumn (Ie00f9)
  • Zaktualizowaliśmy niektóre wewnętrzne metody klas ScalingLazyColumn w Material, aby używać ich odpowiedników z Foundation.Lazy (I38aab).
  • Rozwiązaliśmy kilka problemów w testach selektora i dodaliśmy więcej testów sprawdzania przewijania z przesunięciem (I6ac34).
  • Przenieśliśmy wersje demonstracyjne integracji ScalingLazyColumn, aby polegać na Foundation.Lazy zamiast Material ScalingLazyColumn (Ic6caa)
  • Dodaliśmy opcjonalne parametry fromDate/toDate do naszej wersji demonstracyjnej DatePicker (I961cd)

Wersja 1.2.0-alfa02

11 stycznia 2023 r.

Usługa androidx.wear.compose:compose-*:1.2.0-alpha02 została zwolniona. Wersja 1.2.0-alfa02 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Testy interfejsu Android Compose będą teraz uruchamiać przekazywanie układu dla każdej klatki podczas wykonywania klatek w stanie bezczynności (np. za pomocą waitForIdle). Może to mieć wpływ na testy, które rejestrują poszczególne klatki animacji układu. (I8ea08, b/222093277)
  • Parametr minLines został dodany do Wear Text, aby zapewnić spójne zachowanie z parametrem BasicText (I24874)
  • CompactChipTapTargetPadding został ustawiony jako publiczny, aby można go było znaleźć w dokumentacji (If1e70, b/234119038)

Poprawki błędów

  • Wyłącz kompilacje wieloplatformowe w przypadku wear.compose pakietów (Iad3d7)
  • Napraw kdocs dla scrollToOption (I6f9a0)
  • Zaktualizowano zdarzenie PlaceholderState.rememberPlaceholderState(), aby używać parametru rememberUpdatedState. Stan zostanie zaktualizowany, jeśli lambda onContentReady. (I02635, b/260343754)
  • Rozwiązaliśmy problem z zakłócaniem tekstu, który występował w komponencie Picker przy użyciu nowej strategii komponowania dodanej do Modifier.graphicsLayer. (I99302)
  • Naprawiliśmy błąd, który powodował migotanie w wersji demonstracyjnej DatePicker (I660bd).
  • Poprawiliśmy dostępność w 12-godzinnych wersjach demonstracyjnych selektora daty i godziny (I05e12).
  • Zaktualizowaliśmy wersje demonstracyjne selektora daty i godziny, tak aby zmiany RSB nie miały wpływu na selektory (I4aecb)

Wersja 1.2.0-alpha01

7 grudnia 2022 r.

Usługa androidx.wear.compose:compose-*:1.2.0-alpha01 została zwolniona. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

  • Zaktualizowaliśmy eksperymentalną funkcję obiektu zastępczego, dzięki czemu efekt „Wymaż wyłączone” jest stosowany natychmiast, gdy zawartość jest gotowa, bez czekania na rozpoczęcie kolejnej pętli animacji. Wprowadziliśmy też kilka zmian w połysku i usuwaniu animacji. (I5a7f4)

Zmiany interfejsu API

  • Dodaliśmy funkcję HierarchicalFocusCoordinatorkompozycyjną, która umożliwia oznaczanie poddrzew kompozycji jako włączone lub wyłączone.(I827cb)
  • Dodaliśmy nową właściwość, która zastąpi rolę semantyczną funkcji ToggleButton.(I67132)
  • Zaktualizowaliśmy sekcję TimeTextDefaults.TimeFormat12Hours, aby usunąć godzinę 12:00/południe w lokalizacji TimeText. Spowoduje to zmianę domyślnej wartości parametrów timeSource w interfejsie API TimeText. (I1eb7f).
  • Rozszerzyliśmy interfejs Picker API, aby poprawić dostępność na ekranach z selektorem wielokrotnym. Dostępna jest nowa usługa userScrollEnabled, która określa, czy selektor ma być aktywny w przypadku przewijania przez użytkownika. (I3c3aa).

Poprawki błędów

  • Zmieniliśmy domyślną szerokość obramowania elementu OutlinedButton/OutlinedCompactButton z 2.dp na 1.dp, aby była zgodna z ostatecznymi specyfikacjami UX. (Icf84d).
  • Aby ograniczyć efekt wyświetlania pierwszego elementu dodanego do pustego pola ScalingLazyColumn, który pojawia się po przewinięciu strony, dodaliśmy szacowaną wartość autoCentering topPadding, gdy zawartość jest pusta. Ta zmiana powoduje obliczenie potrzebnego dopełnienia u góry przy założeniu, że początkowy element ma wysokość 0,dp. W przypadku ScalingLazyListAnchorType.ItemStart obliczy to prawidłowe dopełnienie u góry. W przypadku ScalingLazyListAnchorType.ItemCenter obliczenia te będą nieprawidłowe, ponieważ wysokość elementów jest potrzebna do prawidłowego rozmiaru zawartości, co spowoduje pojawienie się małego przewijania w miejscu na podstawie rzeczywistej wysokości elementów.(I239a4)
  • Zaktualizowaliśmy obraz tła zastosowany do animacji na urządzeniu SwipeToDismiss, aby pasował do platformy Wear. (I9003e)
  • Naprawiliśmy PositionIndicator obsługi elementów LazyListState i ScalingLazyListState w przypadku elementów listy o rozmiarze 0, aby uniknąć podziału przez zero błędów.(Ic28dd)

Wersja 1.1

Wersja 1.1.2

8 lutego 2023 r.

androidx.wear.compose:compose-foundation:1.1.2, androidx.wear.compose:compose-material:1.1.2 i androidx.wear.compose:compose-navigation:1.1.2 zostały udostępnione. Wersja 1.1.2 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiliśmy błąd, który powodował niepotrzebne zmiany kompozycji w usłudze ScalingLazyListState.centerItemIndex – dzięki temu, że wypycha on aktualizacje tylko wtedy, gdy wartość faktycznie się zmienia (Ia9f38)

Wersja 1.1.1

11 stycznia 2023 r.

androidx.wear.compose:compose-foundation:1.1.1, androidx.wear.compose:compose-material:1.1.1 i androidx.wear.compose:compose-navigation:1.1.1 zostały udostępnione. Wersja 1.1.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Zaktualizowano zdarzenie PlaceholderState.rememberPlaceholderState(), aby używać parametru rememberUpdatedState. Stan zostanie zaktualizowany, jeśli lambda onContentReady. (I02635, b/260343754)

Wersja 1.1.0

7 grudnia 2022 r.

androidx.wear.compose:compose-foundation:1.1.0, androidx.wear.compose:compose-material:1.1.0 i androidx.wear.compose:compose-navigation:1.1.0 zostały udostępnione. Wersja 1.1.0 zawiera te zatwierdzenia.

Ważne zmiany wprowadzone od wersji 1.0.0

Nowe funkcje

  • Zaktualizowaliśmy eksperymentalną funkcję obiektu zastępczego, dzięki czemu efekt „Wymaż wyłączone” jest stosowany natychmiast, gdy zawartość jest gotowa, bez czekania na rozpoczęcie kolejnej pętli animacji. Wprowadziliśmy też kilka zmian w połysku i usuwaniu animacji. (I5a7f4)

Poprawki błędów

  • Zmieniliśmy domyślną szerokość obramowania elementu OutlinedButton/OutlinedCompactButton z 2.dp na 1.dp, aby była zgodna z ostatecznymi specyfikacjami UX. (Icf84d).
  • Aby ograniczyć efekt wyświetlania pierwszego elementu dodanego do pustego pola ScalingLazyColumn, który pojawia się po przewinięciu strony, dodaliśmy szacowaną wartość autoCentering topPadding, gdy zawartość jest pusta. Ta zmiana powoduje obliczenie potrzebnego dopełnienia u góry przy założeniu, że początkowy element ma wysokość 0,dp. W przypadku ScalingLazyListAnchorType.ItemStart obliczy to prawidłowe dopełnienie u góry. W przypadku ScalingLazyListAnchorType.ItemCenter obliczenia te będą nieprawidłowe, ponieważ wysokość elementów jest potrzebna do prawidłowego rozmiaru zawartości, co spowoduje pojawienie się małego przewijania w miejscu na podstawie rzeczywistej wysokości elementów.(I239a4)
  • Zaktualizowaliśmy obraz tła zastosowany do animacji na urządzeniu SwipeToDismiss, aby pasował do platformy Wear (I9003e).
  • Naprawiliśmy PositionIndicator obsługi elementów LazyListState i ScalingLazyListState w przypadku elementów listy o rozmiarze 0, aby uniknąć podziału przez zero błędów.(Ic28dd)

Wersja 1.1.0-rc01

9 listopada 2022 r.

androidx.wear.compose:compose-foundation:1.1.0-rc01, androidx.wear.compose:compose-material:1.1.0-rc01 i androidx.wear.compose:compose-navigation:1.1.0-rc01 zostały udostępnione. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Dodaliśmy podstawowe reguły profilu dla Placeholders, ScrollAway, RadioButton, Switch, Checkbox, OutlinedButton, OutlinedCompactButton, OutlinedChip i OutlinedCompactChip. (I8249c)
  • Naprawiliśmy błąd w tabeli Modifier.scrollAway, przez co wartość TimeText jest nadal wyświetlana, jeśli wartość itemIndex jest nieprawidłowa (np. indeks elementu jest poza zakresem). (I2137a)
  • Zaktualizowaliśmy animację SwipeToDismissBox, aby pasowała do implementacji na platformie. Po początkowej animacji ściskania ekran przesuwa się w prawo po odrzuceniu. (I41d34)
  • W ramach optymalizacji zaktualizowaliśmy Modifier.scrollAway tak, aby odczytywał tylko scrollState wewnątrz bloku pomiaru, aby uniknąć ponownego tworzenia modyfikatora po każdym ponownym pomiarze. (I4c6f1)
  • Dodaliśmy dokumentację i przykład do obiektów zastępczych, aby pokazać prawidłową kolejność elementów Modifier.placeholder i Modifier.placeholderShimmer w przypadku zastosowania do tego samego elementu kompozycyjnego. (Ie96f4, b/256583229)
  • Zmieniliśmy domyślną szerokość obramowania elementu OutlinedCompactChip/OutlinedChip z 2.dp na 1.dp, aby była zgodna z ostatecznymi specyfikacjami UX. (Ib3d8e)
  • Naprawiliśmy w rememberPickerState błąd, w którym zaktualizowane dane wejściowe nie były zapisywane, przez co elementy kompozycyjne nie były aktualizowane po wprowadzeniu zmian w danych wejściowych. (I49ff6, b/255323197)
  • Wprowadziliśmy kilka zmian w interfejsie obiektów zastępczych: 1) zmiana gradientu połysku na rozmiar ekranu o 1, 5 raza, 2) wygładzanie (sześciennego Béziera) przesuwania połysku oraz 3) przyspieszenie animacji wymazywania (250 ms). (Id29c1).
  • Poprawiliśmy błąd w interfejsie związany z efektem wymazywania elementów zastępczych, który powodował, że elementy graficzne i tła karty były nieco wcześnie wyczyszczone z powodu nieuwzględniania pozycji komponentu na ekranie. (I2c7cb)
  • Zaktualizowaliśmy rysunek tła zastępczego, aby scalać kolory, zamiast nakładać je tam, gdzie to możliwe. Pozwoli to ograniczyć ryzyko mieszania się różnych przyciętych warstw z efektem alfa oraz przenikania przez krawędzie kolorów podstawowych. (I2ea26).
  • Poprawiliśmy sposób obliczania wartości ScalingLazyListState.centerItemIndex/centerItemOffset, więc jeśli 2 elementy znajdują się po obu stronach środkowej linii widocznego obszaru, to ten, który jest najbliższy, nazywany jest centerItem. (I30709, b/254257769)
  • Naprawiliśmy błąd w ScalingLazyListState.layoutInfo.visibleItemsInfo, który zgłaszał nieprawidłowe przesunięcia podczas inicjowania pliku ScalingLazyColumn. Teraz będzie zwracana pusta lista, dopóki wszystkie elementy listy nie będą widoczne i mają prawidłowe przesunięcia. Aby potwierdzić, że inicjowanie ScalingLazyColumn zostało ukończone, a elementy są widoczne, sprawdź ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty(). (I3a3b8).

Wersja 1.1.0-beta01

24 października 2022 r.

androidx.wear.compose:compose-foundation:1.1.0-beta01, androidx.wear.compose:compose-material:1.1.0-beta01 i androidx.wear.compose:compose-navigation:1.1.0-beta01 zostały udostępnione. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.

Funkcje tworzenia wiadomości na Wear OS 1.1

Wersja 1.1.0-beta01 Compose na Wear OS wskazuje, że ta wersja biblioteki jest kompletna, a interfejs API jest zablokowany.

  • Wear Compose 1.1 zawiera te nowe funkcje:
    • Selektor – ulepszenia ułatwień dostępu w selektorze, które umożliwiają poruszanie się po ekranach z wieloma selektorami za pomocą czytników ekranu, a opis treści jest przystępny.
    • Parametr selektora contentDescription jest teraz używany tylko w przypadku wybranej opcji selektora i przyjmuje ciąg znaków dopuszczający wartości null (w poprzednim zatwierdzeniu konieczne było przekazanie mapowania z opcji na opis treści, ale została użyta tylko wybrana opcja).
    • Elementy selektora są teraz zawsze wyśrodkowane. Poprawienie błędu, który powodowało ustawienie parametru gradientRatio na 0, miało efekt uboczny zmiany wyrównania.
    • Chip/ToggleChip – zaktualizowaliśmy domyślne gradienty elementu Chip/ToggleChip, aby były zgodne z najnowszą specyfikacją UX. Tabela ChipDefaults.gradientBackgroundChipColors została zaktualizowana i zaczyna się od 50% w skali podstawowej, a nie do 32,5%.
    • Chip/ToggleChip – dodano przeciążenia do modyfikowania kształtów elementów
    • Chip/Button/ToggleButton – dodaliśmy nowy styl zarysowany dla elementów i przycisków oraz nowych funkcji kompozycyjnych OutlinedChip i OutlinedButton z przezroczystym elementem Chip/Button z cienką ramką.
    • Card – zaktualizowaliśmy domyślne gradienty kart, aby były zgodne z najnowszą specyfikacją UX. Poprzedni stan kolumny CardDefaults.cardBackgroundPainter: z 30% na onSurfaceVariant, a poprzednio z 20% na 10% (onSurfaceVariant). Poprzedni stan to 20%. Wariant ToggleChip.toggleChipColors zmienia się z gradientu liniowego wynoszącego 75% na 32,5% podstawowej powierzchni.
    • Button/ToggleButton – dodano właściwości umożliwiające modyfikowanie kształtów przycisków.
    • Motyw – poprawiliśmy kilka domyślnych kolorów w MaterialTheme, aby poprawić dostępność, ponieważ kolory oryginalne nie miały wystarczającego kontrastu, co utrudnia użytkownikom odróżnienie tła elementów, kart i przycisków od tła w motywie.
    • InlineSlider/Stepper – dodano role przycisków, aby system Talkback mógł rozpoznać je jako przyciski.
    • Ruszt – PositionIndicator jest teraz umieszczony w odpowiednim położeniu i rozmiarze, dzięki czemu zajmuje tylko potrzebne miejsce. Jest to przydatne, np. jeśli dodasz informacje semantyczne, TalkBack otrzyma teraz prawidłowe granice obiektu PositionIndicator wyświetlanego na ekranie.
    • CurvedText/TimeText – dodano element Modifier.scrollAway, który powoduje przewijanie elementu w pionie lub poza go na podstawie stanu przewijania (z przeciążeniami w celu obsługi tych elementów: Column, LazyColumn i ScalingLazyColumn). Element ScrollAway jest zwykle używany do przewijania listy TimeText poza widok, gdy użytkownik zaczyna przewijać listę elementów w górę.
    • CurvedText/TimeText – dodano obsługę fontFamily, fontStyle i fontSynthesis w systemie CurvedTextStyle, której można używać na urządzeniach curvedText i basicCurvedText
    • CurvedText/TimeText – do konstruktora i metody kopiowania w CurvedTextStyle dodano element fontWeight
    • ToggleControls – dodaliśmy animowane elementy sterujące przełącznikami Checkbox, Switch i RadioButton do używania z urządzeniami ToggleChip i SplitToggleChip. Można ich używać zamiast ikon statycznych udostępnianych przez ToggleChipDefaults (switchIcon, checkboxIcon i radioIcon).
    • Obiekt zastępczy – dodano obsługę eksperymentów zastępczych. Dostępne są 3 różne efekty wizualne, które ze sobą współpracują.
    • Przede wszystkim w pojemnikach takich jak Elementy czy Karty są rysowane na normalnym tle podczas oczekiwania na wczytanie treści przy użyciu zastępczego pędzla tła.
    • Następnie mamy modyfikator (Modifier.placeholder()), który będzie rysował zastępczy widżet w kształcie stadionu na górze wczytywanej treści.
    • Trzecia metoda to efekt gradientu/połysku modyfikatora (Modifier.placeholderShimmer()), który jest rysowany nad innymi efektami, aby poinformować użytkowników, że czekamy na wczytanie danych.
      • Wszystkie te efekty zostały tak zaprojektowane, aby były skoordynowane, migocze i umykały w sposób uporządkowany.
  • Zależności Core Compose zostały zaktualizowane z wersji 1.2 na 1.3

Zmiany interfejsu API

  • Parametry czcionki (fontFamily, fontWeight, fontStyle i fontSynthesis) można teraz określać bezpośrednio jako parametry parametru curvedText (Idc422)

Poprawki błędów

  • curveText i basicCurvedText będą teraz działać prawidłowo z TalkBack (mają powiązany z nimi prawidłowy rozmiar i umieszczony (ale pusty) węzeł tworzenia interfejsu, z którym tekst jest opisany jako opis treści) (I7af7c, b/210721259)
  • Poprawka błędu Picker występującego PickerState.repeatedItems = false w celu dodania jawnego ustawienia parametrów autoCentering w wewnętrznym selektorze ScalingLazyColumn, by umożliwić przewinięcie zerowej opcji do środka widoku. (I8a4d7).

Wersja 1.1.0-alpha07

5 października 2022 r.

androidx.wear.compose:compose-foundation:1.1.0-alpha07, androidx.wear.compose:compose-material:1.1.0-alpha07 i androidx.wear.compose:compose-navigation:1.1.0-alpha07 zostały udostępnione. Wersja 1.1.0-alfa07 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy eksperymentalną obsługę obiektów zastępczych. Dostępne są 3 różne efekty wizualne, które ze sobą współpracują. Przede wszystkim w pojemnikach takich jak Elementy czy Karty są rysowane na normalnym tle podczas oczekiwania na wczytanie treści przy użyciu zastępczego pędzla tła. Następnie mamy modyfikator (Modifier.placeholder()), który będzie rysował zastępczy widżet w kształcie stadionu na górze wczytywanej treści. Trzecia metoda to efekt gradientu/połysku modyfikatora (Modifier.placeholderShimmer()), który jest rysowany nad innymi efektami, aby poinformować użytkowników, że czekamy na wczytanie danych. Wszystkie te efekty zostały zaprojektowane tak, aby można je było skoordynować, migoczeć i usuwać w sposób zorganizowany. (I3c339).

Zmiany interfejsu API

  • Dodano obsługę: fontWeight, fontFamily, fontStyle i fontSynthesis CurvedTextStyle, do wykorzystania na curvedText i basicCurvedText. Za pomocą tego parametru możesz określić czcionkę i styl zakrzywionego tekstu.(Iaa1a8),(I72759)
  • Zaktualizowano parametr przesunięcia elementu Modifier.scrollAway na Dp, aby zapewnić spójność z parametrem Modifier.offset (wcześniej był on wyrażony w pikselach). Zastosowano też refaktoryzację jako LayoutModifier w celu zwiększenia efektywności. (I9f94b)
  • W ramach nowego interfejsu API przełączania zmieniliśmy nazwę z RadioButton’s circleColor na ringColor. (I28fa9).
  • Dodaliśmy animowane przełączniki Checkbox, Switch i RadioButton do wykorzystania w usługach ToggleChip i SplitToggleChip. Można ich używać zamiast ikon statycznych udostępnianych przez ToggleChipDefaults (switchIcon, checkboxIcon i radioIcon). (I8A8C4)

Wersja 1.1.0-alpha06

21 września 2022 r.

androidx.wear.compose:compose-foundation:1.1.0-alpha06, androidx.wear.compose:compose-material:1.1.0-alpha06 i androidx.wear.compose:compose-navigation:1.1.0-alpha06 zostały udostępnione. Wersja 1.1.0-alfa06 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy funkcję Modifier.scrollAway, która przewija element w pionie lub z niego nie widać na podstawie stanu przewijania (z przeciążeniem w przypadku elementów Column, LazyColumn i ScalingLazyColumn). ScrollAway jest zwykle używany do przewijania listy TimeText poza widok, gdy użytkownik zaczyna przewijać listę elementów w górę. (I61766)

Poprawki błędów

  • Element PositionIndicator jest teraz odpowiednio umiejscowiony i zmieniony tak, aby zajmował tylko potrzebne miejsce. Jest to przydatne, np. jeśli dodasz informacje semantyczne, TalkBack otrzyma teraz prawidłowe granice obiektu PositionIndicator wyświetlanego na ekranie. (IE6106, b/244409133)

Wersja 1.1.0-alpha05

7 września 2022 roku

androidx.wear.compose:compose-foundation:1.1.0-alpha05, androidx.wear.compose:compose-material:1.1.0-alpha05 i androidx.wear.compose:compose-navigation:1.1.0-alpha05 zostały udostępnione. Wersja 1.1.0-alfa05 zawiera te zatwierdzenia.

Poprawki błędów

  • Role przycisków zostały dodane do usług InlineSlider i Stepper, dzięki czemu TalkBack może je rozpoznawać jako przyciski. (Icb46c, B/244260275)
  • Poprawiliśmy kolejność znaczników pozycji i strony w Scaffold. Wskaźniki znajdują się teraz na winietowaniu, więc nie są zasłonięte, jeśli są widoczne. (Ib988f, b/244207528)

Wersja 1.1.0-alfa04

24 sierpnia 2022 r.

androidx.wear.compose:compose-foundation:1.1.0-alpha04, androidx.wear.compose:compose-material:1.1.0-alpha04 i androidx.wear.compose:compose-navigation:1.1.0-alpha04 zostały udostępnione. Wersja 1.1.0-alfa04 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Zaktualizowaliśmy część domyślnych kolorów w Materialtheme, aby poprawić dostępność, ponieważ kolory oryginalne nie miały wystarczającego kontrastu, co utrudnia użytkownikom odróżnienie tła elementów, kart i przycisków od tła w motywie. Zaktualizowane kolory to powierzchni(0xFF202124->0xFF303133), onPrimary(0xFF202124->0xFF303133), onAdditional(0xFF202124->0xFF303133), podstawowy(0xFF669DF6->0xFF2AB4F8) Niewielkie zmiany kolorów mogą mieć wpływ na wyniki testów zrzutów ekranu. (81ab09)

Poprawki błędów

  • Popraw błąd logiczny w ScalingLazyColumn, który może powodować, że listy z niewielką (zwykle dokładnie 2) elementami listy nie dokończą inicjowania, przez co listy będą przezroczyste. (504347).

Wersja 1.1.0-alfa03

10 sierpnia 2022 r.

androidx.wear.compose:compose-foundation:1.1.0-alpha03, androidx.wear.compose:compose-material:1.1.0-alpha03 i androidx.wear.compose:compose-navigation:1.1.0-alpha03 zostały udostępnione. Wersja 1.1.0-alfa03 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy nowy styl z konturem do elementów Chips i Buttons oraz nowe kompozycje OutlinedChip i OutlinedButton z przezroczystą ramką Chip/Button z wąską ramką. (Id5972).

Zmiany interfejsu API

  • Dodano przeciążenia związane z modyfikowaniem kształtów przycisków (Icccde)

Poprawki błędów

  • Poprawiliśmy rozmiar obszaru przełącznika przełącznika urządzenia ToggleChip, ponieważ nie był on zgodny ze specyfikacją UX. Specyfikacja UX wymaga umieszczenia między etykietą 4,dp i obszaru ikony przełącznika o wymiarach 24x24.dp, zapewniającej całkowitą szerokość 28 dp. Jednak implementacja nieprawidłowo udostępnia obszar sterowania przełącznikiem 36x24.dp. Spowoduje to usunięcie obszaru etykiet tekstowych o rozmiarze 8 dp. UWAGA: ta poprawka błędu zapewnia dodatkowe miejsce na etykietę tekstową, co może (pozytywnie) wpłynąć na układ tekstu w przypadku nadmiernego tekstu. Jeśli masz testy zrzutów ekranu, w tym ToggleChips, być może wymagają one aktualizacji. (I514c8, b/240548670)

Wersja 1.1.0-alfa02

27 lipca 2022 roku

androidx.wear.compose:compose-foundation:1.1.0-alpha02, androidx.wear.compose:compose-material:1.1.0-alpha02 i androidx.wear.compose:compose-navigation:1.1.0-alpha02 zostały udostępnione. Wersja 1.1.0-alfa02 zawiera te zatwierdzenia.

Nowe funkcje

  • Zmieniliśmy wersję Compose na potrzeby Wear OS od podstawowych bibliotek Compose z 1.2.0 na 1.3.0-alfa0X

Zmiany interfejsu API

  • Dodano przeciążenia związane z modyfikowaniem kształtów elementów (I02e87)

Poprawki błędów

  • Podczas pokazywania/ukrywania okna animowaliśmy widoczność reklamy winietowej, aby zachować spójność z istniejącą animacją skalowania. (Ida33e).
  • Naprawiliśmy błąd, który powodował, że przy przewijaniu mogło występować dzielenie przez zero. (I86cb6)
  • Naprawiliśmy błąd w ChipDefaults.childChipColor(), dzięki czemu wyłączony kolor tła jest w pełni przezroczysty. (I2b3c3, b/238057342)

Wersja 1.1.0-alpha01

29 czerwca 2022 r.

androidx.wear.compose:compose-foundation:1.1.0-alpha01, androidx.wear.compose:compose-material:1.1.0-alpha01 i androidx.wear.compose:compose-navigation:1.1.0-alpha01 zostały udostępnione. Wersja 1.1.0-alfa01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Parametr contentDescription selektora jest teraz używany tylko w przypadku wybranej opcji selektora i przyjmuje ciąg znaków dopuszczający wartość null (wcześniej trzeba było przekazać mapowanie z opcji do opisu treści, ale została użyta tylko wybrana opcja). (Ife6a7).
  • Poprawiliśmy ułatwienia dostępu w selektorze, aby po ekranie z wieloma selektorami można było nawigować po nich za pomocą czytników ekranu, a opis treści był łatwo dostępny (I64edb).

Poprawki błędów

  • Zaktualizowaliśmy podstawowe reguły profilu w pakiecie biblioteki Wear Compose (I9c694)
  • Poprawiliśmy kierunek gradientu elementów w trybie od prawej do lewej. Poprzedni lewy górny róg -> prawy dolny róg, teraz prawy górny róg -> lewy górny róg. (IC2e77).
  • Zaktualizowaliśmy domyślne gradienty elementu Chip/ToggleChip/Card, aby były zgodne z najnowszą specyfikacją UX. Tabela ChipDefaults.gradientBackgroundChipColors została zaktualizowana i zaczyna się od 50% w skali podstawowej, a nie do 32,5%. Poprzedni stan kolumny CardDefaults.cardBackgroundPainter: z 30% na onSurfaceVariant, a poprzednio z 20% na 10% (onSurfaceVariant). Poprzedni stan to 20%. Wariant ToggleChip.toggleChipColors zmienia się z gradientu liniowego wynoszącego 75% na 32,5% podstawowej powierzchni. (I43bbd)
  • W przypadku elementu Chip/ToggleChips z gradientem dodaliśmy kolor tła (MaterialTheme.color.surface), by mieć pewność, że będą one prawidłowo widoczne, nawet jeśli za nimi zostanie użyty jasny kolor. (Ibe1a4, b/235937657)
  • Elementy selektora są teraz zawsze wyśrodkowane. Poprawienie błędu, który powodowało ustawienie parametru gradientRatio na 0, miało efekt uboczny zmiany wyrównania. (I712b8)

Wersja 1.0

Wersja 1.0.2

7 września 2022 roku

androidx.wear.compose:compose-foundation:1.0.2, androidx.wear.compose:compose-material:1.0.2 i androidx.wear.compose:compose-navigation:1.0.2 zostały udostępnione. Wersja 1.0.2 zawiera te zatwierdzenia.

Poprawki błędów

  • Poprawiliśmy kolejność znaczników pozycji i strony w Scaffold. Wskaźniki znajdują się teraz na winietowaniu, więc nie są zasłonięte, jeśli są widoczne. (Ib988f, b/244207528)

Wersja 1.0.1

24 sierpnia 2022 r.

androidx.wear.compose:compose-foundation:1.0.1, androidx.wear.compose:compose-material:1.0.1 i androidx.wear.compose:compose-navigation:1.0.1 zostały udostępnione. Wersja 1.0.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Popraw błąd logiczny w ScalingLazyColumn, który może powodować, że listy z niewielką (zwykle dokładnie 2) elementami listy nie dokończą inicjowania, przez co listy będą przezroczyste. (076c61)

Wersja 1.0.0

27 lipca 2022 roku

androidx.wear.compose:compose-foundation:1.0.0, androidx.wear.compose:compose-material:1.0.0 i androidx.wear.compose:compose-navigation:1.0.0 zostały udostępnione. Wersja 1.0.0 zawiera te zatwierdzenia.

Główne funkcje 1.0.0

  • To jest pierwsza stabilna wersja funkcji Compose na Wear OS (więcej informacji).
  • Funkcja Compose na Wear OS opiera się na podstawowych bibliotekach Compose udostępniających dodatkowe komponenty przeznaczone do noszenia oraz, w stosownych przypadkach, alternatywne implementacje podstawowych komponentów Compose dostosowane do urządzeń do noszenia.
  • Listę kluczowych komponentów Wear Compose znajdziesz w informacjach o wersji (Tworzenie w Wear OS w wersji beta01).

Poprawki błędów

  • Podczas pokazywania/ukrywania okna animowaliśmy widoczność reklamy winietowej, aby zachować spójność z istniejącą animacją skalowania. (Ida33e).
  • Naprawiliśmy błąd, który powodował, że przy przewijaniu mogło występować dzielenie przez zero. (I86cb6)
  • Naprawiliśmy błąd w ChipDefaults.childChipColor(), dzięki czemu wyłączony kolor tła jest w pełni przezroczysty. (I2b3c3, b/238057342)

Wersja 1.0.0-rc02

22 czerwca 2022 r.

androidx.wear.compose:compose-foundation:1.0.0-rc02, androidx.wear.compose:compose-material:1.0.0-rc02 i androidx.wear.compose:compose-navigation:1.0.0-rc02 zostały udostępnione. Wersja 1.0.0-rc02 zawiera te zatwierdzenia.

Poprawki błędów

  • Poprawiliśmy kierunek gradientu na kartach w trybie od prawej do lewej (RTL). Został przesunięty w lewy górny róg -> prawy dolny róg, a teraz prawy górny róg -> lewy dolny. (IC2e77).
  • Zaktualizowaliśmy domyślne gradienty elementu Chip/ToggleChip/Card, aby były zgodne z najnowszą specyfikacją UX. Tabela ChipDefaults.gradientBackgroundChipColors została zaktualizowana i zaczyna się od 50% w skali podstawowej, a nie do 32,5%. Zakres CardDefaults.cardBackgroundPainter został zaktualizowany, tak aby zaczynał się z 30% w przypadku podstawowej i kończył się na 20% wartości onSurfaceVariant (wcześniej wynosił 20%–10% w SurfaceVariant). ToggleChip.toggleChipColors zmienia się z gradientu liniowego wynoszącego 75% na 32,5% powierzchni podstawowej na 0% powierzchni podstawowej lub 50% podstawowej. (I43bbd)
  • W przypadku elementu Chip/ToggleChips z gradientem dodaliśmy kolor tła (MaterialTheme.color.surface), by mieć pewność, że będą one prawidłowo widoczne, nawet jeśli za nimi zostanie użyty jasny kolor. (Ibe1a4, b/235937657)
  • Zaktualizowaliśmy podstawowe reguły profilu w pakiecie biblioteki Wear Compose (I9c694)

Wersja 1.0.0-rc01

15 czerwca 2022 r.

androidx.wear.compose:compose-foundation:1.0.0-rc01, androidx.wear.compose:compose-material:1.0.0-rc01 i androidx.wear.compose:compose-navigation:1.0.0-rc01 zostały udostępnione. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Interfejsy w bibliotekach tworzenia wiadomości są teraz tworzone przy użyciu domyślnych metod interfejsu jdk8 (I5bcf1)

Poprawki błędów

  • Usunęliśmy z nagłówka listy jawne wywołanie funkcji fillMaxWidth(), ponieważ nie jest ono potrzebne i może spowodować problemy, jeśli element ScalinglazyColumn zawiera kombinację komponentów ListHeader() i Chip(). Szerokość będzie się zwykle zwiększać lub zmniejszać w miarę przewijania elementów (ListHeader) w widoku lub poza nim. (I37144, b/235074035)
  • Naprawiliśmy błąd w elemencie ScalingLazyColumn, który powodował, że elementy listy nie rysowały się prawidłowo, dopóki element listy nie został przewinięty, jeśli 0 element był wystarczająco duży (w tym dopełnienie) (Ic6159, b/234328517).
  • Wprowadziliśmy drobne poprawki w wygładzeniu ScalingLazyColumn, ponieważ elementy już się zbliżają do krawędzi ekranu. Jest to zgodne z aktualizacjami specyfikacji UX. Stare wartości CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f) -> nowe wartości: CubicBezierEasing(0.3f, 0f, 0.7f, 1f). Aby zachować poprzedni sposób działania, możesz zastąpić parametr scalingParams funkcji ScalingLazyColumn (Ie375c)
  • Do elementu CompactChip dodaliśmy dopełnienie, aby rozmiar elementu dotykowego wynosił co najmniej 48 dp, zgodnie z wytycznymi dotyczącymi ułatwień dostępu w przypadku materiału. Może to mieć wpływ na Twoje układy, w których używasz CompactChips, ponieważ zajmują one dodatkowe miejsce. (I3d57c)

Wersja 1.0.0-beta03

1 czerwca 2022 r.

androidx.wear.compose:compose-foundation:1.0.0-beta03, androidx.wear.compose:compose-material:1.0.0-beta03 i androidx.wear.compose:compose-navigation:1.0.0-beta03 zostały udostępnione. Wersja 1.0.0-beta03 zawiera te zatwierdzenia.

Nowe funkcje

  • Funkcja ScalingLazyColumn działa teraz w trybie tworzenia @Preview. (I3b3b6, b/232947354)

Zmiany interfejsu API

  • Zmieniliśmy domyślną wartość właściwości ScalingLazyColumn.horizontalAlignment z Początek na CenterHorizontally, aby zapewnić, że elementy listy nie wypełnią całej szerokości kolumny, zostaną wyrównane pod kątem maksymalnej widoczności. Aby wrócić do poprzedniego działania, ustaw horizontalAlignment = Alignment.Start.(I9ed4b)

Znane problemy

  • Wysokość kliknięcia/dotyku CompactChip jest mniejsza niż w wytycznych dotyczących ułatwień dostępu w formacie Material. Ten problem zostanie poprawiony w następnej wersji (15 czerwca). Jeśli korzystasz z CompactChip, będzie to miało wpływ na Twoje układy, ponieważ CompactChips będzie miał teraz dodatkowe dopełnienie powyżej i poniżej. Dostosuj i przetestuj układy lub zapoznaj się z komentarzami do błędów, aby poznać sposób obejścia istniejącego działania. (b/234332135)

Poprawki błędów

  • Nowa wersja demonstracyjna animacji dodawania i usuwania tekstu początkowego w TimeText. (I16d75)
  • Dodaj testy dla: HorizontalPageIndicator.PagesState (I64ed0)
  • Aktualizuję TimeText do specyfikacji UX (Ib7ea1)

Wersja 1.0.0-beta02

18 maja 2022 r.

androidx.wear.compose:compose-foundation:1.0.0-beta02, androidx.wear.compose:compose-material:1.0.0-beta02 i androidx.wear.compose:compose-navigation:1.0.0-beta02 zostały udostępnione. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.

Nowe funkcje

  • Selektor zawsze reaguje teraz na zdarzenia przewijania, nawet w trybie „tylko do odczytu”. Dzięki temu użytkownicy nie muszą najpierw kliknąć selektora, aby przejść do przewijania. W trybie tylko do odczytu opcje inne niż obecnie wybrane są zasłonięte podkładką w gradientColor. (I72925)
  • Zmieniliśmy zachowanie użytkownika Chip/ToggleChip/CompactChip/SplitToggleChip, aby domyślnie nie uruchamiały funkcji fillMaxWidth. Będą dopasowywały się do swoich treści. Aby zachować poprzednie działanie, po prostu dodaj modifier = Modifier.fillMaxWidth()(I60a2c, b/232206371)

Poprawki błędów

  • Konstruktor CurvedTextStyle, który przyjmuje TextStyle, uwzględnia teraz również fontWeight(można to dodać do konstruktora i metod kopiowania w przyszłych wersjach interfejsu API) (Ieebb9)
  • Ulepszenia przesuwania krawędzi. Gdy używany jest element Modifier.edgeSwipeToDismiss i przesuniesz palcem w lewo od obszaru brzegowego, nie będzie ono już wywoływane, gdy kierunek przesuwania zmieni się w prawo. Wcześniej można było wywoływać funkcję przesuwania w celu zamknięcia, przesuwając palcem w lewo, a następnie w prawo.(I916ea)
  • HorizontalPageIndicator wyświetla teraz na ekranie maksymalnie 6 stron. Jeśli łącznie jest więcej niż 6 stron, po lewej lub prawej stronie wyświetli się wskaźnik połowy rozmiaru, a przejście między nimi będzie płynne.(I2ac29)
  • Poprawione domyślne działanie przyciągania na urządzeniach ScalingLazyColumn i Picker (I49539)
  • Ulepszenia przesuwania krawędzi. Gdy używana jest funkcja Modifier.edgeSwipeToDismiss, przesuwanie palcem w celu zamknięcia uruchamia się tylko wtedy, gdy pierwsze dotknięcie znajdzie się na krawędzi i przesunie w prawo. Wcześniej można było uruchamiać przesuwanie przez przesuwanie z dowolnej części ekranu, gdy przewijanie dobiegło końca.(I8ca2a)

Wersja 1.0.0-beta01

11 maja 2022 roku

androidx.wear.compose:compose-foundation:1.0.0-beta01, androidx.wear.compose:compose-material:1.0.0-beta01 i androidx.wear.compose:compose-navigation:1.0.0-beta01 zostały udostępnione. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Funkcje tworzenia wiadomości na Wear OS 1.0

Funkcja 1.0.0-beta01 w funkcji tworzenia wiadomości na Wear OS to ważna kamień milowa, ponieważ biblioteka jest już gotowa, a interfejs API został zablokowany.

Komponenty Wear Compose Material w wersji 1.0 to:

  • Motyw Material Design, który zastępuje interfejs Compose for Mobile MaterialTheme, zawiera kolory, kształty i typografię dla komponentów do noszenia na urządzeniach do noszenia, które już od razu wdrażają wytyczne dotyczące UX Wear Material Design.
  • Button, CompactButton i ToggleButton – przycisk zawiera 1 miejsce na ikonę, obraz lub krótki tekst (maksymalnie 3 znaki). Okrągły, zalecany rozmiar dla przycisków domyślnych oraz dużych i małych. CompactButton to 1 boks, w którym można umieścić dowolną treść (ikonę, obraz lub tekst). Ma też okrągły kształt z bardzo małym rozmiarem tła. CompactButton ma opcjonalne przezroczyste dopełnienie wokół tła, które zwiększa klikalny obszar. ToggleButton to przycisk, w którym można wstawić dowolną treść (krótki tekst, ikonę lub obraz) i ma stan włączony lub odznaczony (zaznaczone/odznaczone) oraz ikony informujące o tym, czy są zaznaczone czy nie.
  • Karty – służą do wyświetlania informacji o aplikacjach, np. powiadomień. Elastyczne projektowanie stron w różnych przypadkach użycia dzięki funkcjom AppCard i TitleCard zapewniającym różne układy oraz możliwość wyświetlania obrazów jako zawartości karty lub tła.
  • Elementy to elementy w kształcie stadionu podobne do przycisków, ale z większym obszarem i kilkoma przegródkami, na które można umieścić etykiety, dodatkowe etykiety i ikony. w różnych rozmiarach i z obsługą obrazów jako tła;
  • SwitchChips i SlitToggleChips – element ze stanem zaznaczone/odznaczony i dodanie przedziału ToggleControl z ikoną, taką jak przełącznik lub przycisk sygnalizujący zaznaczony stan komponentu. SplitToggleChip ma 2 obszary, które można kliknąć: 1 klikalny i 1 przełączany.
  • CircularProgressIndicator – wskaźnik postępu w aplikacji Wear Material z 2 wariantami. Pierwsza określa stopień ukończenia bieżącego zadania i uzupełnia lukę między kątem początkowym i końcowym na ścieżce kołowej. Druga oznacza nieokreślony postęp przez nieokreślony czas oczekiwania.
  • CurdText – tworzy część DSL służącą do opisywania elementów CurvedLayouts (wraz z obiektami curvedRow i curvedColumn) w celu rozmieszczenia komponentów wokół okrągłych urządzeń. Więcej informacji o elementach CurvedLayout i CurvedModifier znajdziesz w sekcji „Podstawy komponentu Wear” poniżej. (w przypadku modyfikatorów pełni ona podobną rolę w świecie niezakrzywionym i umożliwia konfigurowanie różnych aspektów układu, dopełnienia, gradientów itp.).
  • Okno, alert i potwierdzenie – wyświetla pełnoekranowe okno nałożone na inną treść oraz obsługuje przesuwanie, aby zamknąć. Potrzebny jest 1 boks, który powinien mieć zweryfikowaną treść okna Materiałów Wear Material, np. Alert lub Potwierdzenie. Alert to zweryfikowana treść okna z miejscami na ikonę, tytuł i komunikat. Zawiera przeciążenie 2 przycisków ujemnych i pozytywnych widocznych obok siebie lub miejsce na 1 lub więcej elementów ułożonych w pionie. Potwierdzenie to sprawdzona treść okna, w której wyświetla się komunikat przez określony czas. Jest w nim miejsce na ikonę lub obraz (który może być animowany).
  • levelPageIndicator – pokazuje pozycję strony w poziomie w sposób odpowiedni dla urządzenia do noszenia. Wyświetlają się na pełnym ekranie i wyświetlają zakrzywiony wskaźnik na okrągłych urządzeniach. Tej opcji można używać w przeglądarce strony towarzyszącej.
  • Ikona – implementacja ikony na Wear, która wykorzystuje kolor i alfa z motywu materiału na Wear. Informacje o ikonie, którą można kliknąć, znajdziesz w sekcji „Przycisk lub element”.
  • Selektor – wyświetla przewijaną listę elementów, spośród których można wybrać. Domyślnie elementy będą powtarzane „w nieskończoność” w obu kierunkach. Może wyświetlać się w trybie „tylko do odczytu”, aby ukryć niewybrane opcje.
  • PositionIndicator – pokazuje pozycję przewijania lub inne informacje o pozycji w sposób odpowiedni dla urządzenia do noszenia. Zaprojektowany tak, by działał na pełnym ekranie, na okrągłym urządzeniu wyświetla zakrzywiony wskaźnik.
  • Scaffold – implementuje podstawową strukturę układu graficznego z Wear Material Design. Ten komponent udostępnia interfejs API, który pozwala połączyć kilka komponentów Wear Material (np. TimeText, PositionIndicator i Vignette) tworzących ekran, co zapewnia dla nich odpowiednią strategię układu i zbiera niezbędne dane, by te komponenty działały prawidłowo.
  • ScalingLazyColumn – przewijany komponent skalowania/listy rybie oko, który stanowi kluczową część języka Wear Material Design. Zapewnia efekty skalowania i przezroczystości elementów treści. Projekt ScalingLazyColumn został zaprojektowany w taki sposób, aby był w stanie obsługiwać potencjalnie dużą liczbę elementów treści, które są zmaterializowane i skomponowane tylko w razie potrzeby.
  • Suwak – umożliwia użytkownikom wybór z zakresu wartości. Zakres wybranych opcji jest przedstawiony w postaci słupka, który opcjonalnie można wyświetlić z separatorami.
  • Stepper – pełny ekran, który umożliwia użytkownikom wybór z wielu wartości za pomocą przycisków zwiększania/zmniejszania u góry i dołu ekranu. W środku znajduje się gniazdo na tekst lub element.
  • PrzesuńToCloseBox – obsługuje gest przesuwania w celu zamknięcia. Zajmuje 1 przedział dla tła (wyświetlanego tylko podczas gestu przesuwania) i treści na pierwszym planie. Można ją opcjonalnie połączyć z biblioteką nawigacji Androidax za pomocą aplikacji SwipeDismissableNavHost (patrz biblioteka nawigacji w Wear Compose poniżej).
  • Tekst – implementacja komponentu „Tekst elementu tworzenia wiadomości” na Wear, wykorzystująca kolory i alfa z motywu materiału na Wear
  • TimeText – komponent pokazujący godzinę i stan aplikacji u góry ekranu. Dostosowuje się do kształtu ekranu na podstawie zakrzywionego tekstu na okrągłych ekranach.
  • winietowanie – zastosowanie w Scaffold, zamazujące górną i dolną część ekranu, gdy wykorzystywane są treści przewijane;

  • W ramach funkcji Wear Compose Foundation dostępne są też te komponenty:

  • Układ zakrzywiony – Wear Foundation CurvedLayout to układ kompozycyjny, który umieszcza elementy podrzędne w okręgu i w razie potrzeby je obraca. Przypomina to układ wiersza zakrzywiony w segmen pierścienia. Pamiętaj, że treść funkcji CurvedLayout nie jest funkcją lambda do kompozycji – jest to wersja DSL (język odnoszący się do domeny). Wszystkie elementy w DSL CurvedLayout obsługują opcjonalny parametr modyfikujący utworzony za pomocą CurvedModifier.

  • BasicCurvedText – element w DSL CurvedLayout. basicCurvedText umożliwia programistom pisanie zakrzywionych tekstów, które mieszczą się w kierunku krzywizny okręgu (zwykle znajduje się na krawędzi okrągłego ekranu). basicCurvedText można utworzyć tylko w CurvedLayout, aby zapewnić najlepsze wrażenia, takie jak możliwość określania pozycjonowania i korzystania z CurvedModifiers. Pamiętaj, że w większości przypadków lepiej jest użyć tekstu z zakrzywionym tekstem, bo korzysta on z motywów Material Design.

  • CurdComposable – obejmuje normalną treść kompozycyjną, by można było jej użyć razem z CurvedLayout. Jeśli w środku curvedComposable znajduje się kilka elementów, zostaną one narysowane jeden na drugim (tak jak w ramach ramki). Aby umieścić kilka elementów kompozycyjnych wzdłuż krzywej, opakuj każdy z nich za pomocą funkcji curvedComposable.

  • Wiersze z zakrzywionymi wierszami i Zakrzywione kolumny – podobne jak w przypadku Wiersz i kolumny – curvedRow i curvedColumn można zagnieżdżać w obiekcie CurvedLayout, aby rozmieścić elementy zgodnie z potrzebami. W przypadku curvedRow można określić kierunek układu kątowego i wyrównanie promieniowe. W przypadku curvedColumn można określić wyrównanie kątowe i kierunek promieniowy.

  • CurvedModifier – wszystkie komponenty krzywych akceptują parametr modyfikujący, który można utworzyć za pomocą funkcji CurvedModifier. Obsługiwane są tło, rozmiar, waga i dopełnienie.

  • Ten komponent jest też dostępny w nawigacji w Wear Compose:

  • Przesuwanie w dółableNavHost – miejsce w hierarchii tworzenia wiadomości, umożliwiające niezależne nawigację, z możliwością przechodzenia do tyłu za pomocą gestu przesuwania. Treść jest wyświetlana w obszarze SwipeToDismissBox, pokazujący bieżący poziom nawigacji. Gdy wykonasz gest przesuwania palcem, aby zamknąć, w tle wyświetlany jest poprzedni poziom nawigacji (jeśli jest dostępny).

  • Zapoznaj się z informacjami o poprzednich wersjach różnych wersji alfa, aby dowiedzieć się, co zostało dostarczone.

Zmiany interfejsu API

  • Dodano funkcje (CurvedModifier.padding*). Pozwalają określić dodatkową przestrzeń, którą można dodać wokół komponentu krzywego. (I4dbb4)
  • Usunięto klasę wewnętrzną CompositionLocal (I42490)
  • Dodaliśmy stałe wartości dla rozmiarów ikon Button, CompactButton i ToggleButton zgodnie ze wskazówkami. (cab i57)
  • Dodaj włączony parametr do AppCard i TitleCard. Teraz mają interfejs API podobny do androidx.compose.material kart. Gdy ten parametr ma wartość Fałsz, karty nie można kliknąć. (Idc48d, b/228869805)

Poprawki błędów

  • Stepper teraz wyłącza przyciski zmniejszania i zwiększania po osiągnięciu dolnego/górnego limitu (i stosuje ContentAlpha.disabled do ikony iconColor) (I4be9f)
  • Dodaliśmy dopełnienie 1 dp wokół zawartości selektora rysowanej za pomocą gradientu, aby zapobiec zniekształceniom tekstu podczas przesuwania. (I0B7b9)
  • Dodaj testy zrzutów ekranu dla aplikacji PositionIndicator (I5e8bc)
  • Dodaj więcej testów dla AppCard i TitleCard (I85391, b/228869805)

Wersja 1.0.0-alfa21

20 kwietnia 2022 r.

androidx.wear.compose:compose-foundation:1.0.0-alpha21, androidx.wear.compose:compose-material:1.0.0-alpha21 i androidx.wear.compose:compose-navigation:1.0.0-alpha21 zostały udostępnione. Wersja 1.0.0-alfa21 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano nowe modyfikatory krzywych, które określają tło zakrzywionego elementu: CurvedModifier.background, .radialGradientBackground i .angularGradientBackground (I8f392)
  • Zezwalaj na określanie trybu nadmiarowego tekstu krzywego (klip, wielokropek i widoczny). (I8e7aa).
  • Dodano modyfikator CurvedModifier.weight podobny do tego w Compose. Tego ustawienia można użyć w przypadku elementów podrzędnych krzywizny i układu krzywego (w przypadku szerokości) oraz w przypadku elementów podrzędnych krzywej kolumny (w przypadku wysokości). (I8abbd).
  • Dodano modyfikatory CurvedModifier.size, .angularSize i .radialSize, aby określić rozmiar zakrzywionego elementu. (I623C7)

Zmiany interfejsu API

  • Zmień kolejność parametrów, aby tło miało spójne kolory w interfejsie Wear Compose API (I43208).
  • Usunięto w prawo i insideOut i zastąpione bardziej wyrazistymi stałymi w nowych klasach. LayoutDirection może rozpoznawać kierunek układu krzywego i jest on dziedziczony, jeśli nie został określony (If0e6a).
  • Zastąpiliśmy autoCenter: Boolean ciągiem autoCenter: AutoCentringParams, aby rozwiązać problem z interfejsem API związany z tabelą ScalingLazyColumn. (IA9c90).
  • W ramach interfejsu API (Chip/ToggleChip/Dialog/Slider/Stepper/...) zmieniliśmy nazwy elementów iconTintColor i toggleControlTintColor na iconColor i toggleControlColor w miarę zastosowania koloru do boksu icon/toggleControl. (Ied238).
  • Przepisz wyliczenie PageIndicatorStyle do klasy wartości (I2dc72)
  • Do niektórych boksów w komponentach kompozycyjnych dodaliśmy element RowScope/ColumnScope/BoxScope, aby pokazać deweloperom, jakie są założenia dotyczące układów. Dzięki temu deweloperzy będą mogli używać dodatkowych modyfikatorów w przypadku niektórych treści w boksie bez konieczności dodawania dodatkowych elementów układu. Oprócz tego wprowadziliśmy drobne zmiany w kolorach AppCard/TitleCard, tak aby elementy timeColor i appColor miały domyślne wartości contentColor. W razie potrzeby te właściwości nadal można zastąpić indywidualnie. (I26b59)
  • Obiekt SwipeToDismissBoxState.Companion został ustawiony jako prywatny (I39e84)
  • Popraw kolejność parametrów w parametrach InlineSlider i Stepper. Prosta zmiana w celu zachowania zgodności z wytycznymi interfejsu API (I11fec)
  • Usunęliśmy obiekt Saver dla SwipeToDismissBoxState, ponieważ nie był on używany. (Ifb54e).
  • Zaktualizowaliśmy CompactChip, aby był zgodny z najnowszą specyfikacją UX. Dopełnienie zostało zmniejszone do poziomu = 12,dp, a pionowy = 0,dp. Czcionka etykiety została zmieniona z przycisku na podpis1. Zalecane rozmiary ikon to 20 x 20, gdy dostępna jest zarówno ikona, jak i etykieta, oraz 24 x 24 piksele w przypadku elementów kompaktowych. W przypadku tylko przypadku użycia ikony zadbaliśmy o to, aby była wyśrodkowana. (iea2be)
  • Do ScalingLazyListLayoutInfo dodaliśmy kilka nowych pól, by deweloperzy wiedzieli, ile wartości contentPadding i autoCenteringPadding zostały zastosowane. Mogą być przydatne dla programistów przy obliczaniu flingu/przewijania (I7577b).
  • W aplikacji Dialog wdrożyliśmy przejścia z jednego wejścia i wyjścia. Dodano parametr showDialog, przez co okno steruje widocznością (umożliwia to uruchamianie w oknie animacji wprowadzenia i zakończenia, gdy okno jest widoczne lub ukryte). Pamiętaj, że animacja zakończenia nie jest odtwarzana, gdy użytkownik opuści okno, przesuwając palcem, aby go zamknąć. W ostatnio dodanym przeciążeniu SwipeToDismissBox dodaliśmy też domyślną wartość stanu. (I682a0)
  • Aby lepiej obsługiwać i18n i a11y, zmieniliśmy zasady ToggleChip i SplitToggleChip, więc nie mają już domyślnego ustawienia dla przedziału toggleControl. Zmieniliśmy też zasadę ToggleChipDefaults, więc poniższe metody zwracają teraz element ImageVector, a nie ikonę (zwróć uwagę, że elementy SwitchIcon()->switchIcon(), CheckboxIcon->checkboxIcon() i RadioIcon()->radioIcon() nie zwracają już elementów @Composable, ponieważ zaczynają się od małych liter). Dzięki temu deweloperzy mogą tworzyć własne kompozycje Icon() z odpowiednim zestawem funkcji contentDescription. (I5bb5b)
  • Do elementu SwipeDismissableNavHost dodaliśmy parametr SwipeDismissableNavHostState. Pozwala to na korzystanie z przesuwania krawędzi ekranów używanych jako miejsca docelowe nawigacji, ponieważ funkcję SwipeToDismissBoxState można teraz podnosić i używać do inicjowania zarówno SwipeDismissableNavHostState, jak i Modifier.edgeSwipeToDismiss na ekranach, które wymagają przesunięcia krawędziowego. (I819f5, b/228336555)

Poprawki błędów

  • Zadbaj o to, aby układy krzywych były aktualizowane w razie potrzeby. (Ie8bfa, b/229079150)
  • Rozwiązanie problemu z https://issuetracker.google.com/issues/226648931 (Ia0a0a, b/226648931)
  • Usunęliśmy niepotrzebne adnotacje eksperymentalne (I88d7e).

Wersja 1.0.0-alfa20

6 kwietnia 2022 roku

androidx.wear.compose:compose-foundation:1.0.0-alpha20, androidx.wear.compose:compose-material:1.0.0-alpha20 i androidx.wear.compose:compose-navigation:1.0.0-alpha20 zostały udostępnione. Wersja 1.0.0-alfa20 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaj modyfikator edgeSwipeToDismiss dla: SwipeToDismiss. Zezwala na aktywne działanie elementu swipeToDismiss tylko z lewej krawędzi widocznego obszaru. Używana, gdy środek ekranu musi obsługiwać podział na strony w poziomie, np. przewijanie mapy w 2 dw. lub przesuwanie w poziomie między stronami.(I3fcec, b/200699800)

Zmiany interfejsu API

  • Podstawowa implementacja CurvedModifiers – otwiera sposób na dostosowywanie zakrzywionych treści (ale nie ma jeszcze żadnego elementu CurvedModifiers, a tworzenie modyfikatorów niestandardowych może być dostępne później) (I9b8df)
  • EdgeSwipeAktualizacja dokumentacji modyfikatora i wartości domyślnych w celu lepszego zrozumienia .(I6d00d)
  • Dodaj przedział PageIndicator do Scaffold. Dodając atrybut PageIndicator bezpośrednio do Scaffold, możemy mieć pewność, że będzie się prawidłowo wyświetlać na okrągłych urządzeniach. (IA6042).
  • Usuń domyślne ikony z parametrów InlineSlider i Stepper. Dzięki temu deweloperzy będą bardziej zwracać uwagę na wymagania dotyczące lokalizacji i ułatwień dostępu. Zastosowanie ikon domyślnych zostało pokazane w prezentacjach i przykładach. (I7e6fd).
  • Zastąp nazwy parametrów końcowych i wiodących wartościami „Start i End in TimeText” (Iaac32).
  • Dodaliśmy przeciążenie funkcji SwipeToDismissBox z parametrem onDismissed, aby obsługiwać typowe zastosowanie zdarzenia nawigacji po wykonaniu gestu przesuwania. (I50353, b/226565726)
  • Usunięto adnotacje (ExperimentalWearMaterialApi) z wykorzystania w usłudze TimeText (Ide520)
  • Zakresy i interfejsy informacyjne usługi ScalingLazyList/Column oznaczyliśmy jako zamknięte, ponieważ nie są przeznaczone do implementacji przez zewnętrznych deweloperów. Dzięki temu w przyszłości będziemy mogli dodawać do nich nowych użytkowników bez wprowadzania zmian powodujących niezgodność plików binarnych. (I7d99f)
  • Do metod selektora i PickerDefaults.flingBehaviour() dodaliśmy nową właściwość flingBehaviour, która umożliwia konfigurowanie zachowania przesuwania, na przykład dodanie obsługi RSB. W projekcie PickerState zaimplementowano interfejs ScrollableState. (IB89c7).

Poprawki błędów

  • Zaktualizuj podstawowe reguły profilu środowiska wykonawczego Android (ART) dla bibliotek Wear Compose. ART może wykorzystać reguły profili na urządzeniach, aby z wyprzedzeniem skompilować określony podzbiór aplikacji w celu poprawy jej wydajności. Pamiętaj, że nie będzie to miało wpływu na aplikacje z możliwością debugowania. (Iaa8ef)
  • Popraw dokumentację (I2c051)

Wersja 1.0.0-alfa19

23 marca 2022 r.

androidx.wear.compose:compose-foundation:1.0.0-alpha19, androidx.wear.compose:compose-material:1.0.0-alpha19 i androidx.wear.compose:compose-navigation:1.0.0-alpha19 zostały udostępnione. Wersja 1.0.0-alfa19 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Nazwa CurvedRow została zmieniona na CurvedLayout i zmieniona na zakres w usłudze DSL. Przy użyciu tej technologii DSL bardziej złożone układy krzywych można określać za pomocą serii zagnieżdżonych zagnieżdżonych elementów curvedRow i curvedColumn (które są odpowiednikiem krzywego układu wiersza i kolumny). Wewnątrz tych elementów układu można użyć 3 elementów: curvedComposable (aby dodać dowolny element @Composable), basicCurvedText (zakrzywiony tekst fundacji) i curvedText (zakrzywiony tekst na potrzeby noszenia materiału). (IB776a)
  • Zapewnij możliwość konfigurowania interfejsu PositionIndicator. Pozycja podstawowego wskaźnika Pozycja W porządku. (I2f1f3)
  • Zmieniliśmy nazwę SwipeDismissTarget z SwipeToDismissBox na SwipeToDismissValue.Default, a SwipeDismissTarget.Dismissal na SwipeToDismissValue.Dismissed. Przenieśliśmy też adresy SwipeToDismissBoxDefaults.BackgroundKey i SwipeToDismissBoxDefaults.ContentKey odpowiednio do SwipeToDismissKeys.Background (SwipeToDismissKeys.Content). (I47a36)
  • Do selektorów dodaliśmy tryb tylko do odczytu, który działa na ekranach z wieloma selektorami, w których można edytować tylko jeden selektor naraz. Gdy selektor jest w trybie tylko do odczytu, wyświetla obecnie wybraną opcję i etykietę, jeśli została podana. (I879de)
  • Rozszerzenie SwipeToDismissBoxState zostało zmienione, aby ograniczyć zakres zakresu ExperimentalWearMaterialApi do Modifier.swipeable i SwipeableState, które są teraz używane wewnętrznie. SwipeToDismissBoxState ma teraz użytkowników currentValue, targetValue, isAnimationRunning i snapTo, aby obsługiwać typowe przypadki użycia. Daj nam znać, jeśli potrzebujesz dodatkowych usług. Naprawiono też zachowanie SwipeableState w przypadku, gdy przesunięcie przesunięcia znajduje się w obrębie błędu zaokrąglania reklamy zakotwiczonej. (I58302)

Poprawki błędów

  • Uproszczony i poprawiony kod do wykrywania, czy zawartość elementu ScalingLazyColumn można przewijać (do określania, czy wyświetlać pasek przewijania lub nie) (I7bce0)
  • Usunięto błąd we wskaźniku pozycji, który był używany z więcej niż jednym stanem i powodował przełączanie się między nimi (I320b5).
  • Zaktualizowaliśmy domyślną typografię i czcionki motywu na Wear OS, aby dostosować je do naszych najnowszych wskazówek dotyczących UX. Zwróć uwagę, że wartości w formatach display1 (40.sp) i display2 (34.sp) są teraz mniejsze niż ich poprzednie wartości. Wprowadziliśmy też różne inne drobne zmiany dotyczące wysokości wiersza i odstępów między wierszami. (IE3077).
  • W SwipeToDismissBox dodaliśmy opór, dzięki czemu ruch działa tylko wtedy, gdy przesuwasz palcem, aby go zamknąć, a nie w przeciwnym kierunku. (Ifdfb9)
  • Zmieniliśmy niektóre domyślne wartości parametrów funkcji CircularProgressIndicator, aby były zgodne ze wskazówkami dotyczącymi UX Wear Material Design. W wersji Spinner/Indeterminant zmienił się rozmiar (40->24.dp), indexColor (primary->onBackground), przezroczystość trackColor (30%->10%) i szerokość kreski (4->3dp). W wersji Progress/Determinate została zaktualizowana przezroczystość trackColor (30%->10%). (I659cc)
  • Zaktualizowaliśmy domyślne parametry skalowania modelu ScalingLazyColumn, aby były zgodne z najnowszymi specyfikacjami UX Wear Material Design. Wizualnie powoduje to, że elementy listy zaczynają być skalowane bliżej środka listy, ale są mniej skalowane na krawędziach niż wcześniej. (Ica8f3).
  • Kilka poprawek do elementu ScalingLazyColumnDefaults.snapFlingBehavior, aby poprawić koniec animacji (If3260).

Wersja 1.0.0-alfa18

9 marca 2022 r.

androidx.wear.compose:compose-foundation:1.0.0-alpha18, androidx.wear.compose:compose-material:1.0.0-alpha18 i androidx.wear.compose:compose-navigation:1.0.0-alpha18 zostały udostępnione. Wersja 1.0.0-alfa18 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Ulepszenia PositionIndicator: ShowResult zmieniono nazwę PositionIndicatorVisibility. Pewne ulepszenia wydajności pozwalające uniknąć ponownych obliczeń, gdy nie są potrzebne (Iaed9d)
  • Zaktualizowano zalecane kolory dla: SplitToggleChip. Elementy SplitToggleChip mają teraz jednolite kolorowe tło, gdy jest zaznaczone lub odznaczone. Głównym wskaźnikiem tego, czy komponent jest zaznaczony, czy nie jest kolor opcji SwitchControl. Dodaliśmy nowy ToggleDefaults.splitToggleChipColors(), który obsługuje nowy schemat kolorów. Uprościliśmy też metody toggleChipColors(), usuwając atrybut podziałBackgroundOverlayColor (I7e66e).
  • Do elementu ScalingLazyListItemInfo dodaliśmy parametr unAdjustedSize, ponieważ obliczenie pierwotnego rozmiaru produktu za pomocą skalowanego rozmiaru i współczynnika skalowania nie jest bezpieczne ze względu na precyzję matematyki zmiennoprzecinkowej. (I54657, b/221079441)
  • Dodaj HorizontalPageIndicator. Reprezentuje on łączną liczbę stron i wybraną stronę. W zależności od kształtu urządzenia może być liniowy lub zakrzywiony. Obsługuje również niestandardowy kształt wskaźnika, który określa wygląd poszczególnych wskaźników. (IAC898).
  • Zaktualizowaliśmy atrybut PickerState, aby można było zaktualizować parametr numberOfOptions. Obsługuje to przypadki użycia, takie jak DatePicker, gdy liczba dni w miesiącu zmienia się w zależności od wybranego miesiąca. Parametr konstruktora dla PickerState został odpowiednio zmieniony na initialNumberOfOptions. (IAD066).
  • Ukryj PositionIndicator, gdy jest paskiem przewijania i nie można z niej skorzystać przewijanie. (Id0a7f)
  • Aby zapewnić spójność ze Scaffold, nasz pełnoekranowy komponent Okno wyświetla teraz PositionIndicator i Vignette. Używamy również właściwości ScalingLazyColumn zamiast Column, co oznacza, że zawartość okna dialogowego ma teraz format ScalingLazyListScope (i zwykle musi być ujęta w element { /* content */ }). Okno obsługuje odpowiednio parametr verticalArrangement. (Idea13).
  • Zmieniliśmy nazwę właściwości ToggleChip i SplitToggleChip SwitchIcon naswitchControl, aby lepiej dostosować go do stylu Material Design i ułatwić projektantom i programistom poruszanie się po interfejsie API. (If5921, b/220129803)
  • Dodaliśmy nowy podpis3 do motywu Typologii Wear Material. Caption3 to mała czcionka używana do bardzo długich tekstów, np. tekstów prawnych. (I74b13, b/220128356)

Poprawki błędów

  • Zatrzymaj animację przyciągania, gdy będziemy na miejscu. (IdB69d)
  • Animuj zmiany we wskaźniku PositionIndicator. (I94cb9)
  • Kierując się opiniami użytkowników/UX, zmieniliśmy funkcję automatycznego wycentrowania w ScalingLazyColumn tak, że zapewnia ona tylko wystarczającą ilość miejsca, aby elementy o indeksie ScalingLazyListState.initialCenterItemIndex lub wyższym mogły zostać całkowicie przewinięte do środka widocznego obszaru. Dzięki temu deweloperzy mogą umieścić na środku jeden lub dwa elementy elementu, których nie da się przewijać. Oznacza to, że element ScalingLazyColumn z autoCenter nie będzie mógł przewinąć treści powyżej elementu initialCenterItemIndex/initialCenterItemScrollOffset (I22ee2).
  • Dodaliśmy wersję demonstracyjną selektora dat i naprawiliśmy błąd w PickerState, w wyniku którego element SelectOption nie był stosowany do czasu wyświetlenia selektora. (Id0d7e)
  • Aby ograniczyć przycinanie szerszych elementów ScalingLazyColumn na okrągłych ekranach, zwiększyliśmy domyślne dopełnienie poziome z 8 do 10 dp. (I0d609)
  • Upewnij się, że podczas przewijania widać ikonę PositionIndicator. (Ied9a2).

Wersja 1.0.0-alfa17

23 lutego 2022 r.

androidx.wear.compose:compose-foundation:1.0.0-alpha17, androidx.wear.compose:compose-material:1.0.0-alpha17 i androidx.wear.compose:compose-navigation:1.0.0-alpha17 zostały udostępnione. Wersja 1.0.0-alfa17 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy obsługę Snap, której można używać z urządzeniem ScalingLazyColumn. Ustaw flingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state), aby włączyć obsługę Snap. (I068d3, b/217377069)
  • Dodaliśmy wersje demonstracyjne selektora, wybierz godzinę w formacie 24-godzinnym lub 12-godzinnym. (IE5552)

Zmiany interfejsu API

  • Rozwiąż problem z niestandardowymi czcionkami TimeText i style na urządzeniu kwadratowym (IEa76e)
  • ScalingLazyListLayoutInfo ma teraz właściwości reverseLayout, viewportSize i orientacji pasujące do tych z LazyListLayoutInfo (I4f258, b/217917020)
  • ScalingLazyColumn ma teraz właściwość userScrollEnabled pasującą do tej z domeny LazyList (I164d0, b/217912513)
  • Selektory mają teraz domyślnie gradient na górze i na dole (Iab92a).

Poprawki błędów

  • Zmodyfikowaliśmy element ScalingLazyColumn, aby nie wypełniał już zachłannie całego miejsca w swoim elemencie nadrzędnym. Zamiast tego dobierze rozmiar od rozmiaru treści. Jest to zgodne z działaniem funkcji LazyColumn. Jeśli chcesz przywrócić poprzednie działanie, przekaż Modifier.fillMaxWidth()/width()/widthIn() do ScalingLazyColumn (I51bf8).
  • Poprawiliśmy komunikat o wyjątku w SwipeDismissableNavHost.kt, który był wyświetlany, gdy stos nawigacji był pusty. (I1b1dc).

Wersja 1.0.0-alfa16

9 lutego 2022 r.

androidx.wear.compose:compose-foundation:1.0.0-alpha16, androidx.wear.compose:compose-material:1.0.0-alpha16 i androidx.wear.compose:compose-navigation:1.0.0-alpha16 zostały udostępnione. Wersja 1.0.0-alfa16 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaj CircularProgressIndicator. Wskaźniki postępu pokazują długość procesu lub nieokreślony czas oczekiwania. Obsługuje lukę (wycięcie) w przypadku tekstu TimeText lub innych komponentów w przypadku wyświetlania na pełnym ekranie. (IAB8DA)

Zmiany interfejsu API

  • Selektory mają teraz parametr flingBehavior. Wartość domyślna sprawia, że podczas przewijania lub przesuwania są przyciągane do najbliższej opcji. (I09000)
  • Dodatkowy interfejs API z liczbą całkowitą dla InlineSlider i Stepper (I1b5d6)

Poprawki błędów

  • Zmieniliśmy domyślną wartość initialCenterItemIndex dla jednostki ScalingLazyListState z 0->1. Oznacza to, że o ile nie zastąpisz go przy użyciu parametru ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =), drugi element listy (indeks = 1) zostanie umieszczony na środku widocznego obszaru przy inicjowaniu, a przed nim zostanie umieszczony pierwszy element (indeks = 0). Dzięki temu możesz od razu uzyskać lepszy domyślny efekt wizualny, ponieważ większość widocznego obszaru zostanie zapełniona elementami listy. (I0c623, b/217344252)
  • Zmniejszyliśmy ScalingLazyColumndomyślną wartość extraPadding, by mieć pewność, że jest dużo elementów listy do narysowania (nawet jeśli pomniejszymy część z nich) z 10% do 5%. Pozwoli to uniknąć tworzenia dodatkowych elementów listy, które mogą nie pojawiać się w widocznym obszarze. Jeśli używane są niestandardowe parametry scaleParams (na przykład bardziej ekstremalne skalowanie), programista może dostosować dodatkowe dopełnienie za pomocą parametru viewportVerticalOffsetResolver. (I76be4)
  • Rozwiązywanie problemów z tekstem TimeText w wielu wierszach na urządzeniu z kwadratowym (Ibd3fb)
  • Zmodyfikowaliśmy element ScalingLazyColumn, aby nie wypełniał już zachłannie całego miejsca w swoim elemencie nadrzędnym. Zamiast tego dobierze rozmiar od rozmiaru treści. Dzięki temu jest to spójne z działaniem funkcji LazyColumn. Jeśli chcesz przywrócić poprzednie działanie, przekaż Modifier.fillMaxSize() do ScalingLazyColumn. UWAGA: ta zmiana jest niekompletna i zostanie poprawiona w następnej wersji alfa. (I3cbfa)

Wersja 1.0.0-alfa15

26 stycznia 2022 r.

androidx.wear.compose:compose-foundation:1.0.0-alpha15, androidx.wear.compose:compose-material:1.0.0-alpha15 i androidx.wear.compose:compose-navigation:1.0.0-alpha15 zostały udostępnione. Wersja 1.0.0-alfa15 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Do ScalingLazyColumn dodaliśmy nową usługę autoCentering. Jeśli ustawisz wartość prawda (domyślnie), będzie można przewijać wszystkie elementy, w tym pierwszy i ostatni, w taki sposób, że będą widoczne na środku widocznego obszaru listy. Pamiętaj, że jeśli używasz automatycznego wycentrowania, warto ustawić dopełnienie treści pionowego na 0.dp. Jeśli użyjesz zarówno automatycznego wyśrodkowania, jak i dopełnienia treści w pionie, przed pierwszym i za ostatnim elementem listy dostępne będzie dodatkowe miejsce, co pozwoli na dalsze przewijanie. (I2a282, b/214922490)
  • Dodaliśmy komponent Dialog, który umożliwia funkcji kompozycyjnej wyświetlanie pełnoekranowego okna, które wyświetla się nad innymi treściami. Po wyświetleniu okno obsługuje przesuwanie, aby zamknąć, i podczas wykonywania gestu przesuwania w tle widoczna będzie zawartość rodzica. Oczekiwana zawartość okna to Alert lub Confirmation (zmieniona nazwa z wcześniejszych 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 do parametrów alertów i potwierdzenia dodaliśmy też parametr ColumnScope. (IA9014).
  • Usunęliśmy element onSurfaceVariant2 z motywu kolorystycznego w funkcji Compose for Wear OS i zastąpiliśmy użycie w bibliotece elementem onSurfaceVariant. (ICD592).
  • Dodaliśmy metodę automatycznego wybierania opcji w PickerState. Opcję wybraną początkowo można też określić podczas tworzenia elementu PickerState. (I92bdf)
  • Dodaliśmy obsługę dostosowywania działania przesuwania w ScalingLazyColumn. (I1ad2e, b/208842968)
  • Do biblioteki Wear.Compose.Navigation dodaliśmy pozycję NavController.currentBackStackEntryAsState(). (If9028, b/212739653)
  • Dodano Modifier.onRotaryScrollEvent() i Modifier.onPreRotaryScrollEvent() w przypadku urządzeń Wear z obracającym się przyciskiem.(I18bf5, b/210748686)

Wersja 1.0.0-alfa14

12 stycznia 2022 r.

androidx.wear.compose:compose-foundation:1.0.0-alpha14, androidx.wear.compose:compose-material:1.0.0-alpha14 i androidx.wear.compose:compose-navigation:1.0.0-alpha14 zostały udostępnione. Wersja 1.0.0-alfa14 zawiera te zatwierdzenia.

Nowe funkcje

  • Do ScalingLazyListState dodaliśmy szereg metod, aby umożliwić deweloperowi kontrolę nad przewijaniem do określonych elementów listy oraz ustawianie początkowego elementu listy i przesunięcia.

    W ramach tej zmiany zmodyfikowaliśmy też listę ScalingLazyList, dzięki czemu jest zorientowana na środek obszaru roboczego, a nie na początku widocznego obszaru.

    Do obiektu ScalingLazyList dodano nową właściwość anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter, która pozwala kontrolować, czy środek (ScalingLazyListAnchorType.ItemCenter) czy Edge (ScalingLazyListAnchorType.ItemStart) ma być wyrównany względem linii środkowej widocznego obszaru.

    W związku z tym parametry ScalingLazyListItemInfo.offset i ScalingLazyListItemInfo.adjustedOffset uległy zmianie i będą odzwierciedlać przesunięcie elementu względem zarówno pozycji elementu listy, jak i jego elementu anchorType. Na przykład: w przypadku elementu ScalingLazyColumn z wartością anchorType o wartości ItemCenter i elementem listy umieszczonym na środku widocznego obszaru, które wynosi 0.

    Nowe metody to scrollTo, animatedScrollTo, centerItemIndex i centerItemOffset. (I61b61)

  • Do elementu SwipeDismissableNavHost dodaliśmy moduł obsługi przycisku Wstecz, który umożliwia przejście do poprzedniego poziomu w hierarchii nawigacji. (I5b086, b/210205624)

Wersja 1.0.0-alfa13

15 grudnia 2021 roku

androidx.wear.compose:compose-foundation:1.0.0-alpha13, androidx.wear.compose:compose-material:1.0.0-alpha13 i androidx.wear.compose:compose-navigation:1.0.0-alpha13 zostały udostępnione. Wersja 1.0.0-alfa13 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Wprowadziliśmy RangeIcons wewnętrznie (łącznie z dokumentami 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, zanim osiągnie stan cyklu życia CREATED, co skutkowało wyświetleniem IllegalStateException. Ta poprawka była warunkiem wstępnym aktualizacji zależności od zasady navigation-compose do wersji 2.4.0-beta02 i nowszych. (I40a2b, b/207328687)

  • Dodaliśmy klasę wyliczeniową w elementach rysowalnych, która pozwala pobierać zasoby, które można rysować w bibliotece Wear Compose, dzięki czemu odbicie nie jest już potrzebne. Naprawiliśmy błąd polegający na tym, że elementy rysowane w bibliotece były usuwane po minifyEnabled=true lub shrinkResources=true. (IB2a98).

  • Dodano testy aplikacji Stepper w Wear Compose (I2d03a)

  • Dodano przykłady dotyczące języka SwipeDismissableNavHost w nawigacji w Wear Compose. (I85f06)

Wersja 1.0.0-alfa12

1 grudnia 2021 r.

androidx.wear.compose:compose-foundation:1.0.0-alpha12, androidx.wear.compose:compose-material:1.0.0-alpha12 i androidx.wear.compose:compose-navigation:1.0.0-alpha12 zostały udostępnione. Wersja 1.0.0-alfa12 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy komponent Stepper, który umożliwia użytkownikom wybór z zakresu wartości. Stepper to element sterujący trybem pełnoekranowym z przyciskami zwiększania i zmniejszania znajdującymi się u góry i u dołu oraz gniazdem pośrodku (przy czym zwykle umieszcza się w nim element lub tekst). W razie potrzeby ikony przycisków można dostosować. (I625fe)

  • Dodaliśmy 2 nowe funkcje kompozycyjne do wyświetlania okien: AlertDialog czeka na odpowiedź użytkownika i wyświetla tytuł, ikonę, wiadomość oraz 2 przyciski (a) 2 przyciski oznaczające proste lub negatywne odpowiedzi albo b) elementy ułożone pionowo lub przełączniki, które zapewniają bardziej elastyczne opcje. Potwierdzenie w oknie dialogowym wyświetla potwierdzenie z określonym czasem oczekiwania. To proste okno zawiera boksy na tytuł i animowaną ikonę. (Ic2cf8).

Zmiany interfejsu API

  • Dodaj jednostki (milisekundy) do sugerowanych wartości czasu trwania w oknie. (I09b48)

Wersja 1.0.0-alfa11

17 listopada 2021 r.

androidx.wear.compose:compose-foundation:1.0.0-alpha11, androidx.wear.compose:compose-material:1.0.0-alpha11 i androidx.wear.compose:compose-navigation:1.0.0-alpha11 zostały udostępnione. Wersja 1.0.0-alfa11 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy komponent selektora, który pozwala użytkownikowi wybrać element z listy przewijanej. Domyślnie lista elementów do wyboru jest powtarzana „w nieskończoność” w obu kierunkach, by stworzyć wrażenie obracającego się walca. W kolejnych wersjach wprowadzimy dwie funkcje: przyciąganie do wartości po przesunięciu lub przesunięciu palcem. przez dodanie funkcji w PickerState, aby ustawić/przewinąć do aktualnej wartości. (I6461b)

Zmiany interfejsu API

  • Dodano parametr ScalingLazyItemScope i kilka nowych modyfikatorów FillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight, aby umożliwić dostosowywanie rozmiaru elementów listy na podstawie rozmiaru kontenera nadrzędnego. Możesz skonfigurować elementy tak, aby wypełniły cały rozmiar elementu nadrzędnego lub jego część. Udostępnia to funkcję dostępną już w leniwym wierszu/kolumnie (I4612f)
  • Dodano obsługę funkcji ScalingLazyColumn, aby umożliwić elementom posiadanie klucza. Dodaliśmy też wygodne metody pozwalające na dodawanie elementów z tablic i list. (IC1f89).

Poprawki błędów

  • Dodatkowe przykłady tekstu TimeText (I8cb64)

Wersja 1.0.0-alpha10

3 listopada 2021 r.

androidx.wear.compose:compose-foundation:1.0.0-alpha10, androidx.wear.compose:compose-material:1.0.0-alpha10 i androidx.wear.compose:compose-navigation:1.0.0-alpha10 zostały udostępnione. Wersja 1.0.0-alfa10 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano InlineSlider do tworzenia wiadomości w Wear. InlineSlider umożliwia użytkownikom dokonywanie wyboru z zakresu wartości. Zakres wybranych opcji jest przedstawiony jako pasek między wartością minimalną a maksymalną, z której użytkownicy mogą wybrać jedną wartość. (If0148).

  • Zapoznaj się z nowym narzędziem do tworzenia wiadomości w ćwiczeniach z programowania w WearOS.

Zmiany interfejsu API

  • Wskaźnik porównawczy ma teraz minSdkVersion o wartości 23. (If2655).

Poprawki błędów

  • Zaktualizuj obsługę przenoszenia w MoveCloseableNavHost w efektu SideEffect (I04994, b/202863359)
  • Zaktualizuj obsługę przenoszenia w MoveCloseableNavHost (I1cbe0, b/202863359)

Wersja 1.0.0-alpha09

27 października 2021 roku

androidx.wear.compose:compose-foundation:1.0.0-alpha09, androidx.wear.compose:compose-material:1.0.0-alpha09 i androidx.wear.compose:compose-navigation:1.0.0-alpha09 zostały udostępnione. Wersja 1.0.0-alfa09 zawiera te zatwierdzenia.

Nowe funkcje

  • Udostępniliśmy wersję przedpremierową funkcji Compose na Wear OS na urządzeniach z systemem Wear OS. Przeczytaj nasz post na blogu, w którym omawiamy główne funkcje kompozycyjne i linki do dodatkowych materiałów na temat tego, jak zacząć z nich korzystać.

Zmiany interfejsu API

  • Dodaliśmy obsługę dla deweloperów, aby mogli dostosować wszystkie kolory w motywie koloru Wear Material Design. (I4759b, b/199754668)

Poprawki błędów

  • Dodano próbki PrzesuńToCloseBox, który utrzymuje stan (Ibaffe).
  • Dodaliśmy linki do przewodników developer.android.com z KDokuments dla CurvedText, TimeText i PrzesuńToCloseBox. (I399d4)
  • Przesuwany na stronie obiekt PrzesuwanyNavHost wyświetlany jest teraz, jeśli nie ma bieżącego miejsca docelowego (oznacza, że nie utworzono za pomocą modułu wear.compose.navigation.composable funkcja użytkowa) (I91403)
  • Dodaliśmy dokumentację i przykłady użycia źródła czasu w TimeText (I4f6f0).

Wersja 1.0.0-alpha08

13 października 2021 r.

androidx.wear.compose:compose-foundation:1.0.0-alpha08, androidx.wear.compose:compose-material:1.0.0-alpha08 i androidx.wear.compose:compose-navigation:1.0.0-alpha08 zostały udostępnione. Wersja 1.0.0-alfa08 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Zmieniliśmy nazwy właściwości AppCard i TitleCard body na content i przenieśliśmy je na koniec listy właściwości, aby umożliwić ich podanie jako lambda na końcu. Zmieniono też nazwę bodyColor na contentColor, aby zachować spójność z nowymi nazwami boksów. (I57e78)

Poprawki błędów

  • Dodano linki do witryny developer.android.com przewodniki w Dokumentach KDokumentów dotyczące przycisku, karty, elementu, motywu wskaźnik pozycji i skalowanie leniwej kolumny. (I22428)
  • Rozwiązywanie problemów z obsługą przesuwania w Wear OS (I9387e)
  • Dodano przykłady poleceń Button, CompactButton Chip, CompactChip, AppCard, TitleCard SwitchButton, SwitchChip, SplitToggleChip (Iddc15)
  • Dodano mikrotesty skuteczności dla: Card, Element, SwitchChip, TimeText oraz ScalingLazyColumn. (If2fe9).

Wersja 1.0.0-alpha07

29 września 2021 r.

androidx.wear.compose:compose-foundation:1.0.0-alpha07, androidx.wear.compose:compose-material:1.0.0-alpha07 i androidx.wear.compose:compose-navigation:1.0.0-alpha07 zostały udostępnione. Wersja 1.0.0-alfa07 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy komponent CurvedText w sekcji Materiał, który umożliwia programistom łatwe pisanie zakrzywionego tekstu wzdłuż krzywizny okręgu (zwykle przy krawędzi okrągłego ekranu). (I19593).

Zmiany interfejsu API

  • Dodano testy dla obiektu TimeText (Idfead)
  • Przekształć ArcPaddingValues w interfejs. (Iecd4c).
  • Dodano animację do MoveToCloseBox (I9ad1b)
  • Dodano parametr hasBackground do aplikacji Przesuwane okno API, dzięki czemu można wyłączyć gest przesuwania, gdy nie ma zawartości tła do wyświetlenia. (I313d8)
  • rememberNavController() przyjmuje teraz opcjonalne zestaw Navigator instancji, które zostaną dodane do zwrócono NavController, aby usprawnić (opcjonalnie) wsparcie Nawigatorzy, np. z Materiał nawigacyjny dla akompanitów. (I4619e)
  • Odwołanie do NamedNavArgument z nawigacji-common i usuń kopię z wear.compose.navigation. (I43af6).

Poprawki błędów

  • Naprawiono niestabilne testy krzywej na mniejszych urządzeniach. (If7941).
  • Naprawiliśmy możliwość migotania w CurvedRow przy aktualizacji treści. i gwarantuje ponowne pomiary zakrzywionego wiersza (Ie4e06).
  • Interfejs ChipDefaults.gradientBackgroundChipColors() został zaktualizowany zgodnie ze zmianami specyfikacji UX. Gradient zaczyna się teraz od MaterialTheme.colors.primary z alfa 32,5%, a kończy MaterialTheme.colors.surface z wartością alfa 0% na tle tła MaterialTheme.colors.surface przy 75% alfa. (Id1548).
  • Zaktualizowaliśmy kolory dla SwitchChips w wybranym stanie, aby zapewnić zgodność z najnowszymi wskazówkami dotyczącymi UX dla Wear Material Design. Po wybraniu przełącznika SwitchChips ma teraz tło w postaci gradientu od MaterialTheme.color.surface o wartości 0% alfa, przez lewy górny róg do MaterialTheme.color.primary przy 32% alfa, w prawym dolnym rogu, na tle MaterialTheme.color.surface o 75% alfa. Powoduje to subtelną różnicę między zaznaczoną a niezaznaczoną dla SwitchChip. (IdD40b)

Wersja 1.0.0-alpha06

15 września 2021 r.

androidx.wear.compose:compose-foundation:1.0.0-alpha06, androidx.wear.compose:compose-material:1.0.0-alpha06 i androidx.wear.compose:compose-navigation:1.0.0-alpha06 zostały udostępnione. Wersja 1.0.0-alfa06 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy Scaffold, czyli kompozycyjną aplikację najwyższego poziomu, która zapewnia strukturę do obsługi pozycji wskaźników pozycji (takich jak przewijanie czy głośność), u góry ekranu znajduje się obszar do wyświetlania godziny i stanu aplikacji, a także obsługuje funkcję winietowania do rozmycia górnej i dolnej krawędzi ekranu w przypadku treści, które można przewijać. Głównym obszarem Scaffold jest miejsce, w którym umieszcza się zawartość aplikacji. (I5e0bf)
  • Dodano implementację TimeText w Wear Compose (I5654c)

Biblioteka nawigacyjna w Wear Compose

  • Dodaliśmy pierwszą wersję biblioteki nawigacji Wear Compose, która zapewnia integrację między bibliotekami Wear Compose i nawigacją Androidx. Udostępnia on prosty sposób poruszania się między funkcjami @Composable jako miejscami docelowymi w aplikacji.

  • Zalety tej początkowej wersji:

    • Element kompozycyjny SwipeDismissableNavHost, który hostuje wykres nawigacyjny i umożliwia nawigację wstecz za pomocą gestów przesuwania
    • Rozszerzenie NavGraphBuilder.composable pomagające w tworzeniu wykresów nawigacyjnych
    • rememberSwipeDismissableNavController(), aby zezwolić na wciąganie
  • Przykład użycia, w którym tworzymy 2 ekrany i przechodzimy między nimi:

    val navController = rememberSwipeDismissableNavController()
    SwipeDismissableNavHost(
        navController = navController,
        startDestination = "start"
    ) {
        composable("start") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Button(onClick = { navController.navigate("next") }) {
                    Text("Go")
                }
            }
        }
        composable("next") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Text("Swipe to go back")
            }
        }
    }
    
  • Nawigacja w Wear Compose jest spakowana jako osobna biblioteka, dzięki czemu proste aplikacje WearCompose, które mają własną ręcznie przewijaną nawigację, nie muszą korzystać z biblioteki nawigacji Androidx.

Zmiany interfejsu API

  • Zaktualizowano SwipeDismissableNavHost, by obsługiwać rememberSaveable przez ustawienie tożsamości klucza na potrzeby tła i treści (I746fd)
  • Dodaliśmy adapter PositionIndicator, który obsługuje parametr LazyListState (I21b88)
  • Zaktualizowano funkcję LTIToCloseBox, aby obsługiwała zapamiętywane dane (Ie728b).
  • Do obiektu ScalingLazyColumn dodaliśmy obsługę odwrotnego układu. Umożliwia to odwrócenie kierunku przewijania i układu strony (I9e2fc).
  • Wycofano reguły performGesture i GestureScope, które zawierają zostały zastąpione przez performTouchInput i TouchInjectionScope. (Ia5f3f, b/190493367)
  • Zmieniliśmy nazwę Wartość winietowania na PozycjaWinieta i zmieniła nazwę na Wartość Winieta.Obie te wartości zmieniły nazwę na PozycjaWinieta.GóraAndDolne. (I57ad7).
  • Zmieniliśmy nazwę ScalingLazyColumnState na ScalingLazyListState, ScalingLazyColumnItemInfo na ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo i ScalingLazyColumnScope, ScalingLazyColumnScope, ScalingLazyColumnScope, na wypadek, gdyby w przyszłości zdecydujemy się dodać implementację ScalingLazyListRow. (I22734)

Poprawki błędów

  • Zaktualizowaliśmy dokumentację CompactChip, by opisać, co się dzieje w przypadku braku ikony ani etykiety. (I4Ba88)
  • Wprowadziliśmy pewne zmiany w elementach karty Wear. (I6b3d0)
    1. Odstęp między tytułem a treścią zmniejszony z 8 dp do 2 dp.
    2. Czcionka nagłówka TitleCard została zmieniona z treści na tytuł3.
    3. Zmieniono gradient tła karty, aby przyciemniono tło.

Wersja 1.0.0-alpha05

1 września 2021 roku

androidx.wear.compose:compose-foundation:1.0.0-alpha05 i androidx.wear.compose:compose-material:1.0.0-alpha05 zostały udostępnione. Wersja 1.0.0-alfa05 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Oznacz ArcPaddingValues jako @Stable (I57deb)
  • ScalingLazyColumnState implementuje interfejs ScrollableState, dając deweloperom programowy dostęp do przewijania komponentu. (I47DBC)

Poprawki błędów

  • Zmniejszyliśmy odstępy między elementami ikona i tekst w układzie oraz SwitchChip, aby zapewnić ich zgodność ze specyfikacją UX. (I83802)

Wersja 1.0.0-alpha04

18 sierpnia 2021 r.

androidx.wear.compose:compose-foundation:1.0.0-alpha04 i androidx.wear.compose:compose-material:1.0.0-alpha04 zostały udostępnione. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano metodę PrzesuńToBounceBox i modyfikator przesuwany, którego można używać do obsługują gest przesuwania od lewej do prawej. Są one niezależne od komponentów nawigacyjnych, powinien być używany do wyjścia z jednego ekranu i przejścia na inny. Dodane aby przetestować integrację i zademonstrować przesuwanie palcem, aby zamknąć aplikację. (I7bbaa).
  • Do klasy ScalingLazyColumnState dodaliśmy interfejsy ScalingLazyColumnItemInfo i ScalingLazyColumnLayoutInfo, by umożliwić programistom poznanie rzeczywistych pozycji i rozmiarów elementów w ScalingLazyColumn po zastosowaniu skalowania. Naprawiliśmy również błąd związany ze sposobem obliczania skalowania przy dopełnienie treści jest stosowane do ScalingLazyColumn. (I27c07)

Zmiany interfejsu API

  • Dodaj klasę CurvedTextStyle, aby określić styl tekstu krzywego Opcje. Podobny do TextStyle, ale teraz obsługuje tylko kolory, rozmiar czcionki i tło. W przyszłości dodamy więcej opcji stylizacji. (I96ac3).
  • Do klasy ScalingLazyColumnState dodaliśmy interfejsy ScalingLazyColumnItemInfo i ScalingLazyColumnLayoutInfo, by umożliwić programistom poznanie rzeczywistych pozycji i rozmiarów elementów w ScalingLazyColumn po zastosowaniu skalowania. Naprawiliśmy również błąd związany ze sposobem obliczania skalowania przy dopełnienie treści jest stosowane do ScalingLazyColumn. (I27c07)
  • Do wyliczenia SwipeDismissTarget dodano @ExperimentalWearMaterialApi, który jest częścią interfejsu API SwipeToDismissBox. (I48b5e)

Poprawki błędów

  • Dodano materiał testowy dotyczący aplikacji MoveToCloseBox (I9febc)

Wersja 1.0.0-alpha03

4 sierpnia 2021 r.

androidx.wear.compose:compose-foundation:1.0.0-alpha03 i androidx.wear.compose:compose-material:1.0.0-alpha03 zostały udostępnione. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodano komponent CurvedText, który pozwala programistom łatwo pisać po krzywizna okręgu (zwykle na krawędzi okrągłego ekranu) (Id1267),
  • Zmieniliśmy nazwę CardDefaults.imageBackgroundPainter() na CardDefaults.imageWithScrimBackgroundPainter(), by wyraźnie pokazać, że na obrazie tła znajduje się skrytka. (I53206)
  • Dodano komponent ScalingLazyColumn, który zawiera komponent listy dla materiału Wear Material. Dzięki temu zawartość listy skaluje się w dół i staje się przezroczysta w miarę skalowania w kierunku krawędzi komponentu. (I7070C)

Poprawki błędów

  • Zmieniliśmy domyślny kolor treści appName w AppCard w odpowiedzi na aktualizację specyfikacji UX. Domyślny kolor aplikacji appName to teraz MaterialTheme.colors.onSurfaceVariant. Dodatkowo w dokumencie brakuje opisu parametru dla boksu tytułowego. (IC4ad1).

Wersja 1.0.0-alpha02

21 lipca 2021 r.

androidx.wear.compose:compose-foundation:1.0.0-alpha02 i androidx.wear.compose:compose-material:1.0.0-alpha02 zostały udostępnione. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.

Nowe funkcje

  • Do rozmieszczenia elementów kompozycyjnych w kształcie łuku dodano nową klasę CurvedRow (I29941).
  • Dodaliśmy nowy typ kart do wykorzystania w aplikacjach (TitleCard) oraz możliwość umieszczania obrazów jako tła w celu uwydatnienia treści kart (I53b0f).

Zmiany interfejsu API

  • Dodano obsługę wyrównywania promieniowego do zakrzywionego wiersza (podobnie do wyrównanie w pionie w wierszu) (Id9de5)
  • Dodaj nową klasę CurvedRow do rozmieszczenia elementów kompozycyjnych w łuku (I29941)
  • Dodaliśmy nowy typ kart do wykorzystania w aplikacjach (TitleCard) oraz możliwość umieszczania obrazów jako tła w celu uwydatnienia treści kart (I53b0f).
  • Dodano ikony przełączników (pola wyboru, przełączniki i przyciski opcji) do SwitchChipDefaults, aby ułatwić deweloperom konfigurowanie SwitchChip i SlitToggleChips (I7b639).
  • Dopełnienie treści początkowej i końcowej elementów zostało zmienione i ma stałe wymiary 14 dp niezależnie od tego, czy element był z nim widoczny (wcześniej miał wartość 12.dp, a w przeciwnym razie – 14.dp) (I34c86).

Poprawki błędów

  • Dodaj testy dla CurvedRow (I93cdb)
  • Łączenie zależności w Wear Compose z funkcją Compose 1.0.0-rc01. (IE6Bc9)
  • Zmieniliśmy sposób malowania obrazów tła w kartach i elementach. Obraz został przycięty, a nie rozciągnięty, co pozwoli zachować jego proporcje. (I29b41)
  • Dodaliśmy więcej wersji demonstracyjnych i testów integracji interfejsów Button i SwitchButton. (5e27ed2).
  • Dodaliśmy więcej testów dotyczących elementów, aby uwzględnić kolory treści w imageBackgroundChips (Ia9183).

Wersja 1.0.0-alpha01

1 lipca 2021 r.

androidx.wear.compose:compose-foundation:1.0.0-alpha01 i androidx.wear.compose:compose-material:1.0.0-alpha01 zostały udostępnione. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

Wear Compose to biblioteka Kotlin oparta na Compose, która obsługuje interfejs Wear Material Design będący rozszerzeniem Material Design na urządzenia do noszenia z Wear OS. Pierwsza wersja alfa zawiera wczesne, funkcjonalne implementacje tych elementów:

  • Motyw Material Design – pozwala spójnie konfigurować kolory, typografię i kształty we wszystkich komponentach używanych z tej biblioteki.
  • Chip i CompactChip – mają kształt stadionowy. Dostępne są warianty, które pozwalają umieścić ikony, etykiety i materiały z dodatkowych wytwórni.
  • – SwitchChip, SplitToggleChip: specjalny typ układu, który zawiera miejsce na dwustanową ikonę przełączania, np. opcję lub pole wyboru. Dodatkowo interfejs SplitToggleChip zawiera 2 obszary, które można kliknąć: 1 klikalny i 1 przełączany.
  • Przycisk, CompactButton – przyciski mają okrągły kształt, z jednym boksem na ikonę lub minimalną ilością tekstu (maksymalnie 3 znaki).
  • Przycisk przełączania – przycisk z jednym polem na ikonę lub minimalną ilością tekstu (maksymalnie 3 znaki) do włączania i wyłączania działania.
  • Karta, AppCard – prostokątny prostokąt z zaokrąglonymi rogami zawierający miejsca na takie elementy jak ikona aplikacji, godzina, tytuł i treść.

W kolejnych wersjach zestaw widżetów zostanie rozszerzony o obsługę selektorów, suwaków, list, wskaźników stron, okien, wskaźników rsb przewijania, powiadomień i innych elementów Wear Material Design.

Dodatkowo zapewnimy obsługę innych funkcji związanych z urządzeniami do noszenia, takich jak zakrzywione układy i tekst, a także rusztowanie ułatwiające deweloperom tworzenie aplikacji i nakładek do noszenia.

Został opracowany zgodnie z tymi samymi zasadami co w przypadku elementu kompozycyjnego, ale jest kierowany na urządzenia do noszenia. Podczas tworzenia urządzeń do noszenia zamiast biblioteki Compose Compose należy używać biblioteki Material Wear Compose zamiast biblioteki Compose Compose.

Dwie biblioteki „Materiałów” powinny być wzajemnie wykluczające się i nie należy ich mieszać w tej samej aplikacji. Jeśli deweloperzy zauważą, że w swoich zależnościach deweloperzy uwzględnili bibliotekę Compose Material, oznacza to, że: a) brakuje komponentów w bibliotece materiałów Wear Compose, prosimy o informacje, czego potrzebują, lub b) używają komponentu, którego nie zalecamy do noszenia na urządzeniu do noszenia.