Wear Prototype

  
Mit dieser Bibliothek können Sie eine Reihe von UI-Layouts und Nicht-UI-Ausdrücken definieren, die auf Remote-Oberflächen gerendert bzw. ausgewertet werden.
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alpharelease
6. März 2024 1.1.0 - - 1.2.0-alpha01

Abhängigkeiten deklarieren

Wenn Sie eine Abhängigkeit von Wear-protolayout hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

Fügen Sie der Datei build.gradle für Ihre Anwendung oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:

Groovig

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")
}

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Dein Feedback hilft uns, Jetpack zu verbessern. Lassen Sie uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie eine neue erstellen. Durch Klicken auf die Stern-Schaltfläche können Sie zu einem vorhandenen Problem abstimmen.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.2

Version 1.2.0-alpha01

6. März 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha01 wird freigegeben. Version 1.2.0-alpha01 enthält diese Commits.

Neue Funktionen

  • ProtoLayout Arc-Elementen können jetzt ArcDirection (Clockwise, Counterclockwise oder Normal) hinzugefügt werden. Wenn Sie dieses Verhalten zu Arc, ArcLine oder ArcText hinzufügen, wird das Verhalten bei linksläufigen Layouts behoben. (I90699)
  • EdgeContentLayout wurde mit einem neuen setResponsiveContentInsetEnabled-Setter aktualisiert, um eine bessere Übereinstimmung mit den UX-Richtlinien, Einheitlichkeit bei Kacheln zu erreichen, da das primäre Label oben an der festen Stelle und ein responsives Einfügung für Labels verwendet wird. (I60175)
  • Wir haben PrimaryLayout.setResponsiveContentInsetEnabled hinzugefügt, das dem primären Label, dem sekundären Label und dem unteren Chip in diesem Layout responsive Elemente hinzufügt, um zu verhindern, dass Inhalte über den Bildschirmrand hinausgehen. (I0c457)
  • Fügt eine Methode zum Entfernen der äußeren Ränder aus CircularProgressIndicator hinzu, damit es als kleinere Komponente verwendet werden kann. (I55c06)

API-Änderungen

  • Der Renderer für Kacheln schließt jetzt standardmäßig bei allen Textelementen einen Abstand von der Schriftart aus, ohne dass eine Option zum Einbinden verfügbar ist. (I3e300)

Fehlerkorrekturen

  • Das Problem mit der Textausrichtung bei Verwendung von Ellipsenformaten, Buchstabenabständen und zentrierter Ausrichtung für Text wurde behoben. (I716c7)
  • Fügen Sie eine Umgehungslösung für ein Problem beim Zeichnen eines Skia-Bogens hinzu. (I08f09)
  • Zeichenrichtung ArcLine für RTL-Layouts korrigiert. (I6c141)

Version 1.1

Version 1.1.0

7. Februar 2024

androidx.wear.protolayout:protolayout-*:1.1.0 wird freigegeben. Version 1.1.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.0.0

  • In ArcLine werden Gradienten unterstützt und Längen, die über 360 Grad liegen, besser dargestellt.
  • Die Datums-/Uhrzeitformatierung unterstützt verschiedene Zeitzonen für dynamische Datentypen.
  • Verbesserte Optionen für die automatische Größenanpassung und Auslassung von Text, um abgeschnittenen Text zu verarbeiten.
  • Das Abstandshalter unterstützt erweiterte Abmessungen mit optionaler Gewichtung.
  • Annotation der Anforderung der Schemaversion für alle ProtoLayout APIs.
  • Erweiterung des Zielbereichs auf jedes Clickable-Element auf 48 dp x 48 dp, um die Anforderungen an die Barrierefreiheit zu erfüllen.
  • Der Textabstand ist standardmäßig deaktiviert. Er ist das einzige Verhalten in allen Textelementen und Materialkomponenten, die Text enthalten.

Weitere Änderungen

Version 1.1.0-rc01

24. Januar 2024

androidx.wear.protolayout:protolayout-*:1.1.0-rc01 wird freigegeben. Version 1.1.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • PlatformTimeUpdateNotifierImpl wird direkt nach dem Aktivieren des Updates gesetzt. (I77145)
  • CircularProgressIndicator wurde für RTL-Layouts korrigiert. Ab jetzt wird er in allen Fällen im Uhrzeigersinn gedreht. (I95ee3)
  • Fügen Sie eine Umgehungslösung für ein Problem beim Zeichnen eines Skia-Bogens hinzu. (I08f09)

