Wear Proto-Layout

  
Mit dieser Bibliothek können eine Reihe von UI-Layouts und Nicht-UI-Ausdrücken definiert werden, die auf Remote-Oberflächen gerendert/ausgewertet werden sollen.
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alpha-Release
7. August 2024 1.2.0 - -

Abhängigkeiten deklarieren

Um eine Abhängigkeit vom Wear-Proto-Layout hinzuzufügen, müssen Sie das Maven-Repository von Google zu Ihrem Projekt arbeiten. Maven-Repository von Google lesen .

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

Groovy

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation "androidx.wear.protolayout:protolayout-expression:1.3.0-alpha03"

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

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

Kotlin

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

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

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

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

Feedback

Dein Feedback hilft uns, Jetpack zu verbessern. Teilen Sie uns mit, wenn Sie neue Ausgaben entdecken oder zur Verbesserung dieser Bibliothek. In der bestehende Probleme in dieser Bibliothek, bevor Sie eine neue erstellen. So können Sie für ein vorhandenes Problem abstimmen: indem Sie auf die Sternschaltfläche klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung. .

Version 1.2

Version 1.2.0

7. August 2024

androidx.wear.protolayout:protolayout-*:1.2.0 wurde veröffentlicht. Version 1.2.0 enthält. dieser Commits.

Wichtige Änderungen seit Version 1.1.0

  • FontStyle wurde aktualisiert, um zusätzliche Schriftartenunterstützung für die Variablenachsen und eine bessere Font Auswahl API zur Unterstützung zukünftiger Flex-Schriftarten zu bieten.
  • Weitere Unterstützung für Modifikatoren: <ph type="x-smartling-placeholder">
      </ph>
    • Transformationsmodifikator, der Übersetzung, Rotation und Skalierung mit oder ohne Animationen ermöglicht.
    • Unterschiedliche Werte (horizontal und vertikal) für jeden Eckenradius angeben
  • Die Zugänglichkeit aller Berührungszielbereiche wurde verbessert, indem der antippbare Bereich jedes Elements mit dem Modifikator „Anklickbar“ auf mindestens 48dp um 48dp erweitert wurde.
  • PrimaryLayout und EdgeContentLayout wurden durch setResponsiveContentInsetEnabled verbessert, um das responsive Verhalten dieser Layouts über verschiedene Bildschirmgrößen hinweg zu unterstützen und die Einheitlichkeit der Kacheln zu verbessern.
  • Die nicht lineare Schriftskalierung von „Material Text for Android 14“ wurde verbessert.
  • Verbesserte Unterstützung für RTL-Layoutrichtung bei allen Arc-Elementen.

Weitere Änderungen

Version 1.2.0-rc01

24. Juli 2024

androidx.wear.protolayout:protolayout-*:1.2.0-rc01 wurde veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • Wir haben den standardmäßigen Material Chip so korrigiert, dass er nur dann als Symbol verwendet werden kann, wenn weder das primäre noch das sekundäre Label übergeben wurde. (Iceef9)
  • Die Dokumentation für Material-Layouts wurde aktualisiert, um Bilder von der relevanten Seite zum besseren Verständnis von Layouts hinzuzufügen. (I0256a)

Version 1.2.0-beta01

10. Juli 2024

androidx.wear.protolayout:protolayout-*:1.2.0-beta01 wurde veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.

Neue Funktionen

Der Release 1.2.0-beta01 von Wear ProtoLayout gibt an, dass dieser Release der Bibliothek vollständig ist und die API gesperrt ist (sofern nicht als experimentell gekennzeichnet). Wear ProtoLayout 1.2 enthält die folgenden neuen Funktionen und APIs:

  • FontStyle wurde aktualisiert und unterstützt nun folgende Schriftarten: <ph type="x-smartling-placeholder">
      </ph>
    • Unterschiedliche Einstellungen für Schriftvariationen festlegen, z. B. FontSetting.weight und FontSetting.width
    • Dieselbe Breite für alle numerischen Zeichen festlegen – tabellarische Zahlen (Einstellung für die Schriftart FontSetting.tnum)
    • Die APIs für die Schriftartenauswahl wurden verbessert, um die neuen flexiblen Schriftarten durch Angabe bevorzugter Schriftfamiliennamen zu unterstützen.
  • Der Corner-Modifikator wurde erweitert, sodass für jedes CornerRadius-Element separate horizontale und vertikale Werte angegeben werden können, um Elemente mit asymmetrischen Ecken zu erstellen.
  • Ein neuer Transformation-Modifikator wurde hinzugefügt, der die Übersetzung, Drehung und Skalierung von LayoutElement anbietet. Diese Transformationen können mithilfe dynamischer Werte animiert werden.
  • setArcDirection wurde allen arc-Elementen (Arc, ArcLine und ArcText) mit den Optionen Clockwise, CounterClockwise und Normal hinzugefügt, um eine bessere Unterstützung in verschiedene Layoutrichtungen (z. B. LTR und RTL) zu ermöglichen.
  • Die Barrierefreiheit aller Berührungszielbereiche wurde verbessert, indem der antippbare Bereich jedes Elements mit dem Clickable-Modifikator auf mindestens 48dp um 48dp erweitert wurde.
  • PrimaryLayout und EdgeContentLayout wurden durch setResponsiveContentInsetEnabled verbessert, um das responsive Verhalten dieser Layouts über verschiedene Bildschirmgrößen hinweg zu unterstützen und die Einheitlichkeit der Kacheln zu verbessern. Es wurde eine Linter-Warnung hinzugefügt, die die Verwendung dieser APIs mit einer schnellen Korrektur vorschlägt.
  • Die nicht lineare Schriftskalierung von „Material Text“ für Android 14 wurde verbessert.

