wear protolayout

  
Mit dieser Bibliothek können Sie eine Reihe von UI-Layouts und Nicht-UI-Ausdrücken definieren, die auf Remote-Oberflächen gerendert/ausgewertet werden sollen.
Letzte Aktualisierung Stabile Release Releasekandidat Beta-Release Alpha-Release
14. Januar 2026 1.3.0 - - 1.4.0-alpha04

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 App oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:

Groovy

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

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

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

Kotlin

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

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

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

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

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben, lassen Sie es uns wissen. Bevor Sie ein neues Problem erstellen, sollten Sie sich jedoch die bereits gemeldeten Probleme in dieser Bibliothek ansehen. Wenn Sie sich einer Problemmeldung anschließen möchten, klicken Sie auf die Schaltfläche mit dem Stern.

Neues Problem melden

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.4

Version 1.4.0-alpha04

14. Januar 2026

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

API-Änderungen

  • Wir haben die Material3-Bild-Helper zugunsten neuer Überladungen eingestellt, die ProtoLayoutScope verwenden. Außerdem haben wir das Konzept für die Ressourcenverwaltung verbessert, sodass ImageResource direkt in das Layout eingefügt werden kann. Dadurch ist die onTileResourcesRequest-Methode für die Ressourcenzuordnung nicht mehr erforderlich. Für eine optimale Nutzung empfehlen wir, die Funktion mit androidx.wear.tiles.Material3TileService zu verwenden, die in Wear Tiles 1.6-alpha04 hinzugefügt wurde. (I8198c, b/440376391)

Version 1.4.0-alpha03

17. Dezember 2025

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

Fehlerkorrekturen

  • Der Vergleich von zwei Ressourcentypen zur besseren Ressourcenverwaltung und Leistungssteigerung erfolgt jetzt mit den optimierten Hash- und Equals-Methoden. (82f21b2f)

Version 1.4.0-alpha02

22. Oktober 2025

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

Neue Funktionen

  • Neue Plattform-Ereignisquelle (isInAmbientMode) hinzugefügt, die beschreibt, ob sich das Gerät im Ambient-Modus befindet oder nicht (Ief832)

API-Änderungen

  • Für PendingIntent clickable kann jetzt eine Fallback-Aktion (LoadAction/LaunchAction) angegeben werden, die verwendet wird, wenn PendingIntent vom ProtoLayout-Renderer nicht unterstützt wird. Die Fallback-Aktion wird automatisch ausgewählt und im Layout platziert, wenn die Version des Renderers niedriger ist als die, die PendingIntent unterstützt. (I6eee2, b/450259727)
  • Das Feld protoLayoutScope in MaterialScope ist jetzt NonNull, um die Verwendung zu vereinfachen, wenn MaterialScope über materialScopeWithResources erstellt wird. Außerdem gibt es eine hasProtoLayoutScope-Funktion, mit der Sie prüfen können, ob sie vorhanden ist. (I1858f, b/450067019)

Version 1.4.0-alpha01

24. September 2025

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

Neue Funktionen

  • Es wurde eine Hilfsmethode für LayoutModifier hinzugefügt, mit der ein Element eingeblendet wird, wenn die Kachel sichtbar wird. (I38531, b/390345969)
  • materialScopeWithResources wurde hinzugefügt, um das M3-MaterialScope-Konzept zu unterstützen, das auch die automatische Ressourcenregistrierung umfasst. Darin wurden neue Hilfsmethoden für Bilder (backgroundImage avatarImage und Symbol) hinzugefügt, die die manuelle Registrierung von Ressourcen in onTileResourceRequest überflüssig machen. (I525bd, b/428692714)
  • ProtoLayout Kotlin-Helfer für Image und ImageResources zur Verwendung mit ProtoLayoutScope und zur automatischen Ressourcenregistrierung. (Iada82, b/430584304)
  • Es wurde eine Getter-Methode hinzugefügt, um abzurufen, wie viele Lottie-Properties bei der Anpassung einer Lottie-Animation zulässig sind. (I73733, b/436532706)
  • Es wurde eine API in AndroidLottieResourceByResId hinzugefügt, mit der Lottie-Animationen über Attribute angepasst werden können. Außerdem wurde eine API zum Erstellen eines Attributs für den Theming-Slot mit der Slot-ID für die angegebene Farbe hinzugefügt. (I301b3, b/423581481)
  • Anbieter-APIs zum Akzeptieren von PendingIntent als Klickaktion hinzufügen (I01978, b/433802488)
  • Neue API in Image.Builder – setImageResource hinzugefügt, um das Ressourcenobjekt direkt auf das Bild in onTileRequest festzulegen, ohne es in der Zuordnung in onTileResourcesRequest registrieren zu müssen. (Ifa69a, b/428693523)
  • Das Konzept ProtoLayoutScope wurde hinzugefügt, um die Ressourcenverwaltung in Kacheln zu verbessern. (I132ce, b/428692423)
  • In ProtoLayout Material3 MaterialScope wird das Feld Context jetzt als öffentlich verfügbar gemacht, damit es in Methoden innerhalb des Bereichs verwendet werden kann, ohne dass es übergeben werden muss. (I0e5cc, b/414559956)
  • Semantische APIs für Überschriften öffentlich machen (I75299, b/413653475)
  • ARC_DIRECTION_*-Konstanten als öffentlich für die Verwendung in Arc/ArcLine/ArcText/DashedArcLine verfügbar machen. (I83959, b/427556439)

API-Änderungen

  • Wir haben die Methoden Image.Builder() und Image.Builder.setResourceId zugunsten der neuen API für die automatische Ressourcenregistrierung eingestellt. Diese ist in den APIs Image.Builder(ProtoLayoutScope) und Image.Builder.setImageResource verfügbar und macht das Überschreiben von onTileResourcesRequest überflüssig. (I7bfe6, b/432758526)
  • APIs zum Erstellen von ProtoLayoutScope von „eingeschränkt“ zu „öffentlich“ verschieben. Sie sollten jedoch nicht verwendet werden, da das System diese Aufrufe bereits verarbeitet. (I1d8e8, b/432758251)

Fehlerkorrekturen

  • Implementierung zur Unterstützung von PendingIntent in ProtoTiles hinzufügen (I38167, b/430610429)
  • Die Methode invalidateLayout wurde hinzugefügt. (Ief898)
  • Verschieben des Standard-minSdk von API 21 zu API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
  • ImageResource hat jetzt die Methoden hashCode und equals. (I650ee, b/428692423, b/428693523)
  • Neue Proto-Nachricht PendingIntentAction und zugehörigen Wrapper-Builder (Ie2aca, b/427643502) hinzufügen
  • Die ZoneId-Instanz wird seltener erstellt. (I284d3)
  • Wenden Sie die Standardinhaltsbeschreibung auf den einzelnen Slot textButton an. (I0dc8a, b/415001534)
  • Berechnungen für die Anpassung der maximalen Zeilenanzahl auf der Renderer-Seite korrigieren. (I933bc, b/414353620)

Version 1.3

Version 1.3.0

4. Juni 2025

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

