Wear Prototype
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpharelease |
---|---|---|---|---|
1. Mai 2024 | 1.1.0 | − | − | 1.2.0-alpha02 |
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von Wear-protolayout hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie der Datei build.gradle
für Ihre Anwendung oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:
Groovig
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.2.0-alpha02" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.2.0-alpha02" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.2.0-alpha02" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.2.0-alpha02") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.2.0-alpha02") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.2.0-alpha02") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Dein Feedback hilft uns, Jetpack zu verbessern. Lassen Sie uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie eine neue erstellen. Durch Klicken auf die Stern-Schaltfläche können Sie zu einem vorhandenen Problem abstimmen.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.2
Version 1.2.0-alpha02
1. Mai 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha02
wird freigegeben. Version 1.2.0-alpha02 enthält diese Commits.
API-Änderungen
- Ab sofort kann das Wellenfeedback für einzelne anklickbare Elemente deaktiviert werden. (If1ede)
- Die API für die Transformation wurde aus
ArcModifiers
entfernt, da diese Funktion diese Funktion nicht unterstützt (Ic0827). ArcDirectionProp
Der Builder erwartet jetzt einen Wert im Konstruktor. (I76ada)- Die Methode
PlatformDataValues.Builder.putAll
ermöglicht das Zusammenführen einerPlatformDataValue
mit einer anderen. (I50ba3) Text#setIsScalable
wurde inText#setScalable
umbenannt. (If920e)- Über Material Text kann festgelegt werden, ob eine skalierbare Größe verwendet werden soll, d. h., wenn die Schriftgröße des Nutzers geändert wird, oder nicht. (IBC849)
- Wir haben die Option zum Festlegen der Inhaltsbeschreibung auf
TitleChip
hinzugefügt. (I5d21f) - Problem mit
CompactChip
behoben, sodass jetzt nur noch das Symbol korrekt funktioniert und die API so aktualisiert wurde, dass diese Option zugelassen wird. (I6589e)
Fehlerkorrekturen
- Ein Problem mit potenziell doppelten Plattformdaten während der Initialisierung wurde behoben. Iba0fd
- Führen Sie einen neuen Getter in
DynamicDataNode
ein, um Knotenkosten abzurufen. Die Kosten werden beim Erwerb eines dynamischen Knotenkontingents verwendet. Derzeit haben Knoten mit festen Werten 0 Kosten, alle anderen Knoten die Kosten 1. (Ia33e1) - Zähllogik aus
NO_OP_QUOTA_MANAGER
entfernen. (Ib50b8) - Wir haben eine Lint-Regel hinzugefügt, um eine Warnung zu melden, wenn
PrimaryLayout
ohnesetResponsiveContentInsetEnabled
verwendet wird. So lässt sich das Problem schnell beheben. (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
wird freigegeben. 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 das Verhalten bei linksläufigen Layouts behoben. (I90699)EdgeContentLayout
wurde mit einem neuensetResponsiveContentInsetEnabled
-Setter aktualisiert, um eine bessere Übereinstimmung mit den UX-Richtlinien, Einheitlichkeit bei Kacheln zu erreichen, da das primäre Label oben an der festen Stelle und ein responsives Einfügung für Labels verwendet wird. (I60175)- Wir haben
PrimaryLayout.setResponsiveContentInsetEnabled
hinzugefügt, das dem primären Label, dem sekundären Label und dem unteren Chip in diesem Layout responsive Elemente hinzufügt, um zu verhindern, dass Inhalte über den Bildschirmrand hinausgehen. (I0c457) - Fügt eine Methode zum Entfernen der äußeren Ränder aus
CircularProgressIndicator
hinzu, damit es als kleinere Komponente verwendet werden kann. (I55c06)
API-Änderungen
- Der Renderer für Kacheln schließt jetzt standardmäßig bei allen Textelementen einen Abstand von der Schriftart aus, ohne dass eine Option zum Einbinden verfügbar ist. (I3e300)
Fehlerkorrekturen
- Das Problem mit der Textausrichtung bei Verwendung von Ellipsenformaten, Buchstabenabständen und zentrierter Ausrichtung für Text wurde behoben. (I716c7)
- Fügen Sie eine Umgehungslösung für ein Problem beim Zeichnen eines Skia-Bogens hinzu. (I08f09)
- Zeichenrichtung
ArcLine
für RTL-Layouts korrigiert. (I6c141)
Version 1.1
Version 1.1.0
7. Februar 2024
androidx.wear.protolayout:protolayout-*:1.1.0
wird freigegeben. Version 1.1.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.0.0
- In
ArcLine
werden Gradienten unterstützt und Längen, die über 360 Grad liegen, besser dargestellt. - Die Datums-/Uhrzeitformatierung unterstützt verschiedene Zeitzonen für dynamische Datentypen.
- Verbesserte Optionen für die automatische Größenanpassung und Auslassung von Text, um abgeschnittenen Text zu verarbeiten.
- Das Abstandshalter unterstützt erweiterte Abmessungen mit optionaler Gewichtung.
- Annotation der Anforderung der Schemaversion für alle
ProtoLayout
APIs. - Erweiterung des Zielbereichs auf jedes
Clickable
-Element auf 48 dp x 48 dp, um die Anforderungen an die Barrierefreiheit zu erfüllen. - Der Textabstand ist standardmäßig deaktiviert. Er ist das einzige Verhalten in allen Textelementen und Materialkomponenten, die Text enthalten.
Weitere Änderungen
- Weitere Informationen zu den Änderungen in Version 1.1.0 finden Sie in den Versionshinweisen zu Betaversion01.
Version 1.1.0-rc01
24. Januar 2024
androidx.wear.protolayout:protolayout-*:1.1.0-rc01
wird freigegeben. Version 1.1.0-rc01 enthält diese Commits.
Fehlerkorrekturen
PlatformTimeUpdateNotifierImpl
wird direkt nach dem Aktivieren des Updates gesetzt. (I77145)CircularProgressIndicator
wurde für RTL-Layouts korrigiert. Ab jetzt wird er in allen Fällen im Uhrzeigersinn gedreht. (I95ee3)- Fügen Sie eine Umgehungslösung für ein Problem beim Zeichnen eines Skia-Bogens hinzu. (I08f09)
Version 1.1.0-beta01
10. Januar 2024
androidx.wear.protolayout:protolayout-*:1.1.0-beta01
wird freigegeben. Version 1.1.0-beta01 enthält diese Commits.
Neue Funktionen
Die Version 1.1.0-Beta01 von Wear ProtoLayout gibt an, dass diese Version der Bibliothek vollständig verfügbar ist und die API gesperrt ist (außer wenn sie als experimentell gekennzeichnet ist). Wear ProtoLayout 1.1 umfasst die folgenden neuen Funktionen und APIs:
ArcLine
unterstützt jetzt den Farbverlauf, indemBrush
mitSweepGradient
hinzugefügt und ein Schatten auf der Kappe hinzugefügt wird, um eine Länge von mehr als 360 Grad besser darzustellen. Dazu wirdShadow
zum vorhandenenStrokeCap
hinzugefügt.DynamicInstant
unterstützt die zonenspezifische Datums-/Uhrzeitformatierung.DynamicInstant
undDynamicDuration
können als Status- oder Plattformdatentypen verwendet werden.- Funktion zur automatischen Skalierung für die Textgröße, mit der mehrere Größen auf
FontStyle.setSizes
gesetzt werden können. Dabei wird die Textgröße automatisch an den Platz innerhalb des übergeordneten Elements skaliert. Außerdem haben wir die Ellipsenoptionen für Text, der überläuft, verbessert, indem wirTEXT_OVERFLOW_ELLIPSIZE
hinzugefügt undTEXT_OVERFLOW_ELLIPSIZE_END
eingestellt haben. Spacer
unterstützt jetzt erweiterte Abmessungen mit optionaler Gewichtung. Für das Erstellen vonExpandedDimensionProp
wurde die HilfsmethodeDimensionBuilders.weight
hinzugefügt.- Unterstützung für das dynamische Aus- und Einblenden von Layoutelementen mit
Modifier.visible
. Dazu gehört auch die Verwendung dynamischer Werte inBoolProp
. - Alle
ProtoLayout
APIs haben jetzt eine Annotation zu den Anforderungen an die Schemaversion. Die Version kann vor dem Aufruf einer neueren API geprüft werden. - Für jedes Element mit
Clickable
wird der Zielbereich im Renderer jetzt auf mindestens 48 x 48 erweitert, um Anforderungen an die Barrierefreiheit besser zu erfüllen. - Entsprechend anderen Material-Komponenten und Erstellungsinitiativen haben wir jetzt den Schriftabstand standardmäßig für alle
Text
-Elemente deaktiviert. Außerdem wurdenAndroidTextStyle
und die zugehörigen Setter aus der öffentlichen API entfernt. Fehlerkorrekturen: - Es wurde ein Setter zum Positionieren des Randinhalts in
EdgeContentLayout
hinzugefügt, damit er vor anderen Inhalten positioniert werden kann. - Kontinuierliches Auslösen einer Ausnahme, wenn ein unbekannter enum-Wert auftritt.
- Das Ergebnis eines Ausdrucks wird ungültig, wenn er einen ungültigen numerischen Wert (NaN oder unendlich) liefert oder ein
ArithmeticException
auslöst.
API-Änderungen
- Updates der
SweepGradient
API, um entweder Farben oderColorStops
im Konstruktor zu akzeptieren. (I6676f)
Fehlerkorrekturen
- Hinzufügen einer eingeschränkten API und Renderer-Unterstützung zum Festlegen einer Richtung, in der Bogenelemente gezeichnet werden. (Idef5a)
- Wenn
RoundMode
nicht angegeben ist, wird inFloatToInt32Node
standardmäßigFloor
verwendet. Der Knoten gibt 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
wird freigegeben. Version 1.1.0-alpha04 enthält diese Commits.
Neue Funktionen
- Die Klasse
VersionInfo
implementiert nicht dieComparable
-Schnittstelle. (I8d13c) - Renderer unterstützt jetzt die Option
TEXT_OVERFLOW_ELLIPSIZE
. (I7f085)
API-Änderungen
- Die Textüberlaufoption „
TEXT_OVERFLOW_ELLIPSIZE_END
“ wurde jetzt eingestellt. Verwenden Sie die neue APITEXT_OVERFLOW_ELLIPSIZE
mit einem sehr ähnlichen Verhalten. (I822d8) - Entsprechend anderen „Material-Komponenten“- und „Compose“-Initiativen haben wir jetzt den Schriftabstand standardmäßig für alle Textelemente deaktiviert. Außerdem wurden
AndroidTextStyle
und die zugehörigen Setter aus der öffentlichen API entfernt. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3) Modifier.hidden
wird durchModifier.visible
(I56902) ersetztFontStyle#setSizes
akzeptiert jetzt int- stattSpProp
-Argumente. (I02b37)
Fehlerkorrekturen
- Beim Auftreten eines unbekannten oder nicht erkannten enum-Werts wird eine Ausnahme ausgelöst. (I9d2cf)
DynamicTypeBindingRequest
refaktorieren. (I27b57)- Das Ergebnis eines Ausdrucks wird ungültig, wenn er einen ungültigen numerischen Wert (NaN oder unendlich) liefert oder ein
ArithmeticException
auslöst. (I681ae)
Version 1.1.0-alpha03
29. November 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha03
wird freigegeben. Version 1.1.0-alpha03 enthält diese Commits.
Neue Funktionen
- Zusätzliche experimentelle Unterstützung für das dynamische Aus- und Einblenden von Layoutelementen (I64a78)
- Unterstützung für dynamische Werte zu
BoolProp
hinzufügen (I2fe96) ProtoLayout
APIs eine Anmerkung zur Anforderung der Schemaversion hinzufügen (I0f03c)- Erweiterung der API mit der neuen Option in
TextOverflow
, mit der der Text in einem festen übergeordneten Container mit Auslassungslinie versehen wird, selbst wenn die maximale Anzahl von Zeilen nicht erreicht wird (aber nicht genügend Platz für den Text ist). (I110a9) - Die Hilfsmethode
DimensionBuilders.weight
zum Aufbau vonExpandedDimensionProp
mit Gewichtung wurde hinzugefügt. (I4f72b) DynamicInstant
undDynamicDuration
können als Status- oder Plattformdatentypen verwendet werden. (I6819f)
API-Änderungen
- API aktualisieren, um
DynamicZonedDateTime
auszublenden und alle zugehörigen Vorgänge nachDyanamicInstant
(I34b94) zu verschieben - Das Abstandselement unterstützt jetzt die maximierte Dimension für die Breite/Höhe. (Ie7c94)
- Unterstützung der Erweiterung des Klickzielbereichs in Renderer (I39c79)
Version 1.1.0-alpha02
15. November 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha02
wird freigegeben. Version 1.1.0-alpha02 enthält diese Commits.
Neue Funktionen
- Der API wurde das Feld
ArcLine
StrokeCap
Shadow
hinzugefügt. (I830ec) - API erweitern, um die Breite oder Höhe des Abstands zum Maximieren angeben zu können. (I757ca)
- Wir haben eine experimentelle API hinzugefügt, mit der die Textgröße automatisch basierend auf dem Platz innerhalb der übergeordneten Datei skaliert wird. (Ibbe63)
- Unterstützung der minimalen anklickbaren Größe (I178e3)
- Renderer-Unterstützung für
StrokeCap
Shadow
wurde hinzugefügt. (I48b17) - Renderer-Unterstützung für die Funktion „Sweep-Gradient“ in
ArcLine
wurde hinzugefügt. (I4d5bb)
Version 1.1.0-alpha01
18. Oktober 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha01
wird freigegeben. Version 1.1.0-alpha01 enthält diese Commits.
Neue Funktionen
- Pinseloption für
Arcline
hinzugefügt, mit Unterstützung fürSweepGradient
. (Ie7ce3) - Die Datums-/Uhrzeitformatierung in Zonen wird jetzt unterstützt. (Ibfae0)
- Für die zonenspezifische Datums-/Uhrzeitformatierung wurden Protos und Java-Wrapper hinzugefügt. (I97126)
- Es wurden Getter zum Zurücklesen des in einem
DynamicDataValue
gespeicherten Werts hinzugefügt. (Ie6cea) - Es wurde ein Setter zum Positionieren des Randinhalts in
EdgeContentLayout
hinzugefügt, damit er vor anderen Inhalten positioniert werden kann. (Ie8e8a)
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem ein Ausdruck mit mehreren Malregistrierungen für Datenquellen nicht sofort aktualisiert wurde. (I8e1a8)
- Ein Fehler wurde behoben, durch den das Stammelement bei diff-Updates zentriert wurde. (Ie48f7)
- Nicht festgelegte (oder leere) Layouteinschränkungswerte werden nicht mehr ignoriert. (IBC785)
- Reduzierte Verzögerung zwischen der Sichtbarkeit eines Layouts und der Initialisierung seiner Pipelineknoten. (I38d4e)
Version 1.0
Version 1.0.0
9. August 2023
androidx.wear.protolayout:protolayout-*:1.0.0
wird freigegeben. Version 1.0.0 enthält diese Commits.
Hauptfunktionen von Version 1.0.0
Die ProtoLayout-Bibliothek führt APIs zum Erstellen von Layouts und Ausdrücken ein, die auf verschiedenen Wear OS-Oberflächen verwendet werden können. Die Tile-Bibliothek verwendet diese APIs beispielsweise, um Plattformdatenbindung (für schnellere Aktualisierungen von Kacheldaten) und Animationen zu unterstützen.
Version 1.0.0-rc01
26. Juli 2023
androidx.wear.protolayout:protolayout-*:1.0.0-rc01
wird freigegeben. Version 1.0.0-rc01 enthält diese Commits.
- Wenn du von Tiles zu
ProtoLayout
migrieren möchtest, 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 bereitgestellte Layout. (If7d01) - Wir haben die maximale Tiefe für das Layout eines
ProtoLayout
auf 30 verschachtelteLayoutElements
begrenzt. (I8a74b)
Fehlerkorrekturen
- Wir haben 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
wird freigegeben. Version 1.0.0-beta01 enthält diese Commits.
Neue Funktionen
- Einstellung der Uhr für Zeitbindungstests zulassen. (I05622)
API-Änderungen
PlatformDataReceiver.onData()
undStateBuilders.Builder.addKeyToValueMapping
akzeptieren jetzt eine typsichere Zuordnung vonDynamicDataKey
zuDynamicDataValue
anstelle von unsicheren Generika. Das bedeutet, dassDynamicDataValue
jetzt mit seinerDynamicType
eingegeben wird.HEART_RATE_ACCURACY_X
-Konstanten an den Stamm vonPlatformHealthSources
verschoben, um der Positionierung anderer Android-Konstanten zu entsprechen. Int-KonstantenHEART_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 nun behoben. (Icb849) PlatformTimeUpdateNotifier#setReceiver
erhält jetztRunnable
anstelle der FunktionSupplier
undExecutor
für Benachrichtigungen. (I9d938)- Wir haben den Parametertyp in
PlatformTimeUpdateNotifier#setReceiver
vonCallable
zuSupplier
geändert. (I664bf) - In
CompactChip
undTitleChip
kann jetzt ein Symbol hinzugefügt werden. (I5a01e)
Fehlerkorrekturen
- Prop-Nachrichten mit dynamischen Feldern aktualisieren, um stattdessen „oneof“ zu verwenden (I81739)
- Setter-Implementierung für Überlasten wiederverwenden, die Setter haben (Ied70c)
- Korrekte Aufzeichnung von Fingerabdrücken in Setter mit Überlastung (I86ed2)
Version 1.0.0-alpha11
7. Juni 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha11
wird freigegeben. Version 1.0.0-alpha11 enthält diese Commits.
Neue Funktionen
- Wir haben
PlatformDataKey
für die Genauigkeit der Herzfrequenz hinzugefügt. (I7f9b8)
API-Änderungen
- Benennen Sie
StateBuilders#getIdToValueMapping
ingetKeyToValueMapping
um und ändern Sie den Rückgabetyp inMap<<AppDataKey<?>,DynamicDataValue>
. (Iaa7ae) - Mache
StateStore
zu einer Abschlussklasse (I408ca) - Die
TimeGateway
-Schnittstelle wurde in derprotolayout-expression-pipeline
-Bibliothek durchPlatformTimeUpdateNotifier
ersetzt. Sie gibt die gewünschte Häufigkeit für die Aktualisierung von Zeitdaten an. (I60869) register
/unregisterForData
inPlatformDataProvider
inset
/clearReceiver
(I14b02) umbenennen- In Material Text wurde
getExcludeFontPadding
inhasExcludeFontPadding
umbenannt. (IEA01D) - Setter für die perfekte Ausrichtung des Labels wurde allen Chip-Komponenten hinzugefügt. Auf alle Chips wurde jetzt eine min. antippbares Ziel angewendet. (I8ae92)
LayoutDefaults#BUTTON_MAX_NUMBER
wurde inMAX_BUTTONS
umbenannt. (I84788)DAILY_DISTANCE
wurde inDAILY_DISTANCE_M
umbenannt. (I4f758)
Fehlerkorrekturen
- Aktualisieren Sie die Dokumentation zu Attributtypen, um zu klären, warum der statische Wert erzwungen wird. Geben Sie den Standardwert an, der verwendet wird, wenn kein statischer Wert angegeben wurde. (I155aa)
PlatformDataKey
-Namespaces sollten der Java-Stilbenennung entsprechen. (I47bda)
Version 1.0.0-alpha10
24. Mai 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha10
wird freigegeben. Version 1.0.0-alpha10 enthält diese Commits.
Neue Funktionen
- Füge
AppDataKey
für den Zugriff auf die App-Übertragung hinzu,PlatformDataKey
für den Zugriff auf Plattformdaten und die Namespace-Unterstützung inStateStore
. (I7985e) Equal
- undNotEqual
-Vorgänge fürDynamicBool
werden unterstützt. (I6a0c1)
API-Änderungen
- Kurs "
FontStyles
" ist jetzt endgültig (Iaa2ea) LayoutElementBuilders#FontStyles
wurde eingestellt. Verwenden Sieandroidx.wear.protolayout.Typography
oder erstellen Sie Ihre eigeneFontStyle
. (Ic929b)- Verschachtelte Schnittstelle
Action#Builder
vonAction
-Schnittstelle ausblenden. Implementierungen von Builder wurden bereits von den KlassenLoadAction
undLaunchAction
bereitgestellt. (I1d70c) - Verwendung von
DynamicFloat
mitFloatProp
zulassen. FürFloatProp
sind keine Layoutbeschränkungen erforderlich, da sie nicht zum Ändern des Layouts verwendet werden. (I286ac) - Die Aktionen
LoalAction
undSetStateAction
wurden entfernt, da sie noch nicht wirklich unterstützt werden. (I5d6a6) - Unterstützung für das Format ARGB_8888 für Inline-Bildressourcen wurde hinzugefügt. (I8a07c)
- Benennen Sie
StateEntryValue
inDynamicDataValue
um und aktualisieren Sie die Status-APIS so, dassDynamicDataKey
(If1c01) verwendet wird - Wir begrenzen die Anzahl der Einträge, die im
StateStore
zulässig sind, damit die Arbeitsspeichernutzung und der Zeitpunkt der Statusaktualisierung für jede Instanz vonStateStore
angemessen begrenzt und kontrolliert werden. Daher muss der Entwickler dafür sorgen, dass die Karte nicht mehr alsMAX_STATE_ENTRY_COUNT
Einträge enthält, da er andernfalls beim Erstellen oder Aktualisieren derStateStore
einIllegalStateException
erhält. (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 inAnimatedVectorDrawable
-Ressourcen nicht alle Funktionen. Diese APIs werden als experimentell gekennzeichnet, bis wir die unterstützten APIs definieren können. Ic6daf - Dynamische Typen für tägliche Strecke, tägliche Kalorien und Etagen wurden hinzugefügt. Schlüssel für Quellen zur Plattformintegrität befinden sich jetzt unter
PlatformHealthSources.Keys
(Ib7637) - Die Methode
Easing.cubicBezier
ersetztCubicBezierEasing.Builder
. Damit wird dieEasingFunction
-Klasse entfernt und die Easing-Konstanten dieser Klasse sind nun direkt über dieEasing
-Oberfläche zugänglich. Außerdem wirdsetInfiniteRepeatable
durchINFINITE_REPEATABLE_WITH_RESTART
undINFINITE_REPEATABLE_WITH_REVERSE
(Ib41e7) ersetzt. - Implementiere
PlatformDataProvider
, um die Herzfrequenz und tägliche Schritte anzugeben. DieSensorGateway
-Schnittstelle 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 erforderlich ist. (Ib616a) SensorGateway
ist nicht mehrCloseable
, da es 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. Alte Renderer verwenden bei Angabe derstaticValue
ein Fallback, andernfalls wird 0 verwendet (I0d91b). MultiButtonLayout
-Konstanten wurden in dieLayoutDefaults.MultiButtonLayoutDefaults
-Klasse refaktoriert, die jetzt je nach Anzahl von Schaltflächen im Layout die Werte für Schaltflächengrößen enthält. (I13973)- Unterstützung für die Verwendung von
StringProp
mitDynamicString
in Material Text. Diese Option wird für Renderer unterstützt, die Version 1.2 unterstützen. Alte Renderer nutzen als Fallback auf den bereitgestellten statischen Wert. Aktualisieren Sie den RückgabetypText#getText
vonString
inStringProp
. (I7275b)
Version 1.0.0-alpha09
10. Mai 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha09
wird freigegeben. Version 1.0.0-alpha09 enthält diese Commits.
Neue Funktionen
- Wir haben ein experimentelles Layoutelement für eine Erweiterung hinzugefügt. Diese Option kann nicht standardmäßig verwendet werden und erfordert eine Renderer-Erweiterung, die das Layout-Element verstehen kann. (I6581d)
StrokeCap
-Unterstützung fürArcLine
hinzugefügt. (I94951)- Der Vorgang „Conditional Instant“ wird jetzt unterstützt. (I489a7)
- Der Vorgang „Bedingte Dauer“ wird jetzt unterstützt. (Iab469)
- Unterstützung für das Erstellen einer Dauer von Sekunden hinzugefügt. (Ib5fa1)
API-Änderungen
enable/disablePlatformSource
Methoden wurden ausDynamicTypeEvaluator
entfernt. Der Aufrufer sollte für Updates verantwortlich sein. (I78c6d)- Begrenzung der Größe gebundener Datentypen zulassen. (Ie2966)
- Unterstützung für Beschreibungen von dynamischen Inhalten in
protolayout-material
hinzugefügt. (I62c8e) - Verwenden Sie long und
@IntRange
für Dauer und Verzögerung in AnimationParameters. (I388b6)
Version 1.0.0-alpha08
19. April 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha08
wird freigegeben. Version 1.0.0-alpha08 enthält diese Commits.
Neue Funktionen
AndroidTextStyle
wurde zuLayoutElementBuilders
hinzugefügt. (I8d967)- In
ProtoLayout
Material Text kann jetzt der Schriftabstand ausgeschlossen werden. I17f5d - ARGB_8888 wird jetzt für Inline-Bilder unterstützt. (I18c1e)
DynamicColor
unterstützt jetzt denonCondition
-Vorgang. (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 geben NaN-DynamicFloat
-Werte und die Eingrenzung vonDynamicInt32
aufDynamicFloat
ein ungültiges dynamisches Ergebnis aus. (I6ac1e) - Int- und Float-Formatierer verwenden jetzt das Builder-Muster. (Ieb213)
Fehlerkorrekturen
- Der statische Fallback-Wert wurde aus animierbaren Feldern entfernt. (Ifcb01)
DynamicTypeValueReceiver#onPreUpdate
wurde entfernt. (I2dc35)- Die Länge von Strings in dynamischen Ausdrücken ist jetzt begrenzt. (I4c93)
- Die Gradle-Abhängigkeiten sind jetzt korrekt auf
api
und nicht aufimplementation
festgelegt, falls erforderlich. (I40503)
Version 1.0.0-alpha07
5. April 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha07
wird freigegeben. Version 1.0.0-alpha07 enthält diese Commits.
Neue Funktionen
- Unterstützung für dynamische Werte zu
StringProp
hinzufügen (I04342) - Bindbare Layoutelemente markieren (Ia110b)
API-Änderungen
sensorGateway#registerSensorGatewayConsumer
verwendet unter „Consumer“ den Datentyp als Parameter und nicht als Methode. (ICF314)ObservableStateStore
wurde inStateStore
umbenannt. (Ieb0e2)- Anstelle von Konstruktorargumenten wurde
DynamicTypeEvaluator.Builder
hinzugefügt, um weitere optionale Argumente zuzulassen, einschließlichObservableStateStore
, das jetzt standardmäßig einen leeren Speicher angibt. (I6f832) - Reihenfolge der Parameter in
DynamicTypeEvaluator
überarbeitet. (Ic1ba4)
Fehlerkorrekturen
- Korrekte Weiterleitung von Signalen von Plattformsensorquellen an Downstream-Knoten (I5a922)
Version 1.0.0-alpha06
22. März 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha06
wird freigegeben. Version 1.0.0-alpha06 enthält diese Commits.
Neue Funktionen
- Wir haben eine experimentelle API zur Verwendung der Herzfrequenz und täglichen Schritte in dynamischen Ausdrücken hinzugefügt (Ifd711)
- Animationen mit Rückwärts- und Vorwärtsverzögerung werden jetzt unterstützt. (Ic25f7)
DynamicColor
-Unterstützung für Rahmen und Hintergrund hinzugefügt- Typen in
DimensionBuilder
werden jetzt für dynamische Werte unterstützt - Layout und Komponenten von
tiles-material
werden zuprotolayout-material
verschoben
API-Änderungen
LoadActionListener
wurde zuProtoLayoutViewInstance
hinzugefügt. (If7806)
Fehlerkorrekturen
FloatNodesTest
(Id7281) hinzugefügt- Der Renderer abgestürzt, wenn die strukturierte Bitmap nicht geladen werden konnte, wurde behoben.
Version 1.0.0-alpha05
8. März 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha05
wird freigegeben. Version 1.0.0-alpha05 enthält diese Commits.
Neue Funktionen
- Dem
Modifiers
-Objekt wurde eine experimentelle Animation für die Inhaltsaktualisierung hinzugefügt. Diese Animation wird immer dann ausgelöst, wenn sich das Element (mit diesem Modifikator) oder eines seiner untergeordneten Elemente während einer Layoutaktualisierung ändert. (bd03e5d)
API-Änderungen
forwardRepeatDelayMillis
undreverseRepeatDelayMillis
wurden zu „Repeatable
“ hinzugefügt. Außerdem haben wir „delayMillis
“ in „AnimationSpec
“ in „startDelayMillis
“ (Ifb266) umbenanntDynamicTypeEvaluator.bind
-Methoden akzeptieren jetzt einen Executor. (I346ab)- Wir haben dem
BoundDynamicType
die MethodestartEvaluation
hinzugefügt, um die Bewertung auszulösen, nachdem der dynamische Typ gebunden wurde. (I19908)
Fehlerkorrekturen
- Das Animator-Objekt wird für nachfolgende Animationen eines einzelnen Elements wiederverwendet. (Ia3be9)
Version 1.0.0-alpha04
22. Februar 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha04
wird freigegeben. Version 1.0.0-alpha04 enthält diese Commits.
Neue Funktionen
ObservableStateStore
informiert jetzt auch die Listener, wenn ein Schlüssel entfernt wird.- Wir haben die Schemaversion und die Schriftgröße für den Renderer zu
DeviceParameters
hinzugefügt. Mit diesen Dateien können Layouts als Reaktion auf verschiedene Versionen und Schrifteinstellungen bedingt erstellt werden. - Animieren von
DynamicInt32
-Werten (I05485) werden jetzt unterstützt. - Es wurden
OnLoad
- undOnConditionalMet
-Trigger hinzugefügt. Damit lassen sich Animationen starten, die einen Trigger unterstützen. - Wir haben die Layout-Gewichtung für erweiterte Abmessungen und die Mindestgröße für umschlossene Abmessungen hinzugefügt.
- Wir haben dynamische Typen für die Dauer und Instant-Version hinzugefügt. Damit kann ein Zeitpunkt oder eine Dauer in einem dynamischen Ausdruck dargestellt werden.
AnimatedVectorDrawable
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
- In der Kachelanimation
set/getSpec
inset/getAnimationSpec
umbenennen (I3d74b)
Version 1.0.0-alpha03
8. Februar 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha03
wird freigegeben. Version 1.0.0-alpha03 enthält diese Commits.
Neue Funktionen
- Den dynamischen Typen in der protolayout-Express-Bibliothek wurden
toByteArray()
undfromByteArray()
hinzugefügt. - Den dynamischen Typen in der Bibliothek „protolayout-expression“ wurde
toString()
hinzugefügt. - Wir haben jetzt Unterstützung für die Auswertung dynamischer Typen hinzugefügt. Mit der Klasse
DynamicTypeEvaluator
aus der Bibliothek „protolayout-expression-pipeline“ kann ein zuvor erstellter dynamischer Typ (DynamicString
,DynamicFloat
usw.) ausgewertet und aktualisiert werden. - Wenn Animationen nicht abgespielt werden können (entweder weil sie vom Evaluator deaktiviert wurden oder die Anzahl der laufenden Animationen das festgelegte Limit erreicht hat), werden die statischen Werte, die auf dem animaierbaren Knoten festgelegt sind, als Ersatz für die Animation verwendet.
Version 1.0.0-alpha02
25. Januar 2023
androidx.wear.protolayout:protolayout:1.0.0-alpha02
, androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02
und androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02
wurden veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
Neue Funktionen
- Layout-Builder von „
androidx.wear.tiles:tiles
“ werden nach „androidx.wear.protolayout:protolayout
“ verschoben. Die Versionen inandroidx.wear.tiles:tiles
werden in einem der nächsten Alphaversionen eingestellt.
Version 1.0.0-alpha01
11. Januar 2023
androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01
und androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01
werden veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.
Neue Funktionen
- In diesem Release wird die neue Bibliothek "ProtoLayout Expression" zum Erstellen von Ausdrücken aus dynamischen Variablen eingeführt.