API-Änderungen

  • Der Standardschriftfamilienname (DEFAULT_SYSTEM_FONT) wird entfernt, da dies durch die fehlende Verwendung der preferredFontFamilies API impliziert wird. (I39dab)
  • Der an FontSetting.width übergebene Parameter muss positiv sein. (I1266f)

Version 1.2.0-alpha05

26. Juni 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha05 wurde veröffentlicht. Version 1.2.0-alpha05 enthält diese Commits.

Neue Funktionen

  • Fügen Sie die Methode hasText zu Material.CompactChip hinzu, um zu prüfen, ob der Textinhalt festgelegt wurde. (I6e8fc)

API-Änderungen

  • FontFamily-Konstanten werden an FontStyle und nicht in ihre Builder-Klasse verschoben. (I06ced)
  • Aktualisieren Sie die FontSetting.weight und die FontSetting.width API, um Range-Annotationen einzubinden und den Parameter der Gewichtung in int zu ändern. (Ia726c)

Fehlerkorrekturen

  • Nicht skalierbare Texte in der Material Library funktionieren jetzt korrekt mit der nicht linearen Schriftskalierung von Android 14. (I6601e)

Version 1.2.0-alpha04

29. Mai 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha04 wurde veröffentlicht. Version 1.2.0-alpha04 enthält diese Commits.

API-Änderungen

  • Die API für die asymmetrische Eckenstruktur wurde hinzugefügt, um den Radius jeder Ecke separat mit zwei Werten angeben zu können. (Icbd69)
  • Die FontSetting API wurde um folgende Elemente erweitert: <ph type="x-smartling-placeholder">
      </ph>
    • Einstellung für die Schriftartfunktion, z. B. als Schriftart in Tabellenform. (If12b7)
    • Einstellung der Schriftvariation, z. B. durch Festlegen einer benutzerdefinierten Breite für variable Schriftarten. (I2b36d)
  • Die Schriftartfamilien-API wurde zu FontStyle hinzugefügt, um das Angeben einer Reihenfolgeliste der zu verwendenden Schriftfamilien zu ermöglichen. (Iba9f5)
  • Die Konstanten für die Abstände zwischen Inhalten und das sekundäre Label in LayoutDefaults von Material wurden umbenannt, da sie anfangs mit dem Präfix „Randinhalt“ versehen waren, da sie sowohl auf PrimaryLayout als auch auf EdgeContentLayout angewendet werden können. (I4dc32)

Fehlerkorrekturen

  • Die Bezeichnung für variable Schriftachsen wurde von axisName in axisTag umbenannt. (I02ba3)

Version 1.2.0-alpha03

14. Mai 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha03 wurde veröffentlicht. Version 1.2.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Es wurde eine API zum Festlegen benutzerdefinierter Gewichtungswerte für FontStyle hinzugefügt. (I7390a)

Fehlerkorrekturen

  • Beheben Sie den Fehler in getTouchDelegateInfo, der auf eine leere Zielzuordnung zurückzuführen war. (I2accf)

Version 1.2.0-alpha02

1. Mai 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha02 wurde veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.