Wichtige Änderungen seit Version 1.2.0

  • Das Material 3-Design kommt auf die Smartwatch und bietet Komponenten und Layouts, die für das runde Display optimiert sind und sich von kleinen bis großen Bildschirmgrößen entsprechend skalieren lassen.
    • Dazu gehört eine reine Kotlin-protolayout-material3-Bibliothek mit Compose-ähnlicheren APIs für die folgenden Komponenten und Funktionen:
    • Dynamisches Farbdesign, das vom System und Zifferblatt mit dem neuesten Material3-Design für Farben, Formen und Typografie stammt
    • MaterialScope für alle voreingestellten Standardwerte und eine einfachere Anpassung
    • iconEdgeButton, textEdgeButton
    • iconButton, textButton, button, imageButton, avatarButton, compactButton
    • titleCard, appCard, graphicDataCard, iconDataCard, textDataCard
    • circularProgressIndicator, segmentedCircularProgressIndicator
    • primaryLayout, buttonGroup
    • Alle Komponenten funktionieren unabhängig von SDK-Ebenen und ProtoLayout-Renderer-Versionen und bieten gegebenenfalls sinnvolle Fallbacks.
  • Kotlin-freundlichere, Compose-ähnliche APIs für grundlegende ProtoLayout-Elemente
    • LayoutModifier mit der Möglichkeit, die meisten Modifikatoren als verkettete Funktionen hinzuzufügen (padding, contentDescription (einschließlich clearSemantics), background, clip, opacity usw.), die in das vorhandene Modifiers-Objekt konvertiert werden können
    • LayoutColors und LayoutString als Typen mit einfacherer Unterstützung für die Verwendung dynamischer Felder und Einschränkungen
    • text und fontStyle
    • Bessere Unterstützung für StateBuilder, einschließlich DynamicDataMap und Factory-Methoden wie intAppDataKey zum einfacheren Erstellen von AppDataKey-Objekten
  • Lottie-Animationen unterstützen die Möglichkeit, verschiedene Trigger für den Start der Animation festzulegen, z. B. wenn das Layout geladen oder sichtbar wird.
    • Verbesserte Unterstützung von Verläufen:
    • Lineare Farbverlaufs-API als Teil von Brush, die in Background-Modifizierern für Elemente wie Box, Spacer usw. verwendet werden kann. …
    • Dynamische Farbwerte in ColorStop für lineare und Sweep-Verläufe zulassen
    • Der vorhandene Sweep-Farbverlauf in Bogenobjekten unterstützt jetzt dynamische Farben sowie Start- und Endwinkel.
  • Plattformdatenbindung in protolayout-expression, um Informationen zu erhalten, wenn sich die Sichtbarkeit des Layouts ändert. Dies kann beispielsweise verwendet werden, um bestimmte Teile des Layouts auszublenden, während die Kachel durch Wischen aufgerufen wird.
  • Die Testbibliothek – protolayout-testing – wurde hinzugefügt, um die Unittest-Abdeckung für alle ProtoLayout-Elemente zu vereinfachen.
  • Neues Element DashedArcLine mit verbesserter Funktionsauswahl, sodass Linien gestrichelt sein können (im Gegensatz zum vorhandenen ArcLine)
  • ArcSpacer unterstützt jetzt das Festlegen der Länge in der DP-Dimension anstelle von Grad.
  • Achse für die Rundung FontSetting für einige Schriftarten hinzugefügt

Version 1.3.0-rc01

20. Mai 2025

androidx.wear.protolayout:protolayout-*:1.3.0-rc01 wird ohne Änderungen gegenüber dem vorherigen Release veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.

Version 1.3.0-beta02

7. Mai 2025

androidx.wear.protolayout:protolayout-*:1.3.0-beta02 ist veröffentlicht. Version 1.3.0-beta02 enthält diese Commits.

Fehlerkorrekturen

  • Wir haben eine wichtige Verbesserung an den Typografiedesignwerten vorgenommen, die ab API 36 angewendet werden. Ab API 36 werden alle Kacheln in der Systemschriftart angezeigt. Diese Änderung sorgt für eine bessere Einheitlichkeit im Kachel-Karussell. (If316f)
  • Die Builder Text, Spacer, ArcLine und DashedArcLine lösen keinen Fehler aus, wenn layoutConstraintsfür dynamische Werte nicht festgelegt ist. Bei älteren Renderern muss layoutConstraints festgelegt werden. Dynamische Werte ohne diese Einstellung werden ignoriert. (Ic52e8)
  • Fügen Sie den Modifier „heading semantics“ hinzu, um anzugeben, dass ein Layoutelement aus Gründen der Barrierefreiheit eine Überschrift für einen Inhaltsabschnitt ist. Markieren Sie den Text im Titelslot von primaryLayout standardmäßig als Überschrift für Barrierefreiheit. (Iae1fb)
  • Die Benutzeroberfläche von primaryLayout wurde optimiert. Auf kleineren Bildschirmen beträgt der Abstand zwischen dem Titelslot und dem Hauptslot jetzt 4 dp statt 6 dp. (I0e056)
  • Wenden Sie die Standardbeschreibung für Inhalte auf textEdgeButton an. (Ifaf8b)
  • Kleinere Aktualisierung des inneren Abstands von avatarButton. (I0910b)

Version 1.3.0-beta01

9. April 2025

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

Neue Funktionen

Die Version 1.3.0-beta01 von Wear ProtoLayout weist darauf hin, dass diese Version der Bibliothek alle Funktionen enthält und die API gesperrt ist (sofern nicht als experimentell gekennzeichnet). Wear ProtoLayout 1.3 umfasst die folgenden neuen Funktionen und APIs:

  • Das Material 3-Design kommt auf die Smartwatch und bietet Komponenten und Layouts, die für das runde Display optimiert sind und sich von kleinen bis großen Bildschirmgrößen entsprechend skalieren lassen.
    • Dazu gehört eine reine Kotlin-protolayout-material3-Bibliothek mit Compose-ähnlicheren APIs für die folgenden Komponenten und Funktionen:
    • Dynamisches Farbdesign, das vom System und Zifferblatt mit dem neuesten Material3-Design für Farben, Formen und Typografie stammt
    • MaterialScope für alle voreingestellten Standardwerte und eine einfachere Anpassung
    • iconEdgeButton, textEdgeButton
    • iconButton, textButton, button, imageButton, avatarButton, compactButton
    • titleCard, appCard, graphicDataCard, iconDataCard, textDataCard
    • circularProgressIndicator, segmentedCircularProgressIndicator
    • primaryLayout, buttonGroup
    • Alle Komponenten funktionieren unabhängig von SDK-Ebene und ProtoLayout Renderer-Version und bieten gegebenenfalls sinnvolle Fallbacks.
  • Kotlin-freundlichere, Compose-ähnliche APIs für grundlegende ProtoLayout-Elemente
    • LayoutModifier mit der Möglichkeit, die meisten Modifikatoren als verkettete Funktionen hinzuzufügen (padding, contentDescription (einschließlich clearSemantics), background, clip, opacity usw.), die in das vorhandene Modifiers-Objekt konvertiert werden können
    • LayoutColors und LayoutString als Typen mit einfacherer Unterstützung für die Verwendung dynamischer Felder und Einschränkungen
    • text und fontStyle
    • Bessere Unterstützung für StateBuilder, einschließlich DynamicDataMap und Factory-Methoden wie intAppDataKey zum einfacheren Erstellen von AppDataKey-Objekten
  • Lottie-Animationen unterstützen die Möglichkeit, verschiedene Trigger für den Start der Animation festzulegen, z. B. wenn das Layout geladen oder sichtbar wird.
    • Verbesserte Unterstützung von Verläufen:
    • Lineare Farbverlaufs-API als Teil von Brush, die in Background-Modifizierern für Elemente wie Box, Spacer usw. verwendet werden kann. …
    • Dynamische Farbwerte in ColorStop für lineare und Sweep-Verläufe zulassen
    • Der vorhandene Sweep-Farbverlauf in Bogenobjekten unterstützt jetzt dynamische Farben sowie Start- und Endwinkel.
  • Plattformdatenbindung in protolayout-expression, um Informationen zu erhalten, wenn sich die Sichtbarkeit des Layouts ändert. Dies kann beispielsweise verwendet werden, um bestimmte Teile des Layouts auszublenden, während die Kachel durch Wischen aufgerufen wird.
  • Die Testbibliothek – protolayout-testing – wurde hinzugefügt, um die Unittest-Abdeckung für alle ProtoLayout-Elemente zu vereinfachen.
  • Neues Element DashedArcLine mit verbesserter Funktionsauswahl, sodass Linien gestrichelt sein können (im Gegensatz zum vorhandenen ArcLine)
  • ArcSpacer unterstützt jetzt das Festlegen der Länge in der DP-Dimension anstelle von Grad.
  • Achse für die Rundung FontSetting für einige Schriftarten hinzugefügt

Version 1.3.0-alpha10

12. März 2025

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

