wear protolayout

  
Ta biblioteka umożliwia definiowanie zestawu układów interfejsu i wyrażeń niebędących interfejsem, które mają być renderowane/oceniane na zdalnych platformach.
Najnowsza aktualizacja Wersja stabilna Kandydat do publikacji Wersja Beta Wersja alfa
6 marca 2024 roku 1.1.0 - - 1.2.0-alfa01

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-alpha01"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.2.0-alpha01"

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation "androidx.wear.protolayout:protolayout-material:1.2.0-alpha01"
}

Kotlin

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation("androidx.wear.protolayout:protolayout-expression:1.2.0-alpha01")

    // Use to implement support for Wear ProtoLayout
    implementation("androidx.wear.protolayout:protolayout:1.2.0-alpha01")

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation("androidx.wear.protolayout:protolayout-material:1.2.0-alpha01")
}

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

Opinia

Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.

Utwórz nowy numer

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

Wersja 1.2

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 elementu ArcDirection (Clockwise, Counterclockwise lub Normal). Dodanie tego zachowania do elementów Arc, ArcLine lub ArcText 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

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 parametr Brush z atrybutem SweepGradient i dodaj cień na końcu, aby lepiej odzwierciedlić długość większą niż 360 stopni. Aby to zrobić, dodaj parametr Shadow w istniejącym elemencie StrokeCap.
  • DynamicInstant obsługuje formatowanie daty i godziny w strefach. Typy danych DynamicInstant i DynamicDuration 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 atrybut TEXT_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 kompilowania ExpandedDimensionProp 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 w BoolProp.
  • 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 lub ColorStops 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 w FloatToInt32Node ma domyślnie wartość Floor. Węzeł nadal będzie zgłaszać wyjątek, jeśli podany RoundMode 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 interfejsu Comparable. (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 API TEXT_OVERFLOW_ELLIPSIZE z bardzo podobnym zachowaniem. (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 przez Modifier.visible (I56902)
  • Funkcja FontStyle#setSizes akceptuje teraz int zamiast SpProp 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 obiektu ExpandedDimensionProp z wagą. (I4f72b)
  • Typy danych DynamicInstant i DynamicDuration 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 do DyanamicInstant (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 i getLayoutConstraintForDynamicAnchorAngle 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ów LayoutElements. (I8a74b)

Poprawki błędów

  • Dodaliśmy kontrolę do zgłoszenia, jeśli DynamicColor została ustawiona na SpanText. (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() i StateBuilders.Builder.addKeyToValueMapping akceptują teraz bezpieczne mapowanie obiektów DynamicDataKey na DynamicDataValue zamiast niebezpiecznych elementów ogólnych. Oznacza to, że DynamicDataValue jest teraz wpisany za pomocą DynamicType. Stałe HEART_RATE_ACCURACY_X zostały przeniesione do pierwiastka elementu PlatformHealthSources, aby dopasować inne stałe pozycjonowanie Androida. Stałe stałe HEART_RATE_ACCURACY_X są teraz używane bezpośrednio w DynamicHeartRateAccuracy.constant() i DynamicHeartRateAccuracy.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 zamiast Supplier i Executor do powiadamiania. (I9d938)
  • Zmieniliśmy typ parametru w pliku PlatformTimeUpdateNotifier#setReceiver z Callable na Supplier. (I664bf)
  • W aplikacjach CompactChip i TitleChip 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 na getKeyToValueMapping i zmień zwracany typ na Map<<AppDataKey<?>,DynamicDataValue>. (Iaa7ae)
  • Ustaw StateStore jako ostatnią klasę (I408ca)
  • Interfejs TimeGateway został zastąpiony w bibliotece protolayout-expression-pipeline przez PlatformTimeUpdateNotifier, który zapewnia odpowiednią częstotliwość aktualizowania danych o czasie. (I60869)
  • Zmień nazwę register/unregisterForData w PlatformDataProvider na set/clearReceiver (I14b02)
  • W narzędziu Material Text nazwa usługi getExcludeFontPadding została zmieniona na hasExcludeFontPadding. (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 na MAX_BUTTONS. (I84788)
  • Nazwa aplikacji DAILY_DISTANCE została zmieniona na DAILY_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; dodaj PlatformDataKey, aby uzyskać dostęp do danych platformy; dodaj obsługę przestrzeni nazw w StateStore. (I7985e)
  • Obsługuj operacje Equal i NotEqual dla DynamicBool. (I6a0c1)

Zmiany w interfejsie API

  • Zajęcia FontStyles są teraz ostateczne (Iaa2ea)
  • Interfejs LayoutElementBuilders#FontStyles został wycofany. Użyj adresu androidx.wear.protolayout.Typography lub utwórz własny FontStyle. (Ic929b)
  • Ukryj zagnieżdżony interfejs Action#Builder w interfejsie Action. Implementacje narzędzia Builder są już dostępne w klasach LoadAction i LaunchAction. (I1d70c)
  • Zezwalaj na używanie DynamicFloat w FloatProp. 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 i SetStateAction 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 na DynamicDataValue i zaktualizuj interfejsy API stanu do wersji DynamicDataKey (If1c01)
  • Ograniczamy liczbę wpisów dozwolonych w zasadzie StateStore, aby zapewnić odpowiednie wykorzystanie pamięci i czas aktualizowania stanu na potrzeby każdej instancji StateStore, 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 aktualizowania StateStore otrzyma IllegalStateException. (Ibadb3)
  • Ukryj zajęcia OnLoadTrigger i OnConditionMetTrigger oraz zmień nazwę zajęć z setTrigger na setCondition dla poziomu OnConditionMetTrigger. (Ibf629)
  • Ze względu na wydajność i zgodność mechanizmy renderowania ProtoLayout nie będą obsługiwać pełnego zestawu funkcji w zasobach AnimatedVectorDrawable. 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 klasa EasingFunction zostanie usunięta, a stałe wygładzania z tej klasy są teraz bezpośrednio dostępne w interfejsie Easing. Dodatkowo właściwość setInfiniteRepeatable została zastąpiona przez INFINITE_REPEATABLE_WITH_RESTART i INFINITE_REPEATABLE_WITH_REVERSE (Ib41e7)
  • Zaimplementuj aplikację PlatformDataProvider, aby otrzymywać informacje o tętnie i dziennej liczbie kroków. Interfejs SensorGateway został usunięty z publicznego interfejsu API. (I55b84)
  • Dodaj PlatformDataProvider i zaktualizuj StateStore, aby zarejestrować się w PlatformDataProvider, gdy węzeł z potoku wyrażeń wymaga obsługiwanego klucza dostawcy. (Ib616a)
  • SensorGateway nie ma już stanu Closeable, ponieważ nie zachowuje żadnych stanów. (I6b4f7)
  • Zezwalaj na używanie aplikacji FloatProp z usługą DynamicFloat w celu postępów w programie CircularProgressIndicator. Jest ona obsługiwana w przypadku mechanizmów renderowania obsługujących wersję 1.2. Jeśli zostanie podany parametr staticValue, 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 atrybutem DynamicString 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 ustawienia Text#getText z String na StringProp. (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ęzyku ArcLine. (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 metoda DynamicBool.isTrue() została usunięta. Dodatkowo zawężenie pola DynamicInt32 do wartości DynamicFloat oraz zawężenie zakresu danych DynamicInt32 do DynamicFloat 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 zamiast implementation, 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 na StateStore. (Ieb0e2)
  • Dodano DynamicTypeEvaluator.Builder zamiast argumentów konstruktora, aby umożliwić więcej opcjonalnych argumentów, w tym argument ObservableStateStore, 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 do protolayout-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 i reverseRepeatDelayMillis do aplikacji Repeatable. Zmieniliśmy nazwę grupy reklam delayMillis w domenie AnimationSpec na startDelayMillis (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 i OnConditionalMet). 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 i SeekableAnimatedVectorDrawable 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 na set/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() i fromByteArray() 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 do androidx.wear.protolayout:protolayout. Funkcje w wersji androidx.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.