API-Änderungen

  • Das Deaktivieren von Wellenfeedback bei einzelnen anklickbaren Elementen wird jetzt unterstützt. (If1ede)
  • Die API für die Transformation wurde aus ArcModifiers entfernt, da diese Funktion (Ic0827) nicht unterstützt wird.
  • Der ArcDirectionProp-Builder erwartet jetzt einen Wert im Konstruktor. (I76ada)
  • Mit der Methode PlatformDataValues.Builder.putAll kann eine PlatformDataValue mit einer anderen PlatformDataValue zusammengeführt werden. (I50ba3)
  • Text#setIsScalable wurde in Text#setScalable umbenannt. (If920e)
  • Material Text kann festlegen, ob die skalierbare Größe verwendet werden soll (wird bei Änderung der Schriftgröße des Nutzers größer) oder nicht. (Ibc849)
  • Die Option zum Festlegen der Inhaltsbeschreibung wurde auf TitleChip hinzugefügt. (I5d21f)
  • CompactChip wurde korrigiert. Das Problem wurde behoben, sodass die API nur mit Symbolen funktioniert und diese Option zugelassen wird. (I6589e)

Fehlerkorrekturen

  • Ein Problem mit potenziellen doppelten Plattformdaten während der Initialisierung wurde behoben. (Iba0fd)
  • Führen Sie einen neuen Getter für DynamicDataNode ein, um Knotenkosten abzurufen. Die Kosten werden beim Erwerb eines Kontingents für dynamische Knoten verwendet. Derzeit haben Knoten mit festen Werten 0 Kosten, alle anderen Knoten 1. (Ia33e1)
  • Zähllogik aus NO_OP_QUOTA_MANAGER entfernen. (Ib50b8)
  • Wir haben eine Lint-Regel hinzugefügt, die eine Warnung meldet, wenn PrimaryLayout ohne setResponsiveContentInsetEnabled verwendet wird, und eine schnelle Lösung zu bieten. (I12025)
  • Die Anzahl der Knoten für dynamische Ausdrücke ist begrenzt. (Iffae8)

Version 1.2.0-alpha01

6. März 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha01 wurde veröffentlicht. 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 ihr Verhalten bei RTL-Layouts behoben. (I90699)
  • EdgeContentLayout wurde mit einem neuen setResponsiveContentInsetEnabled-Setter aktualisiert, um eine bessere Abstimmung mit den UX-Richtlinien und Konsistenz in Kacheln zu erreichen, da das primäre Label an der festen Position oben und ein responsiver Einsatzbereich für Labels vorhanden ist. (I60175)
  • Wir haben PrimaryLayout.setResponsiveContentInsetEnabled hinzugefügt. Damit werden dem primären Label, dem sekundären Label und dem unteren Chip in diesem Layout eine responsive Einfügung hinzugefügt, damit Inhalte nicht über den Bildschirmrand hinausragen. (I0c457)
  • Fügt eine Methode zum Entfernen von äußeren Rändern von CircularProgressIndicator hinzu, damit dieser als kleinere Komponente verwendet werden kann. (I55c06)

API-Änderungen

  • Der Kachel-Renderer schließt jetzt standardmäßig den Schriftabstand für alle Textelemente aus, ohne eine Option zum Einschließen. (I3e300)

Fehlerkorrekturen

  • Es wurde ein Problem mit der Textausrichtung behoben, bei dem Ellipsengröße, Buchstabenabstand und Zentrierung im Text verwendet wurden. (I716c7)
  • Fügen Sie eine Behelfslösung für ein Skia Arc-Zeichenproblem hinzu. (I08f09)
  • ArcLine-Zeichenrichtung für RTL-Layouts wurde korrigiert. (I6c141)

Version 1.1

Version 1.1.0

7. Februar 2024

androidx.wear.protolayout:protolayout-*:1.1.0 wurde veröffentlicht. Version 1.1.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.0.0

  • Unterstützung des Farbverlaufs und bessere Darstellung von Längen über 360 Grad in ArcLine.
  • Die Datums-/Uhrzeitformatierung unterstützt verschiedene Zeitzonen für dynamische Datentypen.
  • Bessere Optionen für die automatische Größenanpassung und Ellipsenanpassung von Text, um abgeschnittenen Text zu verarbeiten.
  • Der Abstandshalter unterstützt maximierte Abmessungen mit optionaler Gewichtung.
  • Annotation zu Anforderungen der Schemaversion für alle ProtoLayout APIs.
  • Der Zielbereich wurde auf jedes Clickable-Element auf 48 dp x 48 dp erweitert, um die Anforderungen an die Barrierefreiheit zu erfüllen.
  • Der Schriftabstand ist standardmäßig deaktiviert und ist das einzige Verhalten für alle Textelemente und Materialkomponenten, die Text enthalten.

Weitere Änderungen

Version 1.1.0-rc01

24. Januar 2024

