Wearout Protolayout
Najnowsza aktualizacja | Wersja stabilna | Kandydat do wydania | Wersja Beta | Wydanie alfa |
---|---|---|---|---|
10 lipca 2024 r. | 1.1.0 | - | 1.2.0-beta01 | - |
Deklarowanie zależności
Aby dodać zależność od Wear-protolayout, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.
W pliku build.gradle
aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:
Odlotowy
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.2.0-beta01" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.2.0-beta01" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.2.0-beta01" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.2.0-beta01") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.2.0-beta01") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.2.0-beta01") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli odkryjesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj istniejące problemy w tej bibliotece. Możesz oddać swój głos do istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia do śledzenia problemów.
Wersja 1.2
Wersja 1.2.0-beta01
10 lipca 2024 r.
Usługa androidx.wear.protolayout:protolayout-*:1.2.0-beta01
została zwolniona. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
Wersja 1.2.0-beta01 Wear ProtoLayout oznacza, że ta wersja biblioteki jest kompletna, a interfejs API jest zablokowany (z wyjątkiem miejsc oznaczonych jako eksperymentalne). Wear ProtoLayout 1.2 zawiera te nowe funkcje i interfejsy API:
FontStyle
obsługuje teraz te dodatkowe czcionki:- ustawianie różnych ustawień odmiany czcionki, np.
FontSetting.weight
iFontSetting.width
; - Ustawianie tej samej szerokości wszystkich znaków liczbowych – cyfry w tabeli (ustawienie funkcji czcionki
FontSetting.tnum
) - Ulepszyliśmy interfejsy API wyboru czcionek, aby obsługiwały przyszłe czcionki elastyczne, określając preferowane nazwy rodzin czcionek, które mają być używane.
- ustawianie różnych ustawień odmiany czcionki, np.
- Rozszerzony modyfikator
Corner
umożliwiający wskazanie każdego elementuCornerRadius
za pomocą osobnych wartości poziomych i pionowych, co umożliwia korzystanie z elementów budynków o asymetrycznych narożnikach. - Dodano nowy modyfikator
Transformation
oferujący przesunięcie, obrót i skalowanie wartościLayoutElement
. Przekształcenia te można animować za pomocą wartości dynamicznych. - Dodano
setArcDirection
z opcjamiClockwise
,CounterClockwise
iNormal
do wszystkich elementów łuku (Arc
,ArcLine
iArcText
), aby zapewnić lepszą obsługę w różnych kierunkach układu (np. LTR i RTL). - Łatwiejszy dostęp do wszystkich docelowych elementów dotykowych przez zwiększenie obszaru do kliknięcia każdego elementu używającego modyfikatora
Clickable
do wartości co najmniej48dp
x48dp
. - Ulepszyliśmy
PrimaryLayout
iEdgeContentLayout
, dodając elementsetResponsiveContentInsetEnabled
, aby lepiej obsługiwać elastyczne zachowanie tych układów na ekranach o różnych rozmiarach i poprawić spójność kafelków. Dodaliśmy ostrzeżenie linter, które sugeruje użycie tych interfejsów API z szybkim rozwiązaniem. - Poprawione skalowanie/brak skalowania atrybutu Material
Text
na potrzeby nieliniowego skalowania czcionek w Androidzie 14.
Zmiany interfejsu API
- Domyślna nazwa rodziny czcionek (
DEFAULT_SYSTEM_FONT
) została usunięta, ponieważ sugeruje nieużywanie interfejsu APIpreferredFontFamilies
. (I39dab) - Parametr przekazywany do metody
FontSetting.width
powinien być dodatni. (I1266f)
Wersja 1.2.0-alpha05
26 czerwca 2024 r.
Usługa androidx.wear.protolayout:protolayout-*:1.2.0-alpha05
została zwolniona. Wersja 1.2.0-alfa05 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaj metodę
hasText
do elementuMaterial.CompactChip
, aby sprawdzić, czy treść tekstowa została ustawiona. (I6e8fc)
Zmiany interfejsu API
- Statki (
FontFamily
) zostały przeniesione do klasyFontStyle
zamiast do klasy Builder. (I06ced) - Zaktualizuj interfejs
FontSetting.weight
i interfejs APIFontSetting.width
, aby uwzględnić adnotacje zakresu i zmienić parametr wagi na int. (Ia726c)
Poprawki błędów
- Nieskalowalne teksty w bibliotece Material Design działają teraz poprawnie z nieliniowym skalowaniem czcionek na Androidzie 14. (I6601e)
Wersja 1.2.0-alfa04
29 maja 2024 r.
Usługa androidx.wear.protolayout:protolayout-*:1.2.0-alpha04
została zwolniona. Wersja 1.2.0-alfa04 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodano interfejs API asymetrycznych narożników, który umożliwia osobne określenie promienia każdego narożnika za pomocą 2 wartości. (Icbd69)
- Rozszerzyliśmy interfejs API
FontSetting
, aby obejmował: - Do
FontStyle
dodano interfejs API rodziny czcionek, który umożliwia określenie listy kolejności, których rodzinom czcionek należy używać. (IBA9f5) - Zmieniono nazwy stałych wysokości odstępu między treścią i etykietą dodatkową w elemencie
LayoutDefaults
Material, które początkowo miały przedrostek „Edge content”, aby były bardziej ogólne, ponieważ można je stosować zarówno w elementachPrimaryLayout
, jak iEdgeContentLayout
. (I4dc32)
Poprawki błędów
- Zmieniono nazwę nazw osi zmiennych czcionek z „
axisName
” na „axisTag
”. (I02ba3)
Wersja 1.2.0-alfa03
14 maja 2024 r.
Usługa androidx.wear.protolayout:protolayout-*:1.2.0-alpha03
została zwolniona. Wersja 1.2.0-alfa03 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano interfejs API do ustawiania niestandardowych wartości wag dla kategorii
FontStyle
. (I7390a)
Poprawki błędów
- Napraw błąd w zadaniu
getTouchDelegateInfo
z powodu pustej mapy docelowej. (I2accf).
Wersja 1.2.0-alfa02
1 maja 2024 r.
Usługa androidx.wear.protolayout:protolayout-*:1.2.0-alpha02
została zwolniona. Wersja 1.2.0-alfa02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodaliśmy obsługę wyłączania komentarzy falowych w przypadku poszczególnych elementów klikalnych. (If1ede).
- Interfejs API do przekształcania został usunięty z
ArcModifiers
, ponieważ nie obsługuje tej funkcji (Ic0827) - Kreator
ArcDirectionProp
oczekuje teraz wartości w konstruktorze. (I76ada) - Metoda
PlatformDataValues.Builder.putAll
pozwala połączyć jedenPlatformDataValue
z innym. (I50Ba3) - Nazwa
Text#setIsScalable
została zmieniona naText#setScalable
. (If920e). - Parametr Material Text pozwala określić, czy rozmiar ma być skalowalny (rośnie po zmianie rozmiaru czcionki użytkownika). (IBC849)
- Dodaliśmy opcję ustawiania opisu treści na
TitleChip
. (I5d21f) - Rozwiązaliśmy problem
CompactChip
, aby działał prawidłowo tylko z ikoną i zaktualizowaliśmy interfejs API, aby zezwolić na tę opcję. (I6589e)
Poprawki błędów
- Wyeliminowaliśmy problem potencjalnie zduplikowanych danych platformy podczas inicjowania. (IBa0fd).
- Wprowadź nową metodę pobierania do funkcji
DynamicDataNode
, aby pobrać koszt węzła. Koszt jest używany podczas uzyskiwania limitu węzłów dynamicznych. Obecnie koszt węzłów o stałych wartościach wynosi 0, a pozostałych węzłów – 1. (Ia33e1). - Usuń z
NO_OP_QUOTA_MANAGER
funkcję liczenia. (IB50b8) - Dodaliśmy regułę lintowania, która zgłasza ostrzeżenie, gdy zasada
PrimaryLayout
jest używana bez zasadysetResponsiveContentInsetEnabled
, i pozwala szybko rozwiązać ten problem. (I12025) - Liczba węzłów wyrażeń dynamicznych jest ograniczona. (Iffae8).
Wersja 1.2.0-alpha01
6 marca 2024 roku
Usługa androidx.wear.protolayout:protolayout-*:1.2.0-alpha01
została zwolniona. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
- Do elementów
ProtoLayout Arc
można teraz dodać opcjęArcDirection
(Clockwise
,Counterclockwise
lubNormal
). Dodanie tego zachowania do elementówArc
,ArcLine
iArcText
spowoduje poprawienie ich działania w układach od prawej do lewej. (I90699) - Komponent
EdgeContentLayout
został zaktualizowany o nową opcję ustawiającąsetResponsiveContentInsetEnabled
, aby lepiej dostosować ją do wytycznych dotyczących UX i spójności w kafelkach dzięki zastosowaniu etykiety podstawowej na stałej pozycji u góry i elastycznym wstawieniu w przypadku etykiet. (I60175) - Dodaliśmy w tym układzie element
PrimaryLayout.setResponsiveContentInsetEnabled
, który dodaje elastyczne wcięcie do etykiety głównej, etykiety dodatkowej i elementu u dołu, aby zapobiec wydostaniu się treści poza krawędź ekranu. (I0c457) - Dodaje metodę usuwania zewnętrznych marginesów z elementu
CircularProgressIndicator
, dzięki czemu można jej używać jako mniejszego komponentu. (I55c06)
Zmiany interfejsu API
- Mechanizm renderowania kafelków domyślnie wyklucza dopełnienie czcionki we wszystkich elementach tekstowych, bez możliwości jego uwzględnienia. (I3e300)
Poprawki błędów
- Rozwiązanie problemu z wyrównaniem tekstu, gdy w przypadku tekstu używane są wszystkie wielokropki, odstępy między literami i wyrównanie do środka. (I716c7)
- Dodaj obejście problemu z rysowaniem łuku ściennego. (I08f09)
- Popraw kierunek rysowania w trybie
ArcLine
w układach od prawej do lewej. (I6c141)
Wersja 1.1
Wersja 1.1.0
7 lutego 2024 r.
Usługa androidx.wear.protolayout:protolayout-*:1.1.0
została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.
Ważne zmiany wprowadzone od wersji 1.0.0
- Obsługa gradientów i lepsze przedstawianie długości przekraczających 360 stopni w funkcji
ArcLine
. - Formatowanie daty i godziny obsługuje różne strefy czasowe w przypadku typów danych dynamicznych.
- Ulepszone opcje automatycznego zmieniania rozmiaru i elipsyfikacji tekstu w celu obsługi przyciętego tekstu.
- Dystans obsługuje wymiary po rozwinięciu z opcjonalną wagą.
- Adnotacja o wymaganiu wersji schematu do wszystkich interfejsów API
ProtoLayout
. - Rozszerzono obszar docelowy do dowolnego elementu
Clickable
do 48 dp x 48 dp, aby spełnić wymagania dotyczące ułatwień dostępu. - Dopełnienie czcionki jest domyślnie wyłączone i jest jedynym zachowaniem w przypadku wszystkich elementów Text i komponentów Material, które zawierają tekst.
Dodatkowe zmiany
- Bardziej kompletne informacje o zmianach wprowadzonych w wersji 1.1.0 znajdziesz w informacjach o wersji beta01.
Wersja 1.1.0-rc01
24 stycznia 2024 r.
Usługa androidx.wear.protolayout:protolayout-*:1.1.0-rc01
została zwolniona. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
PlatformTimeUpdateNotifierImpl
zaznacza się natychmiast po włączeniu aktualizacji. (I77145)- Element
CircularProgressIndicator
został poprawiony w przypadku układów od prawej do lewej. Od teraz wszystko będzie się wyświetlać w prawo we wszystkich przypadkach. (I95ee3). - Dodaj obejście problemu z rysowaniem łuku ściennego. (I08f09)
Wersja 1.1.0-beta01
10 stycznia 2024 r.
Usługa androidx.wear.protolayout:protolayout-*:1.1.0-beta01
została zwolniona. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
Wersja 1.1.0-beta01 Wear ProtoLayout oznacza, że ta wersja biblioteki jest już gotowa, a interfejs API jest zablokowany (z wyjątkiem miejsc oznaczonych jako eksperymentalne). Wear ProtoLayout 1.1 zawiera te nowe funkcje i interfejsy API:
ArcLine
obsługuje teraz gradient przez dodanie właściwościBrush
z parametremSweepGradient
i dodanie cienia na wierzchu, aby lepiej odzwierciedlić długość większą niż 360 stopni przez dodanieShadow
w dotychczasowym obiekcieStrokeCap
.- Funkcja
DynamicInstant
obsługuje strefowe formatowanie daty i godziny. Typy danychDynamicInstant
iDynamicDuration
mogą być używane jako typy danych stanu lub platformy. - Funkcja automatycznego skalowania rozmiaru tekstu, która umożliwia ustawienie wielu rozmiarów tekstu w polu
FontStyle.setSizes
, gdzie rozmiar tekstu będzie automatycznie skalowany odpowiednio do miejsca w środku elementu nadrzędnego. Dodatkowo ulepszyliśmy opcje elipsji w przypadku nadmiarowych tekstów, dodającTEXT_OVERFLOW_ELLIPSIZE
i wycofującTEXT_OVERFLOW_ELLIPSIZE_END
. - W
Spacer
możesz teraz stosować wymiary rozwinięte z opcjonalną wagą. Do budynkuExpandedDimensionProp
dodaliśmy metodę pomocnicząDimensionBuilders.weight
. - Obsługa dynamicznego ukrywania i odkrywania elementów układu za pomocą funkcji
Modifier.visible
. Obejmuje to wartości dynamiczne wBoolProp
. - Wszystkie interfejsy API
ProtoLayout
mają teraz adnotację dotyczącą wersji schematu, a wersję można sprawdzić przed wywołaniem nowszego interfejsu API. - Obszar docelowy każdego elementu z atrybutem
Clickable
w mechanizmie renderowania jest teraz poszerzony do co najmniej 48 x 48, aby lepiej spełniał wymagania dotyczące ułatwień dostępu. - W związku z innymi inicjatywami dotyczącymi komponentów Material Design i tworzenia wiadomości obecnie domyślnie wyłączyliśmy dopełnienie czcionki we wszystkich elementach
Text
. Dodatkowo interfejsAndroidTextStyle
i powiązane z nim ustawienia zostały usunięte z publicznego interfejsu API, wprowadzając następujące poprawki: - Dodano element ustawiający do określania pozycji zawartości krawędzi w elemencie
EdgeContentLayout
, aby można było umieścić ją przed innymi treściami. - Konsekwentnie zgłaszam wyjątek w przypadku napotkania nierozpoznanej wartości wyliczeniowej.
- Unieważnia wynik wyrażenia, gdy zwraca ono nieprawidłową wartość liczbową (NaN lub nieskończoność) lub zwraca wartość
ArithmeticException
.
Zmiany interfejsu API
- Aktualizacja interfejsu API
SweepGradient
umożliwiająca akceptowanie kolorów lubColorStops
w konstruktorze. (I6676f)
Poprawki błędów
- Dodanie ograniczonego interfejsu API i mechanizmu renderowania umożliwiającego ustawianie kierunku, w którym rysowane są elementy łuku. (Idef5a).
- Jeśli nie określono inaczej,
RoundMode
ma domyślną wartośćFloor
w elemencieFloatToInt32Node
. Węzeł nadal zgłasza wyjątek, jeśli podany identyfikatorRoundMode
nie jest rozpoznawany. (I1b2d8).
Wersja 1.1.0-alfa04
13 grudnia 2023 r.
Usługa androidx.wear.protolayout:protolayout-*:1.1.0-alpha04
została zwolniona. Wersja 1.1.0-alfa04 zawiera te zatwierdzenia.
Nowe funkcje
- Klasa
VersionInfo
nie implementuje interfejsuComparable
. (I8d13c). - Mechanizm renderowania obsługuje teraz opcję
TEXT_OVERFLOW_ELLIPSIZE
. (I7f085)
Zmiany interfejsu API
- Opcja nadmiaru tekstu
TEXT_OVERFLOW_ELLIPSIZE_END
została wycofana. Użyj nowego interfejsu APITEXT_OVERFLOW_ELLIPSIZE
, który działa bardzo podobnie. (I822d8) - W związku z innymi inicjatywami dotyczącymi komponentów Material Design i tworzenia wiadomości obecnie domyślnie wyłączyliśmy dopełnienie czcionki we wszystkich elementach Text. Dodatkowo platforma
AndroidTextStyle
i powiązane ustawienia zostały usunięte z publicznego interfejsu API. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3) - Pole
Modifier.hidden
zostało zastąpione elementemModifier.visible
(I56902) - Funkcja
FontStyle#setSizes
akceptuje teraz liczbę całkowitą zamiastSpProp
argumentów. (I02b37)
Poprawki błędów
- Zgłoś wyjątek w przypadku uzyskania niezdefiniowanej lub nierozpoznanej wartości wyliczeniowej. (I9d2cf).
- Refaktoryzacja
DynamicTypeBindingRequest
. (I27b57) - Unieważnia wynik wyrażenia, gdy zwraca ono nieprawidłową wartość liczbową (NaN lub nieskończoność) lub zwraca wartość
ArithmeticException
. (I681ae).
Wersja 1.1.0-alfa03
29 listopada 2023 r.
Usługa androidx.wear.protolayout:protolayout-*:1.1.0-alpha03
została zwolniona. Wersja 1.1.0-alfa03 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaj eksperymentalną obsługę dynamicznego ukrywania/odkrywania elementów układu (I64a78)
- Dodawanie obsługi wartości dynamicznych do
BoolProp
(I2fe96) - Dodaj adnotację dotyczącą wymagań wersji schematu do interfejsów API usługi
ProtoLayout
(I0f03c) - Rozszerzenie interfejsu API o nową opcję w
TextOverflow
, która umożliwia elipsowanie tekstu w stałym kontenerze nadrzędnym nawet wtedy, gdy nie osiągnięto maksymalnej liczby wierszy (ale brakuje miejsca na tekst). (I110a9) - Dodano metodę pomocniczą
DimensionBuilders.weight
do budynkuExpandedDimensionProp
z użyciem wagi. (I4f72b) - Typy danych
DynamicInstant
iDynamicDuration
mogą być używane jako typy danych stanu lub platformy. (I6819f)
Zmiany interfejsu API
- Zaktualizuj interfejs API, aby ukryć obiekt
DynamicZonedDateTime
i przenieść wszystkie jego operacje do instancjiDyanamicInstant
(I34b94) - Odstęp obsługuje teraz wymiar po rozwinięciu w odniesieniu do szerokości i wysokości. (IE7c94)
- Obsługa rozszerzenia obszaru docelowego kliknięcia w mechanizmie renderowania (I39c79)
Wersja 1.1.0-alfa02
15 listopada 2023 r.
Usługa androidx.wear.protolayout:protolayout-*:1.1.0-alpha02
została zwolniona. Wersja 1.1.0-alfa02 zawiera te zatwierdzenia.
Nowe funkcje
- Do interfejsu API dodano pole
ArcLine
StrokeCap
Shadow
. (I830ec) - Rozszerzanie interfejsu API w celu określenia szerokości lub wysokości odstępu w celu rozwinięcia. (I757CA)
- Dodaliśmy eksperymentalny interfejs API, który automatycznie skaluje rozmiar tekstu w zależności od miejsca w obiekcie nadrzędnym. (Ibbe63)
- Obsługa minimalnego rozmiaru klikalnego (I178e3)
- Dodano obsługę mechanizmu renderowania dla
StrokeCap
Shadow
. (I48b17) - Dodano obsługę mechanizmu renderowania dla gradientu automatycznego w
ArcLine
. (I4d5bb)
Wersja 1.1.0-alpha01
18 października 2023 r.
Usługa androidx.wear.protolayout:protolayout-*:1.1.0-alpha01
została zwolniona. Wersja 1.1.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
- Do modelu
Arcline
dodano opcję pędzla z obsługą językaSweepGradient
. (IE7ce3). - Dodano obsługę formatowania strefowego daty i godziny. (Ibfae0)
- Dodano proto i opakowania Java wymagane do strefowego formatowania daty i godziny. (I97126)
- Dodano metody pobierania do odczytu wartości zapisanej w elemencie
DynamicDataValue
. (IE6cea), - Dodano element ustawiający do określania pozycji zawartości krawędzi w elemencie
EdgeContentLayout
, aby można było umieścić ją przed innymi treściami. (IE8E8a)
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że wyrażenie z wieloma rejestracjami źródła danych nie było aktualizowane od razu. (I8E1a8).
- Usunięto błąd polegający na wyśrodkowaniu elementu rdzenia podczas aktualizacji różnic. (IE48f7).
- Nieskonfigurowane (lub puste) wartości ograniczeń układu nie będą już ignorowane. (IBC785)
- Krótsze opóźnienie między wyświetleniem układu a inicjowaniem węzłów jego potoku. (I38d4e)
Wersja 1.0
Wersja 1.0.0
9 sierpnia 2023 r.
Usługa androidx.wear.protolayout:protolayout-*:1.0.0
została zwolniona. Wersja 1.0.0 zawiera te zatwierdzenia.
Główne funkcje 1.0.0
Biblioteka ProtoLayout zawiera interfejsy API do tworzenia układów i wyrażeń, których można używać na różnych platformach Wear OS. Na przykład biblioteka Tiles używa tych interfejsów API do obsługi wiązania danych platformy (w celu szybszego aktualizowania danych kafelków) i animacji.
Wersja 1.0.0-rc01
26 lipca 2023 r.
Usługa androidx.wear.protolayout:protolayout-*:1.0.0-rc01
została zwolniona. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
- Aby przeprowadzić migrację z kafelków do
ProtoLayout
, postępuj zgodnie z tymi instrukcjami.
Zmiany interfejsu API
- Usunęliśmy metody
setLayoutConstraintForDynamicAnchorAngle
igetLayoutConstraintForDynamicAnchorAngle
z elementu Arc. Te metody zostały dodane przez pomyłkę i nie miały żadnego wpływu na podany układ. (If7d01). - Ograniczyliśmy maksymalną głębokość, jaką w układzie
ProtoLayout
może być 30 zagnieżdżonych elementówLayoutElements
. (I8a74b)
Poprawki błędów
- Dodaliśmy kontrolę, która sprawdza, czy
DynamicColor
jest ustawione dlaSpanText
. (I0e5bc). - Wyjaśniono, że jednostka źródła danych
DAILY_CALORIES
to kcal. (Iaa785).
Wersja 1.0.0-beta01
21 czerwca 2023 r.
Usługa androidx.wear.protolayout:protolayout-*:1.0.0-beta01
została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
- Zezwalaj na ustawianie zegara na potrzeby testów wiązań czasowych. (I05622)
Zmiany interfejsu API
PlatformDataReceiver.onData()
iStateBuilders.Builder.addKeyToValueMapping
akceptują teraz mapowanie atrybutówDynamicDataKey
naDynamicDataValue
w bezpieczny sposób, a nie niebezpiecznych typów ogólnych. Oznacza to, żeDynamicDataValue
została wpisana za pomocą funkcjiDynamicType
. StałeHEART_RATE_ACCURACY_X
zostały przeniesione do pierwiastka wartościPlatformHealthSources
, aby dopasować je do innych stałych Android. Stałe stałeHEART_RATE_ACCURACY_X
są teraz używane bezpośrednio w parametrachDynamicHeartRateAccuracy.constant()
iDynamicHeartRateAccuracy.dynamicDataValueOf()
zamiast wartości stałej. (I82ff5)- Wystąpienie klasy
PlatformHealthSources.Constants
było przypadkowe. Naprawiliśmy ten błąd. (Icb849) - Funkcja
PlatformTimeUpdateNotifier#setReceiver
otrzymuje terazRunnable
zamiast funkcjiSupplier
iExecutor
do powiadamiania. (I9d938) - Zmieniliśmy typ parametru w pliku
PlatformTimeUpdateNotifier#setReceiver
zCallable
naSupplier
. (I664bf) CompactChip
iTitleChip
obsługują teraz dodawanie ikon. (I5a01e).
Poprawki błędów
- Aktualizowanie komunikatów Prop z polami dynamicznymi, tak aby używały w zamian jednego z nich (I81739)
- Ponowne wykorzystanie implementacji mechanizmu ustawiającego w przypadku przeciążeń (Ied70c)
- Prawidłowo rejestruj odciski palców u seterów z przeciążeniami (I86ed2)
Wersja 1.0.0-alfa11
7 czerwca 2023 r.
Usługa androidx.wear.protolayout:protolayout-*:1.0.0-alpha11
została zwolniona. Wersja 1.0.0-alfa11 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy
PlatformDataKey
, aby zwiększyć dokładność tętna. (I7f9b8)
Zmiany interfejsu API
- Zmień nazwę kolumny
StateBuilders#getIdToValueMapping
nagetKeyToValueMapping
i zmień zwracany typ naMap<<AppDataKey<?>,DynamicDataValue>
. (Iaa7ae). - Ustaw klasę
StateStore
jako ostateczną (I408ca) - Interfejs
TimeGateway
został zastąpiony interfejsemPlatformTimeUpdateNotifier
w biblioteceprotolayout-expression-pipeline
, który zapewnia pożądaną częstotliwość aktualizowania danych o czasie. (I60869) - Zmień nazwę pliku
register
/unregisterForData
w plikuPlatformDataProvider
naset
/clearReceiver
(I14b02) - Nazwa
getExcludeFontPadding
w interfejsie Material Text została zmieniona nahasExcludeFontPadding
. (EOG) - Do wszystkich komponentów elementu dodano element montujący do idealnie wyrównania etykiety. Wszystkie elementy mają teraz stosowany co najmniej cel do kliknięcia. (I8ae92).
- Nazwa konta
LayoutDefaults#BUTTON_MAX_NUMBER
została zmieniona naMAX_BUTTONS
. (I84788) - Nazwa
DAILY_DISTANCE
została zmieniona naDAILY_DISTANCE_M
. (I4f758)
Poprawki błędów
- Zaktualizuj dokumentację typów Prop, aby wyjaśnić, dlaczego wymuszana jest wartość statyczna. Określ wartość domyślną, która będzie używana w przypadku braku wartości statycznej. (I155aa).
- Przestrzenie nazw
PlatformDataKey
powinny być zgodne ze stylem Java. (I47bda)
Wersja 1.0.0-alpha10
24 maja 2023 r.
Usługa androidx.wear.protolayout:protolayout-*:1.0.0-alpha10
została zwolniona. Wersja 1.0.0-alfa10 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaj
AppDataKey
w przypadku dostępu do stanu przekazanego aplikacji; dodajPlatformDataKey
w celu uzyskiwania dostępu do danych platformy; dodaj obsługę przestrzeni nazw wStateStore
. (I7985e) - Obsługuj operacje
Equal
iNotEqual
w tabeliDynamicBool
. (I6a0c1).
Zmiany interfejsu API
- Zajęcia
FontStyles
są teraz zakończone (Iaa2ea) - Usługa
LayoutElementBuilders#FontStyles
została wycofana. Użyj narzędziaandroidx.wear.protolayout.Typography
lub utwórz własneFontStyle
. (IC929b) - Ukryj zagnieżdżony interfejs
Action#Builder
w interfejsieAction
. Implementacje narzędzia Builder są już dostępne w klasachLoadAction
iLaunchAction
. (I1d70c) - Zezwalaj na używanie
DynamicFloat
w usłudzeFloatProp
. Pamiętaj, że obiektFloatProp
nie wymaga ograniczeń układu, ponieważ nie jest używany jako obiekt do zmiany układu (I286ac). - Działania
LoalAction
iSetStateAction
zostały usunięte, ponieważ nie były jeszcze obsługiwane. (I5d6a6) - Dodano obsługę formatu ARGB_8888 na potrzeby zasobów obrazu w tekście. (I8a07c).
- Zmień nazwę
StateEntryValue
naDynamicDataValue
i zaktualizuj stan APIS tak, by używałDynamicDataKey
(If1c01). - Ograniczamy liczbę wpisów dozwolonych w polu
StateStore
, aby zapewnić, że wykorzystanie pamięci i czas aktualizacji stanu są dobrze ograniczone i kontrolowane w przypadku każdej instancji instancjiStateStore
. W związku z tym deweloper musi zadbać o to, aby nie miał więcej niżMAX_STATE_ENTRY_COUNT
wpisów na mapie. W przeciwnym razie podczas tworzenia lub aktualizowania elementuStateStore
otrzyma wartośćIllegalStateException
. (Ibadb3). - Ukryj zajęcia
OnLoadTrigger
iOnConditionMetTrigger
i zmień nazwę zajęć zsetTrigger
nasetCondition
dla:OnConditionMetTrigger
. (Ibf629). - Ze względu na wydajność i zgodność mechanizmy renderowania
ProtoLayout
nie będą obsługiwać pełnego zestawu funkcji w zasobachAnimatedVectorDrawable
. Oznaczamy te interfejsy API jako eksperymentalne, dopóki nie uda nam się zdefiniować obsługiwanego zestawu. (Ic6daf). - Dodano dynamiczne typy danych dotyczących dziennego dystansu, dziennych kalorii i dziennej liczby pięter. Klucze do źródeł informacji o stanie platformy są teraz dostępne w domenie
PlatformHealthSources.Keys
(Ib7637) - Metoda
Easing.cubicBezier
zastępuje metodęCubicBezierEasing.Builder
. KlasaEasingFunction
została usunięta, a stałe wygładzania z niej są teraz dostępne bezpośrednio w interfejsieEasing
. Oprócz tego interfejssetInfiniteRepeatable
został zastąpiony przezINFINITE_REPEATABLE_WITH_RESTART
iINFINITE_REPEATABLE_WITH_REVERSE
(Ib41e7) - Zastosuj funkcję
PlatformDataProvider
, aby widzieć tętno i dzienną liczbę kroków. InterfejsSensorGateway
został usunięty z publicznego interfejsu API. (I55b84) - Dodaj
PlatformDataProvider
i zaktualizujStateStore
, aby zarejestrować się wPlatformDataProvider
, gdy obsługiwany klucz dostawcy jest wymagany przez węzeł z potoku wyrażeń. (IB616a) SensorGateway
nie jest jużCloseable
, ponieważ nie zachowuje żadnego stanu. (I6b4f7)- Zezwalaj na używanie dodatku
FloatProp
iDynamicFloat
do uzyskiwania postępów w projekcieCircularProgressIndicator
. Jest to obsługiwane w mechanizmach renderowania obsługujących wersję 1.2. Jeśli zostanie podany, stare mechanizmy renderowania zwracają wartość zastępcząstaticValue
. W przeciwnym razie ma on wartość 0 (I0d91b). - Stałe
MultiButtonLayout
zostały zrefaktoryzowane do klasyLayoutDefaults.MultiButtonLayoutDefaults
, która zawiera teraz te wartości dla rozmiarów przycisków w zależności od liczby przycisków w układzie. (I13973) - Obsługa używania interfejsu
StringProp
z atrybutemDynamicString
w tekście z materiale. Jest to obsługiwane w mechanizmach renderowania obsługujących wersję 1.2. Stare mechanizmy renderowania będą używać podanej wartości statycznej. Zmień typ zwracania funkcjiText#getText
zString
naStringProp
. (I7275b)
Wersja 1.0.0-alpha09
10 maja 2023 r.
Usługa androidx.wear.protolayout:protolayout-*:1.0.0-alpha09
została zwolniona. Wersja 1.0.0-alfa09 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy eksperymentalny element układu rozszerzenia. Pamiętaj, że nie może być ono używane domyślnie i wymaga rozszerzenia mechanizmu renderowania zdolnego do zrozumienia elementu układu. (I6581D)
- Dodano obsługę
StrokeCap
dlaArcLine
. (I94951) - Dodano obsługę warunkowego wyszukiwania dynamicznego. (I489a7)
- Dodano obsługę operacji czasu trwania warunkowego. (IAb469).
- Dodano obsługę tworzenia czasu trwania na podstawie sekund. (Ib5fa1)
Zmiany interfejsu API
enable/disablePlatformSource
metod zostało usuniętych z:DynamicTypeEvaluator
. Rozmówca powinien być odpowiedzialny za aktualizacje. (I78c6D)- Zezwalaj na ograniczanie rozmiaru powiązanych typów danych. (IE2966).
- Dodano obsługę opisów zawartości dynamicznej w elemencie
protolayout-material
. (I62c8e) - W parametrach AnimationParameters podaj czas trwania i opóźnienie długie i
@IntRange
. (I388b6)
Wersja 1.0.0-alpha08
19 kwietnia 2023 r.
Usługa androidx.wear.protolayout:protolayout-*:1.0.0-alpha08
została zwolniona. Wersja 1.0.0-alfa08 zawiera te zatwierdzenia.
Nowe funkcje
- Kontakt
AndroidTextStyle
został dodany do następujących grup:LayoutElementBuilders
. (I8D967) - Dodaliśmy obsługę ustawień wykluczania dopełnienia czcionki w tekście z materiału
ProtoLayout
. (I17f5d) - Format ARGB_8888 jest teraz obsługiwany w przypadku obrazów w treści. (I18c1e).
DynamicColor
obsługuje teraz operacjęonCondition
. (I10927)
Zmiany interfejsu API
- Obsługa niestandardowego czasu trwania animacji odwrotnej (I3251f).
- Dodaliśmy modyfikator
SemanticDescription
. Nie można też powiązać obiektuContentDescription
. (I3f1d). - Metoda
DynamicBool.isFalse()
została zastąpiona przezDynamicBool.negate()
, a metodaDynamicBool.isTrue()
została usunięta. Oprócz wartości NaNDynamicFloat
i zawężenie polaDynamicInt32
do wartościDynamicFloat
generuje teraz nieprawidłowy wynik dynamiczny. (I6ac1e), - Obiekty formatujące typu Int i float (zmiennoprzecinkowa) używają teraz wzorca konstruktora. (Ieb213).
Poprawki błędów
- Z pól animowanych została usunięta statyczna wartość zastępcza. (Ifcb01)
DynamicTypeValueReceiver#onPreUpdate
został(a) usunięty(a). (I2dc35)- Długość ciągów znaków w wyrażeniach dynamicznych jest teraz ograniczona. (I4C93)
- Zależności Gradle są teraz prawidłowo ustawione na
api
zamiastimplementation
, gdy jest to wymagane. (I40503)
Wersja 1.0.0-alpha07
5 kwietnia 2023 r.
Usługa androidx.wear.protolayout:protolayout-*:1.0.0-alpha07
została zwolniona. Wersja 1.0.0-alfa07 zawiera te zatwierdzenia.
Nowe funkcje
- Dodawanie obsługi wartości dynamicznych do
StringProp
(I04342) - Oznaczanie elementów układu możliwych do powiązania (Ia110b)
Zmiany interfejsu API
- Funkcja
sensorGateway#registerSensorGatewayConsumer
przyjmuje typ danych jako parametr, a nie metodę w elemencie konsumenta. (Icf314). - Nazwa konta
ObservableStateStore
została zmieniona naStateStore
. (Ieb0e2). - Zamiast argumentów konstruktora dodano
DynamicTypeEvaluator.Builder
, aby umożliwić użycie większej liczby opcjonalnych argumentów, w tym argumentObservableStateStore
, który teraz domyślnie ustawia pusty magazyn. (I6f832) - Zrefaktoryzowana kolejność parametrów w polu
DynamicTypeEvaluator
. (IC1ba4).
Poprawki błędów
- Prawidłowo przekazuj sygnały ze źródeł czujników platformy do węzłów kolejnych (I5a922)
Wersja 1.0.0-alpha06
22 marca 2023 r.
Usługa androidx.wear.protolayout:protolayout-*:1.0.0-alpha06
została zwolniona. Wersja 1.0.0-alfa06 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy eksperymentalny interfejs API do wykorzystywania tętna i dziennych kroków w wyrażeniach dynamicznych (Ifd711)
- Dodaliśmy obsługę opóźnienia wstecznego i do przodu w animacji. (Ic25f7).
- Dodaliśmy obsługę obramowania i tła w
DynamicColor
- Dodaliśmy obsługę wartości dynamicznych do typów w
DimensionBuilder
- Układ i komponenty z pliku
tiles-material
są przenoszone doprotolayout-material
Zmiany interfejsu API
- Kontakt
LoadActionListener
został dodany do następujących grup:ProtoLayoutViewInstance
. (If7806).
Poprawki błędów
- Dodano:
FloatNodesTest
(Id7281) - Napraw błąd mechanizmu renderowania, który pojawia się, gdy nie można wczytać struktury bitmapy.
Wersja 1.0.0-alpha05
8 marca 2023 r.
Usługa androidx.wear.protolayout:protolayout-*:1.0.0-alpha05
została zwolniona. Wersja 1.0.0-alfa05 zawiera te zatwierdzenia.
Nowe funkcje
- Do obiektu
Modifiers
dodaliśmy eksperymentalną animację „aktualizacji treści”. Animacja jest wywoływana za każdym razem, gdy element (z tym modyfikatorem) lub jeden z jego elementów podrzędnych zmieni się podczas aktualizacji układu. (Bd03e5d)
Zmiany interfejsu API
- Dodaliśmy użytkowników
forwardRepeatDelayMillis
ireverseRepeatDelayMillis
do albumuRepeatable
. Ponadto zmieniliśmy nazwędelayMillis
wAnimationSpec
nastartDelayMillis
(Ifb266). - Metody usługi
DynamicTypeEvaluator.bind
akceptują teraz Wykonawcę. (I346ab) - Do elementu
BoundDynamicType
dodaliśmy metodęstartEvaluation
, aby aktywować ocenę po powiązaniu typu dynamicznego. (I19908).
Poprawki błędów
- Obiekt Animator będzie ponownie użyty w kolejnych animacjach pojedynczego elementu. (Ia3be9).
Wersja 1.0.0-alpha04
22 lutego 2023 roku
Usługa androidx.wear.protolayout:protolayout-*:1.0.0-alpha04
została zwolniona. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.
Nowe funkcje
ObservableStateStore
informuje teraz detektory o usunięciu klucza.- Na
DeviceParameters
dodaliśmy wersję schematu renderowania i skalę czcionek, której można używać do warunkowego tworzenia układów w odpowiedzi na różne wersje i ustawienia czcionek. - Dodaliśmy obsługę animowania wartości
DynamicInt32
(I05485). - Dodano reguły
OnLoad
iOnConditionalMet
. Można ich używać do uruchamiania animacji obsługujących aktywator. - Dodaliśmy wagę układu w przypadku wymiarów po rozwinięciu oraz minimalny rozmiar w przypadku wymiarów opakowanych.
- Dodaliśmy typy dynamiczne czasu trwania i dynamicznych reklam błyskawicznych. Można ich używać do reprezentowania czasu w wyrażeniu dynamicznym lub czasu trwania.
- Dodaliśmy obsługę zasobów układu
AnimatedVectorDrawable
iSeekableAnimatedVectorDrawable
.
Zmiany interfejsu API
- Dane z czujników wymagają interfejsu API w wersji 29 lub nowszej. (I8099e)
- Dodaliśmy 2 metody pomocnicze
launchAction
(do uruchamiania działań).
Poprawki błędów
- Zmiana nazwy elementu
set/getSpec
naset/getAnimationSpec
w animacji kafelków (I3d74b)
Wersja 1.0.0-alpha03
8 lutego 2023 r.
Usługa androidx.wear.protolayout:protolayout-*:1.0.0-alpha03
została zwolniona. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.
Nowe funkcje
- Do typów dynamicznych w bibliotece Protolayout-Express dodaliśmy
toByteArray()
ifromByteArray()
. - Dodaliśmy
toString()
do typów dynamicznych w bibliotece wyrażeń protoukładowych. - Dodaliśmy obsługę oceny typów dynamicznych. Klasy
DynamicTypeEvaluator
z biblioteki potoku protoukładu można użyć do oceny (i otrzymania zaktualizowanych wartości) wcześniej utworzonego typu dynamicznego (DynamicString
,DynamicFloat
, ...) - Gdy nie można odtworzyć animacji (ponieważ zostały one wyłączone przez weryfikatora lub liczba uruchomionych animacji osiągnęła ustalony limit), do zastąpienia animacji zostaną użyte wartości statyczne ustawione w węźle animowanym.
Wersja 1.0.0-alpha02
25 stycznia 2023 r.
androidx.wear.protolayout:protolayout:1.0.0-alpha02
, androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02
i androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02
zostały udostępnione. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.
Nowe funkcje
- Kreatory układów z
androidx.wear.tiles:tiles
są przenoszone doandroidx.wear.protolayout:protolayout
. Te w wersjiandroidx.wear.tiles:tiles
zostaną wycofane w jednej z następnych wersji alfa.
Wersja 1.0.0-alpha01
11 stycznia 2023 r.
androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01
i androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01
zostały udostępnione. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
- W tej wersji wprowadziliśmy nową bibliotekę „ProtoLayout Expression” do tworzenia wyrażeń ze zmiennych dynamicznych.