Wear Compose
Ostatnia aktualizacja | Wersja stabilna | Wersja kandydująca | Wersja Beta | Wersja alfa |
---|---|---|---|---|
11 grudnia 2024 r. | 1.4.0 | - | - | 1.5.0-alpha07 |
Deklarowanie zależności
Aby dodać zależność od Wear, musisz dodać repozytorium Google Maven do projektu. Więcej informacji znajdziesz w repozytorium Maven firmy Google.
Dodaj zależności dla 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ć Jetpacka. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk z gwiazdką.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wear Compose Material3 w wersji 1.0
Wersja 1.0.0-alpha30
11 grudnia 2024 r.
androidx.wear.compose:compose-material3:1.0.0-alpha30
został zwolniony. Wersja 1.0.0-alpha30 zawiera te komity.
Zmiany w interfejsie API
- Modyfikator
scrollTransform
w przypadkuTransformingLazyColumn
został przekształcony, co spowodowało zmianę w interfejsie API. (I0c6dc) - Zaktualizowaliśmy parametry
IconToggleButtonShapes
iTextToggleButtonShapes
, aby zawierały 2 różne parametry kształtu:uncheckedPressed
icheckedPressed
(I85dbd). - Nieprawidłowe opcje miesiąca/dnia są teraz widoczne w sekcji
DatePicker
, a nowa opcjainvalidPickerContentColor
jest dostępna w przypadku korzystania z elementówminDate
lubmaxDate
. (If4541) - Zaktualizowaliśmy interfejs API
Stepper
, aby udostępnić slotyincreaseIcon
idecreaseIcon
. Treści do tych slotów można tworzyć jak zwykle za pomocą komponentu Ikona. (Id35da) - Zaktualizowaliśmy funkcję
dynamicColorScheme
, usuwając opcjonalny parametrdefaultColorScheme
i zwracając teraz wartośćColorScheme
, która może być pusta. Oznacza to, że wywołujący musi wyraźnie obsłużyć przypadek awaryjny, gdy nie podano dynamicznego schematu kolorów. (I6d62e) - Zaktualizowaliśmy rozmiary ikon w
ButtonDefaults
, aby można było ich używać wCompactButton
. W przypadkuCompactButton
zawierającego tylko ikonę należy użyć atrybutuButtonDefaults.SmallIconSize = 24.dp
, a w przypadkuCompactButton
zawierającego ikonę i tekst – atrybutuButtonDefaults.ExtraSmallIconSize = 20.dp
. Zalecamy, abyCompactButton
zawijała zawartość (zamiast wypełniać maksymalną szerokość). Zaktualizowaliśmy próbki, aby to pokazać. (I0582c) - Dodaliśmy
EdgeButtonDefaults
z zalecanymi rozmiarami ikon dla 4 różnychEdgeButtonSizes
. Zaktualizowaliśmy też układEdgeButton
, aby miał nieco większy odstęp od dołu niż od góry, co poprawia wygląd zarówno ikony, jak i treści tekstowej. (Id772a) - Dodaliśmy animację do
LinearProgressIndicator
i ujawnieniaLinearProgressIndicatorContent
, które zawierają treści wizualne bez animacji. (Idee99) - Dodaliśmy nowy komponent
CircularProgressIndicatorContent
, który umożliwia wyświetlanie treści wizualnych komponentuCircularProgressIndicator
bez animacji. (Ie33d4) TransformingLazyColumn
zawiera teraz kompozycję lokalnąLocalTransformingLazyColumnItemScope
, którejCard
s,Button
s iListHeader
s używają do automatycznego przekształcania się, gdy są umieszczone wTransformingLazyColumn
. Rozmówcy mogą wyłączyć automatyczne przekształcanie za pomocą nowego opakowaniaTransformExclusion
. (I1652f)- Zmiana typu pola
ButtonDefaults.shape
naRoundedCornerShape
(Iccdf2).
Poprawki błędów
- Naprawiliśmy błąd dotyczący zachowania istniejącej przezroczystości tła w
TimeText
(I1eb60). - W naszej typografii domyślnie ustawiliśmy wartość
TextMotion
naAnimated
, aby uniknąć drgań tekstu spowodowanych przyciąganiem glif liter do granic pikseli podczas operacji skalowania. (I626fa) - Zaktualizowaliśmy wygląd
ScrollIndicator
, zwiększając szerokość i odstęp, aby poprawić widoczność. (Ied7cb) - Naprawiliśmy błąd w
Modifier.scrollTransform
dotyczący dodawania, usuwania i przenoszenia elementów. (I6830f) - Rozwiązaliśmy problem z animacją okrągłego przycisku w przypadku krótkich dotknięć (wcześniej minimalny czas trwania animacji nie był zawsze przestrzegany). (I757a7)
- Zaktualizowaliśmy kąt skanowania dla
LevelIndicator
do 20% (czyli 72 stopnie). (Idde5c) - Rozwiązaliśmy problem z pozycjonowaniem
ScrollIndicator
, gdy używana jest funkcjaScalingLazyColumn
w ramachAutoCenteringParams
. (I387dd) - Zaktualizowaliśmy kolory i typografię w przypadku
ListHeader
iListSubHeader
. Dotyczy to również kolorów przełącznikówCheckboxButton
iSwitchButton
. (I39817) - Rozwiązaliśmy problem z pozycjonowaniem
ScrollIndicator
w wersjachLazyColumn
iScalingLazyColumn
z użyciemContentPadding
. (I2bc51) - Poprawiliśmy błąd występujący w animacji postępu
OpenOnPhoneDialog
, używając nowegoCircularProgressIndicatorContent
. (I3e443) - Zaktualizowaliśmy
HorizontalPagerScaffold
iVerticalPagerScaffold
, aby wyłączyć animacje, gdy włączona jest opcja Ogranicz animacje (Iaaf68). - Wprowadziliśmy osobną animację dla kółkowych wskaźników postępu, gdy postęp osiąga ponad 100%. (I47135)
- Naprawiliśmy błąd, który powodował, że komponenty strony
EdgeButton
mogły być rysowane z nieprawidłowym kształtem (I91db9).
Wersja 1.0.0-alpha29
13 listopada 2024 r.
androidx.wear.compose:compose-material3:1.0.0-alpha29
został zwolniony. Wersja 1.0.0-alpha29 zawiera te komity.
Zmiany w interfejsie API
- Zaktualizowaliśmy
TimeText
, aby wyświetlać domyślne treści z godzinami. (Id23b3) - Uprościliśmy funkcję
ScrollInfoProvider
, zastępując ją funkcjąPagerState
, w której usunięty został niepotrzebny parametrorientation
. Nowe zachowanie polega na tym, żeTimeText
pozostaje na swoim miejscu zarówno w przypadku przewijania poziomego, jak i pionowego. (I71767) LocalHapticFeedback
udostępnia teraz domyślną implementacjęHapticFeedback
, gdy interfejs Vibrator API wskazuje, że haptyka jest obsługiwana. Do operatoraHapticFeedbackType
dodano użytkownikówConfirm
,ContextClick
,GestureEnd
,GestureThresholdActivate
,Reject
,SegmentFrequentTick
,SegmentTick
,ToggleOn
,ToggleOff
iVirtualKey
. Komponenty Wear Compose, które można kliknąć dłużej, takie jakButton
,IconButton
,TextButton
iCard
, wykonują teraz haptyczneLONG_PRESS
, gdy zostanie podany moduł obsługi długiego kliknięcia. (I5083d)
Poprawki błędów
- Zaktualizowaliśmy animację potwierdzenia. (I04bff)
- W przypadku bibliotek Compose minimalna wersja interfejsu API została zaktualizowana do 1.7.4. (I88b46)
- Dodano nowe animacje dla okna dialogowego
OpenOnPhone
. (I1e10a) - Naprawiliśmy błąd w usługach
LevelIndicator
, dzięki czemu są one teraz wyświetlane prawidłowo, gdy poziom wynosi 0. (Ie95a4) - Zaktualizowaliśmy animacje
HorizontalPageIndicator
iVerticalPageIndicator
. (I5c8f3) - Do nieokreślonego
ArcProgressIndicator
dodaliśmy animację kurczenia się do kropki. (I9fd51)
Wersja 1.0.0-alpha28
30 października 2024 r.
androidx.wear.compose:compose-material3:1.0.0-alpha28
został zwolniony. Wersja 1.0.0-alpha28 zawiera te komity.
Zmiany w interfejsie API
- Dodaliśmy wariant łuku w nieokreślonym kołowym wskaźniku postępu (I2efc1).
- Udostępniliśmy komponenty
AlertDialogContent
iDialog
, które składają się na interfejs APIAlertDialog
, aby umożliwić w razie potrzeby dodanie własnych ustawień (np. dostosowanie animacjiAlertDialog
przy zachowaniu zalecanego układu treści). Dodatkowo do elementówEdgeButton
,ConfirmButton
iDismissButton
grupyAlertDialogDefaults
dodaliśmy parametryModifier
iColor
. (I4eb71) - Zaktualizowaliśmy interfejs API
Placeholder
w następujący sposób: zmieniliśmy nazwę parametruPlaceholderState.startPlaceholderAnimation
naPlaceholderState.animatePlaceholder
,PlaceholderState.isShowContent
naPlaceholderState.isHidden
iPlaceholderDefaults.shape
naPlaceholderDefaults.Shape
; zmieniliśmy nazwę parametrupainter
w interfejsiepainterWithPlaceholderOverlayBackgroundBrush
naoriginalPainter
; zmieniliśmy widoczność parametruPlaceholderState.placeholderProgression
z publicznej na wewnętrzną i zmieniliśmy jego nazwę naplaceholderShimmerProgression
; dodaliśmy stałe czasu trwania animacji w miejscuPlaceholderDefaults
. (Ie5a59) - Zaktualizowaliśmy interfejs API
EdgeButton
w następujący sposób: zmieniliśmy nazwę parametruScreenScaffold
zbottomButton
naedgeButton
; parametrEdgeButtonSize
stał się klasą wartości. (Ieef15) - Zmieniliśmy widoczność klasy
copy()
na publiczną w klasach kolorów wear material3 (I0287f).
Poprawki błędów
- Dodano minimalny czas animacji dla
IconToggleButton
iTextToggleButton
po kliknięciu (Ieb333). - Dodano minimalny czas trwania animacji kształtów
IconButton
iTextButton
(Iebcee). - Poprawiono stan opcji powtarzania
DatePicker
. (I3587c) - Dodano animację dla ostrzeżeń i okienek potwierdzenia. (I173b1)
Wersja 1.0.0-alpha27
16 października 2024 r.
androidx.wear.compose:compose-material3:1.0.0-alpha27
został zwolniony. Wersja 1.0.0-alpha27 zawiera te komity.
Zmiany w interfejsie API
- Zaktualizowaliśmy
ScreenScaffold
iScrollIndicator
po zmianie nazwy projektu Wear Compose Foundation zLazyColumn
naTransformingLazyColumn
. (I0608b) - Parametr
EdgeButton
o nazwiepreferredHeight
został przemianowany nabuttonSize
, a jego wartość może być wybrana tylko spośród 4 stałych wartości w nowo wprowadzonej klasie wartościEdgeButtonSize
. (Icdd70) - Zmieniliśmy nazwę parametru
ListSubheader
naListSubHeader
i dodaliśmy publicznie dostępne wartości domyślne dla parametrówListHeader
iListSubHeader
. (I96730) - Dodaliśmy nowe komponenty
HorizontalPagerScaffold
iVerticalPagerScaffold
na potrzeby Wear, które zapewniają nowe animacje i koordynację między tekstem czasu a elementami wskaźnika strony. (Iff7d0) - Dodaliśmy obsługę urządzeń z pokrętłem do
HorizontalPagerScaffold
iVerticalPagerScaffold
, aby umożliwić użytkownikom poruszanie się po menu za pomocą urządzeń z pokrętłem. (I9770d) - Wprowadziliśmy zmiany w interfejsie
MotionScheme
API, aby uprościć jego używanie i poprawić spójność. Usunięto wbudowane funkcje zapamiętania i przeniesiono wbudowane schematy animacji do dedykowanego obiektu towarzyszącego MotionScheme. Zmieniono nazwystandardMotionScheme
iexpressiveMotionScheme
na standardowe i wyraziste. (I5fd45) - Dodaliśmy obsługę dynamicznego schematu kolorów opartego na kolorach systemu. (I073e9)
- Zaktualizowaliśmy suwak zgodnie z najnowszymi specyfikacjami UX. (I622bb)
Poprawki błędów
- Zaktualizowaliśmy typografię i odstępy w komponentach kart. (I3ae48)
- Zmieniliśmy odstęp w
AlertDialog
między przyciskami Potwierdź/Anuluj a resztą treści z 8 dp na 12 dp zgodnie ze specyfikacją UX (Ie55f0). - Zaktualizowaliśmy przezroczystość kolorów w komponencie Suwak. (Idb383)
Wersja 1.0.0-alpha26
2 października 2024 r.
androidx.wear.compose:compose-material3:1.0.0-alpha26
został zwolniony. Wersja 1.0.0-alpha26 zawiera te komity.
Zmiany w interfejsie API
- Zaktualizowaliśmy interfejs API i wygląd usługi
HorizontalPageIndicator
oraz dodaliśmy funkcjęVerticalPageIndicator
do użycia z usługąVerticalPager
(Ic9309) AlertDialog
obsługuje teraz możliwość pominięcia domyślnego dolnego przycisku w wariantach zestawu przycisków w przypadku niestandardowych układów, w których nie jest wymagany przycisk EdgeButton. (I34fa9)- Dodaliśmy komponent
SwipeToReveal
dla Wear Material 3 (Ic38b2). - Dodaliśmy obsługę dwukierunkowego przesuwania w aplikacji
SwipeToReveal
na wypadek rzadkich sytuacji, w których bieżący ekran nie obsługuje tej funkcji. Domyślnie przewijanie w celu wyświetlenia jest nadal możliwe tylko przy przesuwaniu od prawej do lewej. Zdecydowanie zalecamy zachowanie domyślnego zachowania, aby uniknąć konfliktu z przesuwaniem w celu zamknięcia. (Ifac04) - Zmieniliśmy nazwę parametru
buttonHeight
w modeluEdgeButton
napreferredHeight
. (I4fab3) - Wersja Kotlin została zaktualizowana do 1.9 (I1a14c)
- Zmieniliśmy nazwę
OpenOnPhoneDialogDefaults.Icon
naOpenOnPhoneDialogDefaults.OpenOnPhoneIcon
, aby uniknąć konfliktu z poziomemIcon
(I0f391). - Dodaliśmy obsługę właściwości
ScrollIndicator
w przypadku właściwościLazyColumn
. (Ia546a) - Zaktualizowaliśmy wartości domyślne dla
TextToggleButton
iIconToggleButton
. (I7aaa9) - Uprościliśmy interfejsy API
Picker
iPickerGroup
. (Id0653) - Dodaliśmy zmienne
CardDefaults.Shape
iCardDefaults.Height
, które (jako tokeny) były wcześniej prywatne dla deweloperów korzystających z biblioteki. (I1594a, b/347649765) - Zmieniliśmy nazwę parametru postępu dla binarnego segmentowanego kołowego wskaźnika postępu na
segmentValue
. (Ib72d9) - Zaktualizowaliśmy kolory i układ slajdu. (Ic3eec)
Poprawki błędów
- Zaktualizowaliśmy animację ikony
openOnPhone
(I66f85). - W usługach
Slider
,TimePicker
iDatePicker
używamy teraz ikon Google Symbols. (I46c7c) - Zaktualizowaliśmy wypełnienie w elementach
Confirmation
iOpenOnPhoneDialog
. (Iaa82e)
Wersja 1.0.0-alpha25
18 września 2024 r.
androidx.wear.compose:compose-material3:1.0.0-alpha25
został zwolniony. Wersja 1.0.0-alpha25 zawiera te komity.
Zmiany w interfejsie API
- Dodaliśmy okrągły wskaźnik postępu z nieokreślonym czasem trwania. (I427a7)
- Dodaliśmy obsługę przepełnienia postępu (powyżej 100%), zarówno w przypadku
CircularProgressIndicator
, jak iSegmentedCircularProgressIndicator
. Gdy postęp przekroczy 1,0, zostanie to oznaczone nowym koloremoverflowTrack
. (Iaaa3d) - Okrągłe ikony
IconToggleButton
iTextToggleButton
obsługują teraz nową animację kształtu, w której różne kształty oznaczają stany zaznaczone, niezaznaczone i wciśnięte. Wcześniejsza animowana wersja kształtu w stanie „wciśnięte” jest nadal obsługiwana. (I29f03) - Usunęliśmy obsługę
EdgeButton
w komponencieColumn
, ponieważ w komponencieScreenScaffold
należy wyraźnie określić wysokośćEdgeButton
. (Ie353d) - Dodaliśmy obsługę
LazyColumn
w komponencie Wear Compose w komponencieScreenScaffold
(i dodaliśmy implementacjęScrollInfoProvider
w komponencieLazyColumnState
). (Ib8d29) - Aby zapewnić bardziej elastyczne rozwiązanie, połączyliśmy komponenty
LocalTextMaxLines
,LocalTextAlign
iLocalTextOverflow
w jedną kompozycję lokalnąLocalTextConfiguration
. (I5edbc) - Dodaliśmy typ arc-large jako dodatkowy typ skali, zarezerwowany dla krótkich ciągów tekstowych nagłówka u samego góry lub u samego dołu ekranu, np. w przypadku nakładek z potwierdzeniem. (I60e3e)
- Do przycisku dodaliśmy domyślne wartości zalecanych rozmiarów ikon dużych i bardzo dużych oraz odstępów treści. (I84675)
Poprawki błędów
- Zaktualizowaliśmy kolory
IconButton
iTextButton
. (I48324) - Zmieniliśmy podstawową funkcję przeciążenia przycisku, aby była wyrównana do środka w pionie, tak aby była spójna z innymi przeciążeniami. Aby przywrócić poprzedni sposób działania, użyj
Modifier.align
z poziomuRowScope
. (I66e57)
Wersja 1.0.0-alpha24
4 września 2024 r.
androidx.wear.compose:compose-material3:1.0.0-alpha24
został zwolniony. Wersja 1.0.0-alpha24 zawiera te komity.
Zmiany w interfejsie API
- Do motywu Material 3 dodaliśmy schemat Motion. Będzie ono używane przez komponenty w bibliotece do stosowania specyfikacji animacji, takich jak sprężyny do tworzenia wyrazistych ruchów. (I54ff3)
- Do biblioteki Material3 dodaliśmy komponenty
AppScaffold
iScreenScaffold
, które obejmują funkcję do koordynowania warstw i przejśćTimeText
iScrollIndicator
.AppScaffold
udostępnia komponenty szablonu na najwyższym poziomie, które znajdują się na wszystkich ekranach. DodanieTimeText
doAppScaffold
pozwala zachować jego pozycję podczas przesuwania palcem między ekranami. Ekrany mogą same zastąpić lub ukryć tekst czasu.ScreenScaffold
udostępnia slot dlaScrollIndicator
i automatycznie animuje wskaźnik przewijania podczas przewijania, w tym czas oczekiwania na ukrycie wskaźnika po bezczynności. (I047d6) - Dodaliśmy
ScrollIndicator
z nowym wzornictwem Material 3. Ma on stały rozmiar miniatury na podstawie początkowej zawartości listy, aby uniknąć różnic w rozmiarze podczas wczytywania treści na liście. (Ic228d) - Zmieniliśmy interfejs API
ScrollAway
tak, abyScreenStage
była klasą wartości zamiast klasy typu enum. Dzięki temu w przyszłości będzie można dodawać kolejne etapy w miarę potrzeby. (I48c93) - Dodaliśmy przycisk
EdgeButton
, który jest charakterystyczny dla Wear i ma kształt dostosowany do zakrzywienia dolnej części ekranu (I16369). - Dodaliśmy do
ScreenScaffold
nowy boks na przycisk dolny (np.EdgeButton
), który będzie wyświetlany i zmieniał rozmiar w zależności od treści przewijanych (I032eb) - Dodaliśmy elementy
Modifier.scrollTransform
iModifier.targetMorphingHeight
, aby dodać efekty ruchu Material 3 do elementów wLazyColumn
. (Ie229a) - Dodaliśmy
SegmentedCircularProgressIndicator
jako wariantCircularProgressIndicator
. Wersja podzielona pokazuje albo jedną wartość postępu we wszystkich segmentach, albo każdy segment jako włączony lub wyłączony (I6e059). - Dodaliśmy
LinearProgressIndicator
jako alternatywę dla dotychczasowej właściwościCircularProgressIndicator
. (I89182) - Dodaliśmy
AlertDialog
, czyli układy do wyświetlania użytkownikowi ważnych promptów. Zawiera ona warianty pary przycisków potwierdzenia/odrzucenia lub pojedynczego przycisku na dole (zwykle przycisku EdgeButton) pod zbiorem opcji. Obie wersje mają sloty na ikonę, tytuł i dodatkowy tekst, w których można podać więcej szczegółów. (Ieb873) - Dodaliśmy symbol
OpenOnPhoneDialog
, który powinien być używany do wskazywania działania, które będzie kontynuowane na telefonie użytkownika.OpenOnPhoneDialog
zostanie zamknięty po upływie określonego czasu. (I978fd) - Dodaliśmy komponent dialogu
Confirmation
, który ma miejsca na ikonę i tekst w linii lub zakrzywiony. W przypadku komunikatów o sukcesie lub niepowodzeniu dostępne są różne wersje. Po upływie limitu czasu potwierdzenia są automatycznie odrzucane. (Ib43e8) - Dodaliśmy tło do
TimeText
, aby rozwiązać problemy, które występowały, gdy podstawowe treści iTimeText
nakładały się na siebie i zasłaniały czas. (Ia11fd) - Dodaliśmy komponent
LevelIndicator
, który pokazuje wartość ustawienia, np. głośności. Można go używać z dotychczasowym komponentemStepper
do tworzenia ekranu głośności.LevelIndicator
jest podobny doScrollIndicator
, ale wyświetla się po przeciwnej stronie ekranu, ma szerszą obwódkę i domyślnie inny kolor wskaźnika. (I8a4ac) - Dodaliśmy
TimePicker
z układami dla formatu 24-godzinnego (z sekundami lub bez nich) lub 12-godzinnego z opcją wyboru pory dnia. (Ia5124) - Dodaliśmy
DatePicker
z konfiguracją sortowania kolumn (np. dzień-miesiąc-rok, miesiąc-dzień-rok lub rok-miesiąc-dzień) oraz opcjonalne daty minimalne i maksymalne. (Ibf13b) - Dodaliśmy parametr weight do funkcji
text
w dodatkuTimeText
. W przypadku, gdy element TimeText składa się z więcej niż jednego elementu tekstowego, umożliwia to kontrolowanie sposobu rozmieszczenia przestrzeni. (I36700) - Dodaliśmy elementy
RadioButton
iSplitRadioButton
, które upraszczają poprzedni interfejs API dzięki połączeniu elementówSelectableButton
(Split) i elementu podrzędnego radio control (If7ae8). - Dodaliśmy elementy
CheckboxButton
iSplitCheckboxButton
, które upraszczają poprzedni interfejs API dzięki połączeniu elementu (Split)ToggleButton
i podrzędnego elementu pola wyboru (Ia8f70). - Dodaliśmy
SwitchButton
iSplitSwitchButton
– te komponenty upraszczają poprzedni interfejs API poprzez połączenie interfejsu(Split)ToggleButton
i elementu podrzędnego Switch control (I0d349). - Zaktualizowaliśmy dokumentację
AnimatedText
, aby wyjaśnić działanie funkcji przechwytywania. (Iff30a) - Dodaliśmy
ButtonGroup
, aby połączyć 2 lub 3 przyciski, tak aby ich naciśnięcia wywoływały zsynchronizowaną animację. (Ie27db) - Dodaliśmy opcjonalną animację kształtu dla przycisków
IconButton
iTextButton
. (Iffca5) - Dodaliśmy dodatkowy wariant kolorystyczny
FilledVariant
doButton
,IconButton
,TextButton
,CompactButton
iEdgeButton
(I65fc3). - Do parametru
forcedSize
dodaliśmy parametrImageWithScrimPainter
, dzięki czemu tła obrazów przycisków zachowują teraz domyślnie rozmiar komponentu. UstawienieforcedSize = null
powoduje przyjęcie wartościPainter.instrinsicSize
. (Ic57af) - Dodaliśmy długie kliknięcie do przycisków (Ib613d).
- Dodaliśmy też obsługę długiego kliknięcia do dodatków
IconButton
iTextButton
. (I38891) - Do kart dodano obsługę długiego kliknięcia. (I305d5)
- Dodaliśmy parametry
LocalTextMaxLines
,LocalTextAlign
iLocalTextOverflow
jakoCompositionLocals
i użyliśmy ich jako domyślnych parametrów w funkcjiText
. Lokalne wartości kompozycji mogą teraz być używane przez komponenty takie jakCheckboxButton
,SwitchButton
,RadioButton
do implementowania wskazówek dotyczących UX, ale w razie potrzeby deweloperzy mogą je zastąpić. (Iab841) - Dodaliśmy
Placeholder
, aby umożliwić maskowanie zawartości komponentów takich jak przyciski i karty do momentu załadowania danych. (I1a532) - Dodaliśmy
IconToggleButtonColors
iTextToggleButtonColors
, aby zastąpić usunięty adresToggleButtonColors
. (Ie0bf1)
Poprawki błędów
- Zaktualizowaliśmy parametry
Button
,FilledTonalButton
,OutlinedButton
,ChildButton
iCompactButton
, aby używały nowych parametrówCompositionLocals
,LocalTextMaxLines
,LocalTextAlign
iLocalTextOverflow
. Dzięki temu możesz wdrożyć zalecenia dotyczące UX. W razie potrzeby deweloperzy mogą bezpośrednio zastąpić te parametry w Tekście (Ie51f7). - Zmieniliśmy domyślną szerokość kreski
LevelIndicator
na6dp
, aby odróżnić ją odScrollIndicator
, która ma szerokość kreski4dp
. (If6f63) - Naprawiliśmy problem w
TimeText
, aby obsługiwać większe kąty skanowania. (Ie489f) - Rozwiązaliśmy problem z rekompozycją
EdgeButton
. (I4cdca) - Poprawione układy podzielonych przycisków przełączników, gdy ustawiono niestandardowe wypełnienie treści. (Ia33d3)
- małe wartości postępu są zaokrąglane w górę do szerokości linii wskaźnika postępu; (I3bd84)
Wersja 1.0.0-alpha23
14 maja 2024 r.
androidx.wear.compose:compose-material3:1.0.0-alpha23
został zwolniony. Wersja 1.0.0-alpha23 zawiera te komity.
Zmiany w interfejsie API
- Zaktualizowaliśmy interfejsy API
ToggleButton
iRadioButton
, aby umożliwić konfigurowanie wyłączonych kolorów. (If13a7) - Dodaliśmy nową
CircularProgressIndicator
dla Material 3. (Ib3bd7)
Poprawki błędów
- Naprawiliśmy błąd polegający na tym, że przyciski do wyboru wyświetlały komunikat o kliknięciu dwukrotnym, gdy były już wybrane. (I7ed88)
Wersja 1.0.0-alpha22
1 maja 2024 r.
androidx.wear.compose:compose-material3:1.0.0-alpha22
został zwolniony. Wersja 1.0.0-alpha22 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zaktualizowaliśmy Material3
ColorScheme
. (I7b2b8) - Zaktualizowaliśmy przełącznik Material3. Oprócz zmian kolorów znacznik jest teraz zgodny z tym, który jest używany w przypadku pola wyboru. (Icac7b)
Poprawki błędów
- Zaktualizuj wszystkie demonstracje integracji, aby używać nowego modyfikatora
rotaryScrollable
. (I25090)
Wersja 1.0.0-alpha21
17 kwietnia 2024 r.
androidx.wear.compose:compose-material3:1.0.0-alpha21
został zwolniony. Wersja 1.0.0-alpha21 zawiera te komity.
- Ta wersja została opublikowana z powodu problemu technicznego w poprzedniej wersji, który spowodował brak plików źródłowych jar. W tej wersji nie ma nowych commitów.
Wersja 1.0.0-alpha20
3 kwietnia 2024 r.
androidx.wear.compose:compose-material3:1.0.0-alpha20
został zwolniony. Wersja 1.0.0-alpha20 zawiera te komity.
Poprawki błędów
- Dostosowaliśmy przezroczystość stanu naciśniętego i wyostrzonego przycisku Ripple. (I59f0a)
- W ramach najnowszych zmian w stylach typograficznych i wysokości linii dodaliśmy odstęp między etykietami głównymi i dodatkowymi w elementach
Button
,ToggleButton
iRadioButton
. (I2c0ba)
Wersja 1.0.0-alpha19
6 marca 2024 roku
androidx.wear.compose:compose-material3:1.0.0-alpha19
został zwolniony. Wersja 1.0.0-alpha19 zawiera te komisy.
Zmiany w interfejsie API
- Dodaliśmy
TimeText
do biblioteki Material3 na Wear. Ten komponent wyświetla u góry ekranu aktualną godzinę (i dodatkowy stan). Nowe, zwięzłe API Material3 pozwala uniknąć powielania treści linearnych i zawijanych. (I4d7c3) - Zmieniliśmy nazwy parametrów
RadioButton
zonSelected
naonSelect
. (I1a971) - Tokenizuj
RadioButton
iSplitRadioButton
, a także zrefaktoryzuj istniejące metody, aby zmniejszyć liczbę wyszukiwańCompositionLocal
przez dodanie do pamięci podręcznej wystąpień kolorów i ustawienie metodRadioButtonColors
iSplitRadioButtonColors
jako wewnętrznych. (I02b33)
Wersja 1.0.0-alpha18
21 lutego 2024 r.
androidx.wear.compose:compose-material3:1.0.0-alpha18
został zwolniony. Wersja 1.0.0-alpha18 zawiera te commity.
Zmiany w interfejsie API
- Zmieniliśmy wzór domyślnych wartości dla funkcji
CardColors
,ToggleButtonColors
iSplitToggleButtonColors
, tworząc wewnętrznie instancje z wykorzystaniem pamięci podręcznej i zmniejszając użycie funkcjiCompositionLocal
. (If3fec)
Wersja 1.0.0-alpha17
7 lutego 2024 r.
androidx.wear.compose:compose-material3:1.0.0-alpha17
został zwolniony. Wersja 1.0.0-alpha17 zawiera te commity.
Zmiany w interfejsie API
- Zaktualizowaliśmy interfejs Button API, aby domyślnie używał interfejsu
buttonColors
, i usunęliśmy duplikat interfejsufilledButtonColors
. (I4fe3b) - Przekształciliśmy domyślne wzorce w przypadku funkcji
ButtonColors
,IconButtonColors
iTextButtonColors
, tworząc wewnętrznie instancję z wykorzystaniem pamięci podręcznej i zmniejszając użycie funkcjiCompositionLocal
. (I5f51c) - Usunęliśmy nadmiar
rememberUpdatedState
w klasach kolorów związanych ze składnikami i oznaczyliśmy metody dostępu w klasach kolorów jako wewnętrzne. (If6571)
Poprawki błędów
- Zaktualizowaliśmy aplikację
Modifier.minimumInteractiveComponentSize
, aby korzystała z funkcjiModifier.node
. (Iba6b7)
Wersja 1.0.0-alpha16
24 stycznia 2024 r.
androidx.wear.compose:compose-material3:1.0.0-alpha16
został zwolniony. Wersja 1.0.0-alpha16 zawiera te commity.
Nowe funkcje
- Dodaliśmy
CompactButton
, który może używać tych samych kolorów wypełnień, wypełnień tonalnych i konturów co przycisk (I05df0).
Zmiany w interfejsie API
- Dodaliśmy elementy
RadioButton
/SplitRadioButton
jako kontenery dla elementów sterujących wyborem, takich jak element radiowy. Różnica międzyRadioButton
aToggleButton
polega na tym, żeRadioButton
można wybrać (i działa on w ramach grupy wyboru), podczas gdyToggleButton
można włączać i wyłączać (jest niezależny). (I61275) - Usunęliśmy komponent
LocalContentAlpha
z biblioteki Material3 na Wear, aby zachować spójność z biblioteką Compose Material3. (I49a0a) - Komponenty Wear Material i Wear Material3, które w swoim interfejsie API udostępniają wartość
MutableInteractionSource
, zostały zaktualizowane, aby udostępniać wartość opcjonalnąMutableInteractionSource
, która domyślnie jest ustawiana na null. Nie ma tu żadnych zmian semantycznych: przekazanie wartości null oznacza, że nie chcesz podnosićMutableInteractionSource
, i w razie potrzeby zostanie on utworzony wewnątrz komponentu. Ustawienie wartości null pozwala niektórym komponentom nigdy nie przydzielaćMutableInteractionSource
, a innym pozwala tworzyć instancję tylko wtedy, gdy jest to konieczne, co zwiększa wydajność tych komponentów. Jeśli nie używasz wartościMutableInteractionSource
przekazywanej do tych komponentów, zalecamy przekazanie zamiast niej wartości null. Zalecamy też wprowadzenie podobnych zmian w własnych komponentach. (Ib90fc, b/298048146) - Dodaje nowy interfejs API ripple do bibliotek
wear:compose-material
iwear:compose-material3
, który zastępuje wycofany interfejsrememberRipple
. Dodaje też tymczasowyCompositionLocal
,LocalUseFallbackRippleImplementation
, aby przywrócić komponentom Material Design korzystanie z wycofanych interfejsów APIrememberRipple/RippleTheme
. Zostanie on usunięty w kolejnych stabilnych wersjach. Jest to tylko tymczasowe ułatwienie migracji w przypadku, gdy używasz niestandardowegoRippleTheme
. Informacje o przenoszeniu i szczegółowe informacje o tej zmianie znajdziesz na stronie developer.android.com. (af92b21) - Wprowadziliśmy drobne ulepszenia w interfejsie API
HorizontalPageIndicator
i jego dokumentacji. (I60efc) - Zmieniliśmy właściwości
ColorScheme
, aby były niezmienne, co zmniejsza efektywność zmian poszczególnych kolorów, ale zwiększa efektywność częstszego ich używania. Powodem tej zmiany jest fakt, że większość aplikacji nie ma potrzeby aktualizowania poszczególnych kolorów. Nadal jest to możliwe, ale będzie wymagać większej liczby ponownego kompilowania niż wcześniej. W związku z tym znacznie zmniejszyliśmy liczbę subskrypcji stanu w całym kodzie materiału, co wpłynie na koszty inicjalizacji i wykonania w przypadku standardowych zastosowań. (Ibc2d6) - Zaktualizowano interfejsy API
ToggleButton
iSplitToggleButton
, aby umożliwić dostosowywanie wyłączonych kolorów. Dodatkowo tokeny Material Design są teraz używane do wartości kolorów i typografii. (If087c) - Zaktualizowano kolory tła obrazu przycisku, aby używać tokenów Material Design. (Iba215)
- Składniki
Checkbox
,Switch
iRadioButton
są teraz tylko do wyświetlania, ponieważ usunęliśmy obsługę kliknięć. Te komponenty są przeznaczone do użycia w komponencie(Split)ToggleButton
, który obsługuje kliknięcie, dlatego są teraz wyraźniej oznaczone jako komponenty tylko do wyświetlania (nie są przeznaczone do samodzielnego używania na Wear). (I2322e)
Poprawki błędów
- Dodaliśmy tokeny dla wartości animacji czasu trwania i wygładzania w komponowaniu interfejsu użytkownika w Wear Compose Material 3. (I437cd)
- Naprawiliśmy błąd w elementach
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
iRadioButton
, aby zapobiec powtarzaniu się komunikatów ułatwień dostępu (wcześniej role semantyczne były powielane). (Ica281) - Aby zwiększyć wydajność, usunęliśmy warstwę MaterialCore w przypadku
CompactButton
. (7902858)
Wersja 1.0.0-alpha15
15 listopada 2023 r.
androidx.wear.compose:compose-material3:1.0.0-alpha15
został zwolniony. Wersja 1.0.0-alpha15 zawiera te commity.
Zmiany w interfejsie API
- Zmieniliśmy nazwę poziomu Podstawy
SwipeToDismissBox
naBasicSwipeToDismissBox
. Dzięki temu łatwiej odróżnić komponent na poziomie Foundation od komponentu na poziomie Material 3.SwipeToDismissBox
Drugi z nich pobiera kolory z poziomuMaterialTheme
, aby wykorzystać je w przesłonach, a pozostałe elementy implementuje w poziomieBasicSwipeToDismissBox
. (Ibecfc)
Poprawki błędów
- Aby poprawić wydajność, usunęliśmy warstwę material-core w przypadku przycisku Material3. (I55555)
Wersja 1.0.0-alpha14
18 października 2023 r.
androidx.wear.compose:compose-material3:1.0.0-alpha14
został zwolniony. Wersja 1.0.0-alpha14 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Usunęliśmy parametr
indicatorStyle
z Material3HorizontalPageIndicator
– zamiast tego będzie on dostosowywany do kształtu ekranu urządzenia (prostokątny lub okrągły). (I83728) - Oddzieliliśmy kolory
SplitToggleButton
od kolorówToggleButton
, dodając nową klasęSplitToggleButtonColors
. (I78bee)
Wersja 1.0.0-alpha13
4 października 2023 roku
androidx.wear.compose:compose-material3:1.0.0-alpha13
został zwolniony. Wersja 1.0.0-alpha13 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaliśmy do
TitleCard
opcjonalne pole z napisami. (Ifc45a) - Dodaliśmy tokeny kolorów w stylu Material Design dla
TextButton
. (I769dc)
Wersja 1.0.0-alpha12
20 września 2023 r.
androidx.wear.compose:compose-material3:1.0.0-alpha12
został zwolniony. Wersja 1.0.0-alpha12 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zaktualizowaliśmy aplikację
IconButton
, aby używała tokenów Material Design. (I3f137) - Zaktualizowaliśmy aplikację
IconToggleButton
, aby używała tokenów Material Design. (I7d263) - Udostępniliśmy konstruktory
CheckboxColors
,RadioButtonColors
iSwitchColors
. (I82b73)
Wersja 1.0.0-alpha11
6 września 2023 r.
androidx.wear.compose:compose-material3:1.0.0-alpha11
został zwolniony. Wersja 1.0.0-alpha11 zawiera te commity.
Poprawki błędów
- Zaktualizowaliśmy typografię na kartach Material3 na
TitleMedium
. (I597bd) - Zaktualizowaliśmy typografię i wyrównanie w przypadku komponentów Material 3
ListHeader
iListSubheader
. (Ib5ceb)
Wersja 1.0.0-alpha10
23 sierpnia 2023 r.
androidx.wear.compose:compose-material3:1.0.0-alpha10
został zwolniony. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaj
HorizontalPageIndicator
do biblioteki Material3 na Wear. (Ifee99)
Zmiany w interfejsie API
- Zaktualizuj kod przycisków, aby używać tokenów projektowych Material3. (I92fe4)
- Oznaczenie interfejsów API dla Wear Material 3 Stepper i Slider jako eksperymentalne, ponieważ szczegóły interfejsu są jeszcze w trakcie opracowywania. (I84d54)
- Usunęliśmy rozmiary
ExtraSmall
z okrągłychTextButton
iTextToggleButton
, ponieważ rozmiar ten dotyczy tylkoIconButton
. (Ibc7d5)
Poprawki błędów
- Zaktualizowaliśmy wskazówki dotyczące typografii w przypadku przycisku przełącznika z tekstem, aby używać etykiety dużej dla rozmiaru przycisku dużego (Ib10fa).
- Zaktualizowaliśmy wskazówki dotyczące typografii w przypadku elementu TextButton, aby używać etykiety Large w przypadku rozmiaru LargeButton (I8f3a7).
- Ze względu na ułatwienia dostępności minimalny docelowy element dotykowy karty został ustawiony na 48 dp. (Ieb9b1)
- Dodawanie karty aplikacji z demonstracją obrazu i usuwanie karty aplikacji z demonstracją tła (Id735f)
- Naprawiliśmy błąd w przyciskach okrągłych, w których modyfikatory nie były prawidłowo połączone. (I5e162)
Wersja 1.0.0-alpha09
9 sierpnia 2023 r.
androidx.wear.compose:compose-material3:1.0.0-alpha09
został zwolniony. Wersja 1.0.0-alpha09 zawiera te commity.
Nowe funkcje
- Dodaliśmy
ToggleButton
dla material3 (I6bed6).
Zmiany w interfejsie API
- Włączyliśmy adnotację
FloatRange
jako ograniczenia interfejsu API , które zostały wcześniej podane w komentarzach. (Icb401) - Zaktualizowaliśmy typografię na Wear w ramach Material 3, aby była zgodna z najnowszymi wytycznymi Material 3. (I1bad6)
Poprawki błędów
- Zaktualizowaliśmy kolory elementów
Button
,IconButton
iTextButton
zgodnie z Material Design 3. (Ib2495) - Rozwiązaliśmy problem z widocznością zaznaczenia w pozycji wyłączonej. (Ib25bf)
Wersja 1.0.0-alpha08
26 lipca 2023 r.
androidx.wear.compose:compose-material3:1.0.0-alpha08
został zwolniony. Wersja 1.0.0-alpha08 zawiera te commity.
Nowe funkcje
- Dodaliśmy te elementy sterujące wyborem dla Material3:
Switch
,Checkbox
,RadioButton
. (Ib918c) - Do Material3 dodaliśmy ikony
IconToggleButton
iTextToggleButton
, które są okrągłym przełącznikiem z jednym gniazdem na ikonę lub tekst. W przypadku różnych rozmiarówToggleButton
zalecamy użycieModifier.touchTargetAwareSize
z rozmiarami podanymi w odpowiednich przyciskach przełączania. (I9f015) - Dodaliśmy do komponentów Material 3 elementy
ListHeader
iListSubheader
. (Ibaefe) - Dodaliśmy bibliotekę Material3
SwipeToDismissBox
, która wywołuje nową bibliotekę FoundationSwipeToDismissBox
i podaje domyślne wartości kolorów z jej motywu. (I275fb) - Dodaliśmy do aplikacji Compose na Wear interfejs Material3
InlineSlider
. Umożliwia użytkownikom wybranie jednej z kilku wartości. Zakres opcji jest wyświetlany jako pasek między minimalną a maksymalną wartością zakresu, z którego użytkownicy mogą wybrać jedną wartość.InlineSlider
idealnie nadaje się do regulacji ustawień takich jak głośność czy jasność. (I7085f)
Zmiany w interfejsie API
- Zaktualizowaliśmy motyw Kształty w Material 3 na Wear, aby używał
RoundedCornerShape
zamiast Kształtu. (Idb133) - Stałe wysokości przycisku są teraz publicznie dostępne (Idbfde).
- Zaktualizowano pliki interfejsu API, aby dodać adnotacje do pominięcia zgodności (I8e87a, b/287516207).
- Zaktualizowaliśmy klasę
InlineSliderColors
w komponencie Wear Compose Material 3, aby zawierała publiczny konstruktor i publiczne właściwości. (I6b632) - Zaktualizowaliśmy wszystkie klasy kolorów w komponencie Wear Compose Material 3, aby zawierały publiczne konstruktory i publiczne właściwości. (I17702)
- Udostępniliśmy publicznie poziome i pionowy margines przycisku. (Ieeaf7)
Poprawki błędów
- Przycisk będzie teraz dostosowywać swoją wysokość do treści, które zostały powiększone ze względu na duże czcionki dla ułatwień dostępu (Iaf302)
- Zaktualizowaliśmy kilka demonstracji przycisku, aby rozwiązać problemy z dostępnością. (I61ce9)
Stepper
iInlineSlider
obsługują teraz powtarzane kliknięcia przy długim naciśnięciu, dzięki czemu możesz szybko zwiększać lub zmniejszać wartośćStepper
iInlineSlider
, przytrzymując przyciski + lub - (I27359)
Wersja 1.0.0-alpha07
21 czerwca 2023 r.
androidx.wear.compose:compose-material3:1.0.0-alpha07
został zwolniony. Wersja 1.0.0-alpha07 zawiera te commity.
Nowe funkcje
- Dodaliśmy komponent
Stepper
do biblioteki Compose dla Material 3 na Wear OS. Jest to funkcja podobna do poprzedniej wersji Material, ale zgodnie z opiniami programistów domyślnie pomija semantykę zakresu.Modifier.rangeSemantics
w przypadkach, gdy wymagana jest semantyka zakresu. (Ic39fd) - Dodaliśmy
curvedText
do biblioteki Compose dla Wear OS Material 3. (Ia8ae3)
Poprawki błędów
- Zaktualizowaliśmy usługę
wear.compose.foundation
, aby była zależna od interfejsu API usługiwear.compose.material3
(I72004, b/285404743).
Wersja 1.0.0-alpha06
7 czerwca 2023 r.
androidx.wear.compose:compose-material3:1.0.0-alpha06
został zwolniony. Wersja 1.0.0-alpha06 zawiera te commity.
Poprawki błędów
- Zaktualizowaliśmy funkcję
TextButton
, aby używała funkcji rozszerzeniatoDisabledColor
do prawidłowego wyłączania wartości alfa. (I814c8)
Wersja 1.0.0-alpha05
24 maja 2023 r.
androidx.wear.compose:compose-material3:1.0.0-alpha05
został zwolniony. Wersja 1.0.0-alpha05 zawiera te commity.
Nowe funkcje
- Do Material3 dodaliśmy element
TextButton
, czyli okrągły przycisk z 1 miejscem na tekst. W przypadku różnych rozmiarówTextButton
zalecamy użycieModifier.touchTargetAwareSize
iExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
iLargeButtonSizeIcon
podanych wTextButtonDefaults
. Domyślna ikonaTextButton
nie ma obramowania i przezroczystego tła w przypadku działań o niskim stopniu podkreślenia. W przypadku działań wymagających mocnego podkreślenia użyjfilledTextButtonColors
. Aby uzyskać średnie podkreślenie, użyj obrysuTextButton
i ustaw obramowanie naButtonDefaults.outlinedButtonBorder
. Aby uzyskać średnie podkreślenie, użyj obrysuTextButton
i ustaw obramowanie naButtonDefaults.outlinedButtonBorder
. Aby uzyskać średnie podkreślenie, użyj obrysufilledTonalTextButtonColors
. (I667e4) - Dodaliśmy do biblioteki Material3 na Wear komponent
Card
,OutlinedCard
,AppCard
iTitleCard
. ObiektyAppCard
iTitleCard
mogą też mieć obrys, jeśli użyjesz atrybutówCardDefaults.outlinedCardColors
iCardDefaults.outlinedCardBorder
(I80e72).
Zmiany w interfejsie API
- Parametr label w przycisku został przeniesiony na koniec, aby umożliwić obsługę nawiasów klamrowych w składni lambda. Usunęliśmy też parametr role (można go zastąpić za pomocą
Modifier.semantics
). KonstruktoryButtonColors
są teraz publiczne. (Ie1b6d)
Wersja 1.0.0-alpha04
10 maja 2023 r.
androidx.wear.compose:compose-material3:1.0.0-alpha04
został zwolniony. Wersja 1.0.0-alpha04 zawiera te commity.
Nowe funkcje
- Do Material3 dodaliśmy przycisk
IconButton
w kształcie koła z jednym miejscem na ikonę lub obraz. Dostępne są 4 warianty:IconButton
,FilledIconButton
,FilledTonalIconButton
iOutlinedIconButton
. W przypadku różnych rozmiarówIconButton
zalecamy użycieModifier.touchTargetAwareSize
iExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
iLargeButtonSizeIcon
podanych wIconButtonDefaults
. Udostępniamy teżIconButtonDefaults.iconSizeFor
, aby określić zalecany rozmiar ikony dla danego rozmiaru przycisku. (I721d4)
Wersja 1.0.0-alpha03
19 kwietnia 2023 r.
androidx.wear.compose:compose-material3:1.0.0-alpha03
został zwolniony. Wersja 1.0.0-alpha03 zawiera te commity.
Zmiany w interfejsie API
- Dodaliśmy komponent przycisku Material 3. Jest to przycisk w kształcie stadionu, który wcześniej w bibliotece Material na Wear w Compose nosił nazwę Chip (został przemianowany na Button, aby zachować spójność z biblioteką Material 3 w Compose). Domyślny przycisk ma wypełnione tło. Dostępne są też jego warianty:
FilledTonal
(przyciemnione tło), Outlined (przezroczysty z cienką ramką) i Child (przezroczysty bez ramki, używany do działań dodatkowych o najmniejszej widoczności). Okrągłe przyciski z prostą ikoną i tekstem pojawią się w przyszłej wersji (Ia6942).
Wersja 1.0.0-alpha02
5 kwietnia 2023 r.
androidx.wear.compose:compose-material3:1.0.0-alpha02
został zwolniony. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Poprawki błędów
- Do Wear Compose Material 3 dodaliśmy
DefaultTextStyle
, który ustawia domyślnie wartośćPlatformTextStyle.includeFontPadding
na „prawda” (obecne ustawienie). Dzięki temu będziemy mogli w przyszłości zsynchronizować wyłączenie domyślnego wypełniania czcionki z bibliotekami w edytorze wiadomości (patrz Poprawka napełniania czcionki w edytorze wiadomości na potrzeby tła). (I7e461)
Wersja 1.0.0-alpha01
22 marca 2023 r.
androidx.wear.compose:compose-material3:1.0.0-alpha01
został zwolniony. Wersja 1.0.0-alpha01 zawiera te commity.
Nowe funkcje
Material 3 to kolejna wersja Material Design, która zawiera zaktualizowane motywy i przeprojektowane komponenty. Materiał 3 na Wear Compose jest zgodny z biblioteką Material 3 Compose na Androida. Ta pierwsza wersja alfa zawiera wczesne, funkcjonalne implementacje tych elementów:
Będziemy równolegle rozwijać Wear Material (
androidx.wear.compose:compose-material
) i Wear Material 3 (androidx.wear.compose:compose-material3
). Przyszłe wersje material3 rozszerzą zestaw widżetów o inne znane komponenty z Compose na Wear OS, takie jak przyciski, selektory i suwaki.Biblioteki Wear Material i Wear Material 3 są wzajemnie wykluczające się i nie należy ich stosować w tej samej aplikacji, głównie dlatego, że odwołują się do różnych motywów, co może prowadzić do nieoczekiwanych niespójności.
Wersja Wear Compose 1.5
Wersja 1.5.0-alpha07
11 grudnia 2024 r.
androidx.wear.compose:compose-*:1.5.0-alpha07
został zwolniony. Wersja 1.5.0-alpha07 zawiera te komity.
Zmiany w interfejsie API
TransformingLazyColumnState
umożliwia teraz obserwowanie bieżącego postępu przewijania na podstawie indeksów elementów kotwicy. (I72b01)- Dodaliśmy animacje do
TransformingLazyColumn
podczas dodawania, usuwania i przenoszenia elementów, jeśli mają one nową wersjęModifier.animateItem
. (Iecb9c) TransformingLazyColumn
udostępnia teraz wartościbeforeContentPadding
iafterContentPadding
. (Iccd5f)TransformingLazyColumn
udostępnia teraz kompozycję lokalnąLocalTransformingLazyColumnItemScope
, której komponenty (takie jakCard
iButton
w Material3) mogą używać do automatycznego przekształcania się po umieszczeniu w komponencieTransformingLazyColumn
. Rozmówcy mogą wyłączyć automatyczne przekształcanie za pomocą nowego opakowaniaTransformExclusion
. (I1652f)
Poprawki błędów
- Zaktualizowaliśmy minimalną i maksymalną prędkość rzutu dla urządzeń z ukierunkowaniem na U i późniejszych. (I33559)
- Rozwiązaliśmy problem z awarią, która występowała, gdy element w
TransformingLazyColumn
nie zawierał żadnych komponentów (Idb99d). - Dodaliśmy obsługę
ScrollFeedbackProvider
dla haptycznych przycisków obrotowych w Androidzie Vanilla Ice Cream. (Ibc553) - Zwiększyliśmy wartość dotyku
SwipeToReveal
, aby zmniejszyć ryzyko przypadkowego przesunięcia podczas przewijania w poziomie. (Ic0672) - W wersji 35 i nowszych interfejsu API zaktualizowaliśmy funkcję
SwipeDismissableNavHost
, aby używała funkcjiPredictiveBackHandler
, gdy jest dostępna. W takim przypadku zostaną zastosowane nowe animacje. (I08c11)
Wersja 1.5.0-alpha06
13 listopada 2024 r.
androidx.wear.compose:compose-*:1.5.0-alpha06
został zwolniony. Wersja 1.5.0-alpha06 zawiera te komity.
Zmiany w interfejsie API
- Uprościliśmy funkcję
ScrollInfoProvider
, zastępując ją funkcjąPagerState
, w której usunięty został niepotrzebny parametrorientation
. Nowe zachowanie polega na tym, żeTimeText
pozostaje na swoim miejscu zarówno w przypadku przewijania poziomego, jak i pionowego. (I71767) TransformingLazyColumn
została wprowadzona we wcześniejszych wersjach. Usuwamy aliasyLazyColumn
(które przekierowywały doTransformingLazyColumn
) na rzecz nowej nazwyTransformingLazyColumn
. Usunęliśmy też właściwośćheight
w taguTransformingLazyColumnVisibleItemInfo
. Zamiast niej użyj właściwościmeasuredHeight
. (I0ea1e)- Zmieniliśmy specyfikację
PagerDefaults.snapFlingBehavior
snapAnimationSpec
zTween
naSpring
.(I10d02, b/349781047, b/303807950) - Przekształciliśmy wersję
LocalReduceMotion
CompositionLocal
w wersję stabilną (Ia6f32).
Poprawki błędów
- Zaktualizowaliśmy
Modifier.rotaryScrollable
, aby używaćfocusTargetWithSemantics
na potrzeby lepszej obsługi semantyki w przypadku funkcji obrotowej. (Ief0a0) - W przypadku bibliotek Compose minimalna wersja interfejsu API została zaktualizowana do 1.7.4. (I88b46)
- Aby obejść błąd związany z przycinaniem, wyłączyliśmy w
TransformingLazyColumn
przekształcanie szerokości. (I3dfb8) - Naprawiliśmy błąd powodujący znikanie elementów po przewinięciu za pomocą
TransformingLazyColumn
(Id7668). - Dodano
LazyLayoutSemantics
dlaTransformingLazyColumn
. (Ia8f56)
Wersja 1.5.0-alpha05
30 października 2024 r.
androidx.wear.compose:compose-*:1.5.0-alpha05
został zwolniony. Wersja 1.5.0-alpha05 zawiera te komisy.
Zmiany w interfejsie API
- Dodaliśmy obsługę
animateScrollTo
wTransformingLazyColumnState
, aby umożliwić animację przewijania do elementu. (I4097d) - Dodaliśmy
requestScrollTo
w przypadkuTransformingLazyColumnState
, aby opóźnić przewijanie do następnego pomiaru. (I20a5e) - Dodaliśmy obsługę właściwości
contentPadding
w przypadku właściwościTransformingLazyColumn
. (I3a69c)
Poprawki błędów
- Usunęliśmy błąd związany z renderowaniem
TransformingLazyColumn
, gdy wysokość treści jest krótsza niż wysokość ekranu. (I6c3e1) - Funkcja
ScrollInfoProvder
w elementachTransformingLazyColumn
teraz prawidłowo śledzi pierwszy element. (I1e4a3) TransformingLazyColumnState
zapisuje teraz stan (anchorItemIndex
ianchorItemScrollOffset
). (I3d265)
Wersja 1.5.0-alpha04
16 października 2024 r.
androidx.wear.compose:compose-*:1.5.0-alpha04
został zwolniony. Wersja 1.5.0-alpha04 zawiera te komity.
Zmiany w interfejsie API
- Zmieniliśmy nazwę projektu Compose Foundation na Wear
LazyColumn
naTransformingLazyColumn
, aby odróżnić go od projektu Compose FoundationLazyColumn
. (I0608b) - Dodano obsługę przycisków obrotowych w przyciskach poziomych/pionowych, aby umożliwić użytkownikom nawigację za pomocą urządzeń z przyciskami obrotowymi. (I9770d)
- Zaktualizowaliśmy nową wersję
PagerDefaults
, aby wyraźnie wskazać, że przewijanie będzie domyślnie dopasowywało się do strony. (Iff7d0) TransformingLazyColumnItemScrollProgress
to teraz klasa wartości, która powinna poprawić skuteczność. (Ic399e)TransformingLazyColumn
obsługuje teraz bezpłatnie sterowanie obrotowe. (I05206)- Usługa
TransformingLazyColumnState
obsługuje terazscrollToItem
. (I507b3) - Usunięcie interfejsu API
@ExperimentalWearFoundationApi
z interfejsuSwipeToReveal
(I34a66)
Wersja 1.5.0-alpha03
2 października 2024 r.
androidx.wear.compose:compose-*:1.5.0-alpha03
został zwolniony. Wersja 1.5.0-alpha03 zawiera te komity.
Zmiany w interfejsie API
- Dodaliśmy obsługę dwukierunkowego przesuwania w aplikacji
SwipeToReveal
na wypadek rzadkich sytuacji, w których bieżący ekran nie obsługuje usuwania elementów przez przesunięcie. . Domyślnie przewijanie w celu wyświetlenia jest nadal możliwe tylko przy przesuwaniu od prawej do lewej. Zdecydowanie zalecamy zachowanie domyślnego zachowania, aby uniknąć konfliktu z przesuwaniem w celu zamknięcia. (Ifac04) - Zaktualizowaliśmy
LazyColumnState
, aby zastąpićcanScrollForward
icanScrollBackward
– teraz przewijanie zostaje zatrzymane, gdy pierwszy lub ostatni element znajduje się dokładnie na środku ekranu. (Ia77d7) - Dodaliśmy nowe komponenty
HorizontalPager
iVerticalPager
, które rozwiązują typowe problemy, takie jak obsługa fokusa i interakcje z systemem przesuwania w stronę, które mogą wystąpić na Wear. (I2902b) - Dodaliśmy obsługę
LazyColumn
, aby udostępnić danekey
icontentType
klienta za pomocąlayoutItems
. (I1bd9c)
Poprawki błędów
- Zaktualizowaliśmy animacje wygiętego tekstu, aby były płynniejsze, przy użyciu flag malowania. (I73a15)
- Zaktualizowaliśmy dokumentację Material Dialog, aby odzwierciedlić fakt, że funkcja
onDismissRequest
nie jest wywoływana, gdy flaga wyświetlania ma wartość false. (Ifd8d6) - Naprawiliśmy błąd animacji winiety w oknie dialogowym Material (I126bf).
Wersja 1.5.0-alpha02
18 września 2024 r.
androidx.wear.compose:compose-*:1.5.0-alpha02
został zwolniony. Wersja 1.5.0-alpha02 zawiera te komity.
Zmiany w interfejsie API
- Dodaliśmy obsługę
LazyColumn
w komponencie Wear Compose w komponencieScreenScaffold
(i dodaliśmy implementacjęScrollInfoProvider
w komponencieLazyColumnState
). (Ib8d29) - Dodano
viewportSize
doLazyColumnLayoutInfo
. (I4187f)
Poprawki błędów
- Naprawiliśmy błąd, dzięki czemu przewijanie za pomocą pokrętła jest teraz wyłączone w
ScalingLazyColumn
, gdy flagauserScrollEnabled
jest ustawiona nafalse
. (I490ab, b/360295825) - Wprowadziliśmy poprawkę, która rozwiązuje problem z nieoczekiwanym wypełnieniem pionowym w przypadku wygiętego tekstu. Wysokość wygiętego tekstu jest teraz bardziej zbliżona do rzeczywistej przestrzeni zajmowanej przez tekst. Pamiętaj, że może to spowodować przerwanie testów zrzutów ekranu, które obejmują wygięty tekst (Iaa6ef).
- Cofnęliśmy poprawkę do
Dialog
, w której wywoływana była funkcjaonDismissRequest
callback, gdyshowDialog
była ustawiona na wartość false, ponieważ w niektórych przypadkach powodowało to wielokrotne wywoływanie funkcjionDismissRequest
. (I64656)
Wersja 1.5.0-alpha01
4 września 2024 r.
androidx.wear.compose:compose-*:1.5.0-alpha01
został zwolniony. Wersja 1.5.0-alpha01 zawiera te komity.
Zmiany w interfejsie API
- Dodaliśmy do biblioteki Compose Foundation na Wear OS nowy komponent
LazyColumn
z powiązanymi interfejsami APILazyColumnState
iLazyColumnScope
. Stanowi on podstawę do tworzenia efektów skalowania i przekształcania za pomocą Wear Compose. (Ib3b22) - W ramach nowego interfejsu API
LazyColumn
dodaliśmy do interfejsuitemsIndexed
indeksowaną wersję interfejsuitemsIndexed
.LazyColumnScope
(Ib4a57) - Dodaliśmy modyfikatory
LazyColumn
, aby umożliwić skalowanie i przekształcanie. (Ie229a) HierarchicalFocusCoordinator
został awansowany do wersji stabilnej. (I31035)- Dodaliśmy obsługę odstępów między literami w tekstach wygiętych. (I3c740)
- Dodaliśmy parametr
rotationLocked
doCurvedLayout.curvedComposable
, aby zatrzymać rotację komponentów. (I66898) - Tymczasowo usunięto interfejs API
LocalUseFallbackRippleImplementation
z wear material i wear material3 (I62282) - Usunięto
WearDevices.SQUARE
z wielopoziomowego podglądu@WearPreviewDevices
(I11c02).
Poprawki błędów
SwipeToReveal
umieszcza teraz odkryte elementy w widocznej części ekranu. Jest to przydatne, gdySwipeToReveal
jest używany na liście, ponieważ elementy są zawsze dostępne i nigdy nie wypadają poza ekran. (I38929)- Funkcja
SwipeToReveal
zeruje teraz wartośćlastActionType
na „Brak”, gdy funkcjaanimatedTo
zakończy działanie. (I59b03) - Ulepszona dokumentacja nowego parametru
rotationLocked
w przypadkucurvedComposable
. (Ifbd57) - Naprawiono awarię podczas przekazywania wartości
NaN
do właściwościperformFling
obiektuScalingLazyColumnSnapFlingBehavior
. (Ic13da) - Poprawiono błąd związany z modyfikatorem rozmiaru wygiętego układu (I0fedf).
- Dodaliśmy obsługę odstępów między literami określonych w sekcji „sp”. (I9f6e3)
- Usunęliśmy błąd w Material2 Dialog, który powodował, że funkcja wywołania zwrotnego
onDismissRequest
nie była wywoływana, gdy okno dialogowe stawało się niewidoczne (I64656). - Nazwa
LayoutCoordinates.introducesFrameOfReference
została zmieniona naLayoutCoordinates.introducesMotionFrameOfReference
, aby lepiej odzwierciedlała jej przeznaczenie. Zmieniono nazwę powiązanej funkcji, aby obliczała współrzędne na podstawie tej flagi. (I3a330)
Wersja 1.4
Wersja 1.4.0
4 września 2024 r.
androidx.wear.compose:compose-*:1.4.0
został zwolniony. Wersja 1.4.0 zawiera te komitowane zmiany.
Ważne zmiany od wersji 1.3.0
ScalingLazyColumn
iPicker
obsługują teraz domyślnie wejście obrotowe – zalecamy usunięcie jawnego obsługiwania obrotu i przejście na domyślne zachowanie systemu. W razie potrzeby użyj parametrurotaryScrollableBehavior
, aby skonfigurować zachowanie przewijania lub przyciągania. W przypadku przyciągania zalecamy użycie parametruflingBehavior
, aby zapewnić obsługę przyciągania i przewijania dotykiem.Modifier.rotaryScrollable
to nowy modyfikator, który łączy zdarzenia obrotowe z przewijalnymi kontenerami, umożliwiając użytkownikom przewijanie za pomocą pierścienia lub obracanego pierścienia na urządzeniu z systemem Wear OS.SwipeDismissableNavHost
zawiera teraz animację wejścia na potrzeby przejść w aplikacji.PositionIndicator
jest teraz domyślnie wyświetlany podczas pierwszego wyświetlania ekranu.
Dodatkowe zmiany
- Pełny zestaw zmian wprowadzonych w wersji 1.3.0 znajdziesz w informacjach o wersji beta01.
Wersja 1.4.0-rc01
21 sierpnia 2024 r.
androidx.wear.compose:compose-*:1.4.0-rc01
został zwolniony. Wersja 1.4.0-rc01 zawiera te komisy.
- Zaktualizowaliśmy zależności Compose do wersji 1.7.0-rc01 i przypiąć nawigację Compose na Wear do androidx.lifecycle 2.8.3.
Wersja 1.4.0-beta03
12 czerwca 2024 r.
androidx.wear.compose:compose-*:1.4.0-beta03
został zwolniony. Wersja 1.4.0-beta03 zawiera te komity.
Poprawki błędów
- Zaktualizowaliśmy
Modifier.rotaryScrollable
, aby zastąpić atrybuty „focusable” („możliwość skupienia”) atrybutem „focusTarget” („focusTarget”), co zwiększa skuteczność. (Id294b) - Rozwiązaliśmy problem, który powodował powtarzanie przez
ProgressIndicator
komunikatuTalkBack
. (I94563) - Zaktualizowaliśmy profile bazowe biblioteki Wear Compose. (I3cbc3)
Wersja 1.4.0-beta02
29 maja 2024 r.
androidx.wear.compose:compose-*:1.4.0-beta02
został zwolniony. Wersja 1.4.0-beta02 zawiera te komity.
Poprawki błędów
- Aby rozwiązać problemy z obcinaniem tekstu, zwiększyliśmy szerokość granicy przekazywaną czytnikom ekranu z tekstu wygiętego (Id865f).
- Ograniczyliśmy granicę
HorizontalPageIndicator
przekazywaną czytnikom ekranu – wcześniej wskaźnik zajmował cały ekran (Id8d7a).
Wersja 1.4.0-beta01
14 maja 2024 r.
androidx.wear.compose:compose-*:1.4.0-beta01
został zwolniony. Wersja 1.4.0-beta01 zawiera te komity.
Wersja 1.4-beta01 biblioteki Compose na Wear OS oznacza, że ta wersja biblioteki jest kompletna pod względem funkcji, a interfejs API jest zablokowany (z wyjątkiem wersji oznaczonych jako eksperymentalne). Wersja Wear Compose 1.4 zawiera te nowe funkcje:
- Dodaliśmy
Modifier.rotaryScrollable
, nowy modyfikator, który łączy zdarzenia obrotowe z przewijalnymi kontenerami, umożliwiając użytkownikom przewijanie za pomocą pierścienia lub obramowania na urządzeniu z Wear OS. Dodatkowo atrybutyScalingLazyColumn
iPicker
obsługują teraz domyślnie wejście obrotowe. Aby skonfigurować przewijanie lub przyciąganie, użyj parametrurotaryScrollableBehavior
. W przypadku zachowania przyciągania zalecamy użycie parametruflingBehavior
również do przewijania dotykiem. SwipeDismissableNavHost
zawiera teraz animację wejścia na potrzeby przejść w aplikacji.PositionIndicator
jest teraz domyślnie wyświetlany podczas pierwszego wyświetlania ekranu.- Dodano elementy
SelectableChip
iSplitSelectableChip
jako warianty elementuToggleChip
. Używaj ich z elementemRadioButton
, aby zapewnić semantykę z możliwością wyboru zamiast z możliwością przełączania dla ułatwień dostępu. ListHeader
obsługuje teraz dostosowywanie wysokości, gdy treść wymaga dodatkowej wysokości, aby pomieścić duże czcionki.
Poprawki błędów
- Naprawiliśmy błąd polegający na tym, że elementy do wyboru wyświetlały komunikat o kliknięciu dwukrotnie, aby je zaznaczyć, mimo że były już zaznaczone. (I7ed88)
Wersja 1.4.0-alpha08
1 maja 2024 r.
androidx.wear.compose:compose-*:1.4.0-alpha08
został zwolniony. Wersja 1.4.0-alpha08 zawiera te komisy.
Zmiany w interfejsie API
- Wprowadziliśmy następujące zmiany w nowym interfejsie API rotary: zmieniliśmy nazwę interfejsu
Modifier.rotary
naModifier.rotaryScrollable
, zmieniliśmy nazwę interfejsuRotaryBehavior
naRotaryScrollableBehavior
, a jego funkcjihandleScrollEvent
naperformScroll
, zmieniliśmy nazwę funkcjiRotaryScrollableAdapter
naRotaryScrollableLayoutInfoProvider
i usunęliśmy właściwośćscrollableState
. (I0c8a6) - Wprowadziliśmy dodatkowe zmiany w interfejsie API rotary: zmieniliśmy nazwę
RotaryScrollableLayoutInfoProvider
naRotarySnapLayoutInfoProvider
(ten dostawca jest potrzebny tylko w przypadku rotary z snapem); zmieniliśmy typ parametrusnapOffset
wRotaryScrollableDefaults.snapBehavior snapOffset
z Int na Dp. (Iddebe) - Zmieniliśmy nazwę parametru
clickInteractionSource
w plikuSplitSelectableChip
nacontainerInteractionSource
. (Ia8f84) - Zmieniliśmy nazwy parametrów wywołania zwrotnego kliknięcia w przypadku
SplitSelectableChip
– zonClick
naonSelectionClick
i zonBodyClick
naonContainerClick
. (I32237)
Poprawki błędów
- Zaktualizowaliśmy poziomy margines
PositionIndicator
do 2 dp (było 5 dp), aby naprawić błąd polegający na tym, żePositionIndicator
(suwak) nakłada się na przewijany element. Pamiętaj, że ta zmiana może spowodować nieprawidłowe wyświetlanie dotychczasowych zrzutów ekranu zawierającychPositionIndicator
ze względu na zmianę odstępów. (I57472) - Ulepszyliśmy dokumentację nowego interfejsu API dla urządzeń z obrotowym przyciskiem, opisując różnice między urządzeniami z przyciskiem o niskiej i wysokiej rozdzielczości. (I63abe)
- Usunęliśmy błąd związany z wartością poza zakresem w funkcji
SwipeDismissableNavHost
, który mógł być wywoływany, gdy interpolowane wartości alfa były mniejsze od zera. (Ib75a1, b/335782510)
Wersja 1.4.0-alpha07
17 kwietnia 2024 r.
androidx.wear.compose:compose-*:1.4.0-alpha07
został zwolniony. Wersja 1.4.0-alpha07 zawiera te komity.
Zmiany w interfejsie API
- Dodaliśmy
Modifier.rotary
, nowy modyfikator, który łączy zdarzenia obrotowe z przewijalnymi kontenerami, umożliwiając użytkownikom przewijanie za pomocą pierścienia lub obramowania na urządzeniu z Wear OS. Dodatkowo komponentyScalingLazyColumn
i Picker obsługują teraz domyślnie wejście obrotowe z nowymi przeciążeniami, które obejmują parametrrotaryBehavior
umożliwiający określenie konfiguracji przewijania lub przyciągania. Jeśli parametrrotaryBehavior
ma wartość snap, zalecamy też podanie snap za pomocą parametruflingBehavior
, aby umożliwić przewijanie dotykiem. (I2ef6f) - Źródła
NestedScroll
Drag i Fling są zastępowane przezUserInput
iSideEffect
, aby uwzględnić rozszerzoną definicję tych źródeł, która obejmuje teraz animacje (Side Effect) oraz koło myszy i klawiaturę (UserInput). (I40579) - Dodaliśmy
SelectableChip
iSplitSelectableChip
, aby wyraźniej odróżnić przełączniki, takie jakSwitch/Checkbox
, od elementów do wyboru, takich jakRadioButton
. Spowoduje to zastąpienie wcześniej dodanych przeciążeń funkcjiToggleChip/SplitToggleChip
parametramiselectionControl
. (Ia0217) - Zmieniono modyfikator widoczności
IndeterminateStrokeWidth
wProgressIndicatorDefaults
na publiczny. (I5b5a4)
Wersja 1.4.0-alpha06
3 kwietnia 2024 r.
androidx.wear.compose:compose-*:1.4.0-alpha06
został zwolniony. Wersja 1.4.0-alpha06 zawiera te komisy.
Poprawki błędów
- Dodaliśmy wewnętrzny projekt obsługi urządzeń z klawiaturą obrotową w ramach większego projektu przenoszenia obsługi tych urządzeń z Horologist do AndroidX. (I617d1)
- Dodaliśmy wewnętrzny projekt obsługi haptycznej w ramach większego projektu przenoszenia działania kółka z Horologist do AndroidX. (I5568a)
Wersja 1.4.0-alpha05
20 marca 2024 r.
androidx.wear.compose:compose-*:1.4.0-alpha05
został zwolniony. Wersja 1.4.0-alpha05 zawiera te komisy.
Zmiany w interfejsie API
- Ustawiliśmy właściwości
initialCenterItemIndex
iinitialCenterItemScrollOffset
usługiScalingLazyListState
jako publiczne. (I0c616) - Ustawiliśmy
FullScreenStrokeWidth
zProgressIndicatorDefaults
jako publiczne. (Ibea23)
Poprawki błędów
- Zwiększyliśmy wydajność usługi
PositionIndicator
, zmniejszając liczbę wywołań do usługilayoutInfo
z poziomuScalingLazyColumn
. (Idc83d)
Wersja 1.4.0-alpha04
6 marca 2024 roku
androidx.wear.compose:compose-*:1.4.0-alpha04
został zwolniony. Wersja 1.4.0-alpha04 zawiera te komisy.
Zmiany w interfejsie API
- Dodaliśmy nową przeciążenie funkcji
ToggleChip
iSplitToggleChip
, która zamiast parametrutoggleControl
przyjmuje parametrselectionControl
. Należy go używać z elementemRadioButton
, aby zapewnić semantykę z możliwością wyboru zamiast przełącznika dla ułatwień dostępu (I1d6d9) - Zaktualizowaliśmy nazwy parametrów nowej funkcji przeciążenia
selectionControl
zonSelected
naonSelect
w przypadku zdarzeńToggleChip
iSplitToggleChip
(I1a971).
Wersja 1.4.0-alpha03
21 lutego 2024 r.
androidx.wear.compose:compose-*:1.4.0-alpha03
został zwolniony. Wersja 1.4.0-alpha03 zawiera te commity.
Zmiany w interfejsie API
- Opakowanie
Modifier.inspectable
zostało wycofane. Ten interfejs API spowoduje więcej niepotrzebnych unieważnień modyfikatora, dlatego nie zalecamy jego używania. Deweloperzy powinni implementować metodęinspectableProperties()
w obiekcieModifierNodeElement
, jeśli chcą udostępnić właściwości modyfikatorów narzędziom. (Ib3236)
Poprawki błędów
- Naprawiliśmy błąd w dokumentacji dotyczącej adnotacji
WearPreview*
. (Id526d)
Wersja 1.4.0-alpha02
7 lutego 2024 r.
androidx.wear.compose:compose-*:1.4.0-alpha02
został zwolniony. Wersja 1.4.0-alpha02 zawiera te commity.
Poprawki błędów
- Naprawiliśmy błąd związany z funkcją przesuwania w celu wyświetlenia, w której można było wchodzić w interakcje z wykonywanym działaniem dotyczącym jednego elementu (i go anulować) przez rozpoczęcie przesuwania innego elementu (Ide059).
- Zaktualizowaliśmy funkcję
ListHeader
, aby umożliwić dostosowywanie wysokości, gdy treści wymagają dodatkowej wysokości, aby pomieścić duże rozmiary czcionki. (I7290c, b/251166127)
Wersja 1.4.0-alpha01
24 stycznia 2024 r.
androidx.wear.compose:compose-*:1.4.0-alpha01
został zwolniony. Wersja 1.4.0-alpha01 zawiera te commity.
Nowe funkcje
- Dodaliśmy animację wejścia do aplikacji
SwipeDismissableNavHost
(cfeb79a). PositionIndicator
jest teraz domyślnie wyświetlany podczas pierwszego wyświetlania ekranu. Ta zmiana została wprowadzona, aby ułatwić spełnienie wytycznych dotyczących jakości na Wear. Oznacza to, że testy zrzutów ekranu będą musiały zostać zaktualizowane na ekranach, które zawierająPositionIndicator
, ponieważPositionIndicator
nie były wcześniej wyświetlane. (419cef7)
Zmiany w interfejsie API
- Dodaliśmy nowy interfejs API ripple do bibliotek
wear:compose-material
iwear:compose-material3
, który zastępuje wycofany interfejsrememberRipple
. Dodaje też tymczasowyCompositionLocal
,LocalUseFallbackRippleImplementation
, aby przywrócić komponentom Material Design korzystanie z wycofanych interfejsów APIrememberRipple/RippleTheme
. Zostanie on usunięty w kolejnych stabilnych wersjach. Jest to tylko tymczasowe ułatwienie migracji w przypadku, gdy używasz niestandardowegoRippleTheme
. Informacje o przenoszeniu i szczegółowe informacje o tej zmianie znajdziesz na stronie developer.android.com. (af92b21) - Zmieniliśmy właściwości
ColorScheme
, aby były niezmienne, co zmniejsza efektywność zmian poszczególnych kolorów, ale zwiększa efektywność częstszego używania kolorów. Powodem tej zmiany jest fakt, że większość aplikacji nie ma potrzeby aktualizowania poszczególnych kolorów. Jest to nadal możliwe, ale spowoduje więcej ponownych kompilacji niż wcześniej. W związku z tym znacznie zmniejszyliśmy liczbę subskrypcji stanu w całym kodzie materiału. Spowoduje to również wzrost kosztów inicjalizacji i wykonania w przypadku standardowych zastosowań. (f5c48b7) - Komponenty Wear Material i Wear Material 3, które w swoim interfejsie API udostępniają wartość
MutableInteractionSource
, zostały zaktualizowane, aby udostępniać wartość opcjonalnąMutableInteractionSource
, która domyślnie jest ustawiana na null. Nie ma tu żadnych zmian semantycznych: przekazanie wartości null oznacza, że nie chcesz podnosićMutableInteractionSource
, i w razie potrzeby zostanie on utworzony wewnątrz komponentu. Ustawienie wartości null pozwala niektórym komponentom nigdy nie przydzielaćMutableInteractionSource
, a innym pozwala tworzyć instancję tylko wtedy, gdy jest to konieczne, co zwiększa wydajność tych komponentów. Jeśli nie używasz wartościMutableInteractionSource
przekazywanej do tych komponentów, zalecamy przekazanie zamiast niej wartości null. Zalecamy też wprowadzenie podobnych zmian w własnych komponentach. (f8fa920) - Zaktualizowaliśmy
rememberExpandableState
, aby zapisywać stan rozwijania. Dzięki temu dane są przechowywane podczas przechodzenia na inny ekran i przywracane po powrocie do pierwotnego ekranu. (5c80095)
Poprawki błędów
- Zaktualizowaliśmy ustawienie
ReduceMotion
, aby używać odsłuchiwania z uwzględnieniem cyklu życia. (7c6b122) - Zaktualizowaliśmy listenera
TouchExplorationStateProvider
, aby uwzględniał cykl życia (be28b01). - Usunęliśmy warstwę materialcore w przypadku
CompactButton
, aby poprawić wydajność (25db8e9) - Ulepszyliśmy odporność funkcji
BasicSwipeToDismissBox
na przesunięcia NaN, aby uniknąć wyjątków (b983739). - Zaktualizowaliśmy funkcję
BasicSwipeToDismissBox
, aby wartości alfa mieściły się w zakresie 0,1. - Naprawiliśmy błąd w elementach
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
iRadioButton
, aby zapobiec powtarzaniu się komunikatów ułatwień dostępu (wcześniej dublowały się role semantyczne) (d11eeb7)
Wersja 1.3
Wersja 1.3.1
3 kwietnia 2024 r.
androidx.wear.compose:compose-*:1.3.1
został zwolniony. Wersja 1.3.1 zawiera te komity.
Poprawki błędów
- Naprawiliśmy błąd związany z przesuwaniem w celu wyświetlenia, który umożliwiał interakcję z działaniem wykonanym na jednym elemencie (i jego anulowanie) przez rozpoczęcie przesuwania innego elementu. (Ide059)
Wersja 1.3.0
24 stycznia 2024 r.
androidx.wear.compose:compose-*:1.3.0
został zwolniony. Wersja 1.3.0 zawiera te commity.
Ważne zmiany od wersji 1.2.0
- Klasa
SwipeToDismissBoxState
, enumeracjaSwipeToDismissValue
i funkcja rozszerzeniaModifier.edgeSwipeToDismiss
są teraz częścią pakietuandroidx.wear.compose.foundation
, a nie pakietuandroidx.wear.compose.material
. Ta zaktualizowana architektura umożliwia implementowanie obsługi gestów niezależnie od innych kwestii projektowych. Procesy związane z Material Design, takie jak stosowanie kolorów z skonfigurowanego motywu, są obsługiwane osobno. - Zajęcia
SwipeToRevealCard
iSwipeToRevealChip
pomogą Ci wdrożyćrecommended swipe-to-reveal guidance
. KlasaSwipeToRevealSample
pokazuje, jak używać tych komponentów. W wersji 1.3.0-alpha02 wprowadziliśmy zmianę, która powoduje, że obiekty
Chip
iToggleChip
są wyższe, aby lepiej obsługiwać skalowanie czcionek wybrane przez użytkownika. Może to spowodować przycięcie. Aby rozwiązać ten problem, kształtlarge
dlaMaterialTheme
wykorzystuje teraz większy promień narożnika (26 dp zamiast 24 dp). ObiektyChip
iToggleChip
używają nowego promienia zaokrąglenia, aby uniknąć przycinania treści w rogach elementu Chip iToggleChip
.- Większość elementów
Chips
iToggleChips
pozostaje niezmieniona, ponieważ ich wysokość wynosi domyślnie 52 piksele. Jednak obiektyChip
iToggleChip
zawierające kilka wierszy tekstu etykiety głównej lub dodatkowej albo takie, których wysokość została zastąpiona, mogą spowodować niepowodzenie testów zrzutów ekranu.
- Większość elementów
Dodatkowe zmiany
Pełny zestaw zmian wprowadzonych w wersji 1.3.0 znajdziesz w informacjach o wersji beta01.
Rekomendacje dotyczące implementacji
- Jeśli Twoja aplikacja umożliwia użytkownikom przesuwanie zawartości na ekranie, na przykład w aplikacji opartej na mapach, wyłącz obsługę przesuwania, ustawiając wartość
userSwipeEnabled
nafalse
w komponencieSwipeDismissableNavHost
, i dodaj przycisk, który umożliwia użytkownikom przejście do poprzedniego ekranu. - Aby wyłączyć animacje wskaźnika pozycji podczas animacji łagodnego pojawiania się i zmieniania pozycji na liście przewijanej, użyj obiektu
SnapSpec
. - Podczas oczekiwania na załadowanie treści do odtworzenia w aplikacji multimedialnej wyświetlaj pustą kompozycję
Placeholder
. - Aby utworzyć kolekcję elementów, które można rozwinąć na żądanie, użyj eksperymentalnej klasy
ExpandableStateMapping
.
Wersja 1.3.0-rc01
10 stycznia 2024 r.
androidx.wear.compose:compose-*:1.3.0-rc01
został zwolniony. Wersja 1.3.0-rc01 zawiera te commity.
Poprawki błędów
-
Zaktualizowaliśmy duży kształt
MaterialTheme
, aby miał zaokrąglone rogi o promieniu 26 dp. Będzie on teraz używany przez element Chip iToggleChip
. Ta zmiana jest potrzebna, aby umożliwić dostosowanie wysokości, gdy treści wymagają dodatkowej wysokości, aby dopasować duże rozmiary czcionek. W przeciwnym razie istniejący kształt stadionu przycina niektóre treści.Ta zmiana może spowodować przerwanie testów zrzutów ekranu. (I2e6ae)
Wersja 1.3.0-beta02
13 grudnia 2023 r.
androidx.wear.compose:compose-*:1.3.0-beta02
został zwolniony. Wersja 1.3.0-beta02 zawiera te commity.
Poprawki błędów
- Przywróciliśmy domyślne przesuwanie w aplikacji
BasicSwipeToDismissBox
. W poprzedniej wersji ta funkcja została zmieniona, tak aby przesuwanie było możliwe tylko wtedy, gdy palec dotyka ekranu. (Id8e76)
Wersja 1.3.0-beta01
15 listopada 2023 r.
androidx.wear.compose:compose-*:1.3.0-beta01
został zwolniony. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Wersja 1.3-beta01 biblioteki Compose na Wear OS oznacza, że ta wersja biblioteki jest kompletna pod względem funkcji, a interfejs API jest zablokowany (z wyjątkiem wersji oznaczonych jako eksperymentalne). Wersja Wear Compose 1.3 zawiera te nowe funkcje:
- Funkcje
SwipeToDismissBoxState
,SwipeToDismissValue
iModifier.edgeSwipeToDismiss
zostały przeniesione zandroidx.wear.compose.material
doandroidx.wear.compose.foundation
, wraz z podstawową implementacją funkcji usuwania przez przesunięcie wBasicSwipeToDismissBox
. Dzięki temu gest przesunięcia w celu zamknięcia może być używany niezależnie od Material Design, np. zSwipeDismissableNavHost
wandroidx.wear.compose.navigation
. Zalecamy nadal używanieSwipeToDismissBox
zandroidx.wear.compose.material
w przypadku Material Design, ponieważ pobiera on kolory zMaterialTheme
, a potem deleguje pozostałą implementację doBasicSwipeToDismissBox
. SwipeDismissableNavHost
obsługuje teraz nowy parametruserSwipeEnabled
, dzięki czemu można wyłączyć obsługę przesuwania na ekranach, na których nie jest ona wymagana.BasicSwipeToDismissBox
poprawiło obsługę fokusa za pomocąHierarchicalFocusCoordinator
.SwipeToReveal
zawiera nowe komponentySwipeToRevealCard
iSwipeToRevealChip
w Material Design, które są zgodne z zalecanymi wskazówkami dotyczącymi UX w przypadkuCard
iChip
. Obsługuje też cofanie w przypadku działania dodatkowego.DefaultTextStyle
wyłącza teraz wypełnienie czcionki, aby zachować spójność na platformie Android.- Elementy
Chip
iToggleChip
mają teraz dostosowywaną wysokość, aby uwzględnić treści, które zostały powiększone ze względu na duże czcionki w celu ułatwień dostępu. PositionIndicator
ma teraz osobne specyfikacje animacji dla animacji w pojawianiu się, znikania i zmiany pozycji. Ze względu na wydajność zalecamy wyłączenie efektów łagodnego pojawiania się i zmiany pozycji w przypadku list przewijanych.ExpandableStateMapping
udostępnia nowy sposób generowaniaExpandableStates
, gdy trzeba je utworzyć na żądanie, a niekoniecznie w zakresie@Composable
.Placeholder
umożliwia teraz zresetowanie treści, jeśli nie są one już w stanie gotowości. Ponadto ustawienie „Ogranicz ruch” dotyczy teraz efektu migotania i ruchu wycierania w filmachPlaceholder
.
Znane problemy
PositionIndicator
nie jest wyświetlany, gdy pojawia się ekran. Zamierzamy wprowadzić zmianę w wersji 1.4 alpha, aby wyświetlała się ona początkowo, ale bez animacji.
Zmiany w interfejsie API
- Zmieniliśmy nazwę poziomu Podstawy
SwipeToDismissBox
naBasicSwipeToDismissBox
. Dzięki temu wyraźniej widać różnicę między komponentem na poziomie Foundation a poziomem MaterialSwipeToDismissBox
. Drugi z nich pobiera kolory z poziomuMaterialTheme
, aby wykorzystać je w przesłonach, a pozostałe elementy implementuje w poziomieBasicSwipeToDismissBox
. (Ibecfc) - Oznaczyliśmy model
rememberExpandableStateMapping
jako eksperymentalny i poprawiliśmy skuteczność modeluexpandableItem
. (I5f6bc) - Klasę
SwipeToRevealAction
w interfejsach API karty i elementu karty MaterialSwipeToReveal
zastąpiliśmy interfejsem API opartym na slotach, który korzysta z komponentówSwipeToRevealPrimaryAction
,SwipeToRevealSecondaryAction
iSwipeToRevealUndoAction
. Przykłady korzystania z nowego interfejsu API znajdziesz w przykładowym kodzie. (Ia8943) - Flagi animacji
PositionIndicator
zostały zastąpione parametramiAnimationSpec
. Poszczególne animacje można wyłączyć, przekazując wartośćsnap
jako parametrAnimationSpec
. (I6c523)
Poprawki błędów
- Naprawiliśmy błąd powodowany przez ograniczony zakrzywiony tekst, gdy rozmiar jest ograniczony (I50efe)
- Rozwiązaliśmy problem z potencjalnym błędem NaN związanym z urządzeniem
curvedComposable
(I970eb). - Cofnęliśmy usunięcie animacji podświetlenia zmiany pozycji w
PositionIndicator
. (Ieb424) - Aby zwiększyć wydajność komponentu Chip, usunęliśmy warstwę material-core. (If2dcb)
Wersja 1.3.0-alpha08
18 października 2023 r.
androidx.wear.compose:compose-*:1.3.0-alpha08
został zwolniony. Wersja 1.3.0-alpha08 zawiera te commity.
Zmiany w interfejsie API
- Do funkcji
PositionIndicator
dodaliśmy osobne flagi, aby umożliwić kontrolowanie różnych animacji:showFadeInAnimation
,showFadeOutAnimation
ishowPositionAnimation
. Poprzedni interfejs API został wycofany i przekierowuje wywołania do nowego. Ze względu na wydajność i spójność interfejsu użytkownika, gdy elementPositionIndicator
jest używany z listą przewijalną, zalecamy wyłączenie flagshowFadeInAnimation
ishowPositionAnimation
. JeśliPositionIndicator
jest używany jako samodzielny wskaźnik, np. do zmiany głośności, zalecamy włączenie wszystkich 3 animacji. (I44294) - Materiały
SwipeToDismissBoxState
,SwipeToDismissValue
iedgeSwipeToDismiss
zostały wycofane po przeniesieniu funkcji przesuwania w bok dowear.compose.foundation
. Zastąp je odpowiednikami z poziomuwear.compose.foundation
. (Iee8c9)
Poprawki błędów
- Zaktualizowaliśmy profile bazowe dla bibliotek komponentów, materiałów i nawigacji w komponentach Wear Compose. (Idb060)
- Wprowadziliśmy cofnięcie zmiany zachowania
PositionIndicator
wprowadzonej w poprzedniej wersji CL, tak abyPositionIndicator
była animowana podczas początkowego wyświetlania ekranu. Zamierzamy wprowadzić podobną zmianę w wersji 1.4 alpha, abyPositionIndicator
była wyświetlana na początku, ale bez animacji. (I41843) - Rozwiązaliśmy kilka problemów z wydajnością w wersji
PositionIndicator
. (I1c654, b/302399827) - Zoptymalizowaliśmy wydajność domyślnej implementacji dostawcy stanu eksploracji dotykiem, aby polegała ona na
State<Boolean>
, a nie na stanie pochodnej. (Ieec4d) - W przypadku Androida 13 i nowszych ustawiliśmy
systemGestureExclusion
prostokąty. (Ib1f4b)
Wersja 1.3.0-alpha07
4 października 2023 roku
androidx.wear.compose:compose-*:1.3.0-alpha07
został zwolniony. Wersja 1.3.0-alpha07 zawiera te commity.
Zmiany w interfejsie API
- Do
PositionIndicator
dodaliśmy osobne flagi, aby umożliwić sterowanie różnymi animacjami:showFadeInAnimation
,showFadeOutAnimation
ishowPositionAnimation
. Poprzedni interfejs API został wycofany i przekierowuje wywołania do nowego. Ze względu na wydajność i spójność interfejsu użytkownika, gdy elementPositionIndicator
jest używany z listą przewijalną, zalecamy wyłączenie flagshowFadeInAnimation
ishowPositionAnimation
. JeśliPositionIndicator
jest używany jako samodzielny wskaźnik, np. do zmiany głośności, zalecamy włączenie wszystkich 3 animacji. (Ia2d63)
Poprawki błędów
- Wprowadziliśmy ulepszenia w przypadku animacji przesunięcia, aby ujawnić, dodając animację znikania do tekstu głównego działania oraz znikający tekst działania dodatkowego lub zmieniając rozmiar ikony po pełnym rozwinięciu. (Ib7223)
- Zalecamy, aby działania „Przesuń, aby wyświetlić” były dostępne. Do naszych przykładów działania „Przesuń, aby wyświetlić” dodaliśmy niestandardowe działania ułatwień dostępu. (I42224)
- Zwiększyliśmy wydajność funkcji
SwipeToDismissBox
, m.in. dzięki refaktoryzacji, która ma zapewnić, aby początkowa logika nie powodowała ponownego tworzenia kompozycji. ElementSwipeToDismissBox
jest teraz wyświetlany w rozmiarze pełnego ekranu. (Ie0aa2) - Naprawiliśmy błąd, który powodował nieprawidłowe znikanie
PositionIndicator
. (I2091a) - Poprawiona skuteczność
PositionIndicator
dzięki optymalizacji rekompozycji. Dodano nowe flagi do sterowania animacjami (fadeIn
,fadeOut
ipositionChange
) (patrz Zmiany w interfejsie API) (Ifac7d) - Dodaliśmy testy mikrobenchmarków dla
PositionIndicator
(Idf875)
Wersja 1.3.0-alpha06
20 września 2023 r.
androidx.wear.compose:compose-*:1.3.0-alpha06
został zwolniony. Wersja 1.3.0-alpha06 zawiera te commity.
Poprawki błędów
- Dodaliśmy obsługę właściwości
Modifier.edgeSwipeToDismiss
w przypadku właściwościSwipeToReveal
. (I95774, b/293444286) - Dodaliśmy próbki materiałów
SwipeToRevealChip
iSwipeToRevealCard
. (Ieb974) - Zaktualizowaliśmy profile bazowe dla bibliotek Wear Compose Foundation i Material. (I1dd1f)
Wersja 1.3.0-alpha05
6 września 2023 r.
androidx.wear.compose:compose-*:1.3.0-alpha05
został zwolniony. Wersja 1.3.0-alpha05 zawiera te commity.
Poprawki błędów
- Dodaliśmy obsługę funkcji Przesuń, aby wyświetlić, aby można było przesuwać tylko jeden element naraz. (I3cd7a)
- Ulepszona dokumentacja funkcji
ScalingLazyColumnDefaults
, aby lepiej odzwierciedlała jej rzeczywiste działanie. (I886d3)
Wersja 1.3.0-alpha04
23 sierpnia 2023 r.
androidx.wear.compose:compose-*:1.3.0-alpha04
został zwolniony. Wersja 1.3.0-alpha04 zawiera te commity.
Nowe funkcje
- Dodaliśmy obsługę funkcji cofnij w przypadku działania wtórnego
SwipeToReveal
. (I7a22d)
Zmiany w interfejsie API
- Dodaj
HorizontalPageIndicator
do biblioteki Material3 na Wear. (Ifee99) - Zaktualizowano narzędzia do wyświetlania podglądu na Wear Compose, aby używały biblioteki
androidx.wear.tooling.preview
. (Ib036e)
Poprawki błędów
- Naprawiliśmy błąd w przyciskach okrągłych, w których modyfikatory nie były prawidłowo połączone. (I5e162)
Wersja 1.3.0-alpha03
9 sierpnia 2023 r.
androidx.wear.compose:compose-*:1.3.0-alpha03
został zwolniony. Wersja 1.3.0-alpha03 zawiera te commity.
Zmiany w interfejsie API
- Dodaliśmy do Material Design 2 nowe komponenty do implementacji
SwipeToReveal
za pomocą kart i elementów. Te komponenty są zgodne ze sprawdzonymi metodami dotyczącymi interfejsu użytkownika i ułatwiają deweloperom implementowanieSwipeToReveal
za pomocą istniejących komponentów w Material Design na Wear. (I7ec65) - Włączyliśmy adnotacje
FloatRange
jako ograniczenia interfejsu API, które zostały wcześniej określone w komentarzach. (Icb401)
Poprawki błędów
- Przemieściliśmy początkową logikę przewijania z funkcji
ScalingLazyColumn
do funkcjionGloballyPositioned()
. (Ic90f1) - Aby zoptymalizować przydział sekcji, używamy teraz w usługach
PositionIndicator
,ProgressIndicator
iSelectionControls
funkcjidrawWithCache
. (I5f225, b/288234617) - Rozwiązaliśmy problem z widocznością zaznaczenia w pozycji wyłączonej. (Ib25bf)
- Zaktualizowaliśmy
Placeholder
, aby umożliwić zresetowanie i wyświetlenie placeholdera, jeśli treści nie są już gotowe. (Ibd820) - Wprowadziliśmy poprawki dotyczące testów
Placeholder
(Idb560), które nie zawsze działały prawidłowo.
Wersja 1.3.0-alpha02
26 lipca 2023 r.
androidx.wear.compose:compose-*:1.3.0-alpha02
został zwolniony. Wersja 1.3.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Udostępniliśmy
ExpandableStateMapping
, nowy sposób generowaniaExpandableStates
w przypadkach, gdy trzeba je tworzyć na żądanie, niekoniecznie w zakresie@Composable
(Iff9e0). SwipeToDismissBox
został przeniesiony z pakietuandroidx.wear.compose.material
do pakietuandroidx.wear.compose.foundation
. (I275fb)- zaktualizowane pliki interfejsu API, aby dodać adnotacje do pomijania zgodności; (I8e87a, b/287516207)
- Stałe wysokości
Chip
,CompactChip
iToggleChip
są teraz publicznie dostępne (Idbfde). - Opublikowaliśmy poziome i pionowe wypełnienie dla elementów
Chip
iCompactChip
. (Ieeaf7) - Dodano funkcję wyłączania obsługi przesuwania w elementach
SwipeDismissableNavHost
za pomocą nowego parametruuserSwipeEnabled
. (Id2a0b, b/230865655) - Zaktualizowaliśmy bibliotekę nawigacji Compose na Wear, aby używała nowego komponentu
SwipeToDismissBox
z fundacji Wear Compose. (I4ff8e)
Poprawki błędów
- Naprawiliśmy błąd związany z z-order, który powodował, że
expandedItem
nie wyświetlał prawidłowej treści po kliknięciu przycisku. (I1899d, b/289991514) - Poprawa obsługi zaznaczenia
SwipeToDismissBox
(a tym samymSwipeDismissableNavHost
) za pomocąHierarchicalFocusCoordinator
(I45362, b/277852486) - Wprowadziliśmy poprawkę dotyczącą obsługi gestów w grze
SwipeableV2
. (I89737) - Sfinalizowaliśmy profile bazowe dla wersji 1.2. (Id5740)
- Po przeniesieniu
SwipeToDismissBox
do Foundation implementacja MaterialSwipeToDismissBox
jest teraz przekazywana do Foundation i zawiera domyślne wartości kolorów z jej motywu (If8451). - Dodaliśmy do
ListHeader
semantyczne nagłówki. (Ic5420) - Elementy
Chip
iToggleChip
będą teraz dostosowywać swoją wysokość do treści, które zostały powiększone ze względu na duże czcionki, aby zapewnić ułatwienia dostępu. (Iaf302) - Naprawiono błąd związany z rolą semantyczną obszaru dotykowego
SplitToggleChip
, aby ułatwić dostępność. (Ieed3a) - Ustawienie „Ogranicz ruch” wyłącza efekt migotania i wymazywania obiektów zastępczych. (I91046)
Stepper
iInlineSlider
obsługują teraz powtarzane kliknięcia po długim naciśnięciu, dzięki czemu możesz szybko zwiększać lub zmniejszać wartośćStepper
iInlineSlider
, przytrzymując przyciski + lub -. (I27359)
Wersja 1.3.0-alpha01
21 czerwca 2023 r.
androidx.wear.compose:compose-*:1.3.0-alpha01
został zwolniony. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.
Poprawki błędów
- Zgodnie z informacjami podanymi w artykułach
1.2.0-alpha07
i1.2.0-alpha10
zmieniamy terazDefaultTextStyle
, aby wyłączyć wypełnienie czcionki, co zapewni spójność na platformie Android. Rozwiązanie to pozwoli rozwiązać niektóre przypadki przycinania tekstu przy dużych rozmiarach czcionki i może też wpłynąć na układy ekranu, dlatego testy zrzutów ekranu trzeba będzie zaktualizować. Tutaj widzimy obcięty tekst (Ic6a86)
- Nie jest już widoczny, gdy wyłączysz wypełnienie czcionki:
- Zaktualizowaliśmy usługę
wear.compose.foundation
, aby była zależna od interfejsu API usługiwear.compose.material
(I72004, b/285404743). - Naprawiliśmy błąd w
SwipeToDismissBox
. Klucze tła i treści są teraz przekazywane do bloku zapamiętaj, aby podczas zmiany treści lub tła były tworzone nowe modyfikatory. (Ib876c, b/280392104) - Zaktualizowaliśmy funkcję
TimeText
, aby używała lokalizacji przy wyborze formatu czasu 12- lub 24-godzinnego. (If4a3d) - Naprawiliśmy niespójność w domyślnych parametrach
SwipeToDismissBox
contentScrimColor
. (I2d70f) - Ulepszono obsługę ruchu w aplikacji
SwipeToReveal
. (I28fb7)
Znane problemy
- Obsługa rozmiarów czcionek konfigurowanych przez użytkownika jest wymagana ze względu na ułatwienia dostępu. Wiemy, że elementy typu chip na wiele wierszy mogą powodować przycinanie tekstu, gdy są wyświetlane z dużymi rozmiarami czcionek. Dlatego zaktualizujemy element typu chip w wersji alfa 1.3, aby w takich przypadkach dokonywać korekt wysokości.
Wersja 1.2
Wersja 1.2.1
18 października 2023 r.
androidx.wear.compose:compose-*:1.2.1
został zwolniony. Wersja 1.2.1 zawiera te zatwierdzenia.
Poprawki błędów
- Usunęliśmy błąd, który powodował nieprawidłowe zniknięcie
PositionIndicator
. (7a167f)
Wersja 1.2.0
9 sierpnia 2023 r.
androidx.wear.compose:compose-*:1.2.0
został zwolniony. Wersja 1.2.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.1.0
- stabilna wersja Compose 1.2.0 na Wear OS (więcej informacji);
- Listę najważniejszych zmian w wersji 1.2 aplikacji Compose na Wear OS znajdziesz w informacjach o wersji (Compose na Wear OS 1.2 Beta01).
Wersja 1.2.0-rc01
26 lipca 2023 r.
androidx.wear.compose:compose-*:1.2.0-rc01
został zwolniony. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Sfinalizowaliśmy profile bazowe dla wersji 1.2 (Id5740).
Wersja 1.2.0-beta02
7 czerwca 2023 r.
androidx.wear.compose:compose-*:1.2.0-beta02
został zwolniony. Wersja 1.2.0-beta02 zawiera te commity.
Nowe funkcje
- Dodaliśmy nową eksperymentalną zmienną
LocalReduceMotion
CompositionLocal
, która wyłącza skalowanie i rozjaśnianie w przypadkuScalingLazyColumn
. (I58024)
Poprawki błędów
- Zaktualizowaliśmy profile bazowe dla podstawy i bibliotek materiałów usługi Wear Compose(I4725d).
- Usunęliśmy niespójność w wartościach domyślnych parametrów
SwipeToDismissBox
contentScrimColor
(I2d70f). - Naprawiliśmy wartość domyślną
DefaultTextStyle
używaną w ustawieniuIncludeFontPadding
(I737ed)
Wersja 1.2.0-beta01
24 maja 2023 r.
androidx.wear.compose:compose-*:1.2.0-beta01
został zwolniony. Wersja 1.2.0-beta01 zawiera te commity.
Co nowego w Compose w wersji 1.2 na Wear OS
Wersja 1.2-beta01 biblioteki Compose na Wear OS oznacza, że ta wersja biblioteki jest kompletna, a interfejs API jest zablokowany (z wyjątkiem wersji oznaczonych jako eksperymentalne). Wersja Wear Compose 1.2 zawiera te nowe funkcje:
expandableItem
iexpandableItems
to 2 nowe komponentyFoundation
, które umożliwiają rozwijanie elementów wScalingLazyColumn
. UżyjexpandableItem
w przypadku pojedynczego elementu, który można rozwinąć, np. tekstu, w którym podana jest liczba wierszy. UżyjexpandableItems
dla grupy elementów, które można rozwinąć, iexpandableButton
, aby uprościć tworzenie przycisku, który zwija się po rozwinięciu treści.HierarchicalFocusCoordinator
– ta eksperymentalna kompozycja umożliwia oznaczenie poddrzew kompozycji jako włączone lub wyłączone.Picker
– interfejs API zawiera teraz parametruserScrollEnabled
, który umożliwia określenie, czy selektor jest aktywny podczas przewijania przez użytkownika.PickerGroup
– nowy komponent do obsługi wielu selektorów jednocześnie. Obsługuje fokus między selektorami za pomocą interfejsu APIHierarchicalFocusCoordinator
i umożliwia automatyczne wyśrodkowywanie elementów selektora.Placeholder
– wprowadziliśmy aktualizacje animacji migotania i wycierania. Efekt wymazywania jest teraz stosowany natychmiast po tym, jak treści są gotowe.ScalingLazyColumn
– przeniesiono elementScalingLazyColumn
i powiązane z nim zajęcia z organizacjiandroidx.wear.compose.material.ScalingLazyColumn
do organizacjiandroidx.wear.compose.foundation.lazy.ScalingLazyColumn
. Zaktualizuj aplikację do wersjiFoundation.Lazy
.SwipeToReveal
– dodaliśmy eksperymentalne wsparcie dla funkcji przesuwania w celu wyświetlenia jako sposobu dostępu do działań dodatkowych, uzupełniając istniejący schemat „długiego naciśnięcia”.Stepper
– teraz ma przeciążenie z dodatkowym parametremenableRangeSemantics
, aby ułatwić wyłączenie domyślnej semantyki zakresu.Previews
– dodaliśmy te niestandardowe adnotacje do wyświetlania kompozytowych na ekranach Wear:WearPreviewSmallRound
– podgląd kompozytowego na małym, okrągłym urządzeniu;WearPreviewLargeRound
– podgląd kompozytowego na dużym, okrągłym urządzeniu;WearPreviewSquare
– podgląd kompozytowego na kwadratowym urządzeniu. Dostępne są też te adnotacje i adnotacje dotyczące podglądu wielu elementów:WearPreviewFontScales
wyświetla elementy na urządzeniu Wear OS z różnymi rozmiarami czcionki, aWearPreviewDevices
– na różnych urządzeniach Wear OS.- Do Wear Compose dodaliśmy parametr
DefaultTextStyle
, który domyślnie ustawia wartość właściwościPlatformTextStyle.includeFontPadding
na „prawda” (jest to bieżące ustawienie). Umożliwi nam to zsynchronizowanie domyślnego wyłączania wyrównywania czcionki z bibliotekami w Compose we wczesnej wersji alfa 1.3. Więcej informacji znajdziesz w artykule 1.2.0-alpha10.
Nowe funkcje
- Dodaliśmy eksperymentalną obsługę wyłączonego skalowania i animacji zanikania, gdy włączone jest ustawienie reduce_motion. (I58024)
Poprawki błędów
- Ulepszona dokumentacja
angularWidthDp
wCurvedSize.kt
(Iab75c) SwipeDismissableNavHost
rejestruje teraz ostrzeżenie z potencjalnymi przyczynami pustego stosu. Ma to zapobiec nieoczekiwanym awariom spowodowanym przezIllegalArgumentException
, które wystąpiło, gdy stos podrzędny był pusty. (I04a81, b/277700155)
Wersja 1.2.0-alpha10
10 maja 2023 r.
androidx.wear.compose:compose-*:1.2.0-alpha10
został zwolniony. Wersja 1.2.0-alpha10 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy obsługę funkcji Przesuń, aby wyświetlić, która umożliwia dostęp do działań dodatkowych. Ten wzór uzupełnia wzór „długiego naciśnięcia”, czyli dotychczasowy sposób wyświetlania (różnych) działań dodatkowych. (I60862)
Zmiany w interfejsie API
- Dodaliśmy
RevealScope
do komponentów akcji w komponencieSwipeToReveal
, co umożliwia dostęp do przesunięcia, przy którym pojawiają się dodatkowe działania. (I3fd56)
Poprawki błędów
- Rozwiązano problem z
ScalingLazyColumn
, który po przesunięciu zatrzymywał się na Wear API 33 (Ic4599). - Wprowadziliśmy kilka ulepszeń w funkcji
PositionIndicator
, aby zmniejszyć zacięcia. (I35e92) - Naprawiliśmy błąd w elementach typu chip i
CompactChip
, w których rola semantyczna nie była już ustawiona naRole.Button
. (I93f91, b/277326264)
Znane problemy
Wykryliśmy błąd w Android Studio, który powoduje problemy z renderowaniem podglądu, gdy jest on opatrzony adnotacjami @WearPreviewDevices i @WearPreviewFontScales. Planujemy wkrótce wprowadzić poprawkę. Pamiętaj, że inne adnotacje podglądu na urządzeniu Wear działają zgodnie z oczekiwaniami w wersji Android Studio Giraffe 2022.3.1 i nowszych.
W wersji 1.2.0-alpha07 dodaliśmy do usługi Compose na Wear DefaultTextStyle, zachowując dotychczasową wartość PlatformTextStyle.includeFontPadding jako true. W przypadku tła zobacz artykuł Poprawka marginesu czcionki w Compose. W pierwszej wersji alfa 1.3 zmienimy wartość DefaultTextStyle, aby wyłączyć wypełnienie czcionki, co zapewni spójność na platformie Android. Rozwiązanie to pozwoli rozwiązać niektóre przypadki przycinania tekstu przy dużych rozmiarach czcionki i może też wpłynąć na układy ekranu, dlatego testy zrzutów ekranu wymagają aktualizacji. Na przykład w przypadku dużych rozmiarów czcionki tekst jest przycinany:
- Nie jest już widoczny, gdy wyłączysz wypełnienie czcionki:
Nowe ustawienie można zastosować, zastępując typografię w motywie. W tym celu użyj przykładowego kodu.
Wersja 1.2.0-alpha09
19 kwietnia 2023 r.
androidx.wear.compose:compose-*:1.2.0-alpha09
został zwolniony. Wersja 1.2.0-alpha09 zawiera te commity.
Zmiany w interfejsie API
- Dodanie do interfejsu API
CurvedModifier
wartościangularSizeDp
, która służy do ustawiania szerokości kątowej w pikselach (I89a52)
Poprawki błędów
- Rozwiązaliśmy problemy z dostępnością w demo selektora czasu(Id0eb7).
Wersja 1.2.0-alpha08
5 kwietnia 2023 r.
androidx.wear.compose:compose-*:1.2.0-alpha08
został zwolniony. Wersja 1.2.0-alpha08 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zmieniliśmy nazwę
ExpandableItemsState
naExpandableState
. (If85ea) - Dodaliśmy element
expandableButton
, aby ułatwić tworzenie przycisku, który zwija się, gdy treść jest rozwinięta. Zaktualizowaliśmy też przykłady elementów rozwijanych. (Iae309)
Poprawki błędów
- Ulepszone przykłady z możliwością rozwinięcia, które pokazują więcej możliwości. Zmodyfikowana animacja
expandableItem
, aby jej zawartość była wyśrodkowana. (I2f637) - Zaktualizowano
ToggleControls
, aby uniknąć dodatkowych przekształceń podczas ręcznej animacji kolorów za pomocą stanu. (I5d319)
Wersja 1.2.0-alpha07
22 marca 2023 r.
androidx.wear.compose:compose-*:1.2.0-alpha07
został zwolniony. Wersja 1.2.0-alpha07 zawiera te commity.
Zmiany w interfejsie API
- Komponenty Rozwijalnego elementu (dodane w wersji 1.2.0-alpha06) zostały przeniesione z kategorii „Materiały” do kategorii „Podstawy”, ponieważ nie odwoływały się w żaden znaczący sposób do
MaterialTheme
. (Ib0525)
Poprawki błędów
- Rozwiązaliśmy problem z zawieszaniem się aplikacji, który występował na ekranie z użyciem
PickerGroup
. Upewniliśmy się, żePickerGroup
poprawnie obsługuje fokus, gdy żaden selektor nie ma fokusu. Dodaliśmy też obsługę przewijania RSB w demo selektorów. (If8c19) - Poprawiliśmy przejścia między dialogami – przejście w intronie jest teraz płynniejsze, aby pasowało do zakończenia. (Ib5af9)
- Do Wear Compose dodaliśmy parametr
DefaultTextStyle
, który domyślnie ustawia wartość właściwościPlatformTextStyle.includeFontPadding
na „prawda” (jest to bieżące ustawienie). W przyszłości będziemy mogli zsynchronizować wyłączenie wyrównywania czcionki z domyślnymi bibliotekami w Compose. Więcej informacji znajdziesz w artykule Poprawka wyrównywania czcionki w Compose. (I2aee8) - Cofnięty został element
UpsideDownCake
, który blokował publikowanie aplikacji w Sklepie Google Play. (I6443d)
Wersja 1.2.0-alpha06
8 marca 2023 r.
androidx.wear.compose:compose-*:1.2.0-alpha06
został zwolniony. Wersja 1.2.0-alpha06 zawiera te commity.
Zmiany w interfejsie API
- Dodaj komponent
CurvedBox
, który umieszcza komponenty jeden na drugim w krzywoliniowym świecie. (I29200) - Dodano elementy, które można rozwijać – 2 nowe komponenty obsługujące grupę elementów do rozwinięcia w elementach
ScalingLazyColumn
lub pojedynczy element do rozwinięcia, np. tekst, w którym można zwiększać liczbę wierszy. (I95dd5) - Dodaliśmy te niestandardowe adnotacje do wyświetlania podglądu elementów składanych na ekranach urządzeń Wear:
WearPreviewSmallRound
wyświetla podgląd elementu składanego na małym, okrągłym urządzeniu;WearPreviewLargeRound
wyświetla podgląd elementu składanego na dużym, okrągłym urządzeniu;WearPreviewSquare
wyświetla podgląd elementu składanego na kwadratowym urządzeniu. Dostępne są też te adnotacje i adnotacje dotyczące podglądu wielu elementów:WearPreviewFontScales
wyświetla elementy na urządzeniu Wear OS z różnymi rozmiarami czcionki, aWearPreviewDevices
– na różnych urządzeniach Wear OS. Aby korzystać z tych wersji podglądowych, musisz używać najnowszej wersji Android Studio (Giraffe Canary 6) lub nowszej. Jeśli te adnotacje nie spełniają Twoich oczekiwań, możesz nadal korzystać z podglądu, który umożliwia dalsze dostosowywanie za pomocą parametrów. (I397ff) - Oznaczyliśmy
HierarchicalFocusCoordinator
jako element eksperymentalny, ale ze względu na jego szerokie zastosowanie rozważamy przeniesienie go do głównych bibliotek compose. (I3a768)
Poprawki błędów
- Usunęliśmy błąd w funkcji
HierarchicalFocusCoordinator
. Gdy zmieni się wartość parametru lambda przekazanego do parametrufocusEnabled
, będziemy teraz prawidłowo używać nowej wartości. (Icb353) - Zaktualizowaliśmy domyślny kolor wyłączonych treści na tło, gdy w usługach
Button
,CompactButton
,Chip
,CompactChip
iToggleButton
używasz kolorów podstawowych jako tła. Dzięki temu poprawisz kontrast w celu ułatwienia dostępu. (I527cc)
Wersja 1.2.0-alpha05
22 lutego 2023 roku
androidx.wear.compose:compose-*:1.2.0-alpha05
został zwolniony. Wersja 1.2.0-alpha05 zawiera te commity.
Zmiany w interfejsie API
- Zaktualizowano interfejs API
PickerGroup
, aby umożliwić opcjonalne propagowanie minimalnych ograniczeń do komponentu. Gdy ma wartość Prawda, minimalne ograniczenia przekazane z elementu kompozytowego nadrzędnego będą dozwolone w komponenciePickerGroup
. Jeśli opcjaPickerGroup
ma wartość Fałsz, spowoduje to zresetowanie minimalnych ograniczeń. (I3e046) - Dodaliśmy do interfejsu Picker API parametr
animateScrollToOption
, aby umożliwić programową animację określonej opcji selektora (I6fe67).
Poprawki błędów
- Zaktualizowaliśmy
HorizontalPageIndicator
, aby obsługiwał układy od prawej do lewej. (Ia4359) - Dodano testy zrzutów ekranu dla układu od prawej do lewej w
HorizontalPageIndicator
(I6fbb8). - Dodano do
SwipeDismissableNavHostTest
kolejne testy korzystające zTestNavHostController
(I61d54)
Wersja 1.2.0-alpha04
8 lutego 2023 r.
androidx.wear.compose:compose-*:1.2.0-alpha04
został zwolniony. Wersja 1.2.0-alpha04 zawiera te commity.
Nowe funkcje
PickerGroup
do obsługi wielu selektorów jednocześnie za pomocą interfejsu Focus API. Obsługuje ono fokus między różnymi selektorami, umożliwia automatyczne wyśrodkowywanie selektorów na podstawie parametrów i umożliwia deweloperom zmianę fokusu między różnymi selektorami podczas obsługi zdarzeń z grupy. W trybie TalkBack elementPickerGroup
obsługuje TalkBack, przenosząc zaznaczenie na wybrany selektor z grupy. (I60840)
Zmiany w interfejsie API
- Dodaliśmy przeciążenie do funkcji Stepper z dodatkowym parametrem
enableRangeSemantics
, aby ułatwić wyłączenie domyślnej semantyki zakresu (Ia61d4).
Poprawki błędów
- Zezwalaj na zagnieżdżanie
ScalingLazyColumn
na stronie przewijanej poziomo (Iec3f8, b/266555016) - Ulepszenie czyszczenia testów kdocs i
StepperTest
w Stepperze. (Ic118e) - Zaktualizowano zależność
androidx.navigation
do wersji 2.5.3 (If58ed)
Wersja 1.2.0-alpha03
25 stycznia 2023 r.
androidx.wear.compose:compose-*:1.2.0-alpha03
został zwolniony. Wersja 1.2.0-alpha03 zawiera te komisy.
Zmiany w interfejsie API
- Z poziomu
androidx.wear.compose.material.ScalingLazyColumn
doandrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn
przeniesionoScalingLazyColumn
(i powiązane z nim klasy) (patrz ten przykład migracji). Nowa lokalizacja jest bardziej zbliżona docompose.foundation.lazy.LazyColumn
i bardziej naturalna, ponieważ nie jest elementem Material Design. Ta zmiana jest wprowadzana w ramach przygotowań do nowej biblioteki Material3, nad którą będziemy pracować równolegle z obecną biblioteką Material. (I060e7)
W ramach migracji ScalingLazyColumn
z Materialu do Foundation.Lazy
wprowadzamy te zmiany:
- Interfejsy API
PositionIndicator
kierowane na MaterialScalingLazyColumn
zostały wycofane. Zaktualizuj je do wersjiFoundation.Lazy ScalingLazyColumn
. Dodatkowo do polaScalingLazyListLayoutInfo
dodano poleanchorType
. (I29d95) ScalingLazyColumn
został oznaczony jako przestarzały w pakiecie Materiał do tworzenia aplikacji na Wear (I16d34).- Zaktualizowaliśmy modyfikator
ScrollAway
, aby używaćScalingLazyListState
z komponenta Wear ComposeFoundation.Lazy
, i wycofaliśmy przeciążenie, które używałoScalingLazyListState
z komponentu Wear Compose Material. (Ifc42c) - Zaktualizowaliśmy interfejsy API Dialog, aby używały
ScalingLazyListState
zFoundation.Lazy
, i wycofaliśmy przeciążenia, które używały interfejsu MaterialScalingLazyListState
(Ic8960). - Zaktualizowaliśmy interfejsy API selektora, aby używały
ScalingParams
zFoundation.Lazy
, i wycofaliśmy przeciążenia, które używały MaterialScalingParams
. (Idc3d8)
Poprawki błędów
- Naprawiliśmy błąd, który powodował niepotrzebne zmiany w układzie
ScalingLazyListState.centerItemIndex
, tak aby aktualizował on tylko wtedy, gdy wartość się zmieniła (Ia9f38). - Ulepszyliśmy wydajność
SwipeToDismissBox
(I3933b). - Dodano testy porównawcze dla
ScalingLazyColumn
w komponencie Compose Foundation na Wear (Ie00f9). - Zaktualizowaliśmy niektóre wewnętrzne metody klas
ScalingLazyColumn
w Material, aby używały ich odpowiedników zFoundation.Lazy
(I38aab) - Naprawiliśmy kilka problemów w testach selektora i dodaliśmy więcej testów sprawdzających przewijanie z przesunięciem (I6ac34).
- Demonstracje integracji
ScalingLazyColumn
zostały przeniesione doFoundation.Lazy
zamiast do MateriałuScalingLazyColumn
(Ic6caa). - Dodaliśmy opcjonalne parametry
fromDate/toDate
do wersji demonstracyjnejDatePicker
(I961cd).
Wersja 1.2.0-alpha02
11 stycznia 2023 r.
androidx.wear.compose:compose-*:1.2.0-alpha02
został zwolniony. Wersja 1.2.0-alpha02 zawiera te commity.
Zmiany w interfejsie API
- Testy interfejsu użytkownika w Android Compose będą teraz wykonywać przejścia układu dla każdej ramki podczas wykonywania ramek, aby przejść do stanu bezczynności (np. za pomocą
waitForIdle
). Może to wpłynąć na testy, które sprawdzają poszczególne ramki animacji układu. (I8ea08, b/222093277) - Parametr
minLines
został dodany do Wear Text, aby zapewnić spójne działanie z parametremBasicText
(I24874) - Funkcja
CompactChipTapTargetPadding
została udostępniona publicznie, aby była widoczna w dokumentacji (If1e70, b/234119038).
Poprawki błędów
- Wyłączanie kompilacji wieloplatformowych w przypadku pakietów
wear.compose
(Iad3d7) - Napraw kdocs dla
scrollToOption
(I6f9a0) - Zmiana funkcji
PlaceholderState.rememberPlaceholderState()
narememberUpdatedState
, aby stan się aktualizował, jeśli funkcja lambdaonContentReady
. (I02635, b/260343754) - Poprawiliśmy problem z drżeniem tekstu w komponencie
Picker
, wykorzystując nową strategię kompozytowania dodaną doModifier.graphicsLayer
. (I99302) - Naprawiliśmy błąd, który powodował migotanie w wersji demonstracyjnej
DatePicker
(I660bd). - Poprawiliśmy ułatwienia dostępu w przypadku 12-godzinnego formatu czasu i prezentacji selektora daty (I05e12).
- Zaktualizowaliśmy nasze demonstracje selektorów daty i godziny, aby zmiany w pliku RSB nie wpływały na selektory, gdy są niewybrane (I4aecb).
Wersja 1.2.0-alpha01
7 grudnia 2022 r.
androidx.wear.compose:compose-*:1.2.0-alpha01
został zwolniony. Wersja 1.2.0-alpha01 zawiera te commity.
Nowe funkcje
- Zaktualizowaliśmy eksperymentalną funkcję zastępnika, aby efekt „Wycieranie” był stosowany natychmiast po przygotowaniu treści, zamiast czekać na rozpoczęcie następnej pętli animacji. Wprowadziliśmy też kilka zmian w animacjach migotania i usuwania. (I5a7f4)
Zmiany w interfejsie API
- Dodaliśmy kompozyt
HierarchicalFocusCoordinator
, aby umożliwić oznaczanie poddrzewi kompozycji jako włączone lub wyłączone w trybie pełnej koncentracji (I827cb). - Dodaliśmy nową właściwość, aby zastąpić semantyczną rolę elementu
ToggleButton
.(I67132) - Zaktualizowaliśmy
TimeTextDefaults.TimeFormat12Hours
, aby usunąć AM/PM wTimeText
. Spowoduje to zmianę domyślnej wartości parametrówtimeSource
w interfejsie APITimeText
. (I1eb7f) - Rozszerzyliśmy interfejs Picker API, aby ułatwić dostęp do ekranów z wielokrotnie wyświetlanymi elementami. Dodano nową właściwość
userScrollEnabled
, która pozwala określić, czy selektor jest aktywny podczas przewijania przez użytkownika. (I3c3aa)
Poprawki błędów
- Zmieniliśmy domyślną szerokość obramowania
OutlinedButton/OutlinedCompactButton
z 2 pikseli na 1 piksel, aby dopasować się do ostatecznych specyfikacji interfejsu użytkownika. (Icf84d) - Aby zmniejszyć efekt przesuwania się pierwszego elementu dodanego do pustego
ScalingLazyColumn
, dodaliśmy szacowanyautoCentering topPadding
, gdy zawartość jest pusta. Ta zmiana oblicza ilość wypełnienia u góry, zakładając, że początkowa wysokość elementu wynosi 0 dp. W przypadkuScalingLazyListAnchorType.ItemStart
zostanie obliczone prawidłowe wypełnienie góry, a w przypadkuScalingLazyListAnchorType.ItemCenter
obliczenia będą nieprawidłowe, ponieważ wysokość elementów jest potrzebna do prawidłowego dopasowania rozmiaru zawartości, co spowoduje niewielki efekt przewijania na miejsce na podstawie rzeczywistej wysokości elementów (I239a4). - Zaktualizowaliśmy tło stosowane w animacji
SwipeToDismiss
, aby pasowało do platformy Wear. (I9003e) - Poprawiono obsługę funkcji
PositionIndicator
w przypadku funkcjiLazyListState
iScalingLazyListState
w przypadku elementów listy o rozmiarze 0, aby uniknąć błędów dzielenia przez 0.(Ic28dd)
Wersja 1.1
Wersja 1.1.2
8 lutego 2023 r.
Funkcje androidx.wear.compose:compose-foundation:1.1.2
, androidx.wear.compose:compose-material:1.1.2
i androidx.wear.compose:compose-navigation:1.1.2
są dostępne. Wersja 1.1.2 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiliśmy błąd, który powodował niepotrzebne zmiany w układzie
ScalingLazyListState.centerItemIndex
, tak aby przesyłał on aktualizacje tylko wtedy, gdy wartość ulegnie zmianie (Ia9f38).
Wersja 1.1.1
11 stycznia 2023 r.
Funkcje androidx.wear.compose:compose-foundation:1.1.1
, androidx.wear.compose:compose-material:1.1.1
i androidx.wear.compose:compose-navigation:1.1.1
są dostępne. Wersja 1.1.1 zawiera te zatwierdzenia.
Poprawki błędów
- Zmiana funkcji
PlaceholderState.rememberPlaceholderState()
narememberUpdatedState
, aby stan się aktualizował, jeśli funkcja lambdaonContentReady
. (I02635, b/260343754)
Wersja 1.1.0
7 grudnia 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.1.0
, androidx.wear.compose:compose-material:1.1.0
i androidx.wear.compose:compose-navigation:1.1.0
są dostępne. Wersja 1.1.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.0.0
- stabilna wersja Compose 1.1.0 na Wear OS (więcej informacji);
- Listę najważniejszych zmian w wersji 1.1 aplikacji Compose na Wear OS znajdziesz w informacjach o wersji Compose na Wear OS 1.1 Beta01.
Nowe funkcje
- Zaktualizowaliśmy eksperymentalną funkcję placeholdera, aby efekt „Wycieranie” był stosowany natychmiast po przygotowaniu treści, zamiast czekać na rozpoczęcie następnej pętli animacji. Wprowadziliśmy też kilka zmian w animacjach migotania i usuwania. (I5a7f4)
Poprawki błędów
- Zmieniliśmy domyślną szerokość obramowania
OutlinedButton/OutlinedCompactButton
z 2 pikseli na 1 piksel, aby dopasować się do ostatecznych specyfikacji interfejsu użytkownika. (Icf84d) - Aby zmniejszyć efekt przesuwania się pierwszego elementu dodanego do pustego
ScalingLazyColumn
, dodaliśmy szacowanyautoCentering topPadding
, gdy zawartość jest pusta. Ta zmiana oblicza ilość wypełnienia u góry, zakładając, że początkowa wysokość elementu wynosi 0 dp. W przypadkuScalingLazyListAnchorType.ItemStart
zostanie obliczone prawidłowe wypełnienie góry, a w przypadkuScalingLazyListAnchorType.ItemCenter
obliczenie będzie nieprawidłowe, ponieważ wysokość elementów jest potrzebna do prawidłowego dopasowania rozmiaru zawartości, co powoduje niewielki efekt przewijania do miejsca na podstawie rzeczywistej wysokości elementów (I239a4). - Zaktualizowaliśmy tło stosowane w animacji
SwipeToDismiss
, aby pasowało do platformy Wear.(I9003e) - Poprawiono obsługę funkcji
PositionIndicator
w przypadku funkcjiLazyListState
iScalingLazyListState
w przypadku elementów listy o rozmiarze 0, aby uniknąć błędów dzielenia przez 0.(Ic28dd)
Wersja 1.1.0-rc01
9 listopada 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.1.0-rc01
, androidx.wear.compose:compose-material:1.1.0-rc01
i androidx.wear.compose:compose-navigation:1.1.0-rc01
są dostępne. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Dodaliśmy reguły profilu podstawowego dla
Placeholders
,ScrollAway
,RadioButton
,Switch
,Checkbox
,OutlinedButton
,OutlinedCompactButton
,OutlinedChip
iOutlinedCompactChip
. (I8249c) - Naprawiliśmy błąd w funkcji
Modifier.scrollAway
, aby w przypadku nieprawidłowego parametruitemIndex
(np. gdy indeks elementu jest poza zakresem) funkcjaTimeText
była nadal wyświetlana. (I2137a) - Zaktualizowaliśmy animację
SwipeToDismissBox
, aby pasowała do implementacji na platformie. Po początkowej animacji ściskania ekran przesuwa się w prawo, gdy zostanie wywołana funkcja odrzucenia. (I41d34) - W ramach optymalizacji zaktualizowaliśmy funkcję
Modifier.scrollAway
, aby odczytywała tylko wartośćscrollState
w bloku pomiaru, co pozwoli uniknąć ponownego tworzenia modyfikatora po każdym pomiarze. (I4c6f1) - Dodaliśmy dokumentację i przykłady do obiektów zastępczych, aby pokazać prawidłową kolejność
Modifier.placeholder
iModifier.placeholderShimmer
w przypadku zastosowania do tego samego komponentu. (Ie96f4, b/256583229) - Zmieniliśmy domyślną szerokość obramowania
OutlinedCompactChip/OutlinedChip
z 2 pikseli na 1 piksel, aby dopasować się do ostatecznych specyfikacji interfejsu użytkownika. (Ib3d8e) - Naprawiliśmy błąd w
rememberPickerState
, który powodował, że zaktualizowane dane wejściowe nie były zapisywane, przez co komponenty nie były aktualizowane po zmianie danych wejściowych. (I49ff6, b/255323197) - Wprowadziliśmy kilka zmian w interfejsie odnośnie placeholderów: 1) zmieniliśmy gradient migotania na 1, 5 raza większy od rozmiaru ekranu, 2) dodaliśmy łagodne przejście (cubic bezier) dla migotania i 3) przyspieszyliśmy animację usuwania (250 ms). (Id29c1)
- Poprawiliśmy błąd interfejsu użytkownika w przypadku efektu usuwania obiektu zastępczego, w którym tło elementu Elementu i Karty było usuwane nieco za wcześnie, ponieważ nie uwzględniano pozycji komponentu na ekranie. (I2c7cb)
- Zaktualizowaliśmy rysunek tła w miejscu zastępczym, aby w miarę możliwości łączyć kolory zamiast je układać na warstwach. Dzięki temu zmniejszyliśmy ryzyko, że łączenie przezroczystości różnych przyciętych warstw spowoduje przenikanie kolorów z podległych warstw przez krawędzie tła w miejscu zastępczym. (I2ea26)
- Poprawiliśmy obliczenia
ScalingLazyListState.centerItemIndex/centerItemOffset
, aby w przypadku 2 elementów po obu stronach linii środkowej widoku urządzenia mobilnegocenterItem
był tym, który jest najbliżej. (I30709, b/254257769) - Naprawiliśmy błąd w funkcji
ScalingLazyListState.layoutInfo.visibleItemsInfo
, która raportowała nieprawidłowe przesunięcia podczas inicjalizacji funkcjiScalingLazyColumn
. Teraz zwracana jest pusta lista, dopóki wszystkie elementy listy nie będą widoczne i nie będą mieć prawidłowych przesunięć. SprawdzanieScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty()
potwierdzi, że inicjalizacjaScalingLazyColumn
została zakończona i że elementy są widoczne. (I3a3b8)
Wersja 1.1.0-beta01
24 października 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.1.0-beta01
, androidx.wear.compose:compose-material:1.1.0-beta01
i androidx.wear.compose:compose-navigation:1.1.0-beta01
są dostępne. Wersja 1.1.0-beta01 zawiera te commity.
Co zawiera Compose 1.1 na Wear OS
Wersja 1.1.0-beta01 biblioteki Compose na Wear OS wskazuje, że ta wersja biblioteki jest kompletna i interfejs API jest zablokowany.
- Wersja Wear Compose 1.1 zawiera te nowe funkcje:
- Selektor – ulepszenia dotyczące ułatwień dostępu w selektorze, dzięki którym można poruszać się po ekranach selektora za pomocą czytników ekranu, a opis treści jest dostępny dla osób niedowidzących.
- Parametr Picker
contentDescription
jest teraz używany tylko w przypadku wybranej opcji selektora i przyjmuje typ String z możliwością wartości null (w poprzednim commitie konieczne było przekazanie mapowania z opcji do opisu treści, ale używana była tylko wybrana opcja). - Elementy selektora są teraz zawsze wyrównane do środka. Wyeliminowaliśmy w ten sposób błąd, który powodował, że zmiana wartości
gradientRatio
na zero zmieniała wyrównanie. Chip/ToggleChip
– zaktualizowaliśmy domyślne gradienty wChip/ToggleChip
, aby dostosować je do najnowszej specyfikacji UX.ChipDefaults.gradientBackgroundChipColors
został zaktualizowany, aby zacząć od 50% koloru podstawowego zamiast 32,5%.Chip/ToggleChip
– dodano przeciążenia umożliwiające modyfikowanie kształtów elementówChip/Button/ToggleButton
– dodaliśmy nowy styl z obwódką dla elementów typu „elementy do kliknięcia” i przycisków oraz nowe elementy kompozytoweOutlinedChip
iOutlinedButton
, które zapewniają przezroczystyChip/Button
z cienką ramką.- Karta – zaktualizowano domyślne gradienty kart, aby dostosować je do najnowszej specyfikacji UX.
CardDefaults.cardBackgroundPainter
zaczyna się od 30% koloru podstawowego i kończy na 20% koloruonSurfaceVariant
(wcześniej było to 20% do 10% koloruonSurfaceVariant
).ToggleChip.toggleChipColors
zmienia się z gradientu liniowego 75% powierzchni na 32,5% koloru podstawowego na 0% powierzchni na 50% koloru podstawowego. Button/ToggleButton
– dodano właściwości umożliwiające modyfikowanie kształtów przycisków.- Motyw – zaktualizowano kilka domyślnych kolorów w
MaterialTheme
, aby ułatwić dostępność. Pierwotne kolory nie miały wystarczającego kontrastu, przez co użytkownicy mieli trudności z odróżnieniem tła elementów (elementów sterujących, kart i przycisków) od koloru tła motywu. InlineSlider/Stepper
– dodano role przycisków, abyTalkback
mogła je rozpoznać jako przyciski.- Scaffold –
PositionIndicator
ma teraz odpowiedni rozmiar i położenie, aby zajmować tylko potrzebną przestrzeń. Jest to przydatne, jeśli do obrazu dodano informacje semantyczne, ponieważ TalkBack będzie teraz otrzymywać prawidłowe granicePositionIndicator
na ekranie. CurvedText/TimeText
– dodanoModifier.scrollAway
, która przewija element w górę lub w dół, zależnie od stanu przewijania (z przeciążeniami do pracy z funkcjamiColumn
,LazyColumn
iScalingLazyColumn
).ScrollAway
jest zwykle używana do przewijania elementuTimeText
poza widok, gdy użytkownik zaczyna przewijać listę elementów w górę.CurvedText/TimeText
– dodano obsługę właściwościfontFamily
,fontStyle
ifontSynthesis
wCurvedTextStyle
, które można stosować wcurvedText
ibasicCurvedText
CurvedText/TimeText
– do konstruktora i metody kopiowania obiektuCurvedTextStyle
dodanofontWeight
ToggleControls
– dodano animowane przełącznikiCheckbox
,Switch
iRadioButton
do użycia z elementamiToggleChip
iSplitToggleChip
. Można ich używać zamiast ikon statycznych udostępnianych przezToggleChipDefaults
(switchIcon
,checkboxIcon
iradioIcon
).- Obiekt zastępczy – dodano eksperymentalną obsługę obiektów zastępczych. Zawiera on 3 różne efekty wizualne, które zostały zaprojektowane tak, aby działać razem.
- Po pierwsze, efekt pędzla tła zastępczego używany w kontenerach, takich jak elementy graficzne i karty, aby nakładać go na normalne tło podczas oczekiwania na załadowanie treści.
- Po drugie, modyfikator (
Modifier.placeholder()
) służący do wyświetlania widżetu z miejscem na zastępcze treści w kształcie stadionu nad wczytywanymi treściami. - Po trzecie, efekt gradientu modyfikującego lub migotania (
Modifier.placeholderShimmer()
), który jest nakładany na inne efekty, aby poinformować użytkowników, że czekamy na załadowanie danych.- Wszystkie te efekty są zsynchronizowane i migają oraz znikają w zaplanowany sposób.
- Zaktualizowano zależności Compose Core z wersji 1.2 na 1.3
Zmiany w interfejsie API
- Parametry czcionki (
fontFamily
,fontWeight
,fontStyle
ifontSynthesis
) można teraz określić bezpośrednio jako parametrycurvedText
(Idc422)
Poprawki błędów
curveText
ibasicCurvedText
będą teraz prawidłowo działać z talkback (są powiązane z odpowiednio z prawidłowo umieszczonym i wymiarowanym (ale pustym) węzłem interfejsu użytkownika tworzenia treści, który używa tekstu jako opisu treści) (I7af7c, b/210721259)- Poprawka błędu w
Picker
, gdyPickerState.repeatedItems = false
, aby dodać jawne ustawienie parametrów autoCentering w Pickers wewnętrznymScalingLazyColumn
, aby umożliwić przewijanie opcji zerowej do środka widoku. (I8a4d7)
Wersja 1.1.0-alpha07
5 października 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.1.0-alpha07
, androidx.wear.compose:compose-material:1.1.0-alpha07
i androidx.wear.compose:compose-navigation:1.1.0-alpha07
są dostępne. Wersja 1.1.0-alpha07 zawiera te commity.
Nowe funkcje
- Dodaliśmy eksperymentalną obsługę obiektów zastępczych. Zawiera on 3 różne efekty wizualne, które zostały zaprojektowane tak, aby działać razem. Po pierwsze, efekt pędzla tła zastępczego używany w kontenerach, takich jak elementy graficzne i karty, aby nakładać go na normalne tło podczas oczekiwania na załadowanie treści. Po drugie, modyfikator (
Modifier.placeholder()
) do rysowania widżetu zastępczego w kształcie stadionu nad wczytywaną zawartością. Po trzecie, efekt gradientu modyfikującego lub migotania (Modifier.placeholderShimmer()
), który jest nakładany na inne efekty, aby poinformować użytkowników, że czekamy na załadowanie danych. Wszystkie te efekty są zsynchronizowane i migają oraz znikają w zaplanowany sposób. (I3c339)
Zmiany w interfejsie API
- Dodano obsługę
fontWeight
,fontFamily
,fontStyle
ifontSynthesis
wCurvedTextStyle
, która jest dostępna nacurvedText
ibasicCurvedText
. Parametry te można wykorzystać do określenia czcionki i stylu, które mają być używane w przypadku wygiętego tekstu (Iaa1a8),(I72759). - Zaktualizowano parametr offset w komponencie
Modifier.scrollAway
, aby był zgodny z komponentemModifier.offset
(wcześniej był w pikselach). Zoptymalizowano też kod w funkcjiLayoutModifier
. (I9f94b) - W ramach nowego interfejsu API przełącznika zmieniliśmy nazwę interfejsu
RadioButton’s circleColor
naringColor
. (I28fa9) - Dodaliśmy animowane przełączniki
Checkbox
,Switch
iRadioButton
do stosowania w przypadku elementówToggleChip
iSplitToggleChip
. Można ich używać zamiast statycznych ikon udostępnianych przezToggleChipDefaults
(switchIcon
,checkboxIcon
iradioIcon
). (I8a8c4)
Wersja 1.1.0-alpha06
21 września 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.1.0-alpha06
, androidx.wear.compose:compose-material:1.1.0-alpha06
i androidx.wear.compose:compose-navigation:1.1.0-alpha06
są dostępne. Wersja 1.1.0-alpha06 zawiera te commity.
Nowe funkcje
- Dodaliśmy funkcję
Modifier.scrollAway
, która przewija element w górę lub w dół, zależnie od stanu przewijania (z przeciążeniami do pracy z funkcjamiColumn
,LazyColumn
iScalingLazyColumn
). FunkcjaScrollAway
jest zwykle używana do przewijania elementuTimeText
poza widok, gdy użytkownik zaczyna przewijać listę elementów w górę. (I61766)
Poprawki błędów
- Element
PositionIndicator
ma teraz odpowiedni rozmiar i położenie, dzięki czemu zajmuje tylko potrzebną przestrzeń. Jest to przydatne, jeśli do obrazu dodano informacje semantyczne, ponieważ TalkBack będzie teraz otrzymywać prawidłowe granicePositionIndicator
na ekranie. (Ie6106, b/244409133)
Wersja 1.1.0-alpha05
7 września 2022 roku
Funkcje androidx.wear.compose:compose-foundation:1.1.0-alpha05
, androidx.wear.compose:compose-material:1.1.0-alpha05
i androidx.wear.compose:compose-navigation:1.1.0-alpha05
są dostępne. Wersja 1.1.0-alpha05 zawiera te commity.
Poprawki błędów
- Do
InlineSlider
iStepper
dodano role przycisków, aby Talkback mógł je rozpoznawać jako przyciski. (Icb46c, b/244260275) - Poprawiliśmy kolejność pozycji i wskaźników strony w Scaffold. Wskaźniki będą teraz znajdować się na wierzchu winiety, więc nie będą zasłonięte przez winietę, jeśli taka występuje. (Ib988f, b/244207528)
Wersja 1.1.0-alpha04
24 sierpnia 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.1.0-alpha04
, androidx.wear.compose:compose-material:1.1.0-alpha04
i androidx.wear.compose:compose-navigation:1.1.0-alpha04
są dostępne. Wersja 1.1.0-alpha04 zawiera te commity.
Zmiany w interfejsie API
- Zaktualizowaliśmy kilka domyślnych kolorów w MaterialTheme, aby ułatwić dostępność. Pierwotne kolory nie miały wystarczającego kontrastu, przez co użytkownicy mieli trudności z odróżnieniem tła elementów (elementu sterującego, karty lub przycisku) od tła motywu. Zaktualizowane kolory to surface(0xFF202124->0xFF303133), onPrimary(0xFF202124->0xFF303133), onSecondary(0xFF202124->0xFF303133), primaryVariant(0xFF669DF6->0xFF8AB4F8) i onError(0xFF202124->0xFF000000). Zmiany kolorów, choć stosunkowo subtelne, mogą mieć wpływ na dotychczasowe testy zrzutów ekranu. (81ab09)
Poprawki błędów
- Naprawiono błąd logiczny w funkcji
ScalingLazyColumn
, który mógł powodować, że listy z małą (zazwyczaj dokładnie 2) liczbą elementów nie kończyły inicjalizacji i w konsekwencji były przezroczyste. (504347)
Wersja 1.1.0-alpha03
10 sierpnia 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.1.0-alpha03
, androidx.wear.compose:compose-material:1.1.0-alpha03
i androidx.wear.compose:compose-navigation:1.1.0-alpha03
są dostępne. Wersja 1.1.0-alpha03 zawiera te commity.
Nowe funkcje
- Dodaliśmy nowy styl z obrysem dla
Chips
iButtons
oraz nowe komponentyOutlinedChip
iOutlinedButton
, które zapewniają przezroczysteChip/Button
z cienką ramką. (Id5972)
Zmiany w interfejsie API
- Dodano przeciążenia umożliwiające modyfikowanie kształtów przycisków (Icccde).
Poprawki błędów
- Poprawiliśmy rozmiar obszaru przełącznika w
ToggleChip
, ponieważ nie pasował do specyfikacji UX. Specyfikacja UX wymaga 4 dp odstępu między etykietą a obszarem ikony przełącznika o wymiarach 24 x 24 dp, co daje w sumie 28 dp szerokości. Jednak implementacja nieprawidłowo wyświetla obszar przełącznika 36x24.dp. W efekcie zmniejsza to użyteczną powierzchnię etykiety tekstowej o 8 dp. UWAGA: ta poprawka zapewnia dodatkową przestrzeń na etykietę tekstową, co może pozytywnie wpłynąć na układ tekstu, który się wylewa. Jeśli masz testy zrzutów ekranu, które zawierająToggleChips
, może być konieczne ich zaktualizowanie. (I514c8, b/240548670)
Wersja 1.1.0-alpha02
27 lipca 2022 roku
Funkcje androidx.wear.compose:compose-foundation:1.1.0-alpha02
, androidx.wear.compose:compose-material:1.1.0-alpha02
i androidx.wear.compose:compose-navigation:1.1.0-alpha02
są dostępne. Wersja 1.1.0-alpha02 zawiera te commity.
Nowe funkcje
- Zmiana zależności Compose na Wear OS z wersji 1.2.0 na 1.3.0-alpha0X w bibliotekach podstawowych Compose
Zmiany w interfejsie API
- Dodano przeciążenia do modyfikowania kształtów elementów (I02e87)
Poprawki błędów
- Wprowadziliśmy animację widoczności winiety podczas wyświetlania lub ukrywania okna dialogowego, aby była ona zgodna z dotychczasową animacją skalowania. (Ida33e)
- Naprawiliśmy błąd, który powodował dzielenie przez 0 podczas przewijania. (I86cb6)
- Naprawiliśmy błąd w
ChipDefaults.childChipColor()
, aby wyłączony kolor tła był całkowicie przezroczysty. (I2b3c3, b/238057342)
Wersja 1.1.0-alpha01
29 czerwca 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.1.0-alpha01
, androidx.wear.compose:compose-material:1.1.0-alpha01
i androidx.wear.compose:compose-navigation:1.1.0-alpha01
są dostępne. Wersja 1.1.0-alpha01 zawiera te commity.
Zmiany w interfejsie API
- Parametr
contentDescription
selektora jest teraz używany tylko w przypadku wybranej opcji selektora i przyjmuje typ String z możliwością wartości null (wcześniej konieczne było przekazanie mapowania z opcji do opisu treści, ale używana była tylko wybrana opcja). (Ife6a7) - Wprowadziliśmy ułatwienia dostępu w pickerze, aby można było poruszać się po ekranach pickera z użyciem czytnika ekranu, a opis treści był dostępny (I64edb).
Poprawki błędów
- Zaktualizowaliśmy reguły profilu bazowego dołączone do biblioteki Compose na Wear (I9c694).
- Poprawiliśmy kierunek gradientu w przypadku elementów interfejsu w trybie od prawej do lewej. Domyślny kierunek przesuwania to teraz od prawego górnego do lewego dolnego rogu (wcześniej od lewego górnego do prawego dolnego). (Ic2e77)
- Zaktualizowaliśmy domyślne gradienty
Chip/ToggleChip/Card
, aby dostosować je do najnowszej specyfikacji UX.ChipDefaults.gradientBackgroundChipColors
zaczyna się teraz od 50% koloru podstawowego zamiast 32,5%.CardDefaults.cardBackgroundPainter
został zaktualizowany, aby zaczynać się od 30% powierzchni podstawowej i kończyć na 20% powierzchnionSurfaceVariant
(wcześniej 20% do 10%onSurfaceVariant
).ToggleChip.toggleChipColors
zmienia się z gradientu liniowego 75% powierzchni na 32,5% powierzchni podstawowej na 0% powierzchni do 50% powierzchni podstawowej. (I43bbd) - Dodaliśmy kolor tła (
MaterialTheme.color.surface
) za elementamiChip/ToggleChips
, które mają tło z gradientem, aby były one dobrze widoczne w nieprawdopodobnej sytuacji, gdy tło będzie jasne. (Ibe1a4, b/235937657) - Elementy selektora są teraz zawsze wyrównane do środka. Wyeliminowaliśmy w ten sposób błąd, który powodował, że zmiana wartości
gradientRatio
na zero zmieniała wyrównanie. (I712b8)
Wersja 1.0
Wersja 1.0.2
7 września 2022 roku
Funkcje androidx.wear.compose:compose-foundation:1.0.2
, androidx.wear.compose:compose-material:1.0.2
i androidx.wear.compose:compose-navigation:1.0.2
są dostępne. Wersja 1.0.2 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawiliśmy kolejność pozycji i wskaźników strony w Scaffold. Wskaźniki będą teraz znajdować się na wierzchu winiety, więc nie będą zasłonięte przez winietę, jeśli taka występuje. (Ib988f, b/244207528)
Wersja 1.0.1
24 sierpnia 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.0.1
, androidx.wear.compose:compose-material:1.0.1
i androidx.wear.compose:compose-navigation:1.0.1
są dostępne. Wersja 1.0.1 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono błąd logiczny w funkcji
ScalingLazyColumn
, który mógł powodować, że listy z małą (zazwyczaj dokładnie 2) liczbą elementów nie kończyły inicjalizacji i w konsekwencji były przezroczyste. (076c61)
Wersja 1.0.0
27 lipca 2022 roku
Funkcje androidx.wear.compose:compose-foundation:1.0.0
, androidx.wear.compose:compose-material:1.0.0
i androidx.wear.compose:compose-navigation:1.0.0
są dostępne. Wersja 1.0.0 zawiera te zatwierdzenia.
Najważniejsze funkcje wersji 1.0.0
- To pierwsza stabilna wersja Compose na Wear OS (więcej informacji).
- Compose na Wear OS opiera się na podstawowych bibliotekach Compose i zawiera dodatkowe komponenty przeznaczone do noszenia, a w stosownych przypadkach także alternatywne implementacje podstawowych komponentów Compose dostosowanych do urządzeń do noszenia.
- Listę najważniejszych komponentów w Compose na Wear znajdziesz w informacjach o wersji (Compose na Wear OS Beta01).
Poprawki błędów
- Wprowadziliśmy animację widoczności winiety podczas wyświetlania lub ukrywania okna dialogowego, aby była ona zgodna z dotychczasową animacją skalowania. (Ida33e)
- Naprawiliśmy błąd, który powodował dzielenie przez 0 podczas przewijania. (I86cb6)
- Naprawiliśmy błąd w
ChipDefaults.childChipColor()
, aby wyłączony kolor tła był całkowicie przezroczysty. (I2b3c3, b/238057342)
Wersja 1.0.0-rc02
22 czerwca 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.0.0-rc02
, androidx.wear.compose:compose-material:1.0.0-rc02
i androidx.wear.compose:compose-navigation:1.0.0-rc02
są dostępne. Wersja 1.0.0-rc02 zawiera te zatwierdzenia.
Poprawki błędów
- Wprowadziliśmy poprawki kierunku gradientu w przypadku kart w trybie od prawej do lewej. Domyślny kierunek przesuwania to od lewego górnego do prawego dolnego rogu, a teraz jest od prawego górnego do lewego dolnego rogu. (Ic2e77)
- Zaktualizowaliśmy domyślne gradienty w
Chip/ToggleChip/Card
, aby dostosować je do najnowszej specyfikacji UX.ChipDefaults.gradientBackgroundChipColors
zaczyna się teraz od 50% koloru podstawowego zamiast 32,5%. WartośćCardDefaults.cardBackgroundPainter
została zaktualizowana, aby zaczynała się od 30% wartości podstawowej i kończyła się na 20% wartościonSurfaceVariant
(wcześniej było to 20%–10% w SurfaceVariant).ToggleChip.toggleChipColors
zmienia się z gradientu liniowego od 75% powierzchni do 32,5% powierzchni podstawowej do 0% powierzchni do 50% powierzchni podstawowej. (I43bbd) - Dodaliśmy kolor tła (
MaterialTheme.color.surface
) za elementamiChip/ToggleChips
, które mają tło z gradientem, aby były one dobrze widoczne w nieprawdopodobnej sytuacji, gdy tło będzie jasne. (Ibe1a4, b/235937657) - Zaktualizowaliśmy reguły profilu bazowego zawarte w bibliotece Compose na Wear (I9c694).
Wersja 1.0.0-rc01
15 czerwca 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.0.0-rc01
, androidx.wear.compose:compose-material:1.0.0-rc01
i androidx.wear.compose:compose-navigation:1.0.0-rc01
są dostępne. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Interfejsy w bibliotekach kompozytowych są teraz tworzone za pomocą domyślnych metod interfejsu JDK 8 (I5bcf1).
Poprawki błędów
- Usunęliśmy wyraźne odwołanie do
fillMaxWidth()
w nagłówku listy, ponieważ jest ono zbędne i może powodować problemy, jeśliScalinglazyColumn
zawiera elementyListHeader()
iChip()
, ponieważ szerokość będzie się zwiększać lub zmniejszać wraz z przewijaniem elementówListHeader
. (I37144, b/235074035) - Naprawiliśmy błąd w
ScalingLazyColumn
, który powodował, że elementy listy nie były wyświetlane prawidłowo, dopóki nie przewinięto listy, jeśli 0 element listy był wystarczająco duży (w tym wypełnienie) (Ic6159, b/234328517) - Wprowadziliśmy niewielką zmianę w wygładzaniu
ScalingLazyColumn
, gdy elementy docierają do krawędzi ekranu, aby dopasować je do aktualizacji specyfikacji UX. Stare wartościCubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f)
-> nowe wartościCubicBezierEasing(0.3f, 0f, 0.7f, 1f)
. Aby zachować stare działanie, możesz zastąpićscalingParams
wScalingLazyColumn
(Ie375c). - Dodaliśmy wypełnienie do elementu
CompactChip
, aby jego rozmiar docelowy był większy niż 48 dp, co jest zgodne z wytycznymi dotyczącymi ułatwień dostępu w Material Design. Może to mieć wpływ na układy, w których używasz elementuCompactChips
, ponieważ będą one zajmować dodatkowe miejsce. (I3d57c)
Wersja 1.0.0-beta03
1 czerwca 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.0.0-beta03
, androidx.wear.compose:compose-material:1.0.0-beta03
i androidx.wear.compose:compose-navigation:1.0.0-beta03
są dostępne. Wersja 1.0.0-beta03 zawiera te komitowane zmiany.
Nowe funkcje
- Funkcja
ScalingLazyColumn
działa w trybie tworzenia@Preview
. (I3b3b6, b/232947354)
Zmiany w interfejsie API
- Zmieniliśmy domyślną wartość właściwości
ScalingLazyColumn.horizontalAlignment
z Start naCenterHorizontally
, aby zapewnić, że gdy elementy listy nie wypełniają całej szerokości kolumny, będą wyrównane w celu zapewnienia maksymalnej widoczności. Aby wrócić do poprzedniego zestawu zachowańhorizontalAlignment = Alignment.Start
.(I9ed4b)
Znane problemy
- Wysokość dotknięcia przycisku CompactChip jest mniejsza niż wymagana w wytycznych dotyczących ułatwień dostępu w interfejsie Material Design. Będzie to poprawione w kolejnych wersjach (15 czerwca). Jeśli używasz elementów CompactChip, będzie to miało wpływ na układy, ponieważ elementy te będą teraz mieć dodatkowy margines u góry i u dołu. Dostosuj i przetestuj układy lub zapoznaj się z komentarzami dotyczącymi błędów, aby dowiedzieć się, jak zachować dotychczasowe działanie. (b/234332135)
Poprawki błędów
- Nowe demo do animowania dodawania lub usuwania tekstu startowego na
TimeText
. (I16d75) - Dodawanie testów dla
HorizontalPageIndicator.PagesState
(I64ed0) - Aktualizacja
TimeText
w celu dostosowania go do specyfikacji UX (Ib7ea1)
Wersja 1.0.0-beta02
18 maja 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.0.0-beta02
, androidx.wear.compose:compose-material:1.0.0-beta02
i androidx.wear.compose:compose-navigation:1.0.0-beta02
są dostępne. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.
Nowe funkcje
- Selektor zawsze reaguje na zdarzenia przewijania, nawet w trybie tylko do odczytu. Dzięki temu użytkownicy nie muszą najpierw kliknąć selektora, aby móc przewijać. W trybie tylko do odczytu opcje inne niż wybrana są zaciemnione (
gradientColor
). (I72925) - Zmieniliśmy zachowanie interfejsu
Chip/ToggleChip/CompactChip/SplitToggleChip
, aby domyślnie nie wykonywał on czynnościfillMaxWidth
. Zamiast tego będą się rozszerzać, aby dopasować się do zawartości. Aby zachować poprzednie działanie, po prostu dodajmodifier = Modifier.fillMaxWidth()
(I60a2c, b/232206371).
Poprawki błędów
- Konstruktor
CurvedTextStyle
przyjmujący argumentTextStyle
uwzględnia teraz także parametrfontWeight
(może on zostać dodany do konstruktora i metod kopiowania w przyszłych wersjach interfejsu API) (Ieebb9) - Ulepszenia dotyczące przesuwania palcem po krawędzi. Gdy używasz
Modifier.edgeSwipeToDismiss
i przesunięcie w lewo jest aktywowane z obszaru krawędzi, nie powoduje już usunięcia po przesunięciu w prawo. Wcześniej można było wywołać funkcję usuwania przez przesunięcie palcem w lewo, a następnie w prawo (I916ea). HorizontalPageIndicator
wyświetla teraz maksymalnie 6 stron na ekranie. Jeśli jest ich więcej niż 6, po lewej lub prawej stronie wyświetla się wskaźnik o połowie wielkości, a strony przechodzą płynnie jedna w drugą (I2ac29).- Ulepszone domyślne zachowanie funkcji snap w
ScalingLazyColumn
iPicker
(I49539) - Ulepszenia dotyczące przesuwania krawędzi. Gdy używasz
Modifier.edgeSwipeToDismiss
, funkcja odrzucania przez przesunięcie palcem jest uruchamiany tylko wtedy, gdy pierwszy dotyk nastąpi na krawędzi i przesunięcie palcem w prawo. Wcześniej można było uruchomić funkcję odrzucania przez przesunięcie palcem, przesuwając palcem z dowolnej części ekranu, jeśli przewijanie dociera do początku.(I8ca2a)
Wersja 1.0.0-beta01
11 maja 2022 roku
Funkcje androidx.wear.compose:compose-foundation:1.0.0-beta01
, androidx.wear.compose:compose-material:1.0.0-beta01
i androidx.wear.compose:compose-navigation:1.0.0-beta01
są dostępne. Wersja 1.0.0-beta01 zawiera te commity.
Co zawiera Compose w wersji 1.0 na Wear OS
1.0.0-beta01
Compose na Wear OS to ważny kamień milowy, ponieważ biblioteka jest już kompletna, a interfejs API jest zablokowany.
Komponenty interfejsu Material Design na Wear OS w wersji 1.0:
- Motyw Material Design – służy jako zamiennik Compose for Mobile
MaterialTheme
. Zawiera kolory, kształty i typografię do tworzenia komponentów na urządzeniach noszonych, które od razu implementują wytyczne UX w stylu Material Design na Wear. Button
,CompactButton
iToggleButton
– przycisk zawiera 1 miejsce na ikonę, obraz lub krótki tekst (maksymalnie 3 znaki). okrągłe, w zalecanych rozmiarach: domyślnym, dużym lub małym;CompactButton
zawiera 1 miejsce na dowolne treści (ikonę, obraz lub tekst) i ma okrągły kształt z bardzo małym tłem.CompactButton
ma opcjonalne przezroczyste wypełnienie wokół tła, które zwiększa obszar klikalny.ToggleButton
to przycisk, który ma 1 miejsce na dowolne treści (krótki tekst, ikonę lub obraz) i stan włączony/wyłączony (zaznaczony/niezaznaczony) z kolorem i różnymi ikonami, które wskazują, czy jest włączony czy wyłączony.- Karty – służą do wyświetlania informacji o aplikacjach, np. powiadomień. Elastyczny projekt do różnych zastosowań z użyciem
AppCard
iTitleCard
, który umożliwia tworzenie różnych układów i obsługę obrazów jako zawartości karty lub tła. - Elementy typu „chip” – elementy w kształcie stadionu podobne do przycisków, ale o większej powierzchni i z większą liczbą slotów, co umożliwia umieszczanie etykiet, etykiet pomocniczych i ikon. w różnych rozmiarach i z obsługą obrazów jako tła;
- ToggleChips i SplitToggleChips – element ToggleChips to element z opcją zaznaczania/odznaczania, a dodatkowo z miejscem
ToggleControl
na ikonę, np. przełącznik lub przycisk radiowy, aby pokazać zaznaczony stan komponentu. DodatkowoSplitToggleChip
ma 2 obszary, które można dotykać: jeden klikalny i jeden przełączalny. - CircularProgressIndicator – wskaźnik postępu w stylu Wear Material w 2 wersjach. Pierwszy z nich wyraża proporcję ukończenia bieżącego zadania i obsługuje przerwę w okresie kołowego toru między kątami początkowym i końcowym. Drugi oznacza nieokreślony postęp w nieokreślonym czasie oczekiwania.
- curvedText – stanowi część języka DSL służącego do opisywania
CurvedLayouts
(wraz z elementamicurvedRow
icurvedColumn
) w celu rozmieszczania elementów wokół urządzeń o kształcie koła. Więcej informacji o elementachCurvedLayout
iCurvedModifier
znajdziesz poniżej w sekcji poświęconej komponentom podstawowym Wear. Elementy te pełnią podobną rolę jak modyfikatory w przypadku niekrzywych komponentów i umożliwiają konfigurowanie różnych aspektów układu, wypełnienia, gradientów itp. - Dialog, alert i potwierdzenie – dialog wyświetla się na pełnym ekranie, nałożony na inne treści, i umożliwia odrzucenie przez przesunięcie. Zajmuje 1 miejsce i ma zawierać treści w formacie Wear Material, takie jak alert lub potwierdzenie. Alert to treści dialogowe z opiniami z miejscami na ikonę, tytuł i wiadomość. Zawiera ona przeciążenia dla 2 przycisków (ujemnego i dodatniego) wyświetlanych obok siebie lub dla co najmniej 1 elementu w wielokrotnym układzie pionowym. Potwierdzenie to treści dialogowe z opinią, które wyświetlają wiadomość przez określony czas. Ma miejsce na ikonę lub obraz (który może być animowany).
- HorizontalPageIndicator – pokazuje poziome położenie strony w sposób odpowiedni dla urządzeń noszonych. Zaprojektowane tak, aby zajmowały cały ekran i wyświetlały zaokrąglony wskaźnik na urządzeniach z okrągłym ekranem. Można go używać z przeglądarką strony Accompanist.
- Ikona – implementacja ikony na Wear, która pobiera kolor i przezroczystość z motywu Material na Wear. Informacje o klikalnej ikonie 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 „nieskończenie” w obu kierunkach. Można wyświetlać w trybie tylko do odczytu, aby ukryć niewybrane opcje.
- PositionIndicator – służy do wyświetlania pozycji przewijania lub innych wskazań pozycji w sposób odpowiedni dla urządzeń noszonych. Zajmuje cały ekran i wyświetla zaokrąglony wskaźnik na urządzeniach z okrągłym ekranem.
- Scaffold – implementuje podstawową strukturę układu wizualnego w stylu Material Design na Wear. Ten komponent udostępnia interfejs API, który pozwala połączyć kilka komponentów Wear Material (takich jak
TimeText
,PositionIndicator
iVignette
) w jeden ekran, zapewnić im odpowiednią strategię układu i zebrać niezbędne dane, aby działały one prawidłowo. - ScalingLazyColumn – komponent listy z przewijaniem i rozmyciem, który stanowi kluczowy element języka Material Design na Wear. Umożliwia skalowanie i przezroczystość elementów treści.
ScalingLazyColumn
jest zaprojektowany tak, aby obsługiwać potencjalnie dużą liczbę elementów treści, które są materializowane i komponowane tylko wtedy, gdy jest to konieczne. - Suwak – pozwala użytkownikom na wybór spośród zakresu wartości. Zakres wyboru jest wyświetlany jako słupek, który może być opcjonalnie wyświetlany z separatorami.
- Stepper – komponent pełnoekranowy, który umożliwia użytkownikom wybranie wartości z zadanego zakresu za pomocą przycisków zwiększania/zmniejszania u góry i u dołu ekranu. W środku znajduje się pole na tekst lub element.
- SwipeToDismissBox – obsługuje gest przesuwania, aby zamknąć. Zajmuje 1 miejsce na tło (wyświetlane tylko podczas przesuwania) i treści na pierwszym planie. Opcjonalnie można go połączyć z biblioteką nawigacji androidx, używając
SwipeDismissableNavHost
(patrz poniżej biblioteka nawigacji Compose na Wear). - Text – implementacja na Wear komponentu Compose Material Text, który pobiera kolor i wartość alfa z motywu Material na Wear.
- TimeText – komponent do wyświetlania czasu i stanu aplikacji u góry ekranu. Dostosowuje się do kształtu ekranu, wyświetlając tekst w krzywym układzie na ekranach okrągłych.
Vignette – element graficzny do wykorzystania w ramce, który zaciera górną i dolną część ekranu, gdy użytkownik korzysta z przewijanych treści.
Z komponentów z wersji Wear Compose Foundation są też dostępne te komponenty:
CurvedLayout – Wear Foundation
CurvedLayout
to kompozyt układu, który umieszcza elementy podrzędne na łuku, obracając je w razie potrzeby. Jest to podobne do układu wiersza zakrzywionego w sekcji pierścienia. Pamiętaj, że zawartość funkcjiCurvedLayout
nie jest kompozycją funkcji lambda, lecz językiem do zastosowań w danej domenie (DSL). Wszystkie elementy w DSL komponentu CurvedLayout obsługują opcjonalny parametr modyfikatora utworzony z poziomuCurvedModifier
.basicCurvedText – element w języku
CurvedLayout
DSL,basicCurvedText
, który umożliwia deweloperom łatwe pisanie wygiętego tekstu zgodnie z krzywizną koła (zwykle na krawędzi okrągłego ekranu). Aby zapewnić najlepszą jakość,basicCurvedText
można tworzyć tylko w ramachCurvedLayout
. Dzięki temu można np. określać pozycjonowanie i używaćCurvedModifiers
. Pamiętaj, że w większości przypadków należy użyć komponentu curvedText, ponieważ korzysta on z motywu Material.curvedComposable – owija normalne treści kompozycyjne, aby można było ich używać z elementem
CurvedLayout
. JeślicurvedComposable
zawiera kilka elementów, będą one nakładać się na siebie (jak w przypadku elementu Box). Aby umieścić kilka elementów na krzywej, owiń je w elementcurvedComposable
.curvedRow i curvedColumn – podobnie jak Row i Column,
curvedRow
icurvedColumn
mogą być zagnieżdżone wCurvedLayout
, aby układać elementy zgodnie z potrzebami. W przypadkucurvedRow
można określić kierunek układu kątowego i wyrównanie promieniowe. W przypadkucurvedColumn
można określić kierunek kątowy i kierunek promieniowy.CurvedModifier – wszystkie komponenty zakrzywione akceptują parametr modyfikatora, który można utworzyć za pomocą
CurvedModifier
: obsługiwane są opcje background, size, weight i padding.W ramach nawigacji w komponencie na Wear dodano też ten komponent:
SwipeDismissableNavHost – zapewnia miejsce w hierarchii Compose, w którym może odbywać się nawigacja samodzielna, z możliwością cofnięcia za pomocą gestów przesuwania. Treści są wyświetlane w ramach
SwipeToDismissBox
, co wskazuje bieżący poziom nawigacji. Podczas gestu przesunięcia w bok w tle jest widoczny poprzedni poziom nawigacji (jeśli istnieje).Aby dowiedzieć się więcej o dotychczasowych wersjach alfa, zapoznaj się z informacjami o poprzednich wersjach.
Zmiany w interfejsie API
- Dodano funkcje
CurvedModifier.padding*
. Służy do określenia dodatkowej przestrzeni wokół zakrzywionego elementu. (I4dbb4) - Usunięto klasę wewnętrzną
CompositionLocal
(I42490) - Dodaliśmy stałe wartości rozmiarów ikon
Button
,CompactButton
iToggleButton
jako wskazówki. (I57cab) - Dodaj parametr enabled do elementów
AppCard
iTitleCard
. Teraz mają interfejs API podobny doandroidx.compose.material
Cards. Jeśli parametr ma wartość Fałsz, karty nie będzie można kliknąć. (Idc48d, b/228869805)
Poprawki błędów
- W przypadku suwaka przyciski zmniejszania i zwiększania są teraz wyłączone po osiągnięciu dolnego lub górnego limitu (i stosuje ContentAlpha.disabled do ikony Color) (I4be9f)
- Dodaliśmy 1 dp odstępu wokół elementów selektora, gdy są one rysowane z gradientem, aby zapobiec drżeniu tekstu podczas przesuwania. (I0b7b9)
- Dodaj testy zrzutów ekranu dla
PositionIndicator
(I5e8bc) - Dodawanie kolejnych testów dotyczących funkcji
AppCard
iTitleCard
(I85391, b/228869805)
Wersja 1.0.0-alpha21
20 kwietnia 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.0.0-alpha21
, androidx.wear.compose:compose-material:1.0.0-alpha21
i androidx.wear.compose:compose-navigation:1.0.0-alpha21
są dostępne. Wersja 1.0.0-alpha21 zawiera te commity.
Nowe funkcje
- Dodaliśmy nowe modyfikatory krzywych, aby określić tło elementu krzywego:
CurvedModifier.background
,.radialGradientBackground
i.angularGradientBackground
(I8f392). - Umożliwia określenie trybu przepełnienia krzywizny tekstu (przycięty/kropka wielokropka/widoczny). (I8e7aa)
- Dodano modyfikator
CurvedModifier.weight
podobny do tego w sekcji „Tworzenie”. Można go używać w przypadku elementów podrzędnych curvedRow i CurvedLayout (w przypadku szerokości) oraz elementów podrzędnych curvedColumn (w przypadku wysokości). (I8abbd) - Dodano modyfikatory
CurvedModifier.size
,.angularSize
i.radialSize
, aby określić rozmiar elementu zakrzywionego. (I623c7)
Zmiany w interfejsie API
- Zmień kolejność parametrów, aby zapewnić spójność w przypadku parametrów tła i kolorów w interfejsie Compose API na Wear (I43208)
- Usunięto parametry clockwise &
insideOut
i zastąpiono je bardziej precyzyjnymi stałymi w przypadku nowych klas. Kierunek wygiętego układu może teraz uwzględniaćLayoutDirection
, a jeśli nie zostanie określony, jest dziedziczony (If0e6a) - Aby rozwiązać problem z interfejsem API w przypadku usługi
ScalingLazyColumn
, zastąpiliśmy usługęautoCenter: Boolean
usługąautoCenter: AutoCentringParams
. (Ia9c90) - W całym interfejsie API (elementy typu Chip/ToggleChip/Dialog/Slider/Stepper itp.) zmieniliśmy nazwy
iconTintColor
itoggleControlTintColor
naiconColor
itoggleControlColor
, ponieważ kolor jest stosowany w przypadku ikony lub elementu typu toggleControl. (Ied238) - Przepisanie typu wyliczeniowego
PageIndicatorStyle
na klasę wartości (I2dc72) - Dodaliśmy
RowScope/ColumnScope/BoxScope
do niektórych slotów w naszych kompozycjach, aby poinformować deweloperów o założeniach dotyczących układów. Umożliwi to deweloperom używanie dodatkowych modyfikatorów w przypadku niektórych treści w miejscu reklamy i uniknięcie konieczności dodawania dodatkowych elementów układu. Dodatkowo wprowadziliśmy drobne zmiany w kolorach kart aplikacji i kart tytułowych, tak aby domyślnietimeColor
iappColor
miały kolorcontentColor
. W razie potrzeby wszystkie te właściwości można zastąpić indywidualnie. (I26b59) - Uczyniono obiekt
SwipeToDismissBoxState.Companion
prywatnym (I39e84) - Popraw kolejność parametrów
InlineSlider
iStepper
. Prosta zmiana zgodna z wytycznymi dotyczącymi interfejsu API (I11fec) - Usunęliśmy obiekt oszczędzania danych dla
SwipeToDismissBoxState
, ponieważ nie był używany. (Ifb54e) - Zaktualizowaliśmy
CompactChip
, aby był zgodny z najnowszą specyfikacją UX. Odstęp został zmniejszony do 12 dp w poziomie i 0 dp w pionie. Czcionka etykiety została zmieniona z button na caption1. Zalecane rozmiary ikony to 20 x 20 pikseli, gdy obecne są zarówno ikona, jak i etykieta, oraz 24 x 24 piksele w przypadku tylko ikony. W przypadku użycia tylko ikony upewniliśmy się też, że jest ona wyśrodkowana. (Iea2be) - Dodaliśmy do
ScalingLazyListLayoutInfo
kilka nowych pól, aby umożliwić deweloperom poznanie zastosowanych wartościcontentPadding
iautoCenteringPadding
. Mogą one być przydatne deweloperom podczas obliczania przewijania/przesuwania (I7577b). - Wprowadziliśmy przejścia do i z Dialogu. Dodano parametr
showDialog
, dzięki któremu Dialog może kontrolować własną widoczność (umożliwia to odtwarzanie przez Dialog animacji wstępu i outro, gdy Dialog jest widoczny lub ukryty). Pamiętaj, że animacja outro nie jest wykonywana, gdy użytkownik zamyka okno za pomocą gestu przesunięcia. Dodaliśmy też domyślną wartość stanu w niedawno dodanej funkcjiSwipeToDismissBox
. (I682a0) - Aby lepiej obsługiwać i18n i a11y, zmieniliśmy elementy
ToggleChip
iSplitToggleChip
, tak aby nie miały już domyślnej wartości w miejscutoggleControl
. Zmieniliśmy teżToggleChipDefaults
, aby te metody zwracały ImageVector zamiast Icon (ponieważ nie zwracają już @Composables, zmieniliśmy je tak, aby zaczynały się od małych liter),SwitchIcon()->switchIcon()
,CheckboxIcon->checkboxIcon()
iRadioIcon()->radioIcon()
– to pozwala i zachęca deweloperów do tworzenia własnychIcon()
composables z odpowiednim zestawemcontentDescription
. (I5bb5b) - Dodaliśmy parametr
SwipeDismissableNavHostState
doSwipeDismissableNavHost
. Umożliwia to używanie przesuwania palcem po krawędzi na ekranach używanych jako miejsca docelowe nawigacji, ponieważ komponentSwipeToDismissBoxState
może teraz zostać podniesiony i użyty do zainicjowania zarównoSwipeDismissableNavHostState
, jak iModifier.edgeSwipeToDismiss
na ekranach, które wymagają przesuwania palcem po krawędzi. (I819f5, b/228336555)
Poprawki błędów
- W razie potrzeby sprawdź, czy układy zakrzywione zostały zaktualizowane. (Ie8bfa, b/229079150)
- Poprawka błędu https://issuetracker.google.com/issues/226648931 (Ia0a0a, b/226648931)
- Usunięto niepotrzebne eksperymentalne adnotacje (I88d7e)
Wersja 1.0.0-alpha20
6 kwietnia 2022 roku
Funkcje androidx.wear.compose:compose-foundation:1.0.0-alpha20
, androidx.wear.compose:compose-material:1.0.0-alpha20
i androidx.wear.compose:compose-navigation:1.0.0-alpha20
są dostępne. Wersja 1.0.0-alpha20 zawiera te commity.
Nowe funkcje
- Dodaj modyfikator
edgeSwipeToDismiss
doSwipeToDismiss
. Umożliwia aktywnośćswipeToDismiss
tylko na lewej krawędzi widocznego obszaru. Używane, gdy środek ekranu musi obsługiwać przewijanie poziome, np. przewijanie mapy w 2D lub przesuwanie poziome między stronami.(I3fcec, b/200699800)
Zmiany w interfejsie API
- Podstawowa implementacja
CurvedModifiers
otwiera drogę do wprowadzenia sposobów dostosowywania krzywych (aleCurvedModifiers
nie są jeszcze dostępne, a możliwość tworzenia niestandardowych modyfikatorów może być dostępna w przyszłości) (I9b8df) - Zaktualizowano dokumentację i wartości domyślne modyfikatora
EdgeSwipe
, aby ułatwić jego zrozumienie (I6d00d). - Dodaj slot
PageIndicator
do Scaffold. DodaniePageIndicator
bezpośrednio do Scaffold zapewni prawidłowe wyświetlanie na urządzeniach z ekranem okrągłym. (Ia6042) - Usuń domyślne ikony z parametrów
InlineSlider
i Stepper. Pomoże to deweloperom zwracać większą uwagę na wymagania dotyczące lokalizacji i dostępności. Domyślne ikony zostały pokazane w prezentacjach i próbkach. (I7e6fd) - Zastępowanie nazw parametrów końcowych i wstępnych parametrami Start i End w elementach TimeText (Iaac32)
- Dodaliśmy funkcję
SwipeToDismissBox
z parametremonDismissed
, aby umożliwić częste wywoływanie zdarzenia nawigacji po zakończeniu przesunięcia. (I50353, b/226565726) - Usunięto adnotacje
ExperimentalWearMaterialApi
z elementuTimeText
(Ide520) - Oznaczyliśmy interfejsy zakresu i informacji
ScalingLazyList/Column
jako zamknięte, ponieważ nie są one przeznaczone do implementacji przez zewnętrznych deweloperów. Pozwoli nam to w przyszłości dodawać do nich nowych członków bez wprowadzania zmian w plikach binarnych. (I7d99f) - Dodaliśmy do selektora nową właściwość
flingBehaviour
i metodęPickerDefaults.flingBehaviour()
, aby umożliwić konfigurowanie zachowania gestu przesunięcia, na przykład dodanie obsługi RSB.PickerState
korzysta teraz z interfejsuScrollableState
. (Ib89c7)
Poprawki błędów
- Zaktualizuj reguły profilu bazowego Android Runtime (ART) dla bibliotek Compose na Wear. ART może wykorzystywać reguły profilu na urządzeniach, aby z wyprzedzeniem skompilować określony podzbiór aplikacji i w ten sposób zwiększyć jej wydajność. Pamiętaj, że nie będzie to miało wpływu na aplikacje z możliwością debugowania. (Iaa8ef)
- Ulepszona dokumentacja (I2c051)
Wersja 1.0.0-alpha19
23 marca 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.0.0-alpha19
, androidx.wear.compose:compose-material:1.0.0-alpha19
i androidx.wear.compose:compose-navigation:1.0.0-alpha19
są dostępne. Wersja 1.0.0-alpha19 zawiera te commity.
Zmiany w interfejsie API
- Zmieniliśmy nazwę
CurvedRow
naCurvedLayout
i przekształciliśmy ją w zakres z DSL. Za pomocą tego języka można określić bardziej złożone wygięte układy, używając serii zagnieżdżonych elementówcurvedRow
icurvedColumn
(które są odpowiednikami elementów wiersza i kolumny w wygiętym układzie). W tych elementach układu można używać 3 elementów:curvedComposable
(dodawanie dowolnego elementu @Composable),basicCurvedText
(zaokrąglony tekst w fundamentach) icurvedText
(zaokrąglony tekst uwzględniający materiał Wear). (Ib776a) - Umożliw konfigurowanie strony
PositionIndicator
. Podstawową pozycję elementu PositionIndicator można teraz skonfigurować jako End (uwzględniający kierunek układu), OppositeRsb (uwzględniający obrót ekranu, aby ustawić się naprzeciwko fizycznego przycisku RSB) lub Left & Right (pozycja bezwzględna). (I2f1f3) - W przypadku
SwipeToDismissBox
zmieniliśmy nazwę plikuSwipeDismissTarget
.Original naSwipeToDismissValue.Default
, aSwipeDismissTarget.Dismissal
naSwipeToDismissValue.Dismissed
. Przemieściliśmy teżSwipeToDismissBoxDefaults.BackgroundKey
iSwipeToDismissBoxDefaults.ContentKey
odpowiednio doSwipeToDismissKeys.Background
iSwipeToDismissKeys.Content
. (I47a36) - Dodaliśmy do selektora tryb tylko do odczytu, aby umożliwić edytowanie tylko jednego selektora naraz na ekranach z kilkoma selektorami. Gdy selektor jest tylko do odczytu, wyświetla on aktualnie wybraną opcję i etykietę, jeśli została podana. (I879de)
- Tabela
SwipeToDismissBoxState
została przebudowana, aby ograniczyć zakres tabeliExperimentalWearMaterialApi
do tabelModifier.swipeable
iSwipeableState
, które są teraz używane wewnętrznie. UsługaSwipeToDismissBoxState
obsługuje teraz użytkowników z poziomówcurrentValue
,targetValue
,isAnimationRunning
isnapTo
, aby obsługiwać typowe przypadki użycia. Daj nam znać, jeśli potrzebujesz dostępu do innych usług. Naprawiono też działanieSwipeableState
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 służący do wykrywania, czy można przewijać zawartość
ScalingLazyColumn
(używany do podejmowania decyzji, czy wyświetlić pasek przewijania) (I7bce0) - Usunęliśmy błąd związany z wskaźnikiem pozycji podczas korzystania z więcej niż jednego stanu i przełączania się między nimi (I320b5).
- Zaktualizowaliśmy domyślną typografię/czcionki motywu aplikacji Compose na Wear OS, aby były zgodne z najwcześniejszymi wskazówkami dotyczącymi UX. Wartości display1 (40.sp) i display2 (34.sp) są teraz mniejsze niż ich poprzednie wartości. Wprowadziliśmy też kilka drobnych zmian wysokości i interlinii. (Ie3077)
- Dodaliśmy opór do
SwipeToDismissBox
, aby ruch odbywał się tylko podczas przesuwania w celu zamknięcia, a nie w ogóle 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 interfejsu użytkownika Material Design na Wear. W przypadku wersji spinner/nieokreślony zaktualizowano rozmiar (40->24 dp), kolor wskaźnika (primary->onBackground), przezroczystość koloru ścieżki (30%->10%) oraz szerokość obrysu (4->3 dp). W wersji z licznikiem postępu lub wskaźnikiem przejrzystość koloru ścieżki (30%->10%) została zaktualizowana. (I659cc) - Zaktualizowaliśmy domyślne parametry skalowania
ScalingLazyColumn
zgodnie z najnowszymi specyfikacjami interfejsu użytkownika Material Design na Wear. W efekcie elementy listy są skalowane bliżej jej środka, ale mniej niż wcześniej na jej krawędzi. (Ica8f3) - Niektóre korekty w
ScalingLazyColumnDefaults.snapFlingBehavior
, aby ulepszyć koniec animacji (If3260)
Wersja 1.0.0-alpha18
9 marca 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.0.0-alpha18
, androidx.wear.compose:compose-material:1.0.0-alpha18
i androidx.wear.compose:compose-navigation:1.0.0-alpha18
są dostępne. Wersja 1.0.0-alpha18 zawiera te commity.
Zmiany w interfejsie API
- Kilka ulepszeń funkcji PositionIndicator: ShowResult zmieniono na PositionIndicatorVisibility. Niektóre ulepszenia wydajności, aby uniknąć ponownego obliczania, gdy nie jest to konieczne (Iaed9d)
- Zalecana kolorystyka dla
SplitToggleChip
została zaktualizowana. Elementy typu SplitToggleChip mają teraz jednolite tło, gdy są zaznaczone lub niezaznaczone. Kolor elementu ToggleControl jest głównym wskaźnikiem tego, czy komponent jest zaznaczony. Dodaliśmy nową opcjęToggleDefaults.splitToggleChipColors()
, aby umożliwić korzystanie z nowego schematu kolorów. Uprościliśmy też metodytoggleChipColors()
, usuwając parametr splitBackgroundOverlayColor (I7e66e). - Do atrybutu
ScalingLazyListItemInfo
dodaliśmy atrybut unadjustedSize, ponieważ ze względu na precyzję obliczeń typu float nie jest bezpieczne obliczanie oryginalnego rozmiaru produktu za pomocą skalowanego rozmiaru i współczynnika skalowania. (I54657, b/221079441) - Dodaj
HorizontalPageIndicator
. Reprezentuje łączną liczbę stron i wybraną stronę. Może być liniowy lub zakrzywiony, w zależności od kształtu urządzenia. Obsługuje też niestandardowy kształt wskaźnika, który określa, jak ma być on wizualnie przedstawiany. (Iac898) - Zaktualizowaliśmy element
PickerState
, aby można było zaktualizować element numberOfOptions. Umożliwia to obsługę takich przypadków użycia jakDatePicker
, gdy liczba dni w miesiącu zmienia się w zależności od wybranego miesiąca. Parametr konstruktora PickerState został odpowiednio zmieniony na initialNumberOfOptions. (Iad066) - Ukryj
PositionIndicator
, gdy jest pasek przewijania i nie można przewijać. (Id0a7f) - Aby zachować spójność z Scaffold, nasz komponent Dialog na pełnym ekranie wyświetla teraz
PositionIndicator
iVignette
. ZamiastColumn
używamy terazScalingLazyColumn
, co oznacza, że zawartość dialogu jest teraz wScalingLazyListScope
(i zwykle musi być ujęta w element { /* content */ }). Dialog obsługuje odpowiednio parametr verticalArrangement. (Idea13) - Zmieniliśmy nazwę właściwości
ToggleChip
iSplitToggleChip
toggleIcon na toggleControl, aby lepiej dostosować ją do projektu Material Design. Ma to ułatwić projektantom i programistom poruszanie się po interfejsie API. (If5921, b/220129803) - Dodaliśmy nowy wpis caption3 do Typologii motywów Material na Wear.Caption3 to mała czcionka używana do bardzo długich tekstów, takich jak teksty prawne. (I74b13, b/220128356)
Poprawki błędów
- Zatrzymaj animację przyciągania. (Idb69d)
- Animowanie zmian w elementach PositionIndicator. (I94cb9)
- Na podstawie opinii dotyczących interfejsu użytkownika i doświadczeń użytkownika zmieniliśmy automatyczne wyśrodkowywanie
ScalingLazyColumn
, tak aby zajmowało tylko tyle miejsca, aby elementy o indeksieScalingLazyListState.initialCenterItemIndex
lub wyższym można było w pełni przewinąć do środka widoku. Umożliwia to programistom umieszczanie 1 lub 2 elementów wokół elementu znajdującego się na środku, które nie mogą być przewijane do środka. Oznacza to, że automatyczne wyśrodkowywanieScalingLazyColumn
nie będzie mogło przesuwać się powyżejinitialCenterItemIndex/initialCenterItemScrollOffset
(I22ee2) - Dodaliśmy demonstrację selektora daty i naprawiliśmy błąd w elementach
PickerState
, w których opcja initiallySelectedOption nie była stosowana, dopóki nie wyświetlono selektora. (Id0d7e) - Aby zmniejszyć przycinanie szerszych elementów
ScalingLazyColumn
na ekranach okrągłych, zwiększyliśmy domyślny poziomy margines treści z 8 na 10 dp. (I0d609) - Upewnij się, że
PositionIndicator
jest widoczne podczas przewijania. (Ied9a2)
Wersja 1.0.0-alpha17
23 lutego 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.0.0-alpha17
, androidx.wear.compose:compose-material:1.0.0-alpha17
i androidx.wear.compose:compose-navigation:1.0.0-alpha17
są dostępne. Wersja 1.0.0-alpha17 zawiera te commity.
Nowe funkcje
- Dodaliśmy obsługę przypinania, która może być używana z
ScalingLazyColumn
. UstawflingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state)
, aby włączyć obsługę przypinania. (I068d3, b/217377069) - Dodaliśmy demonstracje selektora używanego do wybierania czasu w systemie 24-godzinnym lub 12-godzinnym. (Ie5552)
Zmiany w interfejsie API
- Rozwiązanie problemu z niestandardowymi czcionkami i stylami
TimeText
na urządzeniu kwadratowym (Iea76e) - Obiekt
ScalingLazyListLayoutInfo
ma teraz właściwościreverseLayout
,viewportSize
i orientation odpowiadające właściwościom obiektuLazyListLayoutInfo
(I4f258, b/217917020) - Użytkownik
ScalingLazyColumn
ma teraz właściwośćuserScrollEnabled
, która pasuje do właściwości użytkownikaLazyList
(I164d0, b/217912513). - Selektory mają teraz domyślnie gradient u góry i u dołu (Iab92a)
Poprawki błędów
- Zmieniliśmy
ScalingLazyColumn
, aby nie zajmował całej przestrzeni w swoim elemencie nadrzędnym. Zamiast tego będzie ono mieć rozmiar odpowiadający rozmiarowi zawartości. Dzięki temu będzie ona działać tak samo jakLazyColumn
. Jeśli chcesz przywrócić poprzednie działanie, prześlijModifier.fillMaxWidth()/width()/widthIn()
doScalingLazyColumn
(I51bf8). - Ulepszyliśmy komunikat o wyjątkach w funkcji
SwipeDismissableNavHost.kt
, który był wywoływany, gdy stos nawigacji był pusty. (I1b1dc)
Wersja 1.0.0-alpha16
9 lutego 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.0.0-alpha16
, androidx.wear.compose:compose-material:1.0.0-alpha16
i androidx.wear.compose:compose-navigation:1.0.0-alpha16
są dostępne. Wersja 1.0.0-alpha16 zawiera te commity.
Nowe funkcje
- Dodaj
CircularProgressIndicator
. Wskaźniki postępu wskazują czas trwania procesu lub nieokreślony czas oczekiwania. Obsługuje przerwę (wycięcie) dla TimeText lub innych komponentów, jeśli są używane w trybie pełnoekranowym. (Iab8da)
Zmiany w interfejsie API
- Selektory mają teraz parametr
flingBehavior
. Wartość domyślna sprawia, że podczas przewijania lub przeciągania selektory przyklejają się do najbliższej opcji. (I09000) - Dodatkowy interfejs API typu integer dla suwaka i przełącznika (I1b5d6)
Poprawki błędów
- Domyślny initialCenterItemIndex dla
ScalingLazyListState
został zmieniony z 0 na 1. Oznacza to, że jeśli nie zostanie zastąpiony podczas tworzenia stanu za pomocą parametruScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =
)
, 2 element listy (index == 1) zostanie umieszczony na środku widoku podczas inicjalizacji, a 1 element (index == 0) – przed nim. Dzięki temu można uzyskać lepszy domyślny efekt wizualny, ponieważ większość widocznego obszaru będzie wypełniona elementami listy. (I0c623, b/217344252) - Zmniejszyliśmy domyślną wartość parametru
ScalingLazyColumn
z 10% do 5%, aby zapewnić wystarczającą liczbę elementów listy do wyświetlenia (nawet jeśli niektóre z nich są zmniejszane).extraPadding
Dzięki temu unikniesz tworzenia dodatkowych elementów listy, które mogą nie być widoczne w obszarze widoku. Jeśli używane są niestandardowe parametry skalowania (np. bardziej ekstremalne skalowanie), deweloper może dostosować dodatkowy margines za pomocąviewportVerticalOffsetResolver
. (I76be4) - Rozwiązanie problemu z tekstem czasu na kilku wierszach na kwadratowym urządzeniu (Ibd3fb)
- Zmieniliśmy
ScalingLazyColumn
, aby nie wypełniał już całej przestrzeni w swoim elemencie nadrzędnym. Zamiast tego będzie ono mieć rozmiar odpowiadający rozmiarowi zawartości. Dzięki temu będzie ono zgodne z działaniem funkcjiLazyColumn
. Jeśli chcesz przywrócić poprzednie działanie, ustaw wartośćModifier.fillMaxSize()
naScalingLazyColumn
. UWAGA: ta zmiana jest niepełna i zostanie uwzględniona w następnej wersji alfa. (I3cbfa)
Wersja 1.0.0-alpha15
26 stycznia 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.0.0-alpha15
, androidx.wear.compose:compose-material:1.0.0-alpha15
i androidx.wear.compose:compose-navigation:1.0.0-alpha15
są dostępne. Wersja 1.0.0-alpha15 zawiera te commity.
Zmiany w interfejsie API
- Do usługi
ScalingLazyColumn
dodaliśmy nową właściwośćautoCentering
. Gdy ta opcja jest ustawiona na wartość Prawda (wartość domyślna), wszystkie elementy, w tym pierwszy i ostatni, można przewijać, aby były widoczne na środku widoku listy. Pamiętaj, że jeśli używasz automatycznego wyśrodkowywania, warto ustawić pionowy margines treści na 0 dp. Jeśli ustawisz automatyczne wyśrodkowanie i dodatk do treści w pionowej, to spowoduje to, że przed pierwszym i po ostatnim elemencie listy będzie dostępna dodatkowa przestrzeń, co pozwoli na przewijanie jeszcze dalej. (I2a282, b/214922490) - Dodaliśmy komponent
Dialog
, który umożliwia dowolnemu komponentowi wywołanie pełnoekranowego okna dialogowego, które wyświetla się na wierzchu innych treści. Gdy dialog jest wyświetlany, można go zamknąć przez przesunięcie palcem. Podczas tego gestu na ekranie będzie widoczna zawartość elementu nadrzędnego. Treść dialogu powinna byćAlert
lubConfirmation
(przemianowane z wcześniejszych komponentówAlertDialog
iConfirmationDialog
) – komponentyAlert
,Confirmation
iDialog
znajdują się w pakiecieandroidx.wear.compose.material.dialog
. Alert i Potwierdzenie mogą być używane jako miejsca docelowe nawigacji. W razie potrzeby dodaliśmy też parametr zakresu kolumny do parametrów alertu i potwierdzenia. (Ia9014) - Usunęliśmy kolor
onSurfaceVariant2
z komponentu Compose na WearOS w ramach kolorów motywu Material Design i zastąpiliśmy jego użycie w bibliotece koloremonSurfaceVariant
. (Icd592) - Dodano metodę umożliwiającą wybór opcji w
PickerState
za pomocą kodu. Opcja wybrana na początku może być teraz również określona podczas tworzeniaPickerState
. (I92bdf) - Dodaliśmy obsługę dostosowywania zachowania
ScalingLazyColumn
. (I1ad2e, b/208842968) - Dodaliśmy
NavController.currentBackStackEntryAsState()
do bibliotekiWear.Compose.Navigation
. (If9028, b/212739653) - Dodano
Modifier.onRotaryScrollEvent()
iModifier.onPreRotaryScrollEvent()
na urządzeniach Wear z obrotnym przyciskiem bocznym.(I18bf5, b/210748686)
Wersja 1.0.0-alpha14
12 stycznia 2022 r.
Funkcje androidx.wear.compose:compose-foundation:1.0.0-alpha14
, androidx.wear.compose:compose-material:1.0.0-alpha14
i androidx.wear.compose:compose-navigation:1.0.0-alpha14
są dostępne. Wersja 1.0.0-alpha14 zawiera te zatwierdzenia.
Nowe funkcje
Dodaliśmy do klasy
ScalingLazyListState
kilka metod, aby umożliwić deweloperom kontrolowanie przewijania do określonych elementów listy oraz ustawianie początkowego elementu listy i przesunięcia.W ramach tej zmiany zmodyfikowaliśmy też komponent ScalingLazyList, aby był on zorientowany wokół środka obszaru widocznego komponentu ScalingLazyList, a nie początku obszaru widocznego.
Do właściwości
ScalingLazyList
dodano nową właściwośćanchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter
, która umożliwia określenie, czy środek (ScalingLazyListAnchorType.ItemCenter
) czyEdge
(ScalingLazyListAnchorType.ItemStart
) ma być wyrównany do osi środkowej widoku.W rezultacie wartości
ScalingLazyListItemInfo.offset
iScalingLazyListItemInfo.adjustedOffset
uległy zmianie i odzwierciedlają teraz przesunięcie elementu względem pozycji elementu na liście ianchorType
listy. Na przykład w przypadkuScalingLazyColumn
zanchorType
=ItemCenter
i elementu listy umieszczonego na środku osi widoku offset wynosi0
.Nowe metody to
scrollTo
,animatedScrollTo
,centerItemIndex
icenterItemOffset
. (I61b61)Do
SwipeDismissableNavHost
dodaliśmy obsługę przycisku Wstecz, aby po jego naciśnięciu można było przejść do poprzedniego poziomu w hierarchii nawigacji. (I5b086, b/210205624)
Wersja 1.0.0-alpha13
15 grudnia 2021 roku
Funkcje androidx.wear.compose:compose-foundation:1.0.0-alpha13
, androidx.wear.compose:compose-material:1.0.0-alpha13
i androidx.wear.compose:compose-navigation:1.0.0-alpha13
są dostępne. Wersja 1.0.0-alpha13 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Użytkownik
RangeIcons
został przeniesiony do wewnętrznego katalogu (wewnętrzne odwołania toInlineSlider
iStepper
). (I927ec)
Poprawki błędów
Rozwiązanie problemu polegającego na tym, że
SwipeDismissableNavHost
dodawał miejsce docelowe do hierarchii Compose, zanim osiągnął stan cyklu życiaCREATED
, co powodowało błądIllegalStateException
. Ta poprawka była warunkiem wstępnym do aktualizacji zależności odnavigation-compose
do2.4.0-beta02
i później. (I40a2b, b/207328687)Dodano klasę wyliczaną Drawables do pobierania zasobów rysowalnych w bibliotece Wear Compose, dzięki czemu nie jest już potrzebne odzwierciedlenie. Naprawiono błąd, który powodował usuwanie obiektów do rysowania z biblioteki podczas
minifyEnabled=true
lubshrinkResources=true
. (Ib2a98)Dodano testy
Stepper
w komponencie Wear Compose (I2d03a).Dodaliśmy przykłady
SwipeDismissableNavHost
w komponencie nawigacji w Compose na Wear. (I85f06)
Wersja 1.0.0-alpha12
1 grudnia 2021 r.
Funkcje androidx.wear.compose:compose-foundation:1.0.0-alpha12
, androidx.wear.compose:compose-material:1.0.0-alpha12
i androidx.wear.compose:compose-navigation:1.0.0-alpha12
są dostępne. Wersja 1.0.0-alpha12 zawiera te zatwierdzenia.
Nowe funkcje
Dodaliśmy komponent Stepper, który pozwala użytkownikom wybierać spośród zakresu wartości. Regulator to kontroler na pełnym ekranie z przyciskami zwiększania i zmniejszania u góry i u dołu oraz gniazdem pośrodku (do użycia w przypadku elementu Chip lub elementu Tekst). W razie potrzeby ikony przycisków można dostosować. (I625fe)
Dodaliśmy 2 nowe komponenty do wyświetlania dialogów: AlertDialog czeka na odpowiedź użytkownika i wyświetla tytuł, ikonę, wiadomość oraz: a) 2 przyciski umożliwiające proste wybory pozytywne/negatywne lub b) ułożone pionowo elementy lub przełączniki umożliwiające bardziej elastyczne wybory. ConfirmationDialog wyświetla potwierdzenie z czasem oczekiwania. To proste okno zawiera miejsca na tytuł i (animowaną) ikonę. (Ic2cf8)
Zmiany w interfejsie API
- Dodaj jednostki (ms) do sugerowanych wartości czasu trwania dialogu. (I09b48)
Wersja 1.0.0-alpha11
17 listopada 2021 r.
Funkcje androidx.wear.compose:compose-foundation:1.0.0-alpha11
, androidx.wear.compose:compose-material:1.0.0-alpha11
i androidx.wear.compose:compose-navigation:1.0.0-alpha11
są dostępne. Wersja 1.0.0-alpha11 zawiera te commity.
Nowe funkcje
- Dodaliśmy komponent selektora, który pozwala użytkownikowi wybrać element z przewijanej listy. Domyślnie lista elementów do wyboru jest powtarzana „nieskończenie” w obu kierunkach, aby stworzyć wrażenie obracającego się walca widzianego z boku. W kolejnych wersjach dodamy 2 funkcje: zablokowanie wartości po przesunięciu palcem lub przeciągnięciu palcem; dodanie do PickerState funkcji, która umożliwia ustawienie lub przewinięcie do bieżącej wartości. (I6461b)
Zmiany w interfejsie API
- Dodano zakres elementów o zmiennym rozmiarze i kilka nowych modyfikatorów fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight, aby umożliwić dostosowanie rozmiaru elementów listy do rozmiaru kontenera nadrzędnego. Elementy mogą wypełniać cały rozmiar elementu nadrzędnego lub jego część. Ta funkcja jest dostępna w kolumnach i wierszach typu Lazy (I4612f).
- Dodaliśmy obsługę kolumny LazyColumn, aby umożliwić elementom posiadanie klucza. Dodaliśmy też wygodne metody umożliwiające dodawanie elementów z tablic i list. (Ic1f89)
Poprawki błędów
- Dodatkowe przykłady dla TimeText (I8cb64)
Wersja 1.0.0-alpha10
3 listopada 2021 r.
Funkcje androidx.wear.compose:compose-foundation:1.0.0-alpha10
, androidx.wear.compose:compose-material:1.0.0-alpha10
i androidx.wear.compose:compose-navigation:1.0.0-alpha10
są dostępne. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.
Nowe funkcje
Dodano suwak w komponowaniu na zegarku. Suwak w linii umożliwia użytkownikom wybór spośród zakresu wartości. Zakres opcji jest wyświetlany jako pasek między minimalną a maksymalną wartością zakresu, z którego użytkownicy mogą wybrać jedną wartość. (If0148)
Poznaj nowe Compose w ramach Codelab dla Wear OS.
Zmiany w interfejsie API
- Makrobenchmark ma teraz
minSdkVersion
23
. (If2655)
Poprawki błędów
- Aktualizacja obsługi przejść w SwipeDismissableNavHost w SideEffect (I04994, b/202863359)
- Aktualizacja obsługi przejść w SwipeDismissableNavHost (I1cbe0, b/202863359)
Wersja 1.0.0-alpha09
27 października 2021 roku
Funkcje androidx.wear.compose:compose-foundation:1.0.0-alpha09
, androidx.wear.compose:compose-material:1.0.0-alpha09
i androidx.wear.compose:compose-navigation:1.0.0-alpha09
są dostępne. Wersja 1.0.0-alpha09 zawiera te commity.
Nowe funkcje
- Wprowadziliśmy wersję dla deweloperów Compose na Wear OS. W poście na blogu znajdziesz omówienie głównych komponentów oraz linki do dodatkowych materiałów, które pomogą Ci zacząć z nich korzystać.
Zmiany w interfejsie API
- Dodaliśmy obsługę, aby umożliwić deweloperom dostosowywanie wszystkich kolorów w ramach motywu kolorów w interfejsie Material Design na Wear. (I4759b, b/199754668)
Poprawki błędów
- Dodano przykłady SwipeToDismissBox, które zachowują stan (Ibaffe)
- Dodano linki do przewodników z KDocs na stronie developer.android.com dotyczących komponentów CurvedText, TimeText i SwipeToDismissBox. (I399d4)
- SwipeDismissableNavHost zgłasza błąd, jeśli nie ma bieżącego miejsca docelowego (co oznacza, że NavGraph nie został utworzony za pomocą funkcji pomocniczej wear.compose.navigation.composable) (I91403)
- Dodano dodatkową dokumentację i przykłady użycia źródła czasu w elementach TimeText (I4f6f0).
Wersja 1.0.0-alpha08
13 października 2021 r.
Funkcje androidx.wear.compose:compose-foundation:1.0.0-alpha08
, androidx.wear.compose:compose-material:1.0.0-alpha08
i androidx.wear.compose:compose-navigation:1.0.0-alpha08
są dostępne. Wersja 1.0.0-alpha08 zawiera te commity.
Zmiany w interfejsie API
- Zmieniliśmy nazwy właściwości
body
AppCard i TitleCard nacontent
oraz przenieśliśmy je na koniec listy właściwości, aby można było je podać jako końcową funkcję lambda. Zmieniliśmy też nazwębodyColor
nacontentColor
, aby zachować spójność z nowymi nazwami przedziałów. (I57e78)
Poprawki błędów
- Dodano linki do poradników z KDocs na temat komponentów przycisku, karty, elementu mapy, motywu, wskaźnika pozycji i skalowania komponentów kolumny z opóźnionym wczytywaniem z witryny developer.android.com. (I22428)
- Naprawiono błąd w WearOS, który powodował, że pole SwipeToDismissBox nie reagowało na gest przesunięcia. (I9387e)
- Dodano przykłady przycisku, przycisku kompaktowego, elementu Chip, elementu CompactChip, karty aplikacji, karty tytułu, przycisku przełącznika, elementu ToggleChip i elementu SplitToggleChip (Iddc15).
- Dodano testy wydajności mikrobenchmarków dla komponentów: Card, Chip, ToggleChip, TimeText i ScalingLazyColumn. (If2fe9)
Wersja 1.0.0-alpha07
29 września 2021 r.
Funkcje androidx.wear.compose:compose-foundation:1.0.0-alpha07
, androidx.wear.compose:compose-material:1.0.0-alpha07
i androidx.wear.compose:compose-navigation:1.0.0-alpha07
są dostępne. Wersja 1.0.0-alpha07 zawiera te commity.
Nowe funkcje
- Dodano w materialu komponent CurvedText, który pozwala deweloperom na łatwe pisanie wygiętego tekstu zgodnie z krzywizną koła (zwykle na krawędzi okrągłego ekranu). (I19593)
Zmiany w interfejsie API
- Dodano testy dotyczące elementu TimeText (Idfead).
- Przekształcanie wartości ArcPaddingValues w interfejs. (Iecd4c)
- Dodano animację do pola SwipeToDismissBox (I9ad1b).
- Do interfejsu API SwipeToDismissBox dodaliśmy parametr hasBackground, aby można było wyłączyć gest przesunięcia, gdy nie ma treści tła do wyświetlenia. (I313d8)
- Funkcja
rememberNavController()
przyjmuje teraz opcjonalny zbiór instancjiNavigator
, który zostanie dodany do zwróconegoNavController
, aby lepiej obsługiwać opcjonalne nawigatory, takie jak te z Materiału nawigacyjnego towarzysza. (I4619e) - Odwołuj się do NamedNavArgument z navigation-common i usuń kopię z wear.compose.navigation. (I43af6)
Poprawki błędów
- Naprawiono niestabilność testu CurvedRow na mniejszych urządzeniach. (If7941)
- Usunięto problem z możliwym migotaniem wygiętego wiersza podczas aktualizowania treści. Zapewnienie ponownego pomiaru wygiętego wiersza (Ie4e06).
- Funkcja ChipDefaults.gradientBackgroundChipColors() została zaktualizowana zgodnie ze specyfikacją UX. Gradient zaczyna się teraz od MaterialTheme.colors.primary z alfa 32,5%, a kończy na MaterialTheme.colors.surface z alfa 0% na tle MaterialTheme.colors.surface z alfa 75%. (Id1548)
- Zaktualizowaliśmy kolory elementów przełącznika w wybranym stanie, aby były zgodne z najnowszymi wytycznymi dotyczącymi interfejsu użytkownika w ramach Material Design na Wear. Po wybraniu przełączniki mają teraz tło gradientowe od MaterialTheme.color.surface @ 0% alfa (w lewym górnym rogu) do MaterialTheme.color.primary @ 32% alfa (w prawym dolnym rogu) na tle MaterialTheme.color.surface @ 75% alfa. W efekcie różnica między zaznaczeniem a odznaczeniem elementu ToggleChip jest mniej widoczna. (Idd40b)
Wersja 1.0.0-alpha06
15 września 2021 r.
Funkcje androidx.wear.compose:compose-foundation:1.0.0-alpha06
, androidx.wear.compose:compose-material:1.0.0-alpha06
i androidx.wear.compose:compose-navigation:1.0.0-alpha06
są dostępne. Wersja 1.0.0-alpha06 zawiera te commity.
Nowe funkcje
- Dodaliśmy element składany Scaffold, który stanowi strukturę do obsługi elementów PositionIndicator (takich jak Scroll czy Volume), obszaru u góry ekranu do wyświetlania czasu i stanu aplikacji, a także Vignette, który pozwala rozmyć górną i dolną krawędź ekranu w przypadku treści przewijanych. Główna część szkieletu to obszar, w którym umieszcza się zawartość aplikacji. (I5e0bf)
- Dodano implementację TimeText na potrzeby Wear Compose (I5654c).
Biblioteka nawigacji w Compose na Wear
Dodaliśmy pierwszą wersję biblioteki nawigacji w Compose na Wear, która umożliwia integrację bibliotek Compose na Wear i Androidx Navigation. Umożliwia ona łatwe przechodzenie między funkcjami @Composable jako miejscami docelowymi w aplikacji.
Ta pierwsza wersja zawiera:
- Komponent
SwipeDismissableNavHost
, który zawiera graf nawigacji i umożliwia nawigację wstecz za pomocą gestów przesuwania. NavGraphBuilder.composable
rozszerzenie ułatwiające tworzenie grafów nawigacjirememberSwipeDismissableNavController()
, aby zezwolić na przenoszenie stanu
- Komponent
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 komponencie Wear Compose jest pakowana jako osobna biblioteka, aby proste aplikacje korzystające z komponentu Wear Compose, które implementują własną nawigację, nie musiały być zależne od biblioteki Androidx Navigation.
Zmiany w interfejsie API
- Zaktualizowano
SwipeDismissableNavHost
, aby obsługiwałrememberSaveable
przez ustawienie klucza tożsamości dla tła i treści (I746fd) - Dodaliśmy adapter PositionIndicator, który obsługuje stan LazyListState (I21b88).
- Zaktualizowano element SwipeToDismissBox, aby obsługiwał pamiętanie danych do zapisania (Ie728b).
- Dodaliśmy obsługę reverseLayout do ScalingLazyColumn. Umożliwia odwrócenie kierunku przewijania i układu (I9e2fc)
- Wycofane parametry
performGesture
iGestureScope
, które zostały zastąpione przez parametryperformTouchInput
iTouchInjectionScope
. (Ia5f3f, b/190493367) - Zmieniliśmy nazwę parametru VignetteValue na VignettePosition i parametr VignetteValue na VignettePosition.Oba te parametry zmieniliśmy na VignettePosition.TopAndBottom. (I57ad7)
- Nazwa ScalingLazyColumnState została zmieniona na ScalingLazyListState, ScalingLazyColumnItemInfo na ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo na ScalingLazyListLayoutInfo, a ScalingLazyColumnScope na ScalingLazyListScope, ponieważ w przyszłości możemy zdecydować się na implementację ScalingLazyRow. (I22734)
Poprawki błędów
- Zaktualizowaliśmy dokumentację dotyczącą elementu CompactChip, aby opisać, co się dzieje, jeśli nie podasz ani ikony, ani etykiety. (I4ba88)
- Wprowadziliśmy kilka zmian w komponentach kart na Wear. (I6b3d0)
- Odstęp między elementami karty z tytułem a elementem z treścią zmniejszono z 8 pikseli na 2 piksele.
- Czcionka nagłówka karty z tytułem została zmieniona z body na title3.
- Zmieniono gradient tła karty, aby było ciemniejsze.
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
są dostępne. Wersja 1.0.0-alpha05 zawiera te commity.
Zmiany w interfejsie API
- Oznacz ArcPaddingValues jako @Stable (I57deb)
- ScalingLazyColumnState implementuje teraz interfejs ScrollableState, który daje deweloperom programowy dostęp do przewijania komponentu. (I47dbc)
Poprawki błędów
- Zmniejszyliśmy odstęp między ikoną a tekstem w elementach Chip i ToggleChip, aby dostosować je do zmian w specyfikacji UX (I83802).
Wersja 1.0.0-alpha04
18 sierpnia 2021 r.
androidx.wear.compose:compose-foundation:1.0.0-alpha04
i androidx.wear.compose:compose-material:1.0.0-alpha04
są dostępne. Wersja 1.0.0-alpha04 zawiera te commity.
Nowe funkcje
- Dodano element SwipeToDismissBox i modyfikator, który można przesuwać, aby obsługiwać gest przesuwania od lewej do prawej w celu zamknięcia. Chociaż jest niezależny od komponentów nawigacji, służy do zamykania jednego ekranu i przechodzenia do innego. Dodano testy integracji do demonstracji funkcji przesuwania w bok w celu zamknięcia. (I7bba)
- Do klasy ScalingLazyColumnState dodaliśmy interfejsy ScalingLazyColumnItemInfo i ScalingLazyColumnLayoutInfo, aby umożliwić deweloperom poznanie rzeczywistych pozycji i rozmiarów elementów w komponencie ScalingLazyColumn po zastosowaniu skalowania. Naprawiliśmy też błąd związany ze sposobem obliczania skalowania, gdy do kolumny ScalingLazyColumn zastosowano wypełnienie treści „top”. (I27c07)
Zmiany w interfejsie API
- Dodaj klasę CurvedTextStyle, aby określić styl wygięcia tekstu. Podobny do TextStyle, ale obsługuje tylko kolor, rozmiar czcionki i tło. W przyszłości dodamy więcej opcji stylizacji. (I96ac3)
- Do klasy ScalingLazyColumnState dodaliśmy interfejsy ScalingLazyColumnItemInfo i ScalingLazyColumnLayoutInfo, aby umożliwić deweloperom poznanie rzeczywistych pozycji i rozmiarów elementów w elementach ScalingLazyColumn po zastosowaniu skalowania. Naprawiliśmy też błąd związany ze sposobem obliczania skalowania, gdy do kolumny ScalingLazyColumn zastosowano wypełnienie treści „top”. (I27c07)
- Dodano wartość
@ExperimentalWearMaterialApi
do wyliczeniaSwipeDismissTarget
, które jest częścią interfejsu APISwipeToDismissBox
. (I48b5e)
Poprawki błędów
- Dodano materiały testowe dotyczące pola SwipeToDismissBox (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
są dostępne. Wersja 1.0.0-alpha03 zawiera te commity.
Zmiany w interfejsie API
- Dodano komponent CurvedText, który pozwala deweloperom łatwo pisać tekst zgodnie z krzywizną koła (zwykle na krawędzi okrągłego ekranu) (Id1267)
- Zmieniliśmy nazwę
CardDefaults.imageBackgroundPainter()
naCardDefaults.imageWithScrimBackgroundPainter()
, aby było jasne, że obraz tła ma nałożoną zasłonę. (I53206) - Dodanie komponentu ScalingLazyColumn, który zapewnia komponent listy dla Wear Material, który daje efekt rybiego oka, gdy zawartość listy jest zmniejszana i staje się przezroczysta, gdy zbliża się do krawędzi komponentu. (I7070c)
Poprawki błędów
- Zmieniliśmy domyślny kolor treści appName w karcie aplikacji w odpowiedzi na aktualizację specyfikacji UX. Domyślny kolor nazwy aplikacji to teraz
MaterialTheme.colors.onSurfaceVariant
. Dodatkowo dodaliśmy brakujący opis parametru dla slotu tytułu. (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
są dostępne. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano nową klasę CurvedRow do skompilowanych elementów w łuku (I29941)
- Dodano nowy typ karty do stosowania w aplikacjach (karta tytułu), a także dodano obsługę obrazów jako tła kart, aby podkreślić ich zawartość (I53b0f)
Zmiany w interfejsie API
- Dodanie obsługi wyrównania promieniowego do kolumny wygiętej (podobnego do wyrównania pionowego w kolumnie) (Id9de5)
- Dodanie nowej klasy CurvedRow do skompilowanych komponentów ułożonych w łuk (I29941)
- Dodano nowy typ karty do użytku w aplikacjach (karta tytułu), a także dodano obsługę obrazów jako tła kart, aby podkreślić ich zawartość (I53b0f)
- Dodano ikony przełączników (pole wyboru, przełączniki i przyciski opcji) do ToggleChipDefaults, aby ułatwić deweloperom konfigurowanie elementów ToggleChip i SplitToggleChips (I7b639).
- Zaktualizowaliśmy wypełnienie treści na początku i na końcu elementów, aby było ono zawsze równe 14 dp niezależnie od tego, czy element ma ikonę, czy nie (wcześniej było to 12 dp, jeśli ikona była obecna, i 14 dp, jeśli nie) (I34c86)
Poprawki błędów
- Dodaj testy dla CurvedRow (I93cdb)
- Powiązanie zależności Wear Compose z Compose 1.0.0-rc01. (Ie6bc9)
- Zmieniliśmy sposób wyświetlania obrazu tła w elementach kart i elementach typu „chips”, aby obraz był przycinany zamiast rozciągany, co pozwala zachować proporcje obrazu. (I29b41)
- Dodaliśmy więcej demonstracji i testów integracji przycisków Button i ToggleButton. (5e27ed2)
- Dodano więcej testów elementów, aby uwzględnić kolory treści w przypadku elementów imageBackground (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
są dostępne. Wersja 1.0.0-alpha01 zawiera te commity.
Nowe funkcje
Wear Compose to biblioteka na platformę Kotlin, oparta na Compose, która obsługuje Wear Material Design, czyli rozszerzenie Material Design na potrzeby urządzeń noszonych WearOS. Ta pierwsza wersja alfa zawiera wczesne, funkcjonalne implementacje tych elementów:
- Motyw Material – pozwala skonfigurować kolory, typografię i kształty w sposób spójny w przypadku komponentów używanych w tej bibliotece.
- Elementy typu „chip” i „compact chip” mają kształt stadionu i są dostępne w różnych wariantach, które umożliwiają umieszczanie ikon, etykiet i etykietek dodatkowych.
- – ToggleChip, SplitToggleChip – specjalistyczny typ elementu, który zawiera miejsce na ikonę przełącznika dwustanowego, np. przycisk radiowy lub pole wyboru. Dodatkowo element SplitToggleChip ma 2 obszary dotykowe: jeden klikalny i jeden przełączalny.
- Button, CompactButton – przyciski o okrągłym kształcie z jednym miejscem na zawartość (ikonę lub minimalny tekst, maksymalnie 3 znaki).
- ToggleButton – przycisk, który włącza lub wyłącza działanie, z 1 miejscem na ikonę lub minimalny tekst (maksymalnie 3 znaki).
- Karta, karta aplikacji – prostokąt z zaokrąglonymi rogami, który zawiera miejsca na treści takie jak ikona aplikacji, czas, tytuł i tekst.
W przyszłych wersjach zestawu widżetów dodamy obsługę selektorów, suwaków, list, wskaźników stron, dialogów, wskaźników przewijania, powiadomień i innych elementów w stylu Material Design na urządzeniach z Wear.
Dodatkowo zapewniamy obsługę innych funkcji dotyczących urządzeń noszonych, takich jak wygięte układy i tekst, a także szkielety, które ułatwiają deweloperom tworzenie aplikacji i nakładek na urządzenia noszone.
Materiał Compose na Wear OS został zaprojektowany zgodnie z tymi samymi zasadami co Compose na Androida, ale jest przeznaczony do korzystania na urządzeniach do noszenia. Podczas tworzenia aplikacji na urządzenie do noszenia należy używać biblioteki komponentów Compose na Wear zamiast biblioteki komponentów Compose.
Dwie biblioteki „Material” powinny być traktowane jako wzajemnie wykluczające się i nie należy ich łączyć w tej samej aplikacji. Jeśli deweloperzy uwzględnią w swoich zależnościach bibliotekę Compose Material, oznacza to, że albo: a) w bibliotece Wear Compose Material brakuje komponentów (w takim przypadku prosimy o poinformowanie nas, czego brakuje) albo b) korzystają z komponentu, którego nie zalecamy używania na urządzeniu do noszenia.