androidx.wear.protolayout:protolayout-*:1.1.0-rc01 wurde veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • PlatformTimeUpdateNotifierImpl wird sofort nach dem Aktivieren der Aktualisierung angezeigt. (I77145)
  • CircularProgressIndicator wurde für RTL-Layouts korrigiert. Ab jetzt geht es in allen Fällen im Uhrzeigersinn. (I95ee3)
  • Fügen Sie eine Behelfslösung für ein Skia Arc-Zeichenproblem hinzu. (I08f09)

Version 1.1.0-beta01

10. Januar 2024

androidx.wear.protolayout:protolayout-*:1.1.0-beta01 wurde veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.

Neue Funktionen

Der Release 1.1.0-beta01 von Wear ProtoLayout gibt an, dass dieser Release der Bibliothek vollständig ist und die API gesperrt ist (sofern nicht als experimentell gekennzeichnet). Wear ProtoLayout 1.1 enthält die folgenden neuen Funktionen und APIs:

  • ArcLine unterstützt jetzt den Farbverlauf, indem Brush mit SweepGradient hinzugefügt wird und ein Schatten auf dem Kappen steht, um Längen von mehr als 360 Grad besser darzustellen, indem Shadow auf der vorhandenen StrokeCap hinzugefügt wird.
  • DynamicInstant unterstützt die Datums-/Uhrzeitformatierung in Zonen. DynamicInstant und DynamicDuration können als Datentypen für Status oder Plattform verwendet werden.
  • Funktion zur automatischen Anpassung der Textgröße, mit der mehrere Größen auf FontStyle.setSizes festgelegt werden können. Dabei wird die Textgröße automatisch entsprechend dem Platz innerhalb des übergeordneten Elements skaliert. Außerdem haben wir die Ellipsenoptionen für überlaufenden Text verbessert. Dazu haben wir TEXT_OVERFLOW_ELLIPSIZE hinzugefügt und TEXT_OVERFLOW_ELLIPSIZE_END entfernt.
  • Spacer unterstützt jetzt maximierte Abmessungen mit optionaler Gewichtung. Zum 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ören dynamische Werte in BoolProp.
  • Alle ProtoLayout APIs haben jetzt eine Annotation zu den Schemaversionsanforderungen und die Version kann vor dem Aufrufen einer neueren API geprüft werden.
  • Der Zielbereich jedes Elements mit Clickable wurde im Renderer jetzt auf mindestens 48 x 48 erweitert, um die Anforderungen an die Barrierefreiheit besser zu erfüllen.
  • Im Rahmen anderer Material-Komponenten und der Initiativen zum Schreiben von Texten haben wir nun standardmäßig den Abstand zwischen den Schriftarten für alle Text-Elemente deaktiviert. Außerdem wurden AndroidTextStyle und zugehörige Setter aus der öffentlichen API entfernt. mit folgenden Fehlerkorrekturen:
  • Es wurde ein Setter zum Positionieren der Randinhalte in EdgeContentLayout hinzugefügt, damit dieser vor anderen Inhalten positioniert werden kann.
  • Dauerhaftes Auslösen einer Ausnahme, wenn ein nicht erkannter enum-Wert auftritt.
  • Entwerten Sie das Ergebnis eines Ausdrucks, wenn er einen ungültigen numerischen Wert (NaN oder unendlich) liefert oder einen ArithmeticException auslöst.

API-Änderungen

  • Updates der SweepGradient API, um die Annahme von Farben oder ColorStops im Konstruktor zu ermöglichen. (I6676f)

Fehlerkorrekturen

  • Es wurde eine eingeschränkte API- und Renderer-Unterstützung hinzugefügt, um eine Richtung festzulegen, in die Bogenelemente gezeichnet werden. (Idef5a)
  • Wenn nicht angegeben, wird für RoundMode in FloatToInt32Node standardmäßig Floor verwendet. Der Knoten löst 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 wurde veröffentlicht. Version 1.1.0-alpha04 enthält diese Commits.

Neue Funktionen

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

API-Änderungen

  • Die Textüberlaufoption „TEXT_OVERFLOW_ELLIPSIZE_END“ wurde eingestellt. Verwenden Sie die neue API TEXT_OVERFLOW_ELLIPSIZE mit einem sehr ähnlichen Verhalten. (I822d8)
  • Im Rahmen anderer Material-Komponenten und der Initiativen zum Schreiben haben wir nun standardmäßig für alle Textelemente die Abstände zwischen den Schriftarten deaktiviert. Außerdem wurden AndroidTextStyle und zugehörige 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 Ganzzahlen statt SpProp-Argumente. (I02b37)