Neue Funktionen

  • Hilfe für „Brush“ im Kotlin-Hintergrundmodifikator hinzugefügt. (I995de)
  • Das obligatorische Android-Kontextfeld wurde in MaterialScope öffentlich gemacht, um die Verwendung in Entwicklerfunktionen zu erleichtern, die Komponenten für Material3-Kacheln erstellen. (I7df73)

API-Änderungen

  • Benennen Sie die API platformVisibilityStatus in PlatformEventSources.isLayoutVisible um und fügen Sie eine neue experimentelle API PlatformEventSources.isLayoutUpdatePending hinzu. (Ie1e04)

Fehlerkorrekturen

  • Die Ränder für primaryLayout werden jetzt richtig aufgerundet. Das kann sich auf einige Layouts auswirken, bei denen für den Haupt-Slot bis zu 2 dp weniger Platz zur Verfügung stehen. (I8f5d3)
  • Klarstellung des dynamischen Standardfarbdesigns in ProtoLayout Material3-Komponenten. (Iff5f3)
  • Typography.NUMERAL_*-Typografien sind nicht mehr standardmäßig tabellarisch/Monospace. Wenn Text animiert wird, empfehlen wir dringend, die Einstellung FontSetting.tabularNum() hinzuzufügen. In allen anderen Fällen ist diese Option nicht erforderlich und es stehen mehr Zeichen zur Verfügung, wenn sie nicht verwendet wird. (Id3cd9)
  • Klarstellung des dynamischen Standardfarbdesigns in ProtoLayout Material3-Komponenten. (I9d831)

Version 1.3.0-alpha09

26. Februar 2025

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

Neue Funktionen

  • Experimentelle Modifikatoren für enterTransition und exitTransition hinzugefügt (I4a4d6)
  • Wir haben eine zusätzliche Plattformbindung hinzugefügt, um den Sichtbarkeitsstatus des vollständigen Layouts zu erhalten, wenn er sich ändert. (I250c3)
  • Das Einfügen von Test-App-Status und Plattformdaten in LayoutElementAssertionsProvider zum Auswerten dynamischer Werte ist zulässig. (Ib5fcb)
  • Eckfilter zur Protolayout-Testbibliothek hinzufügen (Ie2361)
  • ButtonColors, CardColors und ProgressIndicatorColors unterstützen jetzt die Kopiermethode mit optionaler Überschreibung einiger Parameter. (Ie2054)

API-Änderungen

  • Unterstützung für dynamische Datenbindung in der Testbibliothek (Ib98de) hinzufügen
  • Fehler bei der Verwendung von imageButton mit der Funktion backgroundImage behoben, indem das Overlay entfernt wurde. Außerdem wird die Funktion backgroundImage eingeführt, mit der „null“ für die Overlay-Farbe angegeben werden kann. In diesem Fall wird kein Overlay angewendet. (Ibec3c)

Fehlerkorrekturen

  • Die Standardmethode hasValueOfType löst jetzt UnsupportedOperationException anstelle von IllegalArgumentException aus. (Ia36c3)
  • Die Standardwerte für Farb-Tokens wurden aktualisiert, um der neuesten Spezifikation zu entsprechen. (I75d44)
  • Es wurden Fehler im Zusammenhang mit Aliasing behoben, die bei Bogenlinien im AndroidX-Kachel-Renderer sichtbar waren. (I88190)

Version 1.3.0-alpha08

12. Februar 2025

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

Neue Funktionen

  • Fügen Sie den Listenparameter FontSetting für Material3-Text hinzu. (Ic102d)
  • Die Klasse DynamicDataMap wurde hinzugefügt, die jetzt StateBuilder unterstützt, um eine typsichere Kotlin API für App-Status zu ermöglichen (I012ba).
  • Es wurden Factory-Methoden wie intAppDataKey hinzugefügt, um die Erstellung von AppDataKey-Objekten zu vereinfachen (Icea2a).
  • DynamicDataValue hat jetzt zusätzlich zu den hasInt/hasColor/-Methoden (I4f7a6) eine hasValueOfType(Class<?>)-Methode.
  • Wir haben errorDim zum Material3-ProtoLayout ColorScheme für Fehler mit hoher Priorität oder Notfallmaßnahmen wie Sicherheitswarnungen hinzugefügt. (Ia17bb)
  • Wir haben einen Schutz gegen Abstürze beim Zugriff auf die globale Einstellung „Bewegung reduzieren“ hinzugefügt, die auf einigen Plattformen ausgelöst wurde, auf denen diese Einstellung nicht verfügbar war. (I01e2c)

API-Änderungen

  • addKeyToValueMapping wurde in addToStateMap umbenannt und die Methoden DynamicDataMap.put wurden entfernt, da sie redundant waren. (Ibe9dd)
  • Material3-Schriftarten unterstützen jetzt die Achse für die Rundungsvariable für Systemschriftarten, die diese Achse unterstützen. ProtoLayout FontSetting unterstützt die Achse „Rundung“ für Schriftarten, die diese Achse unterstützen. (I33eb5)
  • multilineAlignment wurde in der Material3-Textmethode in „alignment“ umbenannt. (I2b66b)
  • Aktualisieren Sie die kreisförmige Fortschrittsanzeige auf den Typ „Box“ und geben Sie auch mainContent in constructGraphic als Typ „Box“ (I5a3dc) an.
  • Bessere Unterstützung für die Verwendung von kreisförmigen Fortschrittsanzeigen in Diagrammen (I039db)

Fehlerkorrekturen

  • Dynamische Werte in ColorStop und auch für Start- und Endwinkel in SweepGradient zulassen. (I0146d)
  • Docs-Korrekturen (I4a63a)
  • Die Material 3-Komponenten graphicCard und avatarButton wurden aktualisiert, um einen Fallback bereitzustellen, wenn die weight-Erweiterungsdimension nicht unterstützt wird (z.B. unter API 33). Die Textkomponente wurde aktualisiert, sodass sie auf TEXT_OVERFLOW_ELLIPSIZE_END zurückgreift, wenn TEXT_OVERFLOW_ELLIPSIZE vom Renderer nicht unterstützt wird. (I19e2c)
  • Dokumente für PrimaryLayoutMargins aktualisieren (Ibaf7b)

Version 1.3.0-alpha07

29. Januar 2025

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

Neue Funktionen

  • Es wurde eine API-Option hinzugefügt, mit der sich verschiedene Trigger für Lottie-Animationen festlegen lassen. Außerdem wurde eine API für Trigger hinzugefügt, die ausgelöst werden, wenn das Layout sichtbar ist (I8272d).
  • Die Modifikatoren border, visibility und opacity wurden hinzugefügt. (I6d3dd)
  • Der ProtoLayout Material3-Komponente wurde eine Avatarschaltfläche hinzugefügt. (Idb5ae)
  • In Material3 primaryLayout können jetzt Ränder (seitlich und in einigen Fällen unten) angepasst werden. (Ib22f6)
  • Fügen Sie die segmentierte Variante der kreisförmigen Fortschrittsanzeige hinzu. (I6a648)
  • ProtoLayout Material3 wurde eine kompakte Schaltflächenkomponente hinzugefügt. (Ia3c5c)
  • ProtoLayout Material3 wurden Komponenten für pillenförmige Schaltflächen und Bildschaltflächen hinzugefügt. (Ifb88a)

API-Änderungen

  • LayoutModfier.foldIn heißt jetzt foldRight, um das erwartete Verhalten besser widerzuspiegeln (Idf242)
  • Der VisibleOnce-Trigger befindet sich derzeit in der Testphase. (Ib2d26)
  • Entfernen Sie withOpacity aus der öffentlichen API, da es eine Alternative in der Grafikbibliothek gibt. (I030c2)
  • Die Methoden der obersten Ebene in LayoutString.kt und LayoutColor.kt wurden umbenannt, um Java-kompatible Namen zu erhalten. (I7aff0)
  • Nicht-ProtoLayout-Typografien in Material3 entfernt. (Idd9ae)
  • Fügen Sie Feldern in *Colors-Klassen in Material3 das Suffix „Color“ hinzu. (I2d114)