Version 1.1.0-beta01

10. Januar 2024

androidx.wear.protolayout:protolayout-*:1.1.0-beta01 wird freigegeben. Version 1.1.0-beta01 enthält diese Commits.

Neue Funktionen

Die Version 1.1.0-Beta01 von Wear ProtoLayout gibt an, dass diese Version der Bibliothek vollständig verfügbar ist und die API gesperrt ist (außer wenn sie als experimentell gekennzeichnet ist). Wear ProtoLayout 1.1 umfasst die folgenden neuen Funktionen und APIs:

  • ArcLine unterstützt jetzt den Farbverlauf, indem Brush mit SweepGradient hinzugefügt und ein Schatten auf der Kappe hinzugefügt wird, um eine Länge von mehr als 360 Grad besser darzustellen. Dazu wird Shadow zum vorhandenen StrokeCap hinzugefügt.
  • DynamicInstant unterstützt die zonenspezifische Datums-/Uhrzeitformatierung. DynamicInstant und DynamicDuration können als Status- oder Plattformdatentypen verwendet werden.
  • Funktion zur automatischen Skalierung für die Textgröße, mit der mehrere Größen auf FontStyle.setSizes gesetzt werden können. Dabei wird die Textgröße automatisch an den Platz innerhalb des übergeordneten Elements skaliert. Außerdem haben wir die Ellipsenoptionen für Text, der überläuft, verbessert, indem wir TEXT_OVERFLOW_ELLIPSIZE hinzugefügt und TEXT_OVERFLOW_ELLIPSIZE_END eingestellt haben.
  • Spacer unterstützt jetzt erweiterte Abmessungen mit optionaler Gewichtung. Für das Erstellen von ExpandedDimensionProp wurde die Hilfsmethode DimensionBuilders.weight hinzugefügt.
  • Unterstützung für das dynamische Aus- und Einblenden von Layoutelementen mit Modifier.visible. Dazu gehört auch die Verwendung dynamischer Werte in BoolProp.
  • Alle ProtoLayout APIs haben jetzt eine Annotation zu den Anforderungen an die Schemaversion. Die Version kann vor dem Aufruf einer neueren API geprüft werden.
  • Für jedes Element mit Clickable wird der Zielbereich im Renderer jetzt auf mindestens 48 x 48 erweitert, um Anforderungen an die Barrierefreiheit besser zu erfüllen.
  • Entsprechend anderen Material-Komponenten und Erstellungsinitiativen haben wir jetzt den Schriftabstand standardmäßig für alle Text-Elemente deaktiviert. Außerdem wurden AndroidTextStyle und die zugehörigen Setter aus der öffentlichen API entfernt. Fehlerkorrekturen:
  • Es wurde ein Setter zum Positionieren des Randinhalts in EdgeContentLayout hinzugefügt, damit er vor anderen Inhalten positioniert werden kann.
  • Kontinuierliches Auslösen einer Ausnahme, wenn ein unbekannter enum-Wert auftritt.
  • Das Ergebnis eines Ausdrucks wird ungültig, wenn er einen ungültigen numerischen Wert (NaN oder unendlich) liefert oder ein ArithmeticException auslöst.

API-Änderungen

  • Updates der SweepGradient API, um entweder Farben oder ColorStops im Konstruktor zu akzeptieren. (I6676f)

Fehlerkorrekturen

  • Hinzufügen einer eingeschränkten API und Renderer-Unterstützung zum Festlegen einer Richtung, in der Bogenelemente gezeichnet werden. (Idef5a)
  • Wenn RoundMode nicht angegeben ist, wird in FloatToInt32Node standardmäßig Floor verwendet. Der Knoten gibt trotzdem eine Ausnahme aus, wenn die angegebene RoundMode nicht erkannt wird. (I1b2d8)

Version 1.1.0-alpha04

13. Dezember 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha04 wird freigegeben. Version 1.1.0-alpha04 enthält diese Commits.