Fehlerkorrekturen

  • Lösen Sie eine Ausnahme aus, wenn ein nicht definierter oder nicht erkannter enum-Wert auftritt. (I9d2cf)
  • DynamicTypeBindingRequest refaktorieren. (I27b57)
  • Entwerten Sie das Ergebnis eines Ausdrucks, wenn er einen ungültigen numerischen Wert (NaN oder unendlich) liefert oder einen ArithmeticException auslöst. (I681ae)

Version 1.1.0-alpha03

29. November 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha03 wurde veröffentlicht. Version 1.1.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Experimentelle Unterstützung für das dynamische Ein- und Ausblenden von Layoutelementen hinzufügen (I64a78)
  • Unterstützung für dynamische Werte zu BoolProp hinzufügen (I2fe96)
  • Annotation für Schemaversionsanforderungen zu ProtoLayout APIs hinzufügen (I0f03c)
  • Die API wird mit der neuen Option in TextOverflow zur Ellipse für den Text in einem festen übergeordneten Container erweitert, auch wenn die maximale Anzahl von Zeilen nicht erreicht ist (aber nicht genügend Platz für Text vorhanden ist). (I110a9)
  • Die Hilfsmethode DimensionBuilders.weight zum Erstellen von ExpandedDimensionProp mit Gewichtung wurde hinzugefügt. (I4f72b)
  • DynamicInstant und DynamicDuration können als Datentypen für Status oder Plattform verwendet werden. (I6819f)

API-Änderungen

  • API aktualisieren, um DynamicZonedDateTime auszublenden und alle zugehörigen Vorgänge nach DyanamicInstant zu verschieben (I34b94)
  • Der Abstandhalter unterstützt jetzt die Abmessungen bei Maximierung für Breite/Höhe. (Ie7c94)
  • Unterstützung der Erweiterung des Klickzielbereichs im Renderer (I39c79)

Version 1.1.0-alpha02

15. November 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha02 wurde veröffentlicht. Version 1.1.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Der API wurde das Feld ArcLine StrokeCap Shadow hinzugefügt. (I830ec)
  • Die API wird erweitert, sodass die Breite oder Höhe des Abstands für die Maximierung angegeben werden kann. (I757ca)
  • Wir haben eine experimentelle API hinzugefügt, um die Textgröße basierend auf dem Platz innerhalb des übergeordneten Elements automatisch zu skalieren. (Ibbe63)
  • Unterstützung der klickbaren Mindestgröße (I178e3)
  • Renderer-Unterstützung für StrokeCap Shadow wurde hinzugefügt. (I48b17)
  • Renderer-Unterstützung für „Erledigen“-Gradient in ArcLine wurde hinzugefügt. (I4d5bb)

Version 1.1.0-alpha01

18. Oktober 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha01 wurde veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Arcline wurde eine Pinseloption hinzugefügt, die SweepGradient unterstützt. (Ie7ce3)
  • Die Datums-/Uhrzeitformatierung in Zonen wurde hinzugefügt. (Ibfae0)
  • Es wurden Protos und Java-Wrapper hinzugefügt, die für die Zonenformatierung von Datum und Uhrzeit erforderlich sind. (I97126)
  • Es wurden Getter zum Zurücklesen des in einem DynamicDataValue gespeicherten Werts hinzugefügt. (Ie6cea)
  • Es wurde ein Setter zum Positionieren der Randinhalte in EdgeContentLayout hinzugefügt, damit dieser vor anderen Inhalten positioniert werden kann. (Ie8e8a)

Fehlerkorrekturen

  • Es wurde ein Problem behoben, bei dem ein Ausdruck mit mehreren Zeitregistrierungen von Datenquellen nicht sofort aktualisiert wurde. (I8e1a8)
  • Ein Fehler beim Zentrieren des Stammelements während der Aktualisierung von Unterschieden wurde behoben. (Ie48f7)
  • Nicht festgelegte (oder leere) Werte für die Layoutbeschränkung werden nicht mehr ignoriert. (Ibc785)
  • Reduzierte Verzögerung zwischen der Einblendung 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 wurde veröffentlicht. Version 1.0.0 enthält diese Commits.

Hauptfunktionen von Version 1.0.0

Die ProtoLayout-Bibliothek enthält APIs zum Erstellen von Layouts und Ausdrücken, die auf verschiedenen Wear OS-Oberflächen verwendet werden können. Die Tiles-Bibliothek verwendet diese APIs beispielsweise, um Plattformdatenbindung (zur schnellere Aktualisierung von Kacheldaten) und Animationen zu unterstützen.

Version 1.0.0-rc01

26. Juli 2023

androidx.wear.protolayout:protolayout-*:1.0.0-rc01 wurde veröffentlicht. 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 angegebene Layout. (If7d01)
  • Die Tiefe eines ProtoLayout-Layouts ist auf 30 verschachtelte LayoutElements begrenzt. (I8a74b)