Fehlerkorrekturen

  • Füge eine EdgeButton-Fallback-Implementierung für ältere Renderer ohne Unterstützung für asymmetrische Ecken hinzu. (I63364)
  • Füge eine Fallback-Implementierung der kreisförmigen Fortschrittsanzeige mit dem alten Renderer hinzu. (I0f134)

Version 1.3.0-alpha06

15. Januar 2025

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

Neue Funktionen

  • LayoutColor zur Unterstützung von statischen und dynamischen Farbtypen (I4c89b)
  • Die Komponente ProtoLayout Material3 textButton wurde hinzugefügt. (Id680d)
  • Fügen Sie die iconButton-ProtoLayout-Material3-Komponente hinzu. (Ica3f0)
  • Die ProtoLayout-Containerkomponente für Material3-Schaltflächen wurde hinzugefügt. (I17a38)
  • Unterstützung für verkettbare semantische Modifizierer für protolayout-material3 hinzugefügt (I4af62)
  • ProtoLayout Material3-Einzelsegment CircularProgressIndicator wurde hinzugefügt. (I2c8a2)
  • Die Modifikatoren padding und metadata wurden hinzugefügt. (I8720a)
  • Die Modifikatoren background,clip und clickable wurden hinzugefügt. (I35478)
  • Fügen Sie LinearGradient zu „Pinsel“ hinzu und erlauben Sie die Verwendung im Hintergrundmodifikator. (Ic4dea)
  • Fügen Sie die Größe „Klein“ für „appCard“ und titleCard hinzu. (I91f98)
  • Die Material3-Komponente graphicDataCard für ProtoLayout wurde hinzugefügt. (I92be7)
  • Die Material3-Komponenten iconDataCard und textDataCard wurden für ProtoLayout hinzugefügt. (I4e1e4)
  • Die Material3-Komponente appCard für ProtoLayout wurde hinzugefügt. (Id4c57)
  • Fasse EdgeButtonColors in ButtonColors zusammen. (I83624)
  • Die Material3-Komponente titleCard für ProtoLayout wurde hinzugefügt. (I2dc72)

API-Änderungen

  • Die ProtoLayout Material3 API akzeptiert jetzt LayoutString, um sowohl statische als auch dynamische Texte zu unterstützen. (I9c24a)

Fehlerkorrekturen

  • Renderer-Implementierung zum Aufblähen von DashedArcLine (I0c700) hinzufügen
  • Renderer-Änderung, damit ArcSpacer die Länge in Gerätepixeln übernehmen kann. (I1437b)

Version 1.3.0-alpha05

11. Dezember 2024

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

Neue Funktionen

  • LayoutString wurde hinzugefügt, um bindungsfähige Layoutstring-Felder zu unterstützen. (Ida650)
  • Die ProtoLayout Material3-Kartencontainerkomponente wurde hinzugefügt. (Ic985a)

Fehlerkorrekturen

  • In dieser Bibliothek werden jetzt JSpecify-Annotationen für Nullsicherheit verwendet, die typbezogen sind. Kotlin-Entwickler sollten das folgende Compiler-Argument verwenden, um die korrekte Verwendung zu erzwingen: -Xjspecify-annotations=strict (dies ist die Standardeinstellung ab Version 2.1.0 des Kotlin-Compilers). (Id1f9b, b/326456246)

Version 1.3.0-alpha04

13. November 2024

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

Neue Funktionen

  • Die Material3-Form wurde aktualisiert und ist jetzt eine Klasse mit Feldern, die den tatsächlichen Corner-Wert enthalten, genau wie in Wear Compose. (Ied8cd)
  • Die Material3-Farben wurden aktualisiert, um das ColorScheme-Konzept einzuschließen, wie in Wear Compose. (If645e)
  • Der Testbibliothek werden mehrere häufig verwendete Matcher hinzugefügt. (Ie5cec)

Version 1.3.0-alpha03

30. Oktober 2024

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

Neue Funktionen

  • Fügen Sie der Testbibliothek LayoutElementAssertionsProvider, LayoutElementAssertion und LayoutElementMatcher hinzu (Id1110).

Version 1.3.0-alpha02

16. Oktober 2024

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

Neue Funktionen

  • Erste Version der Material 3-Bibliothek. Enthält die Komponenten text, edgeButton, buttonGroup und primaryLayout.

Behebung von Sicherheitsproblemen

  • Seit dieser Änderung wird androidx mit protobuf 4.28.2 kompiliert, um CVE-2024-7254 zu beheben. Aktualisieren Sie Ihre Abhängigkeit von Version 1.3.0-alpha01 von androidx.wear.protolayout:protolayout-proto und androidx.wear.protolayout:protolayout-external-protobuf auf Version 1.3.0-alpha02, um das Sicherheitsrisiko zu beheben.

Externer Beitrag

Version 1.3.0-alpha01

2. Oktober 2024

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

Fehlerkorrekturen

  • Es wurde klargestellt, dass die Verfügbarkeit der Schriftfamiliennamen „Roboto“ und „Roboto Flex“ vom Gerät abhängt. (I193be)
  • Die Schriftfamilie „Roboto Flex“ wurde im AndroidX Tile-Renderer aktiviert. (I08e94)

Version 1.2

Version 1.2.1

16. Oktober 2024

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

Behebung von Sicherheitsproblemen

  • Seit dieser Änderung wird androidx mit protobuf 4.28.2 kompiliert, um CVE-2024-7254 zu beheben. Aktualisieren Sie Ihre Abhängigkeit von Version 1.2.0 von androidx.wear.protolayout:protolayout-proto und androidx.wear.protolayout:protolayout-external-protobuf auf Version 1.2.1, um das Sicherheitsrisiko zu beheben.

Version 1.2.0

7. August 2024

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

Wichtige Änderungen seit Version 1.1.0

  • FontStyle wurde aktualisiert und bietet jetzt zusätzliche Unterstützung für variable Achsen und eine bessere API zur Auswahl von Schriftarten, um zukünftige Flex-Schriftarten zu unterstützen.
  • Unterstützung für zusätzliche Modifikatoren:
    • Transformationsmodifikator für Übersetzung, Drehung und Skalierung mit oder ohne Animationen.
    • Sie können für jeden Eckenradius unterschiedliche Werte (horizontal und vertikal) angeben.
  • Die Barrierefreiheit aller Berührungsziele wurde verbessert, indem der berührbare Bereich aller Elemente, die den Clickable-Modifikator verwenden, auf mindestens 48dp × 48dp erweitert wurde.
  • Wir haben PrimaryLayout und EdgeContentLayout verbessert, indem wir setResponsiveContentInsetEnabled hinzugefügt haben. So wird das responsive Verhalten dieser Layouts auf verschiedenen Bildschirmgrößen besser unterstützt und die Konsistenz von Kacheln verbessert.
  • Verbesserte Skalierung/Nicht-Skalierung des Material-Texts für die nicht lineare Schriftgrößenskalierung von Android 14.
  • Verbesserte Unterstützung für die RTL-Layoutrichtung für alle Bogenelemente.

Weitere Änderungen

Version 1.2.0-rc01

24. Juli 2024

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

Fehlerkorrekturen

  • Wir haben den Standard-Material-Chip so korrigiert, dass er nur als Symbol verwendet werden kann, wenn keines der primären oder sekundären Labels übergeben wird. (Iceef9)
  • Die Dokumentation für Material-Layouts wurde aktualisiert und enthält jetzt Abbildungen von der entsprechenden Seite, um das Verständnis der Layouts zu erleichtern. (I0256a)

Version 1.2.0-beta01

10. Juli 2024

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

Neue Funktionen