Neue Funktionen

  • Die Klasse VersionInfo implementiert nicht die Comparable-Schnittstelle. (I8d13c)
  • Renderer unterstützt jetzt die Option TEXT_OVERFLOW_ELLIPSIZE. (I7f085)

API-Änderungen

  • Die Textüberlaufoption „TEXT_OVERFLOW_ELLIPSIZE_END“ wurde jetzt eingestellt. Verwenden Sie die neue API TEXT_OVERFLOW_ELLIPSIZE mit einem sehr ähnlichen Verhalten. (I822d8)
  • Entsprechend anderen „Material-Komponenten“- und „Compose“-Initiativen haben wir jetzt den Schriftabstand standardmäßig für alle Textelemente deaktiviert. Außerdem wurden AndroidTextStyle und die zugehörigen Setter aus der öffentlichen API entfernt. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3)
  • Modifier.hidden wird durch Modifier.visible (I56902) ersetzt
  • FontStyle#setSizes akzeptiert jetzt int- statt SpProp-Argumente. (I02b37)

Fehlerkorrekturen

  • Beim Auftreten eines unbekannten oder nicht erkannten enum-Werts wird eine Ausnahme ausgelöst. (I9d2cf)
  • DynamicTypeBindingRequest refaktorieren. (I27b57)
  • Das Ergebnis eines Ausdrucks wird ungültig, wenn er einen ungültigen numerischen Wert (NaN oder unendlich) liefert oder ein ArithmeticException auslöst. (I681ae)

Version 1.1.0-alpha03

29. November 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha03 wird freigegeben. Version 1.1.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Zusätzliche experimentelle Unterstützung für das dynamische Aus- und Einblenden von Layoutelementen (I64a78)
  • Unterstützung für dynamische Werte zu BoolProp hinzufügen (I2fe96)
  • ProtoLayout APIs eine Anmerkung zur Anforderung der Schemaversion hinzufügen (I0f03c)
  • Erweiterung der API mit der neuen Option in TextOverflow, mit der der Text in einem festen übergeordneten Container mit Auslassungslinie versehen wird, selbst wenn die maximale Anzahl von Zeilen nicht erreicht wird (aber nicht genügend Platz für den Text ist). (I110a9)
  • Die Hilfsmethode DimensionBuilders.weight zum Aufbau von ExpandedDimensionProp mit Gewichtung wurde hinzugefügt. (I4f72b)
  • DynamicInstant und DynamicDuration können als Status- oder Plattformdatentypen verwendet werden. (I6819f)

API-Änderungen

  • API aktualisieren, um DynamicZonedDateTime auszublenden und alle zugehörigen Vorgänge nach DyanamicInstant (I34b94) zu verschieben
  • Das Abstandselement unterstützt jetzt die maximierte Dimension für die Breite/Höhe. (Ie7c94)
  • Unterstützung der Erweiterung des Klickzielbereichs in Renderer (I39c79)

Version 1.1.0-alpha02

15. November 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha02 wird freigegeben. Version 1.1.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Der API wurde das Feld ArcLine StrokeCap Shadow hinzugefügt. (I830ec)
  • API erweitern, um die Breite oder Höhe des Abstands zum Maximieren angeben zu können. (I757ca)
  • Wir haben eine experimentelle API hinzugefügt, mit der die Textgröße automatisch basierend auf dem Platz innerhalb der übergeordneten Datei skaliert wird. (Ibbe63)
  • Unterstützung der minimalen anklickbaren Größe (I178e3)
  • Renderer-Unterstützung für StrokeCap Shadow wurde hinzugefügt. (I48b17)
  • Renderer-Unterstützung für die Funktion „Sweep-Gradient“ in ArcLine wurde hinzugefügt. (I4d5bb)

Version 1.1.0-alpha01

