Wear Proto-Layout
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.
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
um48dp
erweitert wurde. PrimaryLayout
undEdgeContentLayout
wurden durchsetResponsiveContentInsetEnabled
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
- Eine vollständigere Übersicht der Änderungen in Version 1.1.0 finden Sie in den Versionshinweisen zu Betaversion 01.
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
undFontSetting.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.
- Unterschiedliche Einstellungen für Schriftvariationen festlegen, z. B.
- Der
Corner
-Modifikator wurde erweitert, sodass für jedesCornerRadius
-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 vonLayoutElement
anbietet. Diese Transformationen können mithilfe dynamischer Werte animiert werden. setArcDirection
wurde allen arc-Elementen (Arc
,ArcLine
undArcText
) mit den OptionenClockwise
,CounterClockwise
undNormal
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 mindestens48dp
um48dp
erweitert wurde. PrimaryLayout
undEdgeContentLayout
wurden durchsetResponsiveContentInsetEnabled
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 derpreferredFontFamilies
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
zuMaterial.CompactChip
hinzu, um zu prüfen, ob der Textinhalt festgelegt wurde. (I6e8fc)
API-Änderungen
FontFamily
-Konstanten werden anFontStyle
und nicht in ihre Builder-Klasse verschoben. (I06ced)- Aktualisieren Sie die
FontSetting.weight
und dieFontSetting.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"> - 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 aufPrimaryLayout
als auch aufEdgeContentLayout
angewendet werden können. (I4dc32)
Fehlerkorrekturen
- Die Bezeichnung für variable Schriftachsen wurde von
axisName
inaxisTag
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 einePlatformDataValue
mit einer anderenPlatformDataValue
zusammengeführt werden. (I50ba3) Text#setIsScalable
wurde inText#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
ohnesetResponsiveContentInsetEnabled
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 jetztArcDirection
(Clockwise
,Counterclockwise
oderNormal
) hinzugefügt werden. Wenn Sie dieses Verhalten zuArc
,ArcLine
oderArcText
hinzufügen, wird ihr Verhalten bei RTL-Layouts behoben. (I90699)EdgeContentLayout
wurde mit einem neuensetResponsiveContentInsetEnabled
-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
- Eine vollständigere Übersicht der Änderungen in Version 1.1.0 finden Sie in den Versionshinweisen zu Betaversion 01.
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, indemBrush
mitSweepGradient
hinzugefügt wird und ein Schatten auf dem Kappen steht, um Längen von mehr als 360 Grad besser darzustellen, indemShadow
auf der vorhandenenStrokeCap
hinzugefügt wird.DynamicInstant
unterstützt die Datums-/Uhrzeitformatierung in Zonen.DynamicInstant
undDynamicDuration
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 wirTEXT_OVERFLOW_ELLIPSIZE
hinzugefügt undTEXT_OVERFLOW_ELLIPSIZE_END
entfernt. Spacer
unterstützt jetzt maximierte Abmessungen mit optionaler Gewichtung. Zum Erstellen vonExpandedDimensionProp
wurde die HilfsmethodeDimensionBuilders.weight
hinzugefügt.- Unterstützung für das dynamische Aus- und Einblenden von Layoutelementen mit
Modifier.visible
. Dazu gehören dynamische Werte inBoolProp
. - 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 wurdenAndroidTextStyle
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 oderColorStops
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
inFloatToInt32Node
standardmäßigFloor
verwendet. Der Knoten löst trotzdem eine Ausnahme aus, wenn die angegebeneRoundMode
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 dieComparable
-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 APITEXT_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 durchModifier.visible
(I56902) ersetztFontStyle#setSizes
akzeptiert jetzt Ganzzahlen stattSpProp
-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 vonExpandedDimensionProp
mit Gewichtung wurde hinzugefügt. (I4f72b) DynamicInstant
undDynamicDuration
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 nachDyanamicInstant
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, dieSweepGradient
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.
- Um von Tiles zu
ProtoLayout
zu migrieren, folge dieser Anleitung.
API-Änderungen
- Die Methoden
setLayoutConstraintForDynamicAnchorAngle
undgetLayoutConstraintForDynamicAnchorAngle
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 verschachtelteLayoutElements
begrenzt. (I8a74b)
Fehlerkorrekturen
- Es wurde eine Prüfung hinzugefügt, die ausgelöst wird, wenn
DynamicColor
fürSpanText
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()
undStateBuilders.Builder.addKeyToValueMapping
akzeptieren jetzt die typsichere Zuordnung vonDynamicDataKey
zuDynamicDataValue
anstelle von unsicheren generischen. Das bedeutet, dassDynamicDataValue
jetzt mit seinenDynamicType
eingegeben wird. DieHEART_RATE_ACCURACY_X
-Konstanten wurden in den Stamm vonPlatformHealthSources
verschoben, um der Positionierung anderer Android-Konstanten zu entsprechen. Int-Konstanten fürHEART_RATE_ACCURACY_X
werden jetzt direkt inDynamicHeartRateAccuracy.constant()
undDynamicHeartRateAccuracy.dynamicDataValueOf()
anstelle der Wertkonstante verwendet. (I82ff5)- Die Klasse
PlatformHealthSources.Constants
konnte versehentlich instanziiert werden. Dieses Problem wurde jetzt behoben. (Icb849) PlatformTimeUpdateNotifier#setReceiver
erhält jetztRunnable
anstelle derSupplier
-Funktion undExecutor
für Benachrichtigungen. (I9d938)- Wir haben den Parametertyp in
PlatformTimeUpdateNotifier#setReceiver
vonCallable
inSupplier
geändert. (I664bf) - Für
CompactChip
undTitleChip
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
ingetKeyToValueMapping
um und ändern Sie den Rückgabetyp inMap<<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
inPlatformDataProvider
inset
/clearReceiver
umbenennen (I14b02)- Im Material Text wurde
getExcludeFontPadding
inhasExcludeFontPadding
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 inMAX_BUTTONS
umbenannt. (I84788)DAILY_DISTANCE
wurde inDAILY_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 inStateStore
hinzufügen. (I7985e) - Unterstützen Sie
Equal
- undNotEqual
-Vorgänge fürDynamicBool
. (I6a0c1)
API-Änderungen
- Kurs
FontStyles
ist jetzt endgültig (Iaa2ea) LayoutElementBuilders#FontStyles
wurde verworfen. Bitte verwendeandroidx.wear.protolayout.Typography
oder erstelle deine eigeneFontStyle
. (IC929b)- Verschachtelte Schnittstelle
Action#Builder
in derAction
-Oberfläche ausblenden. Implementierungen des Builders werden bereits durch die KlassenLoadAction
undLaunchAction
bereitgestellt. (I1d70c) - Verwendung von
DynamicFloat
mitFloatProp
zulassen. FürFloatProp
sind keine Layoutbeschränkungen erforderlich, da die Funktion nicht als Vorlage zum Ändern des Layouts verwendet wird. (I286ac) - Die Aktionen
LoalAction
undSetStateAction
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
inDynamicDataValue
um und aktualisieren Sie die Status-APIs, umDynamicDataKey
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 vonStateStore
gut begrenzt und kontrolliert werden können. Daher muss der Entwickler sicherstellen, dass er nicht mehr alsMAX_STATE_ENTRY_COUNT
Einträge in der Karte hat. Andernfalls erhält er beim Erstellen oder Aktualisieren derStateStore
eineIllegalStateException
. (Ibadb3) - Blenden Sie die Klassen
OnLoadTrigger
undOnConditionMetTrigger
aus und benennen SiesetTrigger
fürOnConditionMetTrigger
insetCondition
um. (Ibf629) - Aus Leistungs- und Kompatibilitätsgründen unterstützen die
ProtoLayout
-Renderer nicht alle Funktionen inAnimatedVectorDrawable
-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 MethodeCubicBezierEasing.Builder
. Damit wird die KlasseEasingFunction
entfernt und die Easing-Konstanten dieser Klasse können jetzt direkt über dieEasing
-Oberfläche aufgerufen werden. Außerdem wirdsetInfiniteRepeatable
durchINFINITE_REPEATABLE_WITH_RESTART
undINFINITE_REPEATABLE_WITH_REVERSE
(Ib41e7) ersetzt. - Implementiere
PlatformDataProvider
, um die Herzfrequenz und die täglichen Schritte anzugeben. Die SchnittstelleSensorGateway
wurde aus der öffentlichen API entfernt. (I55b84) - Fügen Sie
PlatformDataProvider
hinzu und aktualisieren SieStateStore
, um sich beiPlatformDataProvider
zu registrieren, wenn der unterstützte Schlüssel des Anbieters vom Knoten aus der Ausdruckspipeline benötigt wird. (Ib616a) SensorGateway
ist nicht mehrCloseable
, da sie keinen Status mehr beibehält. (I6b4f7)- Verwendung von
FloatProp
mitDynamicFloat
für den Fortschritt inCircularProgressIndicator
zulassen. Diese Option wird für Renderer unterstützt, die Version 1.2 unterstützen. Ältere Renderer greifen gegebenenfalls aufstaticValue
zurück, falls sie angegeben wurden, andernfalls auf 0 (I0d91b). - Die
MultiButtonLayout
-Konstanten wurden in dieLayoutDefaults.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
mitDynamicString
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ürArcLine
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 ausDynamicTypeEvaluator
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 zuLayoutElementBuilders
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 VorgangonCondition
. (I10927)
API-Änderungen
- Benutzerdefinierte Dauer für umgekehrte Animation unterstützen (I3251f)
- Der
SemanticDescription
-Modifikator wurde hinzugefügt. Außerdem istContentDescription
nicht bindend. (I3f1d) - Die Methode
DynamicBool.isFalse()
wird jetzt durchDynamicBool.negate()
ersetzt undDynamicBool.isTrue()
wird entfernt. Zusätzlich zu NaN-DynamicFloat
-Werten und zur Einschränkung einesDynamicInt32
-Werts auf einenDynamicFloat
-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 vonimplementation
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 inStateStore
umbenannt. (Ieb0e2)DynamicTypeEvaluator.Builder
anstelle von Konstruktorargumenten hinzugefügt, um mehr optionale Argumente zu ermöglichen, einschließlichObservableStateStore
, 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 zuprotolayout-material
verschoben
API-Änderungen
LoadActionListener
wurde zuProtoLayoutViewInstance
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
undreverseRepeatDelayMillis
zu „Repeatable
“ hinzugefügt. Außerdem haben wirdelayMillis
inAnimationSpec
instartDelayMillis
umbenannt (Ifb266) DynamicTypeEvaluator.bind
-Methoden akzeptieren jetzt einen Executor. (I346ab)- Wir haben die Methode
startEvaluation
zuBoundDynamicType
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
undOnConditionalMet
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
undSeekableAnimatedVectorDrawable
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 inset/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()
undfromByteArray()
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 zuandroidx.wear.protolayout:protolayout
verschoben. Die inandroidx.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.