Die Version 1.2.0-beta01 von Wear ProtoLayout weist darauf hin, dass diese Version der Bibliothek alle Funktionen enthält und die API gesperrt ist (sofern nicht als experimentell gekennzeichnet). Wear ProtoLayout 1.2 umfasst die folgenden neuen Funktionen und APIs:

  • FontStyle wurde aktualisiert und bietet jetzt zusätzliche Schriftarten:
    • Festlegen verschiedener Schriftvarianteneinstellungen wie FontSetting.weight und FontSetting.width
    • Für alle numerischen Zeichen dieselbe Breite festlegen – Tabellenziffern (FontSetting.tnum-Schriftfunktion)
    • Die APIs zur Schriftartauswahl wurden verbessert, um die anstehenden flexiblen Schriftarten zu unterstützen. Dazu können bevorzugte Schriftfamiliennamen angegeben werden.
  • Der Modifikator Corner wurde erweitert, sodass für jedes CornerRadius separate horizontale und vertikale Werte angegeben werden können. So lassen sich Elemente mit asymmetrischen Ecken erstellen.
  • Es wurde ein neuer Transformation-Modifikator hinzugefügt, mit dem LayoutElement übersetzt, gedreht und skaliert werden kann. Diese Transformationen können mithilfe dynamischer Werte animiert werden.
  • Allen Bogenelementen (Arc, ArcLine und ArcText) wurde setArcDirection mit den Optionen Clockwise, CounterClockwise und Normal hinzugefügt, um verschiedene Layoutrichtungen (z. B. LTR und RTL) besser zu unterstützen.
  • Die Barrierefreiheit aller Berührungsziele wurde verbessert, indem der berührbare Bereich aller Elemente, die den Clickable-Modifikator verwenden, auf mindestens 48dp × 48dp erweitert wurde.
  • Wir haben PrimaryLayout und EdgeContentLayout verbessert, indem wir setResponsiveContentInsetEnabled hinzugefügt haben. So wird das responsive Verhalten dieser Layouts auf verschiedenen Bildschirmgrößen besser unterstützt und die Konsistenz von Kacheln verbessert. Es wurde eine Linter-Warnung hinzugefügt, um die Verwendung dieser APIs mit einem Quick Fix vorzuschlagen.
  • Verbesserte Skalierung/Nichtskalierung des Materials Text für die nicht lineare Schriftgrößenskalierung von Android 14.

API-Änderungen

  • Der Standardname der Schriftfamilie (DEFAULT_SYSTEM_FONT) wird entfernt, da er impliziert wird, wenn die preferredFontFamilies API nicht verwendet 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 ist veröffentlicht. Version 1.2.0-alpha05 enthält diese Commits.

Neue Funktionen

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

API-Änderungen

  • FontFamily-Konstanten werden in FontStyle anstelle der Builder-Klasse verschoben. (I06ced)
  • Aktualisieren Sie die FontSetting.weight- und FontSetting.width-API, um Bereichsanmerkungen einzuschließen und den Parameter „weight“ in „int“ zu ändern. (Ia726c)

Fehlerkorrekturen

  • Nicht skalierbare Texte in der Material-Bibliothek funktionieren jetzt korrekt mit der nicht linearen Schriftgrößenskalierung von Android 14. (I6601e)

Version 1.2.0-alpha04

29. Mai 2024

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

API-Änderungen

  • Die API für asymmetrische Ecken wurde hinzugefügt, damit der Radius jeder Ecke mit zwei Werten separat angegeben werden kann. (Icbd69)
  • Die FontSetting API wurde um Folgendes erweitert:
    • Schriftartfunktionseinstellung, z. B. Festlegen der Schriftart als tabellarisch. (If12b7)
    • Einstellung für Schriftvariationen, z. B. Festlegen einer benutzerdefinierten Breite für variable Schriftarten. (I2b36d)
  • Die Schriftfamilien-API wurde FontStyle hinzugefügt, damit eine geordnete Liste der zu verwendenden Schriftfamilien angegeben werden kann. (Iba9f5)
  • Konstanten für die Höhe des Abstands zwischen Inhalt und sekundärem Label in LayoutDefaults von Material wurden umbenannt. Sie hatten ursprünglich das Präfix „Edge content“, um allgemeiner zu sein, da sie sowohl auf PrimaryLayout als auch auf EdgeContentLayout angewendet werden können. (I4dc32)

Fehlerkorrekturen

  • Die Benennung für Achsen von Schriftarten mit variabler Breite wurde von axisName in axisTag geändert. (I02ba3)

Version 1.2.0-alpha03

14. Mai 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha03 ist 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 aufgrund einer leeren Zielkarte. (I2accf)

Version 1.2.0-alpha02

1. Mai 2024

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

API-Änderungen

  • Wir haben die Möglichkeit hinzugefügt, das Ripple-Feedback für einzelne klickbare Elemente zu deaktivieren. (If1ede)
  • Die API für die Transformation wurde aus ArcModifiers entfernt, da sie diese Funktion nicht unterstützen (Ic0827).
  • Der ArcDirectionProp-Builder erwartet jetzt einen Wert im Konstruktor. (I76ada)
  • Mit der Methode PlatformDataValues.Builder.putAll können Sie eine PlatformDataValue in eine andere zusammenführen. (I50ba3)
  • Text#setIsScalable wird in Text#setScalable umbenannt. (If920e)
  • Mit Material Text kann festgelegt werden, ob eine skalierbare Größe verwendet werden soll (wird größer, wenn die Schriftgröße des Nutzers geändert wird). (Ibc849)
  • Wir haben die Option hinzugefügt, die Inhaltsbeschreibung auf TitleChip festzulegen. (I5d21f)
  • CompactChip wurde korrigiert, damit es korrekt mit dem Symbol funktioniert. Außerdem wurde die API aktualisiert, damit diese Option möglich ist. (I6589e)