18. Oktober 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha01 wird freigegeben. Version 1.1.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Pinseloption für Arcline hinzugefügt, mit Unterstützung für SweepGradient. (Ie7ce3)
  • Die Datums-/Uhrzeitformatierung in Zonen wird jetzt unterstützt. (Ibfae0)
  • Für die zonenspezifische Datums-/Uhrzeitformatierung wurden Protos und Java-Wrapper hinzugefügt. (I97126)
  • Es wurden Getter zum Zurücklesen des in einem DynamicDataValue gespeicherten Werts hinzugefügt. (Ie6cea)
  • Es wurde ein Setter zum Positionieren des Randinhalts in EdgeContentLayout hinzugefügt, damit er vor anderen Inhalten positioniert werden kann. (Ie8e8a)

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem ein Ausdruck mit mehreren Malregistrierungen für Datenquellen nicht sofort aktualisiert wurde. (I8e1a8)
  • Ein Fehler wurde behoben, durch den das Stammelement bei diff-Updates zentriert wurde. (Ie48f7)
  • Nicht festgelegte (oder leere) Layouteinschränkungswerte werden nicht mehr ignoriert. (IBC785)
  • Reduzierte Verzögerung zwischen der Sichtbarkeit eines Layouts und der Initialisierung seiner Pipelineknoten. (I38d4e)

Version 1.0

Version 1.0.0

9. August 2023

androidx.wear.protolayout:protolayout-*:1.0.0 wird freigegeben. Version 1.0.0 enthält diese Commits.

Hauptfunktionen von Version 1.0.0

Die ProtoLayout-Bibliothek führt APIs zum Erstellen von Layouts und Ausdrücken ein, die auf verschiedenen Wear OS-Oberflächen verwendet werden können. Die Tile-Bibliothek verwendet diese APIs beispielsweise, um Plattformdatenbindung (für schnellere Aktualisierungen von Kacheldaten) und Animationen zu unterstützen.

Version 1.0.0-rc01

26. Juli 2023

androidx.wear.protolayout:protolayout-*:1.0.0-rc01 wird freigegeben. Version 1.0.0-rc01 enthält diese Commits.

API-Änderungen

  • Die Methoden setLayoutConstraintForDynamicAnchorAngle und getLayoutConstraintForDynamicAnchorAngle wurden aus dem Arc-Element entfernt. Diese Methoden wurden versehentlich hinzugefügt und hatten keine Auswirkungen auf das bereitgestellte Layout. (If7d01)
  • Wir haben die maximale Tiefe für das Layout eines ProtoLayout auf 30 verschachtelte LayoutElements begrenzt. (I8a74b)

Fehlerkorrekturen

  • Wir haben eine Prüfung hinzugefügt, die ausgelöst wird, wenn DynamicColor für SpanText festgelegt wurde. (I0e5bc)
  • Es wurde klargestellt, dass die Datenquelleneinheit DAILY_CALORIES „kcal“ ist. (Iaa785)

Version 1.0.0-beta01

21. Juni 2023

androidx.wear.protolayout:protolayout-*:1.0.0-beta01 wird freigegeben. Version 1.0.0-beta01 enthält diese Commits.

Neue Funktionen

  • Einstellung der Uhr für Zeitbindungstests zulassen. (I05622)

API-Änderungen

  • PlatformDataReceiver.onData() und StateBuilders.Builder.addKeyToValueMapping akzeptieren jetzt eine typsichere Zuordnung von DynamicDataKey zu DynamicDataValue anstelle von unsicheren Generika. Das bedeutet, dass DynamicDataValue jetzt mit seiner DynamicType eingegeben wird. HEART_RATE_ACCURACY_X-Konstanten an den Stamm von PlatformHealthSources verschoben, um der Positionierung anderer Android-Konstanten zu entsprechen. Int-Konstanten HEART_RATE_ACCURACY_X werden jetzt direkt in DynamicHeartRateAccuracy.constant() und DynamicHeartRateAccuracy.dynamicDataValueOf() anstelle der Wertkonstante verwendet. (I82ff5)
  • Die Klasse PlatformHealthSources.Constants konnte versehentlich instanziiert werden. Dieses Problem wurde nun behoben. (Icb849)
  • PlatformTimeUpdateNotifier#setReceiver erhält jetzt Runnable anstelle der Funktion Supplier und Executor für Benachrichtigungen. (I9d938)
  • Wir haben den Parametertyp in PlatformTimeUpdateNotifier#setReceiver von Callable zu Supplier geändert. (I664bf)
  • In CompactChip und TitleChip kann jetzt ein Symbol hinzugefügt werden. (I5a01e)

