wear protolayout
Najnowsza aktualizacja | Wersja stabilna | Kandydat do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
1 maja 2024 r. | 1.1.0 | - | - | 1.2.0-alfa02 |
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:
Groovy
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.2.0-alpha02" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.2.0-alpha02" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.2.0-alpha02" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.2.0-alpha02") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.2.0-alpha02") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.2.0-alpha02") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.2
Wersja 1.2.0-alfa02
1 maja 2024 r.
Aplikacja androidx.wear.protolayout:protolayout-*:1.2.0-alpha02
została zwolniona. Wersja 1.2.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaliśmy obsługę wyłączenia efektu falowania przy poszczególnych elementach klikalnych. (If1ede)
- Interfejs API do przekształcenia został usunięty z platformy
ArcModifiers
, ponieważ nie obsługuje tej funkcji (Ic0827) - Kreator
ArcDirectionProp
wymaga teraz wartości w konstruktorze. (I76ada) - Metoda
PlatformDataValues.Builder.putAll
pozwala scalić jeden obiektPlatformDataValue
z innym. (I50ba3) - Nazwa aplikacji
Text#setIsScalable
została zmieniona naText#setScalable
. (If920e) - W sekcji Material Text można określić, czy ma być używany skalowalny rozmiar (zwiększa się przy zmianie rozmiaru czcionki użytkownika). (Ibc849)
- Dodaliśmy opcję ustawiania opisu treści na
TitleChip
. (I5d21f) - Poprawiono działanie
CompactChip
tylko z ikoną. Zaktualizuj interfejs API, aby zezwolić na tę opcję. (I6589e)
Poprawki błędów
- Rozwiązaliśmy problem z potencjalnie zduplikowanymi danymi platformy podczas inicjowania. (Iba0fd)
- Wprowadź nowy obiekt pobierający do metody
DynamicDataNode
, aby pobierać 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 dla pozostałych węzłów – równy 1. (Ia33e1). - Usuń logikę liczenia z funkcji
NO_OP_QUOTA_MANAGER
. (Ib50b8) - Dodaliśmy regułę lintowania, aby zgłosić ostrzeżenie, gdy
PrimaryLayout
jest używany bezsetResponsiveContentInsetEnabled
, i zapewnić szybkie rozwiązanie problemu. (I12025) - Liczba węzłów wyrażeń dynamicznych jest ograniczona. (Iffae8)
Wersja 1.2.0-alfa01
6 marca 2024 roku
Aplikacja androidx.wear.protolayout:protolayout-*:1.2.0-alpha01
została zwolniona. Wersja 1.2.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Elementy
ProtoLayout Arc
można teraz dodać do elementuArcDirection
(Clockwise
,Counterclockwise
lubNormal
). Dodanie tego zachowania do elementówArc
,ArcLine
lubArcText
poprawi ich działanie w układach RTL. (I90699) - Komponent
EdgeContentLayout
został zaktualizowany o nową konfiguracjęsetResponsiveContentInsetEnabled
, aby zapewnić większą zgodność ze wskazówkami dotyczącymi UX i spójności na kafelkach – etykieta podstawowa znajduje się w stałym miejscu u góry, a w przypadku etykiet jest to elastyczne wstawienie. (I60175) - Dodaliśmy dyrektywę
PrimaryLayout.setResponsiveContentInsetEnabled
, która dodaje elastyczną wstawienie do etykiety podstawowej, etykiety dodatkowej i dolnego elementu w tym układzie, aby treści nie wychodziły poza krawędź ekranu. (I0c457) - Dodaje metodę usuwania zewnętrznych marginesów elementu
CircularProgressIndicator
, dzięki czemu można go użyć jako mniejszego komponentu. (I55c06)
Zmiany w interfejsie API
- Mechanizm renderowania kafelków domyślnie wyklucza dopełnienie czcionek ze wszystkich elementów tekstowych, ale nie ma opcji jego uwzględnienia. (I3e300)
Poprawki błędów
- Rozwiązaliśmy problem z wyrównywaniem tekstu, który występował, gdy w tekście użyto wielokropka, odstępów między literami i wyrównania do środka. (I716c7)
- Dodaj obejście problemu z rysowaniem skiarc. (I08f09)
- Poprawiono kierunek rysowania w formacie
ArcLine
w układach od prawej do lewej. (I6c141)
Wersja 1.1
Wersja 1.1.0
7 lutego 2024 r.
Aplikacja androidx.wear.protolayout:protolayout-*:1.1.0
została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.0.0
- Obsługa gradientu i lepsza reprezentacja długości większych niż 360 stopni w
ArcLine
. - W przypadku dynamicznych typów danych formatowanie daty i godziny obsługuje różne strefy czasowe.
- Lepsze opcje automatycznego rozmiaru i elipsyżu tekstu, ułatwiające obsługę skróconego tekstu.
- Separator obsługuje wymiary po rozwinięciu z opcjonalną wagą.
- Adnotacje dotyczące wymagań wersji schematu do wszystkich interfejsów API
ProtoLayout
. - Rozszerzyliśmy obszar docelowy na dowolny element
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 jedyne jego działanie we wszystkich elementach tekstowych i komponentach Material, które zawierają tekst.
Dodatkowe zmiany
- Pełniejszy zestaw zmian wprowadzonych w wersji 1.1.0 znajdziesz w informacjach o wersji beta01.
Wersja 1.1.0-rc01
24 stycznia 2024 r.
Aplikacja 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)- Naprawiliśmy błąd
CircularProgressIndicator
w układach od prawej do lewej. Od tej chwili we wszystkich przypadkach będzie następowało zgodnie z ruchem wskazówek zegara. (I95ee3) - Dodaj obejście problemu z rysowaniem skiarc. (I08f09)
Wersja 1.1.0-beta01
10 stycznia 2024 r.
Aplikacja 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 sytuacji oznaczonych jako eksperymentalne). Wear ProtoUkład 1.1 zawiera te nowe funkcje i interfejsy API:
ArcLine
obsługuje teraz gradient. Aby to zrobić, dodaj parametrBrush
z atrybutemSweepGradient
i dodaj cień na końcu, aby lepiej odzwierciedlić długość większą niż 360 stopni. Aby to zrobić, dodaj parametrShadow
w istniejącym elemencieStrokeCap
.DynamicInstant
obsługuje formatowanie daty i godziny w strefach. Typy danychDynamicInstant
iDynamicDuration
można używać jako typów danych dotyczących stanu lub platformy.- Funkcja automatycznego skalowania rozmiaru tekstu, która umożliwia ustawienie wielu rozmiarów na
FontStyle.setSizes
, gdzie rozmiar tekstu będzie automatycznie skalowany odpowiednio do miejsca dostępnego w obrębie jednostki nadrzędnej. Poza tym ulepszyliśmy opcje elipsyny w przypadku tekstu, który się przepełnia, dodając atrybutTEXT_OVERFLOW_ELLIPSIZE
i wycofując właściwośćTEXT_OVERFLOW_ELLIPSIZE_END
. - W
Spacer
można teraz zmieniać wymiary po rozwinięciu z opcjonalną wagą. Do kompilowaniaExpandedDimensionProp
dodaliśmy metodę pomocnicząDimensionBuilders.weight
. - Obsługa dynamicznego ukrywania i odkrywania elementów układu za pomocą
Modifier.visible
. Obejmuje to wartości dynamiczne wBoolProp
. - Wszystkie interfejsy API
ProtoLayout
mają teraz adnotację o wymaganiu wersji schematu. Przed wywołaniem nowszego interfejsu API można sprawdzić wersję. - Teraz każdy element z atrybutem
Clickable
ma w mechanizmie renderowania rozszerzony obszar docelowy do co najmniej 48 x 48 pikseli, co ułatwia obsługę ułatwień dostępu. - W związku z innymi działaniami związanymi z komponentami Material Design i komponentami domyślnie wyłączyliśmy dopełnienie czcionek we wszystkich elementach
Text
. Dodatkowo z publicznego interfejsu API usunęliśmy usługęAndroidTextStyle
i powiązane z nią metody ustawiające. Poprawiliśmy te błędy: - Dodano element ustawiający w elemencie
EdgeContentLayout
do ustawiania pozycji krawędzi, aby można było ją ustawić przed innymi treściami. - Nieustannie występuje wyjątek w przypadku napotkania nierozpoznanej wartości wyliczenia.
- Unieważnia wynik wyrażenia, gdy zwraca ono nieprawidłową wartość liczbową (NaN lub nieskończoną) lub zwraca
ArithmeticException
.
Zmiany w interfejsie API
- Aktualizacje interfejsu API
SweepGradient
umożliwiające akceptowanie kolorów lubColorStops
w konstruktorze. (I6676f)
Poprawki błędów
- Dodano obsługę interfejsu API z ograniczeniami i mechanizmu renderowania do ustawiania kierunku rysowania elementów łukowych. (Idef5a)
- Jeśli nie określono inaczej,
RoundMode
wFloatToInt32Node
ma domyślnie wartośćFloor
. Węzeł nadal będzie zgłaszać wyjątek, jeśli podanyRoundMode
nie zostanie rozpoznany. (I1b2d8)
Wersja 1.1.0-alfa04
13 grudnia 2023 r.
Aplikacja androidx.wear.protolayout:protolayout-*:1.1.0-alpha04
została zwolniona. Wersja 1.1.0-alpha04 zawiera te zatwierdzenia.
Nowe funkcje
- Klasa
VersionInfo
nie implementuje interfejsuComparable
. (I8d13c) - Mechanizm renderowania obsługuje teraz opcję
TEXT_OVERFLOW_ELLIPSIZE
. (I7f085)
Zmiany w interfejsie API
- Opcja nadużywania tekstu
TEXT_OVERFLOW_ELLIPSIZE_END
została wycofana. Używaj nowego interfejsu APITEXT_OVERFLOW_ELLIPSIZE
z bardzo podobnym działaniem. (I822d8) - W związku z innymi działaniami związanymi z komponentami Material Design i kompozycją domyślnie wyłączyliśmy dopełnienie czcionek we wszystkich elementach tekstowych. Ponadto z publicznego interfejsu API usunięto usługę
AndroidTextStyle
i powiązane z nią metody ustawiające. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3) - Pole
Modifier.hidden
zostało zastąpione przezModifier.visible
(I56902) - Funkcja
FontStyle#setSizes
akceptuje teraz int zamiastSpProp
argumentów. (I02b37).
Poprawki błędów
- W przypadku napotkania niezdefiniowanej lub nierozpoznanej wartości wyliczeniowej uruchom wyjątek. (I9d2cf)
- Refaktoryzacja:
DynamicTypeBindingRequest
. (I27b57) - Unieważnia wynik wyrażenia, gdy zwraca ono nieprawidłową wartość liczbową (NaN lub nieskończoną) lub zwraca
ArithmeticException
. (I681ae)
Wersja 1.1.0-alfa03
29 listopada 2023 r.
Aplikacja androidx.wear.protolayout:protolayout-*:1.1.0-alpha03
została zwolniona. Wersja 1.1.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano eksperymentalną obsługę dynamicznego ukrywania/odkrywania elementów układu (I64a78)
- Dodaj obsługę wartości dynamicznych do
BoolProp
(I2fe96) - Dodaj adnotację dotyczącą wymagania wersji schematu do interfejsów API
ProtoLayout
(I0f03c) - Rozszerzenie interfejsu API o nową opcję w
TextOverflow
pozwalającą eliminować tekst w stałym kontenerze nadrzędnym nawet wtedy, gdy nie została osiągnięta maksymalna liczba wierszy (ale nie ma już miejsca na tekst). (I110a9) - Dodano metodę pomocniczą
DimensionBuilders.weight
do budowania obiektuExpandedDimensionProp
z wagą. (I4f72b) - Typy danych
DynamicInstant
iDynamicDuration
można używać jako typów danych dotyczących stanu lub platformy. (I6819f)
Zmiany w interfejsie API
- Zaktualizuj interfejs API, aby ukryć interfejs
DynamicZonedDateTime
i przenieść wszystkie jego operacje doDyanamicInstant
(I34b94) - Odstęp obsługuje teraz wymiar po rozwinięciu dla szerokości i wysokości. (Ie7c94)
- Obsługa rozszerzenia docelowego obszaru kliknięcia w mechanizmie renderowania (I39c79)
Wersja 1.1.0-alfa02
15 listopada 2023 r.
Aplikacja androidx.wear.protolayout:protolayout-*:1.1.0-alpha02
została zwolniona. Wersja 1.1.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- Do interfejsu API dodano pole
ArcLine
StrokeCap
Shadow
. (I830ec) - Rozszerzenie interfejsu API, aby umożliwić określenie szerokości lub wysokości odstępu do rozwinięcia. (I757ca)
- Dodaliśmy eksperymentalny interfejs API, który automatycznie skaluje rozmiar tekstu odpowiednio do miejsca, jakie ma wewnątrz elementu nadrzędnego. (Ibbe63)
- Obsługa minimalnego rozmiaru klikalnego (I178e3)
- Dodano obsługę mechanizmu renderowania dla:
StrokeCap
Shadow
. (I48b17) - Dodano obsługę gradientu przez renderowanie w
ArcLine
. (I4d5bb)
Wersja 1.1.0-alfa01
18 października 2023 r.
Aplikacja androidx.wear.protolayout:protolayout-*:1.1.0-alpha01
została zwolniona. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Do interfejsu
Arcline
dodano opcję pędzla. Obsługiwana jest właściwośćSweepGradient
. (Ie7ce3) - Dodano obsługę formatowania według strefy daty i godziny. (Ibfae0)
- Dodano proto i kody Java wymagane do formatowania daty i godziny w strefie. (I97126)
- Dodano metody pobierania do odczytu wartości przechowywanej w obiekcie
DynamicDataValue
. (Ie6cea) - Dodano element ustawiający w elemencie
EdgeContentLayout
do ustawiania pozycji krawędzi, aby można było ją ustawić przed innymi treściami. (Ie8e8a)
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że wyrażenie z wieloma rejestracjami w źródłach danych czasu nie było od razu aktualizowane. (I8e1a8)
- Naprawiono błąd wyśrodkowania elementu głównego podczas aktualizacji różnic. (Ie48f7)
- Nieskonfigurowane (lub puste) wartości ograniczeń układu nie będą już ignorowane. (Ibc785)
- Mniejsze opóźnienie między wyświetlaniem układu a inicjowaniem jego węzłów potoku. (I38d4e)
Wersja 1.0
Wersja 1.0.0
9 sierpnia 2023 r.
Aplikacja androidx.wear.protolayout:protolayout-*:1.0.0
została zwolniona. Wersja 1.0.0 zawiera te zatwierdzenia.
Główne funkcje wersji 1.0.0
Biblioteka ProtoUkład wprowadza 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 (aby szybciej aktualizować dane kafelków) i animacji.
Wersja 1.0.0-rc01
26 lipca 2023 r.
Aplikacja 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 usługi
ProtoLayout
, wykonaj czynności opisane tutaj.
Zmiany w interfejsie API
- Usunęliśmy metody
setLayoutConstraintForDynamicAnchorAngle
igetLayoutConstraintForDynamicAnchorAngle
z elementu łuku. Te metody zostały dodane przez pomyłkę i nie mają żadnego wpływu na podany układ. (If7d01) - Ograniczyliśmy maksymalną głębokość, jaką może mieć układ elementu
ProtoLayout
, do 30 zagnieżdżonych elementówLayoutElements
. (I8a74b)
Poprawki błędów
- Dodaliśmy kontrolę do zgłoszenia, jeśli
DynamicColor
została ustawiona naSpanText
. (I0e5bc) - Doprecyzowano, że jednostka źródła danych
DAILY_CALORIES
to kcal. (Iaa785)
Wersja 1.0.0-beta01
21 czerwca 2023 r.
Aplikacja 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ń czasu. (I05622)
Zmiany w interfejsie API
PlatformDataReceiver.onData()
iStateBuilders.Builder.addKeyToValueMapping
akceptują teraz bezpieczne mapowanie obiektówDynamicDataKey
naDynamicDataValue
zamiast niebezpiecznych elementów ogólnych. Oznacza to, żeDynamicDataValue
jest teraz wpisany za pomocąDynamicType
. StałeHEART_RATE_ACCURACY_X
zostały przeniesione do pierwiastka elementuPlatformHealthSources
, aby dopasować inne stałe pozycjonowanie Androida. Stałe stałeHEART_RATE_ACCURACY_X
są teraz używane bezpośrednio wDynamicHeartRateAccuracy.constant()
iDynamicHeartRateAccuracy.dynamicDataValueOf()
zamiast w stałych wartości. (I82ff5)- Przez pomyłkę udało się utworzyć instancję klasy
PlatformHealthSources.Constants
. Problem został już rozwiązany. (Icb849) PlatformTimeUpdateNotifier#setReceiver
odbiera teraz funkcjęRunnable
zamiastSupplier
iExecutor
do powiadamiania. (I9d938)- Zmieniliśmy typ parametru w pliku
PlatformTimeUpdateNotifier#setReceiver
zCallable
naSupplier
. (I664bf) - W aplikacjach
CompactChip
iTitleChip
można teraz dodawać ikonę. (I5a01e)
Poprawki błędów
- Zaktualizuj wiadomości Prop za pomocą pól dynamicznych, aby zamiast nich używać jednego (I81739)
- Ponowne wykorzystanie implementacji ustawiających w przypadku przeciążeń, które mają ustawiające (Ied70c)
- Prawidłowo rejestruj odciski palców w funkcjach seter z przeciążeniem (I86ed2)
Wersja 1.0.0-alfa11
7 czerwca 2023 r.
Aplikacja androidx.wear.protolayout:protolayout-*:1.0.0-alpha11
została zwolniona. Wersja 1.0.0-alpha11 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy
PlatformDataKey
za dokładność pomiaru tętna. (I7f9b8)
Zmiany w interfejsie API
- Zmień nazwę
StateBuilders#getIdToValueMapping
nagetKeyToValueMapping
i zmień zwracany typ naMap<<AppDataKey<?>,DynamicDataValue>
. (Iaa7ae) - Ustaw
StateStore
jako ostatnią klasę (I408ca) - Interfejs
TimeGateway
został zastąpiony w biblioteceprotolayout-expression-pipeline
przezPlatformTimeUpdateNotifier
, który zapewnia odpowiednią częstotliwość aktualizowania danych o czasie. (I60869) - Zmień nazwę
register
/unregisterForData
wPlatformDataProvider
naset
/clearReceiver
(I14b02) - W narzędziu Material Text nazwa usługi
getExcludeFontPadding
została zmieniona nahasExcludeFontPadding
. (Iea01d). - Do wszystkich komponentów elementu dodano metodę ustawiającą, która umożliwia idealne wyrównanie etykiety. We wszystkich elementach zastosowano minimalny cel, który można kliknąć. (I8ae92)
- Nazwa konta
LayoutDefaults#BUTTON_MAX_NUMBER
została zmieniona naMAX_BUTTONS
. (I84788) - Nazwa aplikacji
DAILY_DISTANCE
została zmieniona naDAILY_DISTANCE_M
. (I4f758)
Poprawki błędów
- Zaktualizuj dokumenty typów Prop, aby wyjaśnić, dlaczego wymuszana jest wartość statyczna. Określ wartość domyślną używaną w przypadku, gdy nie podano wartości statycznej. (I155aa)
- Przestrzenie nazw
PlatformDataKey
powinny być zgodne z nazwami w stylu Java. (I47bda)
Wersja 1.0.0-alfa10
24 maja 2023 r.
Aplikacja androidx.wear.protolayout:protolayout-*:1.0.0-alpha10
została zwolniona. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaj
AppDataKey
, aby uzyskać dostęp do stanu przekazanego aplikacji; dodajPlatformDataKey
, aby uzyskać dostęp do danych platformy; dodaj obsługę przestrzeni nazw wStateStore
. (I7985e) - Obsługuj operacje
Equal
iNotEqual
dlaDynamicBool
. (I6a0c1)
Zmiany w interfejsie API
- Zajęcia
FontStyles
są teraz ostateczne (Iaa2ea) - Interfejs
LayoutElementBuilders#FontStyles
został wycofany. Użyj adresuandroidx.wear.protolayout.Typography
lub utwórz własnyFontStyle
. (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
wFloatProp
. Pamiętaj, że właściwośćFloatProp
nie wymaga ograniczeń układu, ponieważ nie jest używana jako funkcja zmieniająca układ. (I286ac) - Działania
LoalAction
iSetStateAction
zostały usunięte, ponieważ nie były jeszcze obsługiwane. (I5d6a6) - Dodaliśmy obsługę formatu ARGB_8888 w przypadku zasobów obrazów w tekście. (I8a07c)
- Zmień nazwę
StateEntryValue
naDynamicDataValue
i zaktualizuj interfejsy API stanu do wersjiDynamicDataKey
(If1c01) - Ograniczamy liczbę wpisów dozwolonych w zasadzie
StateStore
, aby zapewnić odpowiednie wykorzystanie pamięci i czas aktualizowania stanu na potrzeby każdej instancjiStateStore
, a także do kontrolowania tej liczby. W związku z tym deweloper musi upewnić się, że nie ma na mapie więcej niżMAX_STATE_ENTRY_COUNT
wpisów. W przeciwnym razie podczas tworzenia lub aktualizowaniaStateStore
otrzymaIllegalStateException
. (Ibadb3) - Ukryj zajęcia
OnLoadTrigger
iOnConditionMetTrigger
oraz zmień nazwę zajęć zsetTrigger
nasetCondition
dla poziomuOnConditionMetTrigger
. (Ibf629) - Ze względu na wydajność i zgodność mechanizmy renderowania
ProtoLayout
nie będą obsługiwać pełnego zestawu funkcji w zasobachAnimatedVectorDrawable
. Oznaczymy te interfejsy API jako eksperymentalne, dopóki nie uda nam się zdefiniować obsługiwanego zestawu. (Ic6daf) - Dodano dynamiczne typy przebytego dystansu, dziennej liczby kalorii i pięter. Klucze dla źródeł stanu platformy znajdują się teraz w lokalizacji
PlatformHealthSources.Keys
(Ib7637) - Metoda
Easing.cubicBezier
zastępuje metodęCubicBezierEasing.Builder
. W rezultacie klasaEasingFunction
zostanie usunięta, a stałe wygładzania z tej klasy są teraz bezpośrednio dostępne w interfejsieEasing
. Dodatkowo właściwośćsetInfiniteRepeatable
została zastąpiona przezINFINITE_REPEATABLE_WITH_RESTART
iINFINITE_REPEATABLE_WITH_REVERSE
(Ib41e7) - Zaimplementuj aplikację
PlatformDataProvider
, aby otrzymywać informacje o tętnie i dziennej liczbie kroków. InterfejsSensorGateway
został usunięty z publicznego interfejsu API. (I55b84) - Dodaj
PlatformDataProvider
i zaktualizujStateStore
, aby zarejestrować się wPlatformDataProvider
, gdy węzeł z potoku wyrażeń wymaga obsługiwanego klucza dostawcy. (Ib616a) SensorGateway
nie ma już stanuCloseable
, ponieważ nie zachowuje żadnych stanów. (I6b4f7)- Zezwalaj na używanie aplikacji
FloatProp
z usługąDynamicFloat
w celu postępów w programieCircularProgressIndicator
. Jest ona obsługiwana w przypadku mechanizmów renderowania obsługujących wersję 1.2. Jeśli zostanie podany parametrstaticValue
, stare mechanizmy renderowania zostaną przełączone na wartość 0 (I0d91b) - Stałe
MultiButtonLayout
zostały przekształcone w klasęLayoutDefaults.MultiButtonLayoutDefaults
, która zawiera teraz te odpowiadające rozmiarom przycisków w zależności od liczby przycisków w układzie. (I13973) - Pomoc dotycząca użycia
StringProp
z atrybutemDynamicString
w Material Text. Jest ona obsługiwana w przypadku mechanizmów renderowania obsługujących wersję 1.2. Stare mechanizmy renderowania powrócą do podanej wartości statycznej. Zaktualizuj zwracany typ ustawieniaText#getText
zString
naStringProp
. (I7275b)
Wersja 1.0.0-alfa09
10 maja 2023 r.
Aplikacja androidx.wear.protolayout:protolayout-*:1.0.0-alpha09
została zwolniona. Wersja 1.0.0-alpha09 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy eksperymentalny element układu rozszerzenia. Pamiętaj, że ta opcja nie może być używana domyślnie i wymaga rozszerzenia mechanizmu renderowania rozpoznającego element układu. (I6581d)
- Dodano obsługę języka
StrokeCap
w językuArcLine
. (I94951). - Dodaliśmy obsługę warunkowej operacji wyszukiwania dynamicznego. (I489a7)
- Dodaliśmy obsługę operacji warunkowego czasu trwania. (Iab469)
- Dodano obsługę tworzenia czasu trwania z sekund. (Ib5fa1)
Zmiany w interfejsie API
- Usunięto metody (
enable/disablePlatformSource
) z:DynamicTypeEvaluator
. Osoba wywołująca powinna być odpowiedzialna za aktualizacje. (I78c6d) - Zezwalaj na ograniczanie rozmiaru powiązanych typów danych. (Ie2966)
- Dodano obsługę opisu zawartości dynamicznej w
protolayout-material
. (I62c8e) - Jako czas trwania i opóźnienie w AnimationParameters użyj parametru „long” [długi] oraz
@IntRange
. (I388b6)
Wersja 1.0.0-alfa08
19 kwietnia 2023 r.
Aplikacja androidx.wear.protolayout:protolayout-*:1.0.0-alpha08
została zwolniona. Wersja 1.0.0-alpha08 zawiera te zatwierdzenia.
Nowe funkcje
- Kontakt
AndroidTextStyle
został dodany do następujących grup:LayoutElementBuilders
. (I8d967) - Dodaliśmy obsługę ustawienia bez dopełnienia czcionki w tekście materiałowym w
ProtoLayout
. (I17f5d) - Obrazy w treści są teraz obsługiwane w formacie ARGB_8888. (I18c1e)
DynamicColor
obsługuje teraz operacjęonCondition
. (I10927)
Zmiany w interfejsie API
- Obsługa niestandardowego czasu trwania animacji odwrotnej (I3251f)
- Dodaliśmy modyfikator
SemanticDescription
. Ponadto nie można powiązać z usługąContentDescription
. (I3f1d) - Metoda
DynamicBool.isFalse()
została zastąpiona metodąDynamicBool.negate()
, a metodaDynamicBool.isTrue()
została usunięta. Dodatkowo zawężenie polaDynamicInt32
do wartościDynamicFloat
oraz zawężenie zakresu danychDynamicInt32
doDynamicFloat
skutkuje teraz nieprawidłowym wynikiem dynamicznym. (I6ac1e) - Formatowanie typu Int i zmiennoprzecinkowe używają teraz wzorca konstruktora. (Ieb213)
Poprawki błędów
- Z pól animowanych została usunięta zastępcza wartość statyczna. (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-alfa07
5 kwietnia 2023 r.
Aplikacja androidx.wear.protolayout:protolayout-*:1.0.0-alpha07
została zwolniona. Wersja 1.0.0-alpha07 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaj obsługę wartości dynamicznych do
StringProp
(I04342) - Oznacz możliwe do powiązania elementy układu (Ia110b)
Zmiany w interfejsie API
sensorGateway#registerSensorGatewayConsumer
przyjmuje jako parametr typ danych, a nie metodę w Konsument. (Icf314)- Nazwa konta
ObservableStateStore
została zmieniona naStateStore
. (Ieb0e2) - Dodano
DynamicTypeEvaluator.Builder
zamiast argumentów konstruktora, aby umożliwić więcej opcjonalnych argumentów, w tym argumentObservableStateStore
, który teraz domyślnie przyjmuje pusty magazyn. (I6f832) - Zrefaktoryzowana kolejność parametrów w funkcji
DynamicTypeEvaluator
. (Ic1ba4).
Poprawki błędów
- Prawidłowo przekazuj sygnały ze źródeł z czujników platformy do węzłów odbierających dane (I5a922).
Wersja 1.0.0-alfa06
22 marca 2023 r.
Aplikacja androidx.wear.protolayout:protolayout-*:1.0.0-alpha06
została zwolniona. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy eksperymentalny interfejs API do używania tętna i dziennych kroków w wyrażeniach dynamicznych (Ifd711)
- Dodaliśmy obsługę opóźnienia odwrotu i do przodu w animacjach. (Ic25f7)
- Dodaliśmy obsługę obramowania i tła za pomocą języka
DynamicColor
- Dodaliśmy obsługę wartości dynamicznych do typów w języku:
DimensionBuilder
- Przenosimy układ i komponenty z
tiles-material
doprotolayout-material
Zmiany w interfejsie API
- Kontakt
LoadActionListener
został dodany do następujących grup:ProtoLayoutViewInstance
. (If7806)
Poprawki błędów
- Dodano
FloatNodesTest
(Id7281) - Naprawa awarii mechanizmu renderowania, gdy nie można wczytać uporządkowanej mapy bitowej.
Wersja 1.0.0-alfa05
8 marca 2023 r.
Aplikacja androidx.wear.protolayout:protolayout-*:1.0.0-alpha05
została zwolniona. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.
Nowe funkcje
- Do obiektu
Modifiers
dodaliśmy eksperymentalną animację „aktualizacji treści”. Animacja będzie się uruchamiać, gdy element (z tym modyfikatorem) lub jedno z jego elementów podrzędnych zmieni się podczas aktualizacji układu. (bd03e5d).
Zmiany w interfejsie API
- Dodaliśmy użytkowników
forwardRepeatDelayMillis
ireverseRepeatDelayMillis
do aplikacjiRepeatable
. Zmieniliśmy nazwę grupy reklamdelayMillis
w domenieAnimationSpec
nastartDelayMillis
(Ifb266). - Metody
DynamicTypeEvaluator.bind
akceptują teraz wykonawcy. (I346ab) - Do obiektu
BoundDynamicType
dodaliśmy metodęstartEvaluation
, która uruchamia ocenę po powiązaniu typu dynamicznego. (I19908)
Poprawki błędów
- Obiekt Animator będzie ponownie wykorzystywany w kolejnych animacjach pojedynczego elementu. (Ia3be9)
Wersja 1.0.0-alfa04
22 lutego 2023 roku
Aplikacja androidx.wear.protolayout:protolayout-*:1.0.0-alpha04
została zwolniona. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.
Nowe funkcje
ObservableStateStore
informuje teraz słuchaczy o usunięciu klucza.- Dodaliśmy wersję schematu renderowania i skalę czcionek do
DeviceParameters
(które można wykorzystać do warunkowego tworzenia układów w zależności od różnych wersji i ustawień czcionek). - Dodaliśmy obsługę animowania wartości parametru
DynamicInt32
(I05485). - Dodaliśmy reguły (
OnLoad
iOnConditionalMet
). Możesz ich używać do uruchamiania animacji obsługujących regułę. - Dodaliśmy wagę układu w przypadku wymiarów po rozwinięciu i minimalny rozmiar w przypadku wymiarów powiniętych.
- Dodaliśmy czas trwania i typy dynamiczne. Tych wartości można używać do reprezentowania w wyrażeniu dynamicznym czasu błyskawicznego lub czasu trwania.
- Dodaliśmy obsługę zasobów typu
AnimatedVectorDrawable
iSeekableAnimatedVectorDrawable
jako zasobów układu.
Zmiany w interfejsie 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
- Zmień nazwę
set/getSpec
naset/getAnimationSpec
w animacji kafelków (I3d74b)
Wersja 1.0.0-alfa03
8 lutego 2023 r.
Aplikacja androidx.wear.protolayout:protolayout-*:1.0.0-alpha03
została zwolniona. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy
toByteArray()
ifromByteArray()
do typów dynamicznych w bibliotece Protolayout-Express. - Do typów dynamicznych w bibliotece wyrażeń protolayout dodaliśmy atrybut
toString()
. - Dodaliśmy obsługę oceny typów dynamicznych. Klasa
DynamicTypeEvaluator
z biblioteki potoku wyrażeń protolayout może służyć do oceny (i odbierania zaktualizowanych wartości) dla wcześniej utworzonego typu dynamicznego (DynamicString
,DynamicFloat
, ...) - Gdy nie można odtworzyć animacji (ponieważ funkcja została wyłączona przez oceniającego lub gdy 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-alfa02
25 stycznia 2023 r.
Opublikowano 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
. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- Przenosimy kreatory układów z
androidx.wear.tiles:tiles
doandroidx.wear.protolayout:protolayout
. Funkcje w wersjiandroidx.wear.tiles:tiles
zostaną wycofane w jednej z kolejnych wersji alfa.
Wersja 1.0.0-alfa01
11 stycznia 2023 r.
Opublikowano androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01
i androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01
. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- W tej wersji wprowadziliśmy nową bibliotekę „Wyrażenie ProtoLayout” służące do tworzenia wyrażeń ze zmiennych dynamicznych.