Fehlerkorrekturen

  • Es wurde ein Problem behoben, das während der Initialisierung zu potenziell doppelten Plattformdaten führen konnte. (Iba0fd)
  • Führen Sie einen neuen Getter in DynamicDataNode ein, um die Knotenkosten abzurufen. Die Kosten werden beim Erwerb von Kontingent für dynamische Knoten verwendet. Derzeit haben Knoten mit festen Werten Kosten von 0, alle anderen Knoten haben Kosten von 1. (Ia33e1)
  • Entfernen Sie die Zähllogik aus dem NO_OP_QUOTA_MANAGER. (Ib50b8)
  • Wir haben eine Lint-Regel hinzugefügt, um eine Warnung auszugeben, wenn PrimaryLayout ohne setResponsiveContentInsetEnabled verwendet wird, und eine schnelle Korrektur anzubieten. (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 ist veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.

Neue Funktionen

  • ProtoLayout Arc-Elementen kann jetzt ArcDirection (Clockwise, Counterclockwise oder Normal) hinzugefügt werden. Wenn Sie dieses Verhalten Arc, ArcLine oder ArcText hinzufügen, wird das Verhalten in RTL-Layouts korrigiert. (I90699)
  • EdgeContentLayout wurde mit einem neuen setResponsiveContentInsetEnabled-Setter aktualisiert, um eine bessere Übereinstimmung mit den UX-Richtlinien zu erreichen. Außerdem wurde die Konsistenz bei Kacheln verbessert, indem das primäre Label oben an einer festen Position platziert und ein responsiver Inset für Labels verwendet wird. (I60175)
  • Wir haben PrimaryLayout.setResponsiveContentInsetEnabled hinzugefügt, um in diesem Layout einen responsiven Einzug für das primäre Label, das sekundäre Label und den unteren Chip zu ermöglichen. So wird verhindert, dass Inhalte vom Bildschirmrand verschwinden. (I0c457)
  • Es wurde eine Methode zum Entfernen der äußeren Ränder aus CircularProgressIndicator hinzugefügt, damit sie als kleinere Komponente verwendet werden kann. (I55c06)

API-Änderungen

  • Beim Rendern von Tiles wird jetzt standardmäßig kein Schriftarten-Padding für alle Textelemente verwendet. Es gibt auch keine Option, es einzuschließen. (I3e300)

Fehlerkorrekturen

  • Ein Problem mit der Textausrichtung wurde behoben, das auftrat, wenn für Text die Funktionen „Ellipsize“, „Letter Spacing“ und „Center Align“ gleichzeitig verwendet wurden. (I716c7)
  • Es wurde eine Problemumgehung für ein Problem beim Zeichnen von Skia-Bögen hinzugefügt. (I08f09)
  • Die Zeichenrichtung für ArcLine in RTL-Layouts wurde korrigiert. (I6c141)

Version 1.1

Version 1.1.0

7. Februar 2024

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

Wichtige Änderungen seit Version 1.0.0

  • Unterstützung von Verläufen und bessere Darstellung von Längen über 360 Grad in ArcLine.
  • Die Datums-/Uhrzeitformatierung unterstützt verschiedene Zeitzonen für dynamische Datentypen.
  • Verbesserte Optionen für die automatische Anpassung der Textgröße und das Auslassen von Text, um mit abgeschnittenem Text umzugehen.
  • Das Spacer-Element unterstützt erweiterte Dimensionen mit optionalem Gewicht.
  • Anmerkung zur Anforderung der Schemaversion für alle ProtoLayout-APIs.
  • Der Berührungszielbereich für alle Clickable-Elemente wurde auf 48 dp × 48 dp erweitert, um die Anforderungen an die Barrierefreiheit zu erfüllen.
  • Die Schriftartauffüllung ist standardmäßig deaktiviert und das einzige Verhalten für alle Textelemente und Material-Komponenten, die Text enthalten.

Weitere Änderungen

Version 1.1.0-rc01

24. Januar 2024

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

Fehlerkorrekturen

  • PlatformTimeUpdateNotifierImpl wird unmittelbar nach der Aktivierung des Updates erhöht. (I77145)
  • CircularProgressIndicator wurde für linksläufige Layouts korrigiert. Ab sofort wird die Reihenfolge immer im Uhrzeigersinn angezeigt. (I95ee3)
  • Es wurde eine Problemumgehung für ein Problem beim Zeichnen von Skia-Bögen hinzugefügt. (I08f09)

Version 1.1.0-beta01

10. Januar 2024

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

Neue Funktionen

Die Version 1.1.0-beta01 von Wear ProtoLayout weist darauf hin, dass diese Version der Bibliothek alle Funktionen enthält und die API gesperrt ist (sofern nicht als experimentell gekennzeichnet). Wear ProtoLayout 1.1 umfasst die folgenden neuen Funktionen und APIs:

  • ArcLine unterstützt jetzt Verläufe. Dazu wird Brush mit SweepGradient hinzugefügt und die Kappe erhält einen Schatten, um Längen über 360 Grad besser darzustellen. Dazu wird Shadow zum vorhandenen StrokeCap hinzugefügt.
  • DynamicInstant unterstützt die Formatierung von Datums- und Zeitangaben mit Zeitzonen. DynamicInstant und DynamicDuration können als Status- oder Plattformdatentypen verwendet werden.
  • Autosizing-Funktion für die Textgröße, mit der mehrere Größen auf FontStyle.setSizes festgelegt werden können. Die Textgröße wird dann automatisch an den verfügbaren Platz im übergeordneten Element angepasst. Außerdem haben wir die Optionen zum Auslassen von Text, der überläuft, verbessert, indem wir TEXT_OVERFLOW_ELLIPSIZE hinzugefügt und TEXT_OVERFLOW_ELLIPSIZE_END eingestellt haben.
  • Spacer unterstützt jetzt erweiterte Dimensionen mit optionalem Gewicht. Für die Erstellung von ExpandedDimensionProp haben wir die Hilfsmethode DimensionBuilders.weight hinzugefügt.
  • Unterstützung für das dynamische Ein- und Ausblenden von Layoutelementen mit Modifier.visible. Dazu gehören auch dynamische Werte in BoolProp.
  • Alle ProtoLayout APIs haben jetzt eine Anmerkung zur erforderlichen Schemaversion. Die Version kann geprüft werden, bevor eine neuere API aufgerufen wird.
  • Bei allen Elementen mit Clickable wurde der Zielbereich im Renderer auf mindestens 48 × 48 erweitert, um die Anforderungen an die Barrierefreiheit besser zu erfüllen.
  • Nach anderen Material-Komponenten und Compose-Initiativen haben wir das Schriftarten-Padding jetzt standardmäßig für alle Text-Elemente deaktiviert. Außerdem wurden AndroidTextStyle und zugehörige Setter aus der öffentlichen API entfernt. mit den folgenden Fehlerkorrekturen:
  • Es wurde ein Setter zum Positionieren des Edge-Inhalts in EdgeContentLayout hinzugefügt, damit er vor anderen Inhalten positioniert werden kann.
  • Es wird immer eine Ausnahme ausgelöst, wenn ein unbekannter Enum-Wert gefunden wird.
  • Das Ergebnis eines Ausdrucks wird ungültig, wenn es einen ungültigen numerischen Wert (NaN oder unendlich) ergibt oder eine ArithmeticException auslöst.

API-Änderungen

  • Die SweepGradient API wurde aktualisiert, sodass im Konstruktor entweder Farben oder ColorStops akzeptiert werden können. (I6676f)

Fehlerkorrekturen

  • Es wurde eine eingeschränkte API und Renderer-Unterstützung zum Festlegen einer Richtung hinzugefügt, in der Bogenelemente gezeichnet werden. (Idef5a)
  • Wenn RoundMode nicht angegeben ist, wird in FloatToInt32Node der Standardwert Floor verwendet. Der Knoten löst weiterhin 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 ist veröffentlicht. Version 1.1.0-alpha04 enthält diese Commits.

Neue Funktionen

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

API-Änderungen

  • Die Option für Textüberlauf TEXT_OVERFLOW_ELLIPSIZE_END wurde eingestellt. Verwenden Sie die neue API TEXT_OVERFLOW_ELLIPSIZE, die sich sehr ähnlich verhält. (I822d8)
  • Nach anderen Material-Komponenten und Compose-Initiativen haben wir das Schriftart-Padding jetzt standardmäßig für alle Textelemente deaktiviert. Außerdem wurden AndroidTextStyle und zugehörige Setter aus der öffentlichen API entfernt. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3)
  • Modifier.hidden wurde durch Modifier.visible ersetzt (I56902)
  • FontStyle#setSizes akzeptiert jetzt „int“- anstelle von SpProp-Argumenten. (I02b37)

Fehlerkorrekturen

  • Löst eine Ausnahme aus, wenn ein nicht definierter oder nicht erkannter Enum-Wert gefunden wird. (I9d2cf)
  • Refaktoriere DynamicTypeBindingRequest. (I27b57)
  • Das Ergebnis eines Ausdrucks wird ungültig, wenn es einen ungültigen numerischen Wert (NaN oder unendlich) ergibt oder eine ArithmeticException auslöst. (I681ae)

Version 1.1.0-alpha03

29. November 2023

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