Fehlerkorrekturen

  • Prop-Nachrichten mit dynamischen Feldern aktualisieren, um stattdessen „oneof“ zu verwenden (I81739)
  • Setter-Implementierung für Überlasten wiederverwenden, die Setter haben (Ied70c)
  • Korrekte Aufzeichnung von Fingerabdrücken in Setter mit Überlastung (I86ed2)

Version 1.0.0-alpha11

7. Juni 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha11 wird freigegeben. Version 1.0.0-alpha11 enthält diese Commits.

Neue Funktionen

  • Wir haben PlatformDataKey für die Genauigkeit der Herzfrequenz hinzugefügt. (I7f9b8)

API-Änderungen

  • Benennen Sie StateBuilders#getIdToValueMapping in getKeyToValueMapping um und ändern Sie den Rückgabetyp in Map<<AppDataKey<?>,DynamicDataValue>. (Iaa7ae)
  • Mache StateStore zu einer Abschlussklasse (I408ca)
  • Die TimeGateway-Schnittstelle wurde in der protolayout-expression-pipeline-Bibliothek durch PlatformTimeUpdateNotifier ersetzt. Sie gibt die gewünschte Häufigkeit für die Aktualisierung von Zeitdaten an. (I60869)
  • register/unregisterForData in PlatformDataProvider in set/clearReceiver (I14b02) umbenennen
  • In Material Text wurde getExcludeFontPadding in hasExcludeFontPadding umbenannt. (IEA01D)
  • Setter für die perfekte Ausrichtung des Labels wurde allen Chip-Komponenten hinzugefügt. Auf alle Chips wurde jetzt eine min. antippbares Ziel angewendet. (I8ae92)
  • LayoutDefaults#BUTTON_MAX_NUMBER wurde in MAX_BUTTONS umbenannt. (I84788)
  • DAILY_DISTANCE wurde in DAILY_DISTANCE_M umbenannt. (I4f758)

Fehlerkorrekturen

  • Aktualisieren Sie die Dokumentation zu Attributtypen, um zu klären, warum der statische Wert erzwungen wird. Geben Sie den Standardwert an, der verwendet wird, wenn kein statischer Wert angegeben wurde. (I155aa)
  • PlatformDataKey-Namespaces sollten der Java-Stilbenennung entsprechen. (I47bda)

Version 1.0.0-alpha10

24. Mai 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha10 wird freigegeben. Version 1.0.0-alpha10 enthält diese Commits.

Neue Funktionen

  • Füge AppDataKey für den Zugriff auf die App-Übertragung hinzu, PlatformDataKey für den Zugriff auf Plattformdaten und die Namespace-Unterstützung in StateStore. (I7985e)
  • Equal- und NotEqual-Vorgänge für DynamicBool werden unterstützt. (I6a0c1)