Fehlerkorrekturen

  • Es wurde 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 wurde veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.

Neue Funktionen

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

API-Änderungen

  • PlatformDataReceiver.onData() und StateBuilders.Builder.addKeyToValueMapping akzeptieren jetzt die typsichere Zuordnung von DynamicDataKey zu DynamicDataValue anstelle von unsicheren generischen. Das bedeutet, dass DynamicDataValue jetzt mit seinen DynamicType eingegeben wird. Die HEART_RATE_ACCURACY_X-Konstanten wurden in den Stamm von PlatformHealthSources verschoben, um der Positionierung anderer Android-Konstanten zu entsprechen. Int-Konstanten für 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 jetzt behoben. (Icb849)
  • PlatformTimeUpdateNotifier#setReceiver erhält jetzt Runnable anstelle der Supplier-Funktion und Executor für Benachrichtigungen. (I9d938)
  • Wir haben den Parametertyp in PlatformTimeUpdateNotifier#setReceiver von Callable in Supplier geändert. (I664bf)
  • Für CompactChip und TitleChip kann jetzt ein Symbol hinzugefügt werden. (I5a01e)

Fehlerkorrekturen

  • Aktualisieren Sie Prop-Nachrichten mit dynamischen Feldern, um stattdessen oneof zu verwenden (I81739).
  • Setter-Implementierung bei Überlasten mit Setter wiederverwenden (Ied70c)
  • Fingerabdrücke in Setter mit Überlastung richtig aufzeichnen (I86ed2)

Version 1.0.0-alpha11

7. Juni 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha11 wurde veröffentlicht. Version 1.0.0-alpha11 enthält diese Commits.

Neue Funktionen

  • Für die Genauigkeit der Herzfrequenz wurde ein PlatformDataKey hinzugefügt. (I7f9b8)

API-Änderungen

  • Benennen Sie StateBuilders#getIdToValueMapping in getKeyToValueMapping um und ändern Sie den Rückgabetyp in Map<<AppDataKey<?>,DynamicDataValue>. (Iaa7ae)
  • StateStore als abschließenden Kurs festlegen (I408ca)
  • Die Schnittstelle „TimeGateway“ wurde in der Bibliothek „protolayout-expression-pipeline“ durch „PlatformTimeUpdateNotifier“ ersetzt. Diese Schnittstelle gibt die gewünschte Häufigkeit für die Aktualisierung von Zeitdaten an. (I60869)
  • register/unregisterForData in PlatformDataProvider in set/clearReceiver umbenennen (I14b02)
  • Im Material Text wurde getExcludeFontPadding in hasExcludeFontPadding umbenannt. (Iea01d)
  • Ein Setter für die perfekte Ausrichtung des Labels wurde allen Chipkomponenten hinzugefügt. Auf alle Chips wurde jetzt ein antippbares Mindestziel 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 den Objekttypen, um zu verdeutlichen, warum statische Werte erzwungen werden. Geben Sie den Standardwert an, der verwendet wird, wenn kein statischer Wert angegeben wurde. (I155aa)
  • PlatformDataKey-Namespaces müssen den Java-Stilnamen entsprechen. (I47bda)

Version 1.0.0-alpha10

24. Mai 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha10 wurde veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.

Neue Funktionen

  • Fügen Sie AppDataKey für den Zugriff auf den Push-Zustand der App hinzu. PlatformDataKey für den Zugriff auf Plattformdaten hinzufügen Namespace-Unterstützung in StateStore hinzufügen. (I7985e)
  • Unterstützen Sie Equal- und NotEqual-Vorgänge für DynamicBool. (I6a0c1)