Neue Funktionen

  • Testunterstützung für das dynamische Ein- und Ausblenden von Layoutelementen hinzugefügt (I64a78)
  • Unterstützung dynamischer Werte für BoolProp hinzufügen (I2fe96)
  • Annotation für erforderliche Schemaversion für ProtoLayout-APIs hinzugefügt (I0f03c)
  • Die API wird mit der neuen Option in TextOverflow erweitert, um den Text in einem Container mit fester Größe zu kürzen, auch wenn die maximale Anzahl von Zeilen nicht erreicht ist, aber nicht genügend Platz für den Text vorhanden ist. (I110a9)
  • Die Hilfsmethode DimensionBuilders.weight zum Erstellen von ExpandedDimensionProp mit Gewicht 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 zu DyanamicInstant zu verschieben (I34b94)
  • Für das Spacer-Element wird jetzt die erweiterte Dimension für Breite/Höhe unterstützt. (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 ist 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, damit die Breite oder Höhe des Spacers angegeben werden kann, die erweitert werden soll. (I757ca)
  • Wir haben eine experimentelle API hinzugefügt, mit der die Textgröße automatisch an den verfügbaren Platz im übergeordneten Element angepasst wird. (Ibbe63)
  • Unterstützung der Mindestgröße für klickbare Elemente (I178e3)
  • Unterstützung für Renderer für StrokeCap Shadow hinzugefügt. (I48b17)
  • Renderer-Unterstützung für Sweep Gradient in ArcLine hinzugefügt. (I4d5bb)

Version 1.1.0-alpha01

18. Oktober 2023

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

Neue Funktionen

  • Arcline wurde um eine Pinseloption erweitert, die SweepGradient unterstützt. (Ie7ce3)
  • Unterstützung für die Formatierung von zonenbezogenen Datums- und Zeitangaben wurde hinzugefügt. (Ibfae0)
  • Es wurden Protos und Java-Wrapper hinzugefügt, die für die Formatierung von Datums- und Uhrzeitangaben mit Zeitzone erforderlich sind. (I97126)
  • Getter zum Lesen des in einem DynamicDataValue gespeicherten Werts hinzugefügt. (Ie6cea)
  • Es wurde ein Setter zum Positionieren des Edge-Inhalts in EdgeContentLayout hinzugefügt, damit er vor anderen Inhalten positioniert werden kann. (Ie8e8a)

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem ein Ausdruck mit mehreren Registrierungen von Zeitdatenquellen nicht sofort aktualisiert wurde. (I8e1a8)
  • Ein Fehler wurde behoben, durch den das Stammelement bei Differenzaktualisierungen zentriert wurde. (Ie48f7)
  • Nicht festgelegte (oder leere) Werte für Layoutbeschränkungen werden nicht mehr ignoriert. (Ibc785)
  • Die Verzögerung zwischen dem Sichtbarwerden eines Layouts und der Initialisierung der zugehörigen Pipelinestruktur wird reduziert. (I38d4e)

Version 1.0

Version 1.0.0

9. August 2023

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

Wichtige Funktionen von Version 1.0.0

Die ProtoLayout-Bibliothek bietet 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 die Datenbindung der Plattform (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 ist veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.

API-Änderungen

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

Fehlerkorrekturen

  • Wir haben eine Prüfung hinzugefügt, die einen Fehler auslöst, wenn DynamicColor für ein SpanText festgelegt wurde. (I0e5bc)
  • Es wird klargestellt, dass die Einheit der Datenquelle DAILY_CALORIES kcal ist. (Iaa785)

Version 1.0.0-beta01

21. Juni 2023

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

Neue Funktionen

  • Ermöglicht das Festlegen der Uhr für Tests mit Zeitbindung. (I05622)

API-Änderungen

  • PlatformDataReceiver.onData() und StateBuilders.Builder.addKeyToValueMapping akzeptieren jetzt die typsichere Zuordnung von DynamicDataKey zu DynamicDataValue anstelle von unsicheren Generics. Das bedeutet, dass DynamicDataValue jetzt mit seinem DynamicType eingegeben wird. HEART_RATE_ACCURACY_X-Konstanten wurden in das Stammverzeichnis von PlatformHealthSources verschoben, um der Positionierung anderer Android-Konstanten zu entsprechen. HEART_RATE_ACCURACY_X-Ganzzahlkonstanten werden jetzt direkt in DynamicHeartRateAccuracy.constant() und DynamicHeartRateAccuracy.dynamicDataValueOf() anstelle von Wertkonstanten verwendet. (I82ff5)
  • Die Klasse PlatformHealthSources.Constants konnte fälschlicherweise instanziiert werden. Dieser Fehler wurde jetzt behoben. (Icb849)
  • PlatformTimeUpdateNotifier#setReceiver empfängt 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)
  • CompactChip und TitleChip unterstützen jetzt das Hinzufügen eines Symbols. (I5a01e)

Fehlerkorrekturen

  • Prop-Nachrichten mit dynamischen Feldern aktualisieren, um stattdessen „oneof“ zu verwenden (I81739)
  • Setter-Implementierung für Überladungen mit Settern wiederverwenden (Ied70c)
  • Fingerabdrücke in Settern mit Überladungen richtig aufzeichnen (I86ed2)

Version 1.0.0-alpha11

7. Juni 2023

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

Neue Funktionen

  • Wir haben einen PlatformDataKey für die Genauigkeit der Herzfrequenzmessung 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 endgültige Klasse festlegen (I408ca)
  • Die TimeGateway-Schnittstelle wurde in der protolayout-expression-pipeline-Bibliothek durch PlatformTimeUpdateNotifier ersetzt, die die gewünschte Häufigkeit für die Aktualisierung von Zeitdaten bietet. (I60869)
  • register/unregisterForData in PlatformDataProvider in set/clearReceiver umbenennen (I14b02)
  • In Material Text wurde getExcludeFontPadding in hasExcludeFontPadding umbenannt. (Iea01d)
  • Allen Chip-Komponenten wurde ein Setter zum genauen Ausrichten des Labels hinzugefügt. Für alle Chips ist jetzt ein Mindestziel für Tippen festgelegt. (I8ae92)
  • LayoutDefaults#BUTTON_MAX_NUMBER wurde in MAX_BUTTONS umbenannt. (I84788)
  • DAILY_DISTANCE wird in DAILY_DISTANCE_M umbenannt. (I4f758)

Fehlerkorrekturen

  • Die Dokumentation zu Prop-Typen wurde aktualisiert, um zu verdeutlichen, warum ein statischer Wert erzwungen wird. Geben Sie den Standardwert an, der verwendet wird, wenn kein statischer Wert angegeben wurde. (I155aa)
  • PlatformDataKey-Namespaces sollten der Java-Namenskonvention entsprechen. (I47bda)

Version 1.0.0-alpha10

24. Mai 2023

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

Neue Funktionen

  • AppDataKey zum Zugriff auf den vom App übertragenen Status hinzugefügt; PlatformDataKey zum Zugriff auf Plattformdaten hinzugefügt; Namespace-Unterstützung in StateStore hinzugefügt. (I7985e)
  • Unterstützung von Equal- und NotEqual-Vorgängen für DynamicBool. (I6a0c1)

API-Änderungen

  • FontStyles class is now final (Iaa2ea)
  • LayoutElementBuilders#FontStyles wurde eingestellt. Verwenden Sie androidx.wear.protolayout.Typography oder erstellen Sie ein eigenes FontStyle. (Ic929b)
  • Die verschachtelte Action#Builder-Schnittstelle wird in der Action-Schnittstelle ausgeblendet. Implementierungen von Builder werden bereits von den Klassen LoadAction und LaunchAction bereitgestellt. (I1d70c)
  • Verwendung von DynamicFloat mit FloatProp zulassen Für FloatProp sind keine Layoutbeschränkungen erforderlich, da es nicht als Layout-Property verwendet wird. (I286ac)
  • Die Aktionen LoalAction und SetStateAction wurden entfernt, da sie noch nicht wirklich unterstützt wurden. (I5d6a6)
  • Unterstützung für das ARGB_8888-Format für Inline-Bildressourcen wurde hinzugefügt. (I8a07c)
  • Benenne StateEntryValue in DynamicDataValue um und aktualisiere die Status-APIs, damit sie DynamicDataKey (If1c01) verwenden.
  • Wir begrenzen die Anzahl der Einträge, die in StateStore zulässig sind, um sicherzustellen, dass die Speichernutzung und die Zeit für die Statusaktualisierung für jede Instanz von StateStore gut eingegrenzt und kontrolliert werden. Daher muss der Entwickler darauf achten, dass die Karte nicht mehr als MAX_STATE_ENTRY_COUNT Einträge enthält, da sonst beim Erstellen oder Aktualisieren von StateStore der Fehler IllegalStateException ausgegeben wird. (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 die unterstützte Gruppe definieren können. (Ic6daf)
  • Dynamische Typen für Tagesstrecke, Tageskalorien und Tagesetagen hinzugefügt. Schlüssel für Plattformen mit Gesundheitsinformationsquellen sind jetzt unter PlatformHealthSources.Keys (Ib7637) verfügbar.
  • Die Methode Easing.cubicBezier ersetzt die Methode CubicBezierEasing.Builder. Damit wird die Klasse EasingFunction entfernt und die Easing-Konstanten aus dieser Klasse sind jetzt direkt über die Easing-Schnittstelle zugänglich. Außerdem wird setInfiniteRepeatable durch INFINITE_REPEATABLE_WITH_RESTART und INFINITE_REPEATABLE_WITH_REVERSE ersetzt (Ib41e7).
  • Implementiere PlatformDataProvider, um Herzfrequenz und tägliche Schritte bereitzustellen. Die SensorGateway-Schnittstelle wird aus der öffentlichen API entfernt. (I55b84)
  • Fügen Sie PlatformDataProvider hinzu und aktualisieren Sie StateStore, um sich bei PlatformDataProvider zu registrieren, wenn der vom Anbieter unterstützte Schlüssel vom Knoten aus der Ausdruckspipeline benötigt wird. (Ib616a)
  • SensorGateway ist nicht mehr Closeable, da kein Status mehr beibehalten wird. (I6b4f7)
  • Verwendung von FloatProp mit DynamicFloat für Fortschritte in CircularProgressIndicator zulassen Dies wird für Renderer unterstützt, die Version 1.2 unterstützen. Bei alten Renderern wird, falls angegeben, auf staticValue zurückgegriffen, andernfalls auf 0 (I0d91b).
  • MultiButtonLayout-Konstanten wurden in die Klasse LayoutDefaults.MultiButtonLayoutDefaults umgestaltet, die jetzt die Konstanten für Schaltflächengrößen in Abhängigkeit von der Anzahl der Schaltflächen im Layout enthält. (I13973)
  • Unterstützung für die Verwendung von StringProp mit DynamicString in Material Text. Dies wird für Renderer unterstützt, die Version 1.2 unterstützen. Bei alten Renderern wird auf den bereitgestellten statischen Wert zurückgegriffen. Aktualisieren Sie den Rückgabetyp von Text#getText von String auf StringProp. (I7275b)

Version 1.0.0-alpha09

10. Mai 2023

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

Neue Funktionen

  • Wir haben ein experimentelles Layout-Element für Erweiterungen hinzugefügt. Diese Funktion kann nicht standardmäßig verwendet werden und erfordert eine Renderer-Erweiterung, die das Layout-Element versteht. (I6581d)
  • StrokeCap-Unterstützung für ArcLine hinzugefügt. (I94951)
  • Unterstützung für den bedingten Sofortvorgang hinzugefügt. (I489a7)
  • Unterstützung für den Vorgang „Bedingte Dauer“ hinzugefügt. (Iab469)
  • Unterstützung für das Erstellen von Zeiträumen aus Sekunden hinzugefügt. (Ib5fa1)

API-Änderungen

  • enable/disablePlatformSource-Methoden wurden aus DynamicTypeEvaluator entfernt. Der Anrufer sollte für Updates verantwortlich sein. (I78c6d)
  • Die Größe von gebundenen Datentypen kann begrenzt werden. (Ie2966)
  • Unterstützung für dynamische Inhaltsbeschreibung in protolayout-material hinzufügen (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 ist veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.

Neue Funktionen

  • AndroidTextStyle wurde zu LayoutElementBuilders hinzugefügt. (I8d967)
  • Wir haben die Unterstützung für das Festlegen des Ausschlusses von Schriftart-Padding in ProtoLayout Material Text hinzugefügt. (I17f5d)
  • ARGB_8888 wird jetzt für Inlinebilder unterstützt. (I18c1e)
  • DynamicColor unterstützt jetzt den Vorgang onCondition. (I10927)

API-Änderungen

  • Unterstützung für benutzerdefinierte Dauer für die Rückwärtsanimation (I3251f)
  • Wir haben den Modifikator SemanticDescription hinzugefügt. Außerdem kann ContentDescription nicht gebunden werden. (I3f1d)
  • Die Methode DynamicBool.isFalse() wird jetzt durch DynamicBool.negate() ersetzt und DynamicBool.isTrue() wird entfernt. Außerdem wird bei NaN-Werten DynamicFloat und bei der Einschränkung eines DynamicInt32 auf ein DynamicFloat jetzt ein ungültiges dynamisches Ergebnis ausgegeben. (I6ac1e)
  • Die Formatierung für „int“ und „float“ verwendet 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 bei Bedarf korrekt auf api anstelle von implementation festgelegt. (I40503)

Version 1.0.0-alpha07

5. April 2023

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

Neue Funktionen

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

API-Änderungen

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

Fehlerkorrekturen

  • Signale von Plattform-Sensorquellen korrekt an Downstream-Knoten weiterleiten (I5a922)

Version 1.0.0-alpha06

22. März 2023

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

Neue Funktionen

  • Wir haben eine experimentelle API für die Verwendung von Herzfrequenz und täglichen Schritten in dynamischen Ausdrücken (Ifd711) hinzugefügt.
  • Wir haben Unterstützung für die Rückwärts- und Vorwärtsverzögerung für Animationen hinzugefügt. (Ic25f7)
  • Wir haben DynamicColor-Unterstützung für „Rahmen“ und „Hintergrund“ hinzugefügt.
  • Wir haben die Unterstützung dynamischer Werte für Typen in DimensionBuilder hinzugefügt.
  • 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
  • Renderer-Absturz behoben, wenn strukturierte Bitmap nicht geladen werden kann.

Version 1.0.0-alpha05

8. März 2023

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

Neue Funktionen

  • Wir haben dem Modifiers-Objekt eine experimentelle Animation für Inhaltsupdates 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

  • Wir haben forwardRepeatDelayMillis und reverseRepeatDelayMillis zu Repeatable hinzugefügt. Außerdem haben wir delayMillis in AnimationSpec in startDelayMillis umbenannt (Ifb266).
  • Die DynamicTypeEvaluator.bind-Methoden akzeptieren jetzt einen Executor. (I346ab)
  • Wir haben die Methode startEvaluation zum BoundDynamicType hinzugefügt, um die Auswertung nach der Bindung des dynamischen Typs auszulösen. (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 ist veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.

Neue Funktionen

  • ObservableStateStore informiert die Zuhörer jetzt auch, wenn ein Schlüssel entfernt wird.
  • Wir haben DeviceParameters die Renderer-Schemaversion und die Schriftartskalierung hinzugefügt. Damit lassen sich Layouts bedingt in Reaktion auf verschiedene Versionen und Schriftarteinstellungen erstellen.
  • Wir haben die Unterstützung für die Animation von DynamicInt32-Werten hinzugefügt (I05485).
  • Wir haben die Trigger OnLoad und OnConditionalMet hinzugefügt. Damit können Animationen gestartet werden, die einen Trigger unterstützen.
  • Wir haben das Layoutgewicht für erweiterte Dimensionen und die Mindestgröße für umbrochene Dimensionen hinzugefügt.
  • Wir haben die dynamischen Typen „Dauer“ und „Sofort“ hinzugefügt. Sie können verwendet werden, um einen Zeitpunkt oder eine Dauer in einem dynamischen Ausdruck darzustellen.
  • Wir haben Unterstützung für AnimatedVectorDrawable und SeekableAnimatedVectorDrawable als Layoutressourcen hinzugefügt.

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

  • Benenne set/getSpec in der Kachel-Animation (I3d74b) in set/getAnimationSpec um.

Version 1.0.0-alpha03

8. Februar 2023

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

Neue Funktionen

  • Wir haben toByteArray() und fromByteArray() zu dynamischen Typen in der protolayout-express-Bibliothek hinzugefügt.
  • Wir haben toString() zu den dynamischen Typen in der protolayout-expression-Bibliothek hinzugefügt.
  • Wir haben die Unterstützung für die Auswertung dynamischer Typen hinzugefügt. Mit der Klasse DynamicTypeEvaluator aus der Bibliothek „protolayout-expression-pipeline“ können Sie einen zuvor erstellten dynamischen Typ (DynamicString, DynamicFloat usw.) auswerten und aktualisierte Werte dafür abrufen.
  • 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 für den animierbaren Knoten festgelegt sind, 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 sind veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Layout-Builder aus androidx.wear.tiles:tiles werden zu androidx.wear.protolayout:protolayout verschoben. Die in androidx.wear.tiles:tiles werden in einem der nächsten Alpha-Releases 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 sind veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Mit diesem Release wird die neue Bibliothek „ProtoLayout Expression“ eingeführt, mit der Ausdrücke aus dynamischen Variablen erstellt werden können.