API-Änderungen

  • Kurs "FontStyles" ist jetzt endgültig (Iaa2ea)
  • LayoutElementBuilders#FontStyles wurde eingestellt. Verwenden Sie androidx.wear.protolayout.Typography oder erstellen Sie Ihre eigene FontStyle. (Ic929b)
  • Verschachtelte Schnittstelle Action#Builder von Action-Schnittstelle ausblenden. Implementierungen von Builder wurden bereits von den Klassen LoadAction und LaunchAction bereitgestellt. (I1d70c)
  • Verwendung von DynamicFloat mit FloatProp zulassen. Für FloatProp sind keine Layoutbeschränkungen erforderlich, da sie nicht zum Ändern des Layouts verwendet werden. (I286ac)
  • Die Aktionen LoalAction und SetStateAction wurden entfernt, da sie noch nicht wirklich unterstützt werden. (I5d6a6)
  • Unterstützung für das Format ARGB_8888 für Inline-Bildressourcen wurde hinzugefügt. (I8a07c)
  • Benennen Sie StateEntryValue in DynamicDataValue um und aktualisieren Sie die Status-APIS so, dass DynamicDataKey (If1c01) verwendet wird
  • Wir begrenzen die Anzahl der Einträge, die im StateStore zulässig sind, damit die Arbeitsspeichernutzung und der Zeitpunkt der Statusaktualisierung für jede Instanz von StateStore angemessen begrenzt und kontrolliert werden. Daher muss der Entwickler dafür sorgen, dass die Karte nicht mehr als MAX_STATE_ENTRY_COUNT Einträge enthält, da er andernfalls beim Erstellen oder Aktualisieren der StateStore ein IllegalStateException erhält. (Ibadb3)
  • Blenden Sie die Klassen OnLoadTrigger und OnConditionMetTrigger aus und benennen Sie setTrigger für OnConditionMetTrigger in setCondition um. (Ibf629)
  • Aus Leistungs- und Kompatibilitätsgründen unterstützen die ProtoLayout-Renderer in AnimatedVectorDrawable-Ressourcen nicht alle Funktionen. Diese APIs werden als experimentell gekennzeichnet, bis wir die unterstützten APIs definieren können. Ic6daf
  • Dynamische Typen für tägliche Strecke, tägliche Kalorien und Etagen wurden hinzugefügt. Schlüssel für Quellen zur Plattformintegrität befinden sich jetzt unter PlatformHealthSources.Keys (Ib7637)
  • Die Methode Easing.cubicBezier ersetzt CubicBezierEasing.Builder. Damit wird die EasingFunction-Klasse entfernt und die Easing-Konstanten dieser Klasse sind nun direkt über die Easing-Oberfläche zugänglich. Außerdem wird setInfiniteRepeatable durch INFINITE_REPEATABLE_WITH_RESTART und INFINITE_REPEATABLE_WITH_REVERSE (Ib41e7) ersetzt.
  • Implementiere PlatformDataProvider, um die Herzfrequenz und tägliche Schritte anzugeben. Die SensorGateway-Schnittstelle wurde aus der öffentlichen API entfernt. (I55b84)
  • Fügen Sie PlatformDataProvider hinzu und aktualisieren Sie StateStore, um sich bei PlatformDataProvider zu registrieren, wenn der unterstützte Schlüssel des Anbieters vom Knoten aus der Ausdruckspipeline erforderlich ist. (Ib616a)
  • SensorGateway ist nicht mehr Closeable, da es keinen Status mehr beibehält. (I6b4f7)
  • Verwendung von FloatProp mit DynamicFloat für den Fortschritt in CircularProgressIndicator zulassen. Diese Option wird für Renderer unterstützt, die Version 1.2 unterstützen. Alte Renderer verwenden bei Angabe der staticValue ein Fallback, andernfalls wird 0 verwendet (I0d91b).
  • MultiButtonLayout-Konstanten wurden in die LayoutDefaults.MultiButtonLayoutDefaults-Klasse refaktoriert, die jetzt je nach Anzahl von Schaltflächen im Layout die Werte für Schaltflächengrößen enthält. (I13973)
  • Unterstützung für die Verwendung von StringProp mit DynamicString in Material Text. Diese Option wird für Renderer unterstützt, die Version 1.2 unterstützen. Alte Renderer nutzen als Fallback auf den bereitgestellten statischen Wert. Aktualisieren Sie den Rückgabetyp Text#getText von String in StringProp. (I7275b)

Version 1.0.0-alpha09

10. Mai 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha09 wird freigegeben. Version 1.0.0-alpha09 enthält diese Commits.

Neue Funktionen

  • Wir haben ein experimentelles Layoutelement für eine Erweiterung hinzugefügt. Diese Option kann nicht standardmäßig verwendet werden und erfordert eine Renderer-Erweiterung, die das Layout-Element verstehen kann. (I6581d)
  • StrokeCap-Unterstützung für ArcLine hinzugefügt. (I94951)
  • Der Vorgang „Conditional Instant“ wird jetzt unterstützt. (I489a7)
  • Der Vorgang „Bedingte Dauer“ wird jetzt unterstützt. (Iab469)
  • Unterstützung für das Erstellen einer Dauer von Sekunden hinzugefügt. (Ib5fa1)

API-Änderungen

  • enable/disablePlatformSource Methoden wurden aus DynamicTypeEvaluator entfernt. Der Aufrufer sollte für Updates verantwortlich sein. (I78c6d)
  • Begrenzung der Größe gebundener Datentypen zulassen. (Ie2966)
  • Unterstützung für Beschreibungen von dynamischen Inhalten in protolayout-material hinzugefügt. (I62c8e)
  • Verwenden Sie long und @IntRange für Dauer und Verzögerung in AnimationParameters. (I388b6)