API-Änderungen

  • Kurs FontStyles ist jetzt endgültig (Iaa2ea)
  • LayoutElementBuilders#FontStyles wurde verworfen. Bitte verwende androidx.wear.protolayout.Typography oder erstelle deine eigene FontStyle. (IC929b)
  • Verschachtelte Schnittstelle Action#Builder in der Action-Oberfläche ausblenden. Implementierungen des Builders werden bereits durch die Klassen LoadAction und LaunchAction bereitgestellt. (I1d70c)
  • Verwendung von DynamicFloat mit FloatProp zulassen. Für FloatProp sind keine Layoutbeschränkungen erforderlich, da die Funktion nicht als Vorlage zum Ändern des Layouts verwendet wird. (I286ac)
  • Die Aktionen LoalAction und SetStateAction wurden entfernt, da sie noch nicht unterstützt werden. (I5d6a6)
  • Das ARGB_8888-Format für Inline-Bildressourcen wird jetzt unterstützt. (I8a07c)
  • Benennen Sie StateEntryValue in DynamicDataValue um und aktualisieren Sie die Status-APIs, um DynamicDataKey zu verwenden (If1c01)
  • Wir begrenzen die Anzahl der zulässigen Einträge in der StateStore, um dafür zu sorgen, dass die Arbeitsspeichernutzung und der Zeitpunkt der Statusaktualisierung für jede Instanz von StateStore gut begrenzt und kontrolliert werden können. Daher muss der Entwickler sicherstellen, dass er nicht mehr als MAX_STATE_ENTRY_COUNT Einträge in der Karte hat. Andernfalls erhält er beim Erstellen oder Aktualisieren der StateStore eine IllegalStateException. (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 nicht alle Funktionen in AnimatedVectorDrawable-Ressourcen. Wir kennzeichnen diese APIs als experimentell, bis wir den unterstützten Satz definieren können. (Ic6daf)
  • Es wurden dynamische Typen für die tägliche Strecke, die täglichen Kalorien und die täglichen Etagen hinzugefügt. Schlüssel für Plattformintegritätsquellen sind jetzt unter PlatformHealthSources.Keys (Ib7637)
  • Die Methode Easing.cubicBezier ersetzt die Methode CubicBezierEasing.Builder. Damit wird die Klasse EasingFunction entfernt und die Easing-Konstanten dieser Klasse können jetzt direkt über die Easing-Oberfläche aufgerufen werden. Außerdem wird setInfiniteRepeatable durch INFINITE_REPEATABLE_WITH_RESTART und INFINITE_REPEATABLE_WITH_REVERSE (Ib41e7) ersetzt.
  • Implementiere PlatformDataProvider, um die Herzfrequenz und die täglichen Schritte anzugeben. Die Schnittstelle SensorGateway 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 benötigt wird. (Ib616a)
  • SensorGateway ist nicht mehr Closeable, da sie 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. Ältere Renderer greifen gegebenenfalls auf staticValue zurück, falls sie angegeben wurden, andernfalls auf 0 (I0d91b).
  • Die MultiButtonLayout-Konstanten wurden in die LayoutDefaults.MultiButtonLayoutDefaults-Klasse refaktoriert. Diese enthält jetzt je nach Anzahl der Schaltflächen im Layout die Schaltflächengrößen. (I13973)
  • Unterstützung der Verwendung von StringProp mit DynamicString in Material Text. Diese Option wird für Renderer unterstützt, die Version 1.2 unterstützen. Ältere Renderer greifen auf den bereitgestellten statischen Wert zurück. Der Rückgabetyp „Text#getText“ wurde von „String“ zu „StringProp“ geändert. (I7275b)

Version 1.0.0-alpha09

10. Mai 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha09 wurde veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.

Neue Funktionen

  • Wir haben ein experimentelles Erweiterungs-Layoutelement hinzugefügt. Dies 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 bedingte Instant-Vorgang wird jetzt unterstützt. (I489a7)
  • Unterstützung für Vorgänge mit bedingter Dauer wurde hinzugefügt. (Iab469)
  • Zusätzliche Unterstützung für die Erstellung einer Dauer in Sekunden. (Ib5fa1)

API-Änderungen

  • enable/disablePlatformSource Methoden wurden aus DynamicTypeEvaluator entfernt. Der Aufrufer sollte für Aktualisierungen verantwortlich sein. (I78c6d)
  • Größenbeschränkung der gebundenen Datentypen zulassen. (Ie2966)
  • Unterstützung für Beschreibungen dynamischer Inhalte in protolayout-material hinzufügen. (I62c8e)
  • Verwenden Sie in AnimationParameters long und @IntRange für Dauer und Verzögerung. (I388b6)

Version 1.0.0-alpha08

19. April 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha08 wurde veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.

Neue Funktionen

  • AndroidTextStyle wurde zu LayoutElementBuilders hinzugefügt. (I8d967)
  • In Material Text von ProtoLayout können jetzt auch Einstellungen zum Ausschließen von Schriftabstandsangaben hinzugefügt werden. (I17f5d)
  • ARGB_8888 wird jetzt für Inline-Bilder unterstützt. (I18c1e)
  • DynamicColor unterstützt jetzt den Vorgang onCondition. (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 zu NaN-DynamicFloat-Werten und zur Einschränkung eines DynamicInt32-Werts auf einen DynamicFloat-Wert wird jetzt ein ungültiges dynamisches Ergebnis ausgegeben. (I6ac1e)
  • Für Formatierungstools vom Typ „Int“ und „Float“ wird jetzt das Builder-Muster verwendet. (Ieb213)

Fehlerkorrekturen

  • Statischer 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 anstelle von implementation festgelegt, wenn erforderlich. (I40503)

Version 1.0.0-alpha07

5. April 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha07 wurde veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.

Neue Funktionen

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

API-Änderungen

  • sensorGateway#registerSensorGatewayConsumer verwendet in Consumer den Datentyp als Parameter und nicht als Methode. (Icf314)
  • ObservableStateStore wurde in StateStore umbenannt. (Ieb0e2)
  • DynamicTypeEvaluator.Builder anstelle von Konstruktorargumenten hinzugefügt, um mehr optionale Argumente zu ermöglichen, einschließlich ObservableStateStore, das jetzt standardmäßig einen leeren Speicher enthält. (I6f832)
  • Refaktorierte Reihenfolge der Parameter in DynamicTypeEvaluator. (Ic1ba4)

Fehlerkorrekturen

  • Signale von Plattformsensorquellen werden korrekt an nachgelagerte Knoten weitergegeben (I5a922).

Version 1.0.0-alpha06

22. März 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha06 wurde veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.

Neue Funktionen

  • Eine experimentelle API zur Verwendung von Herzfrequenz und täglichen Schritten in dynamischen Ausdrücken wurde hinzugefügt (Ifd711).
  • Wir haben Unterstützung für Rückwärts- und Vorwärtsverzögerung für Animationen hinzugefügt. (IC25f7)
  • Für Rahmen und Hintergrund werden jetzt DynamicColor unterstützt
  • Für Typen in DimensionBuilder werden jetzt 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 wurde hinzugefügt (Id7281)
  • Der Renderer-Absturz wurde behoben, wenn eine strukturierte Bitmap nicht geladen werden konnte.

Version 1.0.0-alpha05

8. März 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha05 wurde veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.

Neue Funktionen

  • Wir haben eine experimentelle "Inhaltsaktualisierung" an das Modifiers-Objekt übergeben. Diese Animation wird immer dann ausgelöst, wenn sich das Element (mit diesem Modifikator) oder eines seiner untergeordneten Elemente während einer Layout-Aktualisierung ändert. (bd03e5d)

API-Änderungen

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

Fehlerkorrekturen

  • Das Animator-Objekt wird bei nachfolgenden Animationen eines einzelnen Elements wiederverwendet. (Ia3be9)

Version 1.0.0-alpha04

22. Februar 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha04 wurde veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.

Neue Funktionen

  • ObservableStateStore informiert die Listener jetzt darüber, wenn auch ein Schlüssel entfernt wird.
  • Wir haben die Schemaversion und die Schriftgröße des Renderers zu DeviceParameters hinzugefügt. Damit können bedingt Layouts erstellt werden, die auf verschiedene Versionen und Schrifteinstellungen reagieren.
  • Die Animation von DynamicInt32-Werten wird jetzt unterstützt (I05485).
  • Wir haben die Trigger OnLoad und OnConditionalMet hinzugefügt. Sie können verwendet werden, um Animationen zu starten, die einen Trigger unterstützen.
  • Wir haben die Layout-Gewichtung für maximierte Dimensionen und die Mindestgröße für umschlossene Dimensionen hinzugefügt.
  • Wir haben die dynamischen Typen für Dauer und Instant hinzugefügt. Diese können verwendet werden, um einen Zeitpunkt oder eine Dauer in einem dynamischen Ausdruck darzustellen.
  • 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

  • set/getSpec in der Animation der Kacheln in set/getAnimationSpec umbenennen (I3d74b)

Version 1.0.0-alpha03

8. Februar 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha03 wurde veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Wir haben den dynamischen Typen in der protolayout-express-Bibliothek toByteArray() und fromByteArray() hinzugefügt.
  • Wir haben toString() zu den dynamischen Typen in der Bibliothek "protolayout-expression" hinzugefügt.
  • Wir bieten jetzt Unterstützung für die Auswertung von dynamischen Typen. Die Klasse DynamicTypeEvaluator aus der Bibliothek „protolayout-expression-pipeline“ kann verwendet werden, um einen zuvor erstellten dynamischen Typ (DynamicString, DynamicFloat usw.) auszuwerten (und aktualisierte Werte zu erhalten).
  • 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 verwendet, die auf dem animierten Knoten festgelegt wurden, um die Animation zu ersetzen.

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 zu androidx.wear.protolayout:protolayout verschoben. Die in androidx.wear.tiles:tiles werden in einer der nächsten Alphaversionen nicht mehr unterstützt.

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 wurden veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

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