Version 1.0.0-alpha08

19. April 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha08 wird freigegeben. Version 1.0.0-alpha08 enthält diese Commits.

Neue Funktionen

  • AndroidTextStyle wurde zu LayoutElementBuilders hinzugefügt. (I8d967)
  • In ProtoLayout Material Text kann jetzt der Schriftabstand ausgeschlossen werden. I17f5d
  • ARGB_8888 wird jetzt für Inline-Bilder unterstützt. (I18c1e)
  • DynamicColor unterstützt jetzt den onCondition-Vorgang. (I10927)

API-Änderungen

  • Benutzerdefinierte Dauer für umgekehrte Animation unterstützen (I3251f)
  • Der SemanticDescription-Modifikator wurde hinzugefügt. Außerdem ist ContentDescription nicht bindend. (I3f1d)
  • Die Methode DynamicBool.isFalse() wird jetzt durch DynamicBool.negate() ersetzt und DynamicBool.isTrue() wird entfernt. Zusätzlich geben NaN-DynamicFloat-Werte und die Eingrenzung von DynamicInt32 auf DynamicFloat ein ungültiges dynamisches Ergebnis aus. (I6ac1e)
  • Int- und Float-Formatierer verwenden jetzt das Builder-Muster. (Ieb213)

Fehlerkorrekturen

  • Der statische Fallback-Wert wurde aus animierbaren Feldern entfernt. (Ifcb01)
  • DynamicTypeValueReceiver#onPreUpdate wurde entfernt. (I2dc35)
  • Die Länge von Strings in dynamischen Ausdrücken ist jetzt begrenzt. (I4c93)
  • Die Gradle-Abhängigkeiten sind jetzt korrekt auf api und nicht auf implementation festgelegt, falls erforderlich. (I40503)

Version 1.0.0-alpha07

5. April 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha07 wird freigegeben. Version 1.0.0-alpha07 enthält diese Commits.

Neue Funktionen

  • Unterstützung für dynamische Werte zu StringProp hinzufügen (I04342)
  • Bindbare Layoutelemente markieren (Ia110b)

API-Änderungen

  • sensorGateway#registerSensorGatewayConsumer verwendet unter „Consumer“ den Datentyp als Parameter und nicht als Methode. (ICF314)
  • ObservableStateStore wurde in StateStore umbenannt. (Ieb0e2)
  • Anstelle von Konstruktorargumenten wurde DynamicTypeEvaluator.Builder hinzugefügt, um weitere optionale Argumente zuzulassen, einschließlich ObservableStateStore, das jetzt standardmäßig einen leeren Speicher angibt. (I6f832)
  • Reihenfolge der Parameter in DynamicTypeEvaluator überarbeitet. (Ic1ba4)

Fehlerkorrekturen

  • Korrekte Weiterleitung von Signalen von Plattformsensorquellen an Downstream-Knoten (I5a922)

Version 1.0.0-alpha06

22. März 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha06 wird freigegeben. Version 1.0.0-alpha06 enthält diese Commits.

Neue Funktionen

  • Wir haben eine experimentelle API zur Verwendung der Herzfrequenz und täglichen Schritte in dynamischen Ausdrücken hinzugefügt (Ifd711)
  • Animationen mit Rückwärts- und Vorwärtsverzögerung werden jetzt unterstützt. (Ic25f7)
  • DynamicColor-Unterstützung für Rahmen und Hintergrund hinzugefügt
  • Typen in DimensionBuilder werden jetzt für dynamische Werte unterstützt
  • Layout und Komponenten von tiles-material werden zu protolayout-material verschoben

API-Änderungen

  • LoadActionListener wurde zu ProtoLayoutViewInstance hinzugefügt. (If7806)

Fehlerkorrekturen

  • FloatNodesTest (Id7281) hinzugefügt
  • Der Renderer abgestürzt, wenn die strukturierte Bitmap nicht geladen werden konnte, wurde behoben.

Version 1.0.0-alpha05

8. März 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha05 wird freigegeben. Version 1.0.0-alpha05 enthält diese Commits.

Neue Funktionen

  • Dem Modifiers-Objekt wurde eine experimentelle Animation für die Inhaltsaktualisierung hinzugefügt. Diese Animation wird immer dann ausgelöst, wenn sich das Element (mit diesem Modifikator) oder eines seiner untergeordneten Elemente während einer Layoutaktualisierung ändert. (bd03e5d)

API-Änderungen

  • forwardRepeatDelayMillis und reverseRepeatDelayMillis wurden zu „Repeatable“ hinzugefügt. Außerdem haben wir „delayMillis“ in „AnimationSpec“ in „startDelayMillis“ (Ifb266) umbenannt
  • DynamicTypeEvaluator.bind-Methoden akzeptieren jetzt einen Executor. (I346ab)
  • Wir haben dem BoundDynamicType die Methode startEvaluation hinzugefügt, um die Bewertung auszulösen, nachdem der dynamische Typ gebunden wurde. (I19908)

Fehlerkorrekturen

  • Das Animator-Objekt wird für nachfolgende Animationen eines einzelnen Elements wiederverwendet. (Ia3be9)

Version 1.0.0-alpha04

22. Februar 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha04 wird freigegeben. Version 1.0.0-alpha04 enthält diese Commits.

Neue Funktionen

  • ObservableStateStore informiert jetzt auch die Listener, wenn ein Schlüssel entfernt wird.
  • Wir haben die Schemaversion und die Schriftgröße für den Renderer zu DeviceParameters hinzugefügt. Mit diesen Dateien können Layouts als Reaktion auf verschiedene Versionen und Schrifteinstellungen bedingt erstellt werden.
  • Animieren von DynamicInt32-Werten (I05485) werden jetzt unterstützt.
  • Es wurden OnLoad- und OnConditionalMet-Trigger hinzugefügt. Damit lassen sich Animationen starten, die einen Trigger unterstützen.
  • Wir haben die Layout-Gewichtung für erweiterte Abmessungen und die Mindestgröße für umschlossene Abmessungen hinzugefügt.
  • Wir haben dynamische Typen für die Dauer und Instant-Version hinzugefügt. Damit kann ein Zeitpunkt oder eine Dauer in einem dynamischen Ausdruck dargestellt werden.
  • AnimatedVectorDrawable und SeekableAnimatedVectorDrawable werden jetzt als Layoutressourcen unterstützt.

API-Änderungen

  • Für Sensordaten ist API 29 oder höher erforderlich. (I8099e)
  • Wir haben zwei launchAction-Hilfsmethoden (zum Starten von Aktivitäten) hinzugefügt.

Fehlerkorrekturen

  • In der Kachelanimation set/getSpec in set/getAnimationSpec umbenennen (I3d74b)

Version 1.0.0-alpha03

8. Februar 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha03 wird freigegeben. Version 1.0.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Den dynamischen Typen in der protolayout-Express-Bibliothek wurden toByteArray() und fromByteArray() hinzugefügt.
  • Den dynamischen Typen in der Bibliothek „protolayout-expression“ wurde toString() hinzugefügt.
  • Wir haben jetzt Unterstützung für die Auswertung dynamischer Typen hinzugefügt. Mit der Klasse DynamicTypeEvaluator aus der Bibliothek „protolayout-expression-pipeline“ kann ein zuvor erstellter dynamischer Typ (DynamicString, DynamicFloat usw.) ausgewertet und aktualisiert werden.
  • Wenn Animationen nicht abgespielt werden können (entweder weil sie vom Evaluator deaktiviert wurden oder die Anzahl der laufenden Animationen das festgelegte Limit erreicht hat), werden die statischen Werte, die auf dem animaierbaren Knoten festgelegt sind, als Ersatz für die Animation verwendet.

Version 1.0.0-alpha02

25. Januar 2023

androidx.wear.protolayout:protolayout:1.0.0-alpha02, androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02 und androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02 wurden veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Layout-Builder von „androidx.wear.tiles:tiles“ werden nach „androidx.wear.protolayout:protolayout“ verschoben. Die Versionen in androidx.wear.tiles:tiles werden in einem der nächsten Alphaversionen eingestellt.

Version 1.0.0-alpha01

11. Januar 2023

androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01 und androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01 werden veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

  • In diesem Release wird die neue Bibliothek "ProtoLayout Expression" zum Erstellen von Ausdrücken aus dynamischen Variablen eingeführt.