Wear Compose
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alphaversion |
---|---|---|---|---|
4. Juni 2025 | 1.4.1 | - | 1.5.0-beta03 | - |
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von Wear 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 erforderlichen Artefakte hinzu:
Cool
dependencies { implementation "androidx.wear.compose:compose-foundation:1.4.1" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material:1.4.1" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.4.1" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.4.1") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
Kotlin
dependencies { implementation("androidx.wear.compose:compose-foundation:1.4.1") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material:1.4.1") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.4.1") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.4.1") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Bitte teilen Sie uns mit, wenn Sie neue Probleme feststellen oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können einer vorhandenen Anfrage Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Wear Compose Version 1.5
Version 1.5.0-beta03
4. Juni 2025
androidx.wear.compose:compose-*:1.5.0-beta03
wird veröffentlicht. Version 1.5.0-beta03 enthält diese Commits.
API-Änderungen
OpenOnPhoneDialog
liest jetzt nur den Nachrichtentext unter TalkBack vor und überspringt die Symbolsemantik. DieOpenOnPhoneDialogDefaults
wurden aktualisiert, um die ParametericonContentDescription
undcontentDescription
ausicon()
zu entfernen. Außerdem gibt es jetzt fürConfirmationDialogDefaults
-Kompositionen Modifikatorparameter fürSuccessIcon
- undFailureIcon
-Kompositionen. (Id2ae2)
Fehlerkorrekturen
- Die Reihenfolge, in der die Auswirkungen von
SurfaceTransformation
-Parametern angewendet werden, wurde geändert. Bisher wurden die Transformationen auf Wear OS-Material 3-Komponenten in der folgenden Reihenfolge angewendet: Hintergrundmaler, Containertransformation, Inhaltstransformation. Jetzt sind die ersten beiden invertiert und wir wenden einen übergebenen Modifikator dazwischen an, sodass er von Containertransformationen betroffen ist. So werden Probleme behoben, z. B. wenn ein Platzhalter-Shimmer-Effekt mit Elementen in einem TLC mit dem Transformationsparameter verwendet wird. (I786cf) RevealState.Saver
wurde hinzugefügt, um den Status vonSwipeToReveal
wiederherzustellen, wenn die Aktivität oder der Prozess neu erstellt wird. Für die FunktionrememberRevealState
wird jetzt standardmäßig dieser Energiesparmodus verwendet. (Ie0ecb)- Die Schaltflächen für primäre und sekundäre Aktionen sollten standardmäßig
SwipeToReveal
sein. Der Fehler wurde behoben, durch den sie bei höheren Schaltflächen die maximale Höhe eingenommen haben.ButtonDefault.Height
(Ibfba1) SwipeToReveal
wurde geändert, damit die letzte Komponente, mit der interagiert wurde, zurückgesetzt wird, wenn nach rechts gewischt wird. (Ia8450)SwipeToReveal
wurde so geändert, dass der StatusRevealing
festgelegt wird, wenn sich die Endposition des Wischens zwischen den Ankern für das Enthüllen und das Enthüllte befindet und näher am Anker für das Enthüllen liegt. (If4458)- Jetzt werden die Inhalte von
ButtonGroup
in einem Layout mit Rechtsschreibrichtung korrekt invertiert (Ib378d). AnimatedText
unterstützt jetzt die Ausrichtung von Text in Richtung Rechts nach Links (I4533c)TransformingLazyColumn
Die Größe von Elementen wird jetzt richtig angepasst, wenn das unterste Element entfernt wird (Idacab)TransformingLazyColumn
führt jetzt nur noch einen Messdurchlauf durch, was die Leistung durch Verringerung der Framezeiten verbessert. (I501a1)
Version 1.5.0-beta02
20. Mai 2025
androidx.wear.compose:compose-*:1.5.0-beta02
wird veröffentlicht. Version 1.5.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Die Referenzprofile für die Bibliotheken „foundation“, „material“ und „material3“ wurden aktualisiert. (I53f06)
- Ein Fehler in
TransformingLazyColumn
wurde behoben, durch den die Größe von Elementen geändert wurde, wenn das unterste Element entfernt wurde. (Idacab) - Ein Fehler bei
TransformingLazyColumn
wurde behoben, bei dem die Liste oben oder unten in der Liste hängen blieb. (I49d00) OpenOnPhoneDialog
Unter TalkBack sollte der gekrümmte Text angesagt werden, nicht die Beschreibung des Symbolinhalts. (I4efe8)- Ein Fehler in
SwipeToReveal
wurde behoben, durch den inRevealState.currentValue
der falsche Anker gemeldet wurde, wennhasPartiallyRevealedState
auf „falsch“ gesetzt war. (I9c7cf) SwipeToReveal
-Schaltflächen zum Rückgängigmachen sind jetzt standardmäßigButtonDefaults.Height
. (I1f6c8)- Die Leistung von
BasicSwipeToDismissBox
wurde verbessert, da Canvas nicht mehr zum Zeichnen von Scrims verwendet wird. (I68f2c) - Ein Fehler bei der Barrierefreiheit im Schieberegler wurde behoben, durch den der angezeigte Prozentsatz nach Updates nicht mit dem Wert übereinstimmte (I91146)
- Ein Fehler bei der
placeholderShimmer
-Implementierung wurde behoben. (Iee39b - Die Leistung von
TransformingLazyColumn
wurde verbessert, indem die Berechnung vonScrollProgress
um 30 % optimiert wurde. (I4c4cb)
Version 1.5.0-beta01
7. Mai 2025
androidx.wear.compose:compose-*:1.5.0-beta01
wird veröffentlicht. Version 1.5.0-beta01 enthält diese Commits.
Die Version 1.5.0-beta01 von Compose für Wear OS gibt an, dass diese Version der Bibliothek funktionsfähig ist und die API gesperrt ist (außer bei Funktionen, die als experimentell gekennzeichnet sind).
Wear Compose 1.5.0-beta01 enthält die Wear Compose Material3-Bibliothek, die das neue UI-Designsystem namens Material 3 Expressive unterstützt. Wir empfehlen, von Material auf Material 3 umzustellen, um das neue visuelle Design in Apps zu nutzen und von den folgenden neuen Komponenten zu profitieren:
MaterialTheme
für aktualisierte und erweiterte Farbschemata, Typografie und Formen, die Ihren Designs sowohl Tiefe als auch Vielfalt verleihen.- Dynamische Farbthemen, mit denen automatisch ein Farbschema für Ihre App generiert wird, das zu den Farben des Zifferblatts passt.
- Neue Komponenten passen sich standardmäßig automatisch an größere Bildschirmgrößen an
- Formänderung: Runde Schaltflächenkomponenten wie
IconButton
,TextButton
,IconToggleButton
undTextToggleButton
unterstützen Variationen, die beim Drücken oder Anklicken animiert werden. EdgeButton
: Eine neue Schaltfläche mit abgerundeten Ecken und einer speziellen Form, die für die Position unten auf dem Display optimiert ist.- Scaffolds: Einführung von
AppScaffold
undScreenScaffold
zum Anlegen der Bildschirmstruktur und Koordinieren vonScrollIndicator
- undTimeText
-Animationen. - Schaltflächen: Es werden zahlreiche stadionförmige Schaltflächen mit flexiblen Ein-Slot-Containern und Mehrfach-Slot-Varianten für Schaltflächen mit Symbolen und Labels unterstützt.
CheckboxButton
undSwitchButton
werden verwendet, wenn Ein-/Aus-Schaltflächen erforderlich sind, währendRadioButton
die Auswahlschaltfläche ist. Es sind auch „geteilte“ Varianten der Ein-/Aus- und Auswahlschaltflächen verfügbar. ButtonGroup
: Hier wird eine ausdrucksstarke Gruppe von Schaltflächen in einer Zeile implementiert, die sich beim Berühren verformen.AlertDialog
-Varianten unterstützen die Schaltflächen „Ok“/„Abbrechen“ oder einEdgeButton
.ConfirmationDialog
ist verfügbar, um eine Nachricht mit einem Zeitlimit anzuzeigen. Dabei werden spezielle Animationen für den Erfolg, den Fehler und die Option „Auf dem Smartphone öffnen“ unterstützt.- Auswahlfelder: Es werden die Varianten
TimePicker
undDatePicker
sowie die Komponenten „Picker“ undPickerGroup
unterstützt, mit denen Sie eigene Auswahlbildschirme erstellen können. ProgressIndicators
– kreisförmige und lineare Fortschrittsanzeigen werden unterstützt (CircularProgressIndicator
hat segmentierte und unbestimmte Varianten).- Karten: Es stehen verschiedene Kartenvarianten zur Verfügung, darunter
TitleCard
, das spezielle Layouts für Karten mit Titel, Zeit, Untertitel oder Inhaltsfeldern bietet.TitleCard
kann auch einen Bildhintergrund haben, um die Bedeutung der Informationen auf einer Karte zu unterstreichen. - Seitenleisten: Die Komponenten
HorizontalPagerScaffold
,VerticalPagerScaffold
undAnimatedPage
koordinierenHorizontalPageIndicator
- undVerticalPagerIndicator
-Animationen.HorizontalPager
undVerticalPager
werden in der Wear Compose Foundation-Bibliothek veröffentlicht. - Platzhalter: Hier wird eine Skelettform über einer Komponente gezeichnet, wenn keine vorläufigen Inhalte verfügbar sind.
- Schieberegler und Schrittschalter: Sowohl Schieberegler als auch Schrittschalter ermöglichen es Nutzern, eine Auswahl aus einem Wertebereich zu treffen. Schieberegler sind kompakter und können segmentiert werden, während der Schrittschalter eine Vollbildkomponente ist, die in der Regel mit einer
StepperLevelIndicator
kombiniert wird. SwipeToReveal
: Damit kannst du einem Kompositionenelement zusätzliche Aktionen hinzufügen, wenn es von rechts nach links wischt.
Außerdem enthält Wear Compose Foundation 1.5.0-beta01 die folgenden neuen Komponenten:
TransformingLazyColumn
– eine Lazy-Liste, die vertikal scrollt und Skalierungs- und Morphing-Animationen unterstützt- Hierarchische Fokusgruppen: Mit diesen können Sie Kompositionen in einer Anwendung annotieren, um den aktiven Teil der Komposition im Blick zu behalten und den Fokus zu koordinieren.
- Pager:
HorizontalPager
- undVerticalPager
-Komponenten, die auf den Compose Foundation-Komponenten basieren und Wear-spezifische Verbesserungen enthalten, um die Leistung zu verbessern und die Einhaltung der Wear OS-Richtlinien zu gewährleisten.
API-Änderungen
- Die Hierarchical Focus API wurde aktualisiert:
Modifier.hierarchicalFocus
wurde inModifier.hierarchicalFocusGroup
umbenannt und der Rückrufparameter entfernt. Die Überladung vonModifier.hierarchicalFocusRequester
mit einemFocusRequester
-Parameter wurde entfernt. Es wurde eine neueCompositionLocal
,LocalScreenIsActive
, erstellt, damit Komponenten prüfen und mitteilen können, welcher Bildschirm aktiv ist. (I5ff7c). SwipeToReveal
wurde aus Wear Compose Foundation eingestellt und durchSwipeToReveal
APIs in Wear Compose Material und Wear Compose Material3 ersetzt. Ersetzen Sie Wear FoundationSwipeToReveal
-Importe durch Wear Compose Material-/Wear Compose Material3-Importe, um die APIs weiterhin verwenden zu können. (Ia147d).- Wear Compose Material3-
SwipeToReveal
-Abhängigkeiten von Foundation wurden in das Material3-Paket verschoben, z.B.RevealValue
,RevealDirection
,RevealActionType
,RevealState
undrememberRevealState
. Entwickler sollten die Importe dieser Klassen und Funktionen vonandroidx.wear.compose.foundation
zuandroidx.wear.compose.material3
ändern. (I640e6). - Die Wear Compose Material3
SwipeToReveal
API wurde so aktualisiert: Die ParameterprimaryAction
,onFullSwipe
,secondaryAction
,undoPrimaryAction
,undoSecondaryAction
undhasPartiallyRevealedState
wurden derSwipeToReveal
-Komposition hinzugefügt. Die Möglichkeit,positionalThreshold
undanimationSpec
inRevealState
anzupassen, wurde entfernt.lastActionType
,revealThreshold
und „width“ wurden ausRevealState
entfernt. Der Konstruktor vonRevealState
wurde so geändert, dass er eineRevealDirection
anstelle von Ankern akzeptiert. Die FunktionencreateRevealAnchors
, Anker undbidirectionalAnchors
wurden entfernt. DieSwipeToRevealScope
-FunktionenprimaryAction
,secondaryAction
,undoPrimaryAction
undundoSecondaryAction
wurden in Composable-Funktionen umbenannt und inPrimaryActionButton
,SecondaryActionButton
undUndoActionButton
geändert.RevealActionType
wurde als intern gekennzeichnet. (I885d0). - Die
SwipeToReveal
API wurde wie unten beschrieben aktualisiert:onFullSwipe
inonSwipePrimaryAction
umbenannt;SwipeToRevealNonAnchoredSample
inhasPartiallyRevealedState
umbenannt, um die Verwendung des Parameters anzuzeigen;actionButtonHeight
entfernt, da die Standardhöhe der Schaltfläche standardmäßig verwendet wird und eine größere Höhe mit einem Modifikator festgelegt werden kann;SmallActionButtonHeight
ausSwipeToRevealDefaults
entfernt; der Wertparameter in den Konstruktoren vonRevealValue
undRevealDirection
auf „privat“ gesetzt. (I465ce).
Fehlerkorrekturen
- Die
EdgeButton
-Verarbeitung vonScreenScaffold
wurde korrigiert, sodass nach dem Entfernen einesTransformingLazyColumn
-Elements dieEdgeButton
animiert wird. (I6d366). - Die Abhängigkeiten von Wear Compose von Compose-Bibliotheken wurden auf Version 1.8.0 aktualisiert. (I2ef3f).
- Die Bewegung des unbestimmten
CircularProgressIndicator
wurde aktualisiert, sodass es nicht mehr vorübergehend zurückgeht. (Ieddb1). - Ein
SwipeDismissableNavHost
-Fehler wurde behoben: Der Fokus wurde nach dem Wischen nach hinten nicht richtig umgeschaltet, was zu einem Fehler bei der Eingabe über die Drehscheibe führte. Dies betraf API 36 und höher, bei denen die Vorhersagefunktion für die Rückwärtsnavigation verwendet wird. (Ieddb1). - Die Dokumentation für die Hierarchical Focus API (Idf2ff) wurde geändert.
- Die Dokumentation für Schaltflächen und Karten wurde aktualisiert. Darin wird nun erläutert, wie
containerPainter
unddisabledContainerPainter
containerColor
unddisabledContainerColor
überschreiben (I4a453). - Die Änderung an
TimeText
in der vorherigen Version, durch dieBroadcastReceiver
in einen Worker-Thread verschoben wurde, wurde rückgängig gemacht, da sie Probleme bei Apps verursachte, die während der Navigation ihre eigenen Threads verwalten. (I34d02). - Die Picker-Beispiele wurden aktualisiert, um unnötige „remember“-Aufrufe zu entfernen. Stattdessen wird in Picker
rememberUpdatedState
verwendet, um die letztecontentDescription
-Lambda-Funktion zu speichern. (Icb5b1). - Die Textstile in
TimePicker
undDatePicker
wurden aktualisiert, damit Schriftartänderungen nicht mehr zu Kürzungen führen. (I26194). - Die Standardtextausrichtung von
ListHeader
undListSubHeader
ist jetzt jeweils „Zentriert“ und „Anfang“. (I78339). - Die Samples und Demos für „Wischen zum Darstellen“ in Foundation und Material wurden aktualisiert, um benutzerdefinierte Aktionen zur Barrierefreiheit anzukündigen. Die benutzerdefinierten Aktionen müssen als Semantik zum Inhalt hinzugefügt werden, nicht zum
SwipeToReveal
-Komposit selbst. (Ie92a3). - Der Standardwert für
MaxLines
fürEdgeButton
-Inhalte wurde anhand der Größe aktualisiert: „1“ für extra klein, „2“ für klein und mittel und „3“ für groß. (Ie35f6). LocalReduceMotion
wurde vereinfacht, damit der Beobachter nur einmal registriert wird, um die Leistung zu verbessern. (Ib1979).- Die Anzahl der Neuzeichnungen in
ScrollIndicator
wurde minimiert, um die Leistung zu verbessern. (Ia7a67). - Ein Fehler in
TransformingLazyColumn
wurde behoben, durch den das oberste sichtbare Element in der Liste nicht richtig skaliert wurde, wenn die Edge-Schaltfläche ihre volle Höhe erreicht hatte. (I30580).
Version 1.5.0-alpha14
23. April 2025
androidx.wear.compose:compose-*:1.5.0-alpha14
wird veröffentlicht. Version 1.5.0-alpha14 enthält diese Commits.
API-Änderungen
- Alle Material
SwipeToReveal
-Abhängigkeiten von FoundationSwipeToReveal
wurden in das Material-Paket verschoben, z.B.RevealValue
,RevealDirection
,RevealActionType
,RevealState
undrememberRevealState
. Entwickler sollten die Importe dieser Klassen und Funktionen vonandroidx.wear.compose.foundation
zuandroidx.wear.compose.material
ändern. (Ib7cb8) - Die API von
HierarchicalFocusCoordinator
wurde aktualisiert, sodass sie jetzt Modifikatoren statt Composeables enthält. - Hinweise zur Migration:
HierarchicalFocusCoordinator(function, content)
kann durch Hinzufügen einesModifier.hierarchicalFocus(function())
zucontent
oder zum umschließenden Composeable ersetzt werden.ActiveFocusListener { if (it) focusRequester.requestFocus() }
kann durch Hinzufügen vonModifier.hierarchicalFocusRequester(focusRequester)
ersetzt werden- Für andere seltenere Verwendungen von
ActiveFocusListener
kann der neue Parameter aufModifier.hierarchicalFocus
verwendet werden. focusRequester(rememberActiveFocusRequester())
kann durchhierarchicalFocusRequester()
ersetzt werdenval focusRequester = rememberActiveFocusRequester()
kann durchremember { FocusRequester() }
ersetzt undModifier.hierarchicalFocusRequester(focusRequester)
hinzugefügt werden. (Ie319a)
Fehlerkorrekturen
- Der Geschwindigkeitsgrenzwert, den Wischbewegungen überschreiten müssen, um einen Statuswechsel auszulösen, wurde für die folgenden Komponenten erhöht:
SwipeToReveal
,BasicSwipeToDismissBox
undSwipeDismissableNavHost
(nur für API 35 und niedriger fürSwipeDismissableNavHost
). (If47bf) - Ein Animationsproblem beim Hinzufügen neuer Elemente zu
TransformingLazyColumn
wurde behoben. (I589b2)
Version 1.5.0-alpha13
9. April 2025
androidx.wear.compose:compose-*:1.5.0-alpha13
wird veröffentlicht. Version 1.5.0-alpha13 enthält diese Commits.
API-Änderungen
- Für Projekte, die mit Kotlin 2.0 veröffentlicht wurden, ist KGP 2.0.0 oder höher erforderlich (Idb6b5)
targetPage
-Property zuPagerState
(I4de8b) hinzugefügt
Fehlerkorrekturen
- Verhindern unnötiger Neuzusammensetzungen bei der Vorschau (Iecd6d)
- Die Property
isScrollable
vonScrollInfoProvider
wurde so korrigiert, dass der aktuelle Wert zurückgegeben wird. (Icbfb8)
Version 1.5.0-alpha12
26. März 2025
androidx.wear.compose:compose-*:1.5.0-alpha12
wird veröffentlicht. Version 1.5.0-alpha12 enthält diese Commits.
API-Änderungen
- Die Standardimplementierung von
SwipeToReveal
fürgestureInclusion
wurde verbessert, sodass Touch-Gesten nur dann ignoriert werden, wenn der Status der Komponente „Bedeckt“ ist. (I7e3d6) - Bei
SwipeToReveal
wurdebidirectionalGestureInclusion
zu einem Wert statt einer Funktion und@FloatRange
zumedgeZoneFraction
-Parameter ingestureInclusion
hinzugefügt. (Ica7c3)
Fehlerkorrekturen
- Ändern Sie
SwipeToReveal
bidirectionalGestureInclusion
, damit ein Objekt anstelle einer Klasse zurückgegeben wird. (I29597) - Haptik wird beim Ausführen von Tests unter
RoboElectric
deaktiviert. (I58bd1) - Aktualisieren Sie den
SwipeToReveal
-Abstand zwischen Inhalt und Aktionsschaltflächen sowie den Abstand zwischen Symbol und Text der Aktionsschaltflächen. (Ic46cb)
Version 1.5.0-alpha11
12. März 2025
androidx.wear.compose:compose-*:1.5.0-alpha11
wird veröffentlicht. Version 1.5.0-alpha11 enthält diese Commits.
API-Änderungen
PagerState
wurde aktualisiert. Die Compose Foundation-KlassePagerState
wurde als Basisklasse entfernt und die EigenschaftencurrentPage
,currentPageOffsetFraction
undpageCount
wurden hinzugefügt. DieGestureInclusion
-Oberfläche wurde aktualisiert und die Methode inignoreGestureStart
umbenannt. (I4ae07)- Fügen Sie
requireOffset
zuSwipeToDismissBoxState
hinzu, um einen Versatz vonSwipeToDismissBoxState
zu erhalten. (I21042) CurvedModifier.semantics
wurde hinzugefügt und unterstützt derzeit die Inhaltsbeschreibung und den Durchlaufindex (I0b093)- Mit
CurvedModifier.clearAndSetSemantics
können Sie die semantische Kurvenfunktion deaktivieren. BeiCurvedText
wird weiterhin standardmäßig der Text der Inhaltsbeschreibung vorgelesen. BeitimeTextCurvedText
undtimeTextSeparator
wird der Inhalt jedoch nicht mehr vorgelesen. (I4b568) - Die Standardbehandlung von Wischgesten in
HorizontalPager
wurde inPagerDefaults.gestureInclusion
umbenannt. Standardmäßig werden jetzt nur Wischgesten ignoriert, die am linken Rand der ersten Seite beginnen, und nur dann, wenn TalkBack deaktiviert ist. In anderen Fällen werden Wischgesten vom Pager nicht ignoriert und sind daher nicht für Swipe-to-Dismiss-Handler verfügbar. (Iee486) - Für die
rotaryScrollable
API wurde die Funktion „Drehrad-Überlauf“ hinzugefügt. DemrotaryScrollable
-Wischverhalten wurden Über- und verschachtelte Scroll-Ereignisse hinzugefügt. Durch diese Änderung sollten die Funktionen für das Über- und das verschachtelte Scrollen bei der Touchbedienung und der Drehbedienung gleich sein. (I71926) - Für
SwipeToReveal
wurde die Unterstützung für eine Zone für seitliche Wischbewegungen hinzugefügt. Standardmäßig ist in FoundationSwipeToReveal
das Wischen nicht mehr zulässig, wenn die Geste am Rand beginnt. Beim Standardverhalten von Material3SwipeToReveal
ist Wischen jetzt nicht mehr zulässig, wenn die Geste am Rand beginnt, wenn dieSwipeDirection
auf „Eine Richtung“ festgelegt ist. (I32ef0) - TLC verwendet jetzt standardmäßig ein leeres contentPadding, anstatt das erste und das letzte Element zu zentrieren. (I77ab7)
Fehlerkorrekturen
- Wear Compose-Bibliotheken wurden auf den Kotlin 2.0-Compiler aktualisiert. (I2de79)
- Das gekrümmte
LetterSpacing
-Beispiel auf dem Fundament wurde korrigiert. (Iebf7c)
Version 1.5.0-alpha10
26. Februar 2025
androidx.wear.compose:compose-*:1.5.0-alpha10
wird veröffentlicht. Version 1.5.0-alpha10 enthält diese Commits.
API-Änderungen
- Machen Sie
SwipeToRevealDefaults
öffentlich. (I0c34c) - Der Parameter
swipeToDismissEdgeZoneFraction
wurde durchHorizontalPager
ersetzt. Stattdessen wurde der neue ParametergestureInclusion
eingeführt, mit dem das erforderliche Wischen zum Schließen erreicht werden kann.gestureInclusion
nimmt eine Instanz vonGestureInclusion
entgegen, die entscheidet, ob das nachfolgende Scroll-Ereignis fortgesetzt werden soll oder nicht. Wenn Sie eine Geste zulassen, wird sie vom Pager verarbeitet. Andernfalls wird sie an anderer Stelle verarbeitet, z. B. von einem Handler für das Wischen zum Schließen. Beim neuen Standardverhalten sind Touch-Gesten am äußersten linken Rand der ersten Seite im Bildlauf nicht zulässig. Wischen zum Schließen ist in dieser Region also möglich. Auf allen anderen Seiten kann der Pager alle Touch-Gesten verwenden. Das bedeutet, dass das Wischen zum Schließen nicht ausgelöst werden kann. Wenn Sie das Verhalten „Wischen zum Schließen“ auf allen Seiten erreichen möchten, geben Sie einfach eine benutzerdefinierteGestureInclusion
-Instanz (siehePagerDefaults.disableLeftEdgeOnFirstPage
) an, die die aktuelle Seite ignoriert. Eine weitere Änderung ist, dass die Pager-Komponente nicht mehr standardmäßig im Vollbildmodus angezeigt wird. Wenn Sie dies wünschen, fügen Sie stattdessenModifier.fillMaxSize()
hinzu. (I9d3aa) - Wir haben
createAnchors
in der API „Wischen, um zu enthüllen“ (If5999) increateRevealAnchors
umbenannt. - Wir haben
RevealScope
aus der API für Wischen-zum-Entdecken entfernt. (Ie4ad5) - Wir haben „Entdeckend“ und „Entdeckt“ aus
RevealValue
in der Wischen-zum-Entdecken-API entfernt. (I8dbc5) - Wir haben
SwipeDirection
in der API für das Wischen zum Enthüllen inRevealDirection
umbenannt. (I7472f) - Wir haben die Signatur des Parameters
positionalThreshold
derrememberRevealState
-Funktion vonSwipeToReveal
geändert. (I29c0a) - Wir haben den Parameter
overscrollEffect
zuScalingLazyColumn
,TransformingLazyColumn
undScreenScaffold
hinzugefügt. (I0cee8) - Bei Verwendung von
PagerDefaults#snapFlingBehaviour
wurde der ParameterpagerSnapDistance
durch den GanzzahlparametermaxFlingPages
ersetzt. Mit diesem Parameter kann die maximale Anzahl von Seiten angegeben werden, die der Pager „flingen“ soll. (I8cfc0) - Wear Pager hat jetzt eine eigene
PagerScope
, anstatt Compose FoundationPagerScope
zu verwenden. (I9195b) - Unterstützung für
lineHeight
bei gekrümmtem Text (I1c936) - Wir haben
initialAnchorItemIndex
undinitialAnchorItemOffset
zuTransformingLazyColumnState
undrememberTransformingLazyColumnState
hinzugefügt, damit die Anfangsposition des Scrollens inTransformationLazyColumn
angegeben werden kann. (I0a0d5) runWithTimingDisabled
wird durchrunWithMeasurementDisabled
ersetzt, da dieser Messwert das Verhalten klarer beschreibt: Alle Messwerte werden pausiert. Außerdem müssen Sie die SuperklasseMicrobenchmarkScope
freigeben, da dierunWithMeasurementDisabled
-Funktion nicht für den offenen Zugriff neu deklariert werden kann, da sie inline ist. (I9e23b, b/389149423, b/149979716)- Wir haben der API
TransformingLazyColumnItemScrollProgress.Unspecified
hinzugefügt, umTransformingLazyColumnItemScrollProgress
zu vermeiden. (I0835d)
Fehlerkorrekturen
- Kdoc für
CurvedTextStyle
(Id45e3) verbessern - Wir haben
SwipeableV2
(Teil derSwipeToReveal
-Implementierung) von öffentlich auf intern umgestellt, aber auf die Bibliotheksgruppe beschränkt. (Idbb94) - Wir haben
HierarchicalFocusCoordinator
(I1ce54, b/395548918) Tests hinzugefügt. - Wir haben
SwipeToReveal
in Wear Compose-Grundlagenmustern verbessert. (I5f307) - Semantische Daten der Scrollachse für
verticalScrollAxisRange
inTransformingLazyColumn
für Barrierefreiheit korrigieren (I68123) - Die Leistung der haptischen Drehung auf Wear 4 und höher wurde durch Entfernen unnötiger Hintergrundthreads verbessert (I39cfe)
- Ändern Sie
SwipeDismissableNavHost
inPredictiveBackNavHost
, aber nur ab API 36. (I59bed) - Wir haben einen Schutz vor Abstürzen beim Zugriff auf die Einstellung „Bewegung reduzieren“ hinzugefügt. (I01e2c)
- Wir haben Prefetching für
TransformingLazyColumn
implementiert, um Ruckler zu reduzieren (Icca88)
Version 1.5.0-alpha09
29. Januar 2025
androidx.wear.compose:compose-*:1.5.0-alpha09
wird veröffentlicht. Version 1.5.0-alpha09 enthält diese Commits.
API-Änderungen
- Bei
CurvedTextStyle
haben wir den Buchstabenabstand in einen Buchstabenabstand im Uhrzeigersinn und einen Buchstabenabstand gegen den Uhrzeigersinn unterteilt. Dies ist erforderlich, da sich die Buchstaben im Uhrzeigersinn von der Grundlinie ausbreiten, während sie sich gegen den Uhrzeigersinn zusammenziehen. Daher ist ein größerer Buchstabenabstand erforderlich. (I4b848) - Die Funktion
CompositionLocal
LocalReduceMotion
wurde vereinfacht, sodass jetzt ein boolescher Wert anstelle einesReduceMotion
-Objekts zurückgegeben wird. DieReduceMotion
-Benutzeroberfläche wurde eingestellt. Bisherige Aufrufe wieLocalReduceMotion.current.enabled()
können durchLocalReduceMotion.current
(I4937f) ersetzt werden. - In
PagerDefaults
wurdesnapAnimationSpec
inSnapAnimationSpec
umbenannt. (I20c9a)
Version 1.5.0-alpha08
15. Januar 2025
androidx.wear.compose:compose-*:1.5.0-alpha08
wird veröffentlicht. Version 1.5.0-alpha08 enthält diese Commits.
API-Änderungen
- Wir haben alle Wear Compose-Bibliotheken auf den Modus „explizite API“ umgestellt. (Iebf9f)
- Der Parameter für die Snap-Animation des Bildlaufers ist jetzt Teil von
PagerDefaults
. (Ifff64) - Wir haben
SwipeToDismissBoxState
einen Offset-Parameter hinzugefügt. (I586bd)
Fehlerkorrekturen
- Die Haptik der Drehplattform wird jetzt für Wear OS-Versionen nach V (Idb03e) aufgerufen.
Version 1.5.0-alpha07
11. Dezember 2024
androidx.wear.compose:compose-*:1.5.0-alpha07
wird veröffentlicht. Version 1.5.0-alpha07 enthält diese Commits.
API-Änderungen
- Mit
TransformingLazyColumnState
können Sie jetzt den aktuellen Scrollvorgang anhand von Indexen für Ankerelemente beobachten. (I72b01) - Wir haben
TransformingLazyColumn
Animationen hinzugefügt, wenn Elemente hinzugefügt, entfernt oder verschoben werden, sofern die neueModifier.animateItem
verwendet wird. (Iecb9c) TransformingLazyColumn
gibt jetzt Werte fürbeforeContentPadding
undafterContentPadding
zurück. (Iccd5f)TransformingLazyColumn
bietet jetzt die lokaleLocalTransformingLazyColumnItemScope
der Komposition, mit der Komponenten (z. B.Card
s undButton
s in Material3) automatisch morphen können, wenn sie in eineTransformingLazyColumn
eingefügt werden. Anrufer können das automatische Morphing mit dem neuenTransformExclusion
-Wrapper deaktivieren. (I1652f)
Fehlerkorrekturen
- Wir haben die Mindest- und Höchstgeschwindigkeiten für Drehungen auf Geräten mit Android U und höher aktualisiert. (I33559)
- Wir haben einen Absturz behoben, der auftrat, wenn ein Element in
TransformingLazyColumn
keine Composeables enthielt (Idb99d). - Wir haben die Unterstützung für haptisches Drehen unter Android Vanilla Ice Cream auf
ScrollFeedbackProvider
erweitert. (Ibc553) - Wir haben die Touch-Stolperschwelle bei der Verwendung von
SwipeToReveal
erhöht, um die Wahrscheinlichkeit zu verringern, dass beim vertikalen Scrollen versehentlich ein Wisch ausgelöst wird. (Ic0672) - Wir haben
SwipeDismissableNavHost
so aktualisiert, dass ab API 35PredictiveBackHandler
verwendet wird, sofern verfügbar. In diesem Fall werden neue Animationen angewendet. (I08c11)
Version 1.5.0-alpha06
13. November 2024
androidx.wear.compose:compose-*:1.5.0-alpha06
wird veröffentlicht. Version 1.5.0-alpha06 enthält diese Commits.
API-Änderungen
- Wir haben
ScrollInfoProvider
fürPagerState
vereinfacht, indem wir den Parameterorientation
entfernt haben, der nicht mehr benötigt wird. Künftig bleibtTimeText
sowohl bei horizontaler als auch bei vertikaler Seitennavigation an Ort und Stelle. (I71767) TransformingLazyColumn
wurde in früheren Releases eingeführt. Wir entfernen jetzt dieLazyColumn
-Aliasse von Wear, die anTransformingLazyColumn
weitergeleitet wurden, und verwenden stattdessen den neuen NamenTransformingLazyColumn
. Außerdem wurde die Propertyheight
vonTransformingLazyColumnVisibleItemInfo
entfernt. Verwenden Sie stattdessenmeasuredHeight
. (I0ea1e)- Wir haben die
PagerDefaults.snapFlingBehavior
snapAnimationSpec
von einerTween
- zu einerSpring
-Spezifikation geändert.(I10d02, b/349781047, b/303807950) - Die
LocalReduceMotion
CompositionLocal
wurde zur stabilen Version (Ia6f32) hochgestuft.
Fehlerkorrekturen
- Wir haben
Modifier.rotaryScrollable
aktualisiert, umfocusTargetWithSemantics
für eine bessere Unterstützung der Semantik in Rotary zu verwenden. (Ief0a0) - Die Mindest-API-Abhängigkeit für Compose-Bibliotheken wurde auf 1.7.4 aktualisiert. (I88b46)
- Wir haben die Breitenumwandlung in
TransformingLazyColumn
deaktiviert, um einen Fehler beim Zuschneiden zu beheben. (I3dfb8) - Wir haben einen Fehler behoben, durch den Elemente nach dem Überscrollen mit
TransformingLazyColumn
ausgeblendet wurden (Id7668). - Wir haben
LazyLayoutSemantics
fürTransformingLazyColumn
hinzugefügt. (Ia8f56)
Version 1.5.0-alpha05
30. Oktober 2024
androidx.wear.compose:compose-*:1.5.0-alpha05
wird veröffentlicht. Version 1.5.0-alpha05 enthält diese Commits.
API-Änderungen
- Wir haben die Unterstützung für
animateScrollTo
aufTransformingLazyColumnState
hinzugefügt, damit das Scrollen zu einem Element animiert werden kann. (I4097d) - Wir haben
requestScrollTo
aufTransformingLazyColumnState
hinzugefügt, um das Scrollen zur nächsten Messung zu verzögern. (I20a5e) - In
TransformingLazyColumn
wird jetztcontentPadding
unterstützt. (I3a69c)
Fehlerkorrekturen
- Wir haben einen Fehler beim Rendern des
TransformingLazyColumn
behoben, wenn die Inhaltshöhe kürzer als die Bildschirmhöhe ist. (I6c3e1) - Die
ScrollInfoProvder
fürTransformingLazyColumn
wird jetzt richtig für den ersten Artikel verwendet. (I1e4a3) TransformingLazyColumnState
speichert jetzt seinen Status (anchorItemIndex
undanchorItemScrollOffset
). (I3d265)
Version 1.5.0-alpha04
16. Oktober 2024
androidx.wear.compose:compose-*:1.5.0-alpha04
wird veröffentlicht. Version 1.5.0-alpha04 enthält diese Commits.
API-Änderungen
- Wir haben die Wear Compose Foundation
LazyColumn
inTransformingLazyColumn
umbenannt, damit sie sich leichter von der Compose FoundationLazyColumn
unterscheiden lässt. (I0608b) - Unterstützung für Drehknöpfe für horizontale/vertikale Pager hinzugefügt, damit Nutzer Pager mit Drehknöpfen bedienen können. (I9770d)
- Wir haben das neue Symbol
PagerDefaults
aktualisiert, um deutlich zu machen, dass der Bildlauf automatisch an die Seite springt. (Iff7d0) TransformingLazyColumnItemScrollProgress
ist jetzt eine Wertklasse, was die Leistung verbessern sollte. (Ic399e)TransformingLazyColumn
unterstützt jetzt standardmäßig Drehknöpfe. (I05206)TransformingLazyColumnState
unterstützt jetztscrollToItem
. (I507b3)@ExperimentalWearFoundationApi
aus derSwipeToReveal
API entfernt (I34a66)
Version 1.5.0-alpha03
2. Oktober 2024
androidx.wear.compose:compose-*:1.5.0-alpha03
wird veröffentlicht. Version 1.5.0-alpha03 enthält diese Commits.
API-Änderungen
- Wir haben die Unterstützung für das bidirektionale Wischen in
SwipeToReveal
hinzugefügt, für den seltenen Fall, dass der aktuelle Bildschirm das Wischen zum Schließen nicht unterstützt. . Standardmäßig wird die Funktion „Wischen, um zu enthüllen“ weiterhin nur bei Wischen von rechts nach links aktiviert. Wir empfehlen dringend, das Standardverhalten beizubehalten, um Konflikte mit der Funktion „Wischen, um zu schließen“ zu vermeiden. (Ifac04) - Wir haben
LazyColumnState
aktualisiert, umcanScrollForward
undcanScrollBackward
zu überschreiben. Das Scrollen wird jetzt beendet, wenn sich das erste oder letzte Element genau in der Mitte des Bildschirms befindet. (Ia77d7) - Wir haben neue
HorizontalPager
- undVerticalPager
-Komponenten hinzugefügt, die häufige Probleme beheben, z. B. die Fokusverwaltung und die Interaktion mit dem System-Wisch-zum-Schließen, die auf Wear auftreten können. (I2902b) - Wir haben die Unterstützung für
LazyColumn
hinzugefügt, um diekey
undcontentType
des Clients überlayoutItems
freizugeben. (I1bd9c)
Fehlerkorrekturen
- Wir haben die Animationen für gebogenen Text mithilfe von Paint-Flags optimiert, damit sie flüssiger ablaufen. (I73a15)
- Wir haben die Dokumentation zu Material Dialog aktualisiert, um darauf hinzuweisen, dass
onDismissRequest
nicht aufgerufen wird, nachdem das Flag „show“ auf „false“ gesetzt wurde. (Ifd8d6) - Wir haben einen Fehler mit der Vignettenanimation im Material Dialog (I126bf) behoben.
Version 1.5.0-alpha02
18. September 2024
androidx.wear.compose:compose-*:1.5.0-alpha02
wird veröffentlicht. Version 1.5.0-alpha02 enthält diese Commits.
API-Änderungen
- Wir haben die Unterstützung für die Wear OS-Funktion „Compose“
LazyColumn
mit unsererScreenScaffold
hinzugefügt und eine Implementierung vonScrollInfoProvider
fürLazyColumnState
hinzugefügt. (Ib8d29) viewportSize
wurde zuLazyColumnLayoutInfo
hinzugefügt. (I4187f)
Fehlerkorrekturen
- Ein Fehler wurde behoben, durch den das Drehen des Controllers zum Scrollen in
ScalingLazyColumn
deaktiviert wurde, wenn das FlaguserScrollEnabled
auffalse
gesetzt war. (I490ab, b/360295825) - Wir haben einen Fehler behoben, der zu unerwartetem vertikalen Abstand bei gebogenem Text führte. Die Höhe des gekrümmten Texts entspricht jetzt besser dem tatsächlichen Platz, den der Text einnimmt. Hinweis: Dadurch werden wahrscheinlich Screenshot-Tests unterbrochen, die gekrümmten Text enthalten (Iaa6ef).
- Wir haben eine Fehlerkorrektur für
Dialog
rückgängig gemacht, bei der der RückrufonDismissRequest
aufgerufen wurde, wennshowDialog
auf „falsch“ gesetzt war. In einigen Fällen wurdeonDismissRequest
dadurch mehrmals aufgerufen. (I64656)
Version 1.5.0-alpha01
4. September 2024
androidx.wear.compose:compose-*:1.5.0-alpha01
wird veröffentlicht. Version 1.5.0-alpha01 enthält diese Commits.
API-Änderungen
- Wir haben der Wear Compose Foundation-Bibliothek eine neue
LazyColumn
mit den zugehörigenLazyColumnState
- undLazyColumnScope
-APIs hinzugefügt. Dies bildet die Grundlage für die Erstellung anpassbarer Skalierungs- und Morphing-Effekte mit Wear Compose. (Ib3b22) - Wir haben im Rahmen der neuen
LazyColumn
API eine indexierte Version vonitemsIndexed
zuLazyColumnScope
hinzugefügt. (Ib4a57) - Wir haben
LazyColumn
-Modifizierer hinzugefügt, um Skalierungs- und Morphing-Verhalten zu unterstützen. (Ie229a) HierarchicalFocusCoordinator
wurde zur stabilen Version hochgestuft. (I31035)- Für gebogenen Text wird jetzt der Zeichenabstand unterstützt. (I3c740)
CurvedLayout.curvedComposable
wurde der ParameterrotationLocked
hinzugefügt, um die Drehung von Komponenten zu verhindern. (I66898)- Die temporäre
LocalUseFallbackRippleImplementation
API aus „wear material“ und „wear material3“ wurde entfernt (I62282) WearDevices.SQUARE
aus der Multiview-Vorschau von@WearPreviewDevices
entfernt (I11c02)
Fehlerkorrekturen
SwipeToReveal
platziert die angezeigten Elemente jetzt im sichtbaren Bereich des Bildschirms. Das ist hilfreich, wennSwipeToReveal
in einer Liste verwendet wird, da die Elemente immer interaktiv sind und nie außerhalb des Bildschirms erscheinen. (I38929)SwipeToReveal
setztlastActionType
jetzt auf „None“, wennanimatedTo
abgeschlossen ist. (I59b03)- Die Dokumentation für den neuen Parameter
rotationLocked
aufcurvedComposable
wurde verbessert. (Ifbd57) - Ein Absturz beim Übergeben von
NaN
an dieperformFling
vonScalingLazyColumnSnapFlingBehavior
wurde behoben. (Ic13da) - Fehler beim Modifikator für die Größe des gebogenen Layouts behoben (I0fedf)
- Wir haben die Unterstützung für den Buchstabenabstand hinzugefügt, der mit „sp“ angegeben wird. (I9f6e3)
- Wir haben einen Fehler im Material2-Dialog behoben, durch den der
onDismissRequest
-Callback nicht aufgerufen wurde, wenn das Dialogfeld unsichtbar wurde (I64656). LayoutCoordinates.introducesFrameOfReference
inLayoutCoordinates.introducesMotionFrameOfReference
umbenannt, um den Zweck besser zu verdeutlichen. Die zugehörige Funktion wurde umbenannt, um Koordinaten anhand dieses Flags zu berechnen. (I3a330)
Version 1.4
Version 1.4.1
12. Februar 2025
androidx.wear.compose:compose-*:1.4.1
wird veröffentlicht. Version 1.4.1 enthält diese Commits.
Fehlerkorrekturen
- Wir haben einen Absturz beim Zugriff auf die globale Einstellung „Bewegung reduzieren“ verhindert, der auf einigen Plattformen ausgelöst wurde, auf denen diese Einstellung nicht verfügbar war. (I01e2c)
Version 1.4.0
4. September 2024
androidx.wear.compose:compose-*:1.4.0
wird veröffentlicht. Version 1.4.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.3.0
ScalingLazyColumn
undPicker
unterstützen jetzt standardmäßig die Eingabe über einen Drehknopf. Es wird empfohlen, die explizite Drehknopf-Behandlung zu entfernen und das Standardsystemverhalten zu verwenden. Verwenden Sie bei Bedarf den ParameterrotaryScrollableBehavior
, um entweder das Scroll- oder das Snap-Verhalten zu konfigurieren. Für das Snap-Verhalten wird empfohlen, das Snap-Verhalten und die Touch-Scrollfunktionen mit dem ParameterflingBehavior
anzugeben.Modifier.rotaryScrollable
ist ein neuer Modifikator, der Drehereignisse mit scrollbaren Containern verbindet. So können Nutzer auf ihrem Wear OS-Gerät mit einer Krone oder einem drehbaren Zifferblatt scrollen.SwipeDismissableNavHost
bietet jetzt eine Einblendungsanimation für In-App-Übergänge.PositionIndicator
wird jetzt standardmäßig angezeigt, wenn ein Bildschirm zum ersten Mal angezeigt wird.
Weitere Änderungen
- Eine vollständige Liste der Änderungen in Version 1.3.0 finden Sie in den Versionshinweisen zur Betaversion 01.
Version 1.4.0-rc01
21. August 2024
androidx.wear.compose:compose-*:1.4.0-rc01
wird veröffentlicht. Version 1.4.0-rc01 enthält diese Commits.
- Wir haben die Compose-Abhängigkeiten auf 1.7.0-rc01 aktualisiert und die Wear Compose-Navigation an androidx.lifecycle 2.8.3 angepinnt.
Version 1.4.0-beta03
12. Juni 2024
androidx.wear.compose:compose-*:1.4.0-beta03
wird veröffentlicht. Version 1.4.0-beta03 enthält diese Commits.
Fehlerkorrekturen
- Wir haben
Modifier.rotaryScrollable
aktualisiert, um „focusable“ durch „focusTarget“ zu ersetzen, was die Leistung verbessert. (Id294b) - Wir haben ein Problem behoben, durch das die
ProgressIndicator
ihre Ansage unterTalkBack
wiederholt hat. (I94563) - Wir haben die Baseline-Profile der Wear Compose-Bibliothek aktualisiert. (I3cbc3)
Version 1.4.0-beta02
29. Mai 2024
androidx.wear.compose:compose-*:1.4.0-beta02
wird veröffentlicht. Version 1.4.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Wir haben die Breite der Begrenzung für gebogenen Text erhöht, der an Screenreader übergeben wird, um Probleme mit Kürzungen zu beheben (Id865f).
- Wir haben die Grenze des
HorizontalPageIndicator
, das an Screenreader übergeben wurde, eingeschränkt. Bisher nahm der Indikator den gesamten Bildschirm ein (Id8d7a).
Version 1.4.0-beta01
14. Mai 2024
androidx.wear.compose:compose-*:1.4.0-beta01
wird veröffentlicht. Version 1.4.0-beta01 enthält diese Commits.
Die Version 1.4-beta01 von Compose für Wear OS gibt an, dass diese Version der Bibliothek funktionsfähig ist und die API gesperrt ist (außer bei Funktionen, die als experimentell gekennzeichnet sind). Wear Compose 1.4 enthält die folgenden neuen Funktionen:
- Wir haben
Modifier.rotaryScrollable
hinzugefügt, einen neuen Modifikator, der Drehereignisse mit scrollbaren Containern verbindet. So können Nutzer auf ihrem Wear OS-Gerät über eine Krone oder ein drehbares Zifferblatt scrollen. Außerdem wird die Drehrad-Eingabe jetzt standardmäßig vonScalingLazyColumn
undPicker
unterstützt. Verwenden Sie den ParameterrotaryScrollableBehavior
, um entweder das Scroll- oder das Snap-Verhalten zu konfigurieren. Für das Anpassen des Inhalts wird empfohlen, das Anpassen über den ParameterflingBehavior
und für das Scrollen per Touchbedienung zu aktivieren. SwipeDismissableNavHost
bietet jetzt eine Einblendungsanimation für In-App-Übergänge.PositionIndicator
wird jetzt standardmäßig angezeigt, wenn ein Bildschirm zum ersten Mal angezeigt wird.SelectableChip
undSplitSelectableChip
wurden als Variante vonToggleChip
hinzugefügt. Verwenden Sie sie mitRadioButton
, um auswählbare statt ausblendbare Semantik für die Barrierefreiheit bereitzustellen.ListHeader
unterstützt jetzt Höhenanpassungen, wenn Inhalte mehr Höhe benötigen, um große Schriftgrößen zu berücksichtigen.
Fehlerkorrekturen
- Wir haben einen Fehler behoben, durch den bei auswählbaren Chips die Aufforderung zum Doppeltippen zum Umschalten angezeigt wurde, wenn sie bereits ausgewählt waren. (I7ed88)
Version 1.4.0-alpha08
1. Mai 2024
androidx.wear.compose:compose-*:1.4.0-alpha08
wird veröffentlicht. Version 1.4.0-alpha08 enthält diese Commits.
API-Änderungen
- Wir haben die folgenden Änderungen an der neuen Drehknopf-API vorgenommen:
Modifier.rotary
inModifier.rotaryScrollable
umbenannt, dieRotaryBehavior
-Benutzeroberfläche inRotaryScrollableBehavior
und die FunktionhandleScrollEvent
inperformScroll
,RotaryScrollableAdapter
inRotaryScrollableLayoutInfoProvider
umbenannt und die PropertyscrollableState
entfernt. (I0c8a6) - Wir haben weitere Änderungen an der Drehknopf-API vorgenommen:
RotaryScrollableLayoutInfoProvider
inRotarySnapLayoutInfoProvider
umbenannt (da dieser Anbieter nur für Drehknöpfe mit Snap benötigt wird) und den Typ dessnapOffset
-Parameters inRotaryScrollableDefaults.snapBehavior snapOffset
von „Int“ zu „Dp“ geändert. (Iddebe) - Der Parameter
clickInteractionSource
aufSplitSelectableChip
wurde incontainerInteractionSource
umbenannt. (Ia8f84) - Die Namen der Klick-Callback-Parameter für
SplitSelectableChip
wurden vononClick
zuonSelectionClick
und vononBodyClick
zuonContainerClick
geändert. (I32237)
Fehlerkorrekturen
- Wir haben den horizontalen Abstand für
PositionIndicator
auf 2 dp (vorher 5 dp) aktualisiert, um einen Fehler zu beheben, bei dem diePositionIndicator
(Bildlaufleiste) über scrollbare Inhalte hinwegragte. Aufgrund der Änderung des Abstands funktionieren vorhandene Screenshots, die diePositionIndicator
enthalten, voraussichtlich nicht mehr. (I57472) - Wir haben die Dokumentation für die neue Drehknopf-API verbessert, indem wir die Unterschiede zwischen Low-Res- und Hi-Res-Drehknopfgeräten beschrieben haben. (I63abe)
- Wir haben eine Ausnahme bei
SwipeDismissableNavHost
behoben, die ausgelöst werden konnte, wenn interpolierte Alphawerte kleiner als null waren. (Ib75a1, b/335782510)
Version 1.4.0-alpha07
17. April 2024
androidx.wear.compose:compose-*:1.4.0-alpha07
wird veröffentlicht. Version 1.4.0-alpha07 enthält diese Commits.
API-Änderungen
- Wir haben
Modifier.rotary
hinzugefügt, einen neuen Modifikator, der Drehereignisse mit scrollbaren Containern verbindet. So können Nutzer auf ihrem Wear OS-Gerät über eine Krone oder ein drehbares Zifferblatt scrollen. Außerdem unterstützenScalingLazyColumn
und Picker jetzt standardmäßig die Dreheingabe. Es gibt neue Überladungen mit dem ParameterrotaryBehavior
, mit dem die Konfiguration von Scrollen oder Snap festgelegt werden kann. Wenn der ParameterrotaryBehavior
auf „Snap“ gesetzt ist, wird empfohlen, für das Scrollen per Touch auch „Snap“ über den ParameterflingBehavior
anzugeben. (I2ef6f) - Die
NestedScroll
-Quellen „Ziehen“ und „Wischen“ werden durchUserInput
undSideEffect
ersetzt, um der erweiterten Definition dieser Quellen Rechnung zu tragen. Dazu gehören jetzt auch Animationen (Nebeneffekt) sowie Mausrad und Tastatur (Nutzereingaben). (I40579) - Wir haben
SelectableChip
undSplitSelectableChip
hinzugefügt, um die Unterscheidung zwischen Ein-/Aus-Schaltflächen wieSwitch/Checkbox
und auswählbaren Steuerelementen wieRadioButton
klarer zu machen. Dadurch werden die zuvor hinzugefügten Überladungen vonToggleChip/SplitToggleChip
durchselectionControl
-Parameter ersetzt. (Ia0217) - Der Sichtbarkeitsmodifikator von
IndeterminateStrokeWidth
inProgressIndicatorDefaults
wurde auf „Öffentlich“ aktualisiert. (I5b5a4)
Version 1.4.0-alpha06
3. April 2024
androidx.wear.compose:compose-*:1.4.0-alpha06
wird veröffentlicht. Version 1.4.0-alpha06 enthält diese Commits.
Fehlerkorrekturen
- Wir haben einen internen Entwurf für die Unterstützung von Drehknöpfen hinzugefügt, im Rahmen der größeren Migration des Drehknopfverhaltens von Horologist zu AndroidX. (I617d1)
- Wir haben einen internen Entwurf für die Unterstützung von Haptik hinzugefügt, als Teil der größeren Migration des Drehradverhaltens von Horologist zu AndroidX. (I5568a)
Version 1.4.0-alpha05
20. März 2024
androidx.wear.compose:compose-*:1.4.0-alpha05
wird veröffentlicht. Version 1.4.0-alpha05 enthält diese Commits.
API-Änderungen
- Wir haben die Properties
initialCenterItemIndex
undinitialCenterItemScrollOffset
vonScalingLazyListState
öffentlich gemacht. (I0c616) - Wir haben die
FullScreenStrokeWidth
vonProgressIndicatorDefaults
öffentlich gemacht. (Ibea23)
Fehlerkorrekturen
- Wir haben die Leistung von
PositionIndicator
verbessert, indem wir die Anzahl der Aufrufe vonlayoutInfo
vonScalingLazyColumn
aufPositionIndicator
reduziert haben. (Idc83d)
Version 1.4.0-alpha04
6. März 2024
androidx.wear.compose:compose-*:1.4.0-alpha04
wird veröffentlicht. Version 1.4.0-alpha04 enthält diese Commits.
API-Änderungen
- Wir haben eine neue Überladung für
ToggleChip
undSplitToggleChip
hinzugefügt, die anstelle des ParameterstoggleControl
den ParameterselectionControl
verwendet. Dieser sollte mit dem SteuerelementRadioButton
verwendet werden, um auswählbare statt umschaltbare Semantik für die Barrierefreiheit bereitzustellen (I1d6d9). - Die Parameternamen für die neue
selectionControl
-Überladung wurden vononSelected
zuonSelect
fürToggleChip
undSplitToggleChip
geändert (I1a971)
Version 1.4.0-alpha03
21. Februar 2024
androidx.wear.compose:compose-*:1.4.0-alpha03
wird veröffentlicht. Version 1.4.0-alpha03 enthält diese Commits.
API-Änderungen
- Der
Modifier.inspectable
-Wrapper wurde eingestellt. Diese API führt zu mehr Ungültigstellungen des Modifiers als nötig. Daher wird ihre Verwendung nicht mehr empfohlen. Entwickler sollten dieinspectableProperties()
-Methode fürModifierNodeElement
implementieren, wenn sie Modifikatoreigenschaften für Tools freigeben möchten. (Ib3236)
Fehlerkorrekturen
- Ein Fehler in der Dokumentation für
WearPreview*
-Anmerkungen wurde behoben. (Id526d)
Version 1.4.0-alpha02
7. Februar 2024
androidx.wear.compose:compose-*:1.4.0-alpha02
wird veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.
Fehlerkorrekturen
- Wir haben einen Fehler bei der Funktion „Wischen, um zu enthüllen“ behoben, bei dem es möglich war, mit einer ausgeführten Aktion auf einem Element zu interagieren und sie abzubrechen, indem man mit dem Wischen auf ein anderes Element begann.(Ide059)
- Wir haben die
ListHeader
aktualisiert, damit die Höhe angepasst werden kann, wenn für Inhalte eine größere Höhe erforderlich ist, um große Schriftgrößen zu berücksichtigen. (I7290c, b/251166127)
Version 1.4.0-alpha01
24. Januar 2024
androidx.wear.compose:compose-*:1.4.0-alpha01
wird veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.
Neue Funktionen
- Wir haben
SwipeDismissableNavHost
eine Eintrittsanimation für In-App-Übergänge hinzugefügt.(cfeb79a) PositionIndicator
wird jetzt standardmäßig angezeigt, wenn ein Bildschirm zum ersten Mal angezeigt wird. Diese Änderung wurde eingeführt, um die Qualitätsrichtlinien für Wear-Apps einzuhalten. Das bedeutet leider, dass Screenshottests auf Bildschirmen mitPositionIndicator
aktualisiert werden müssen, daPositionIndicator
zuvor nicht angezeigt wurde. (419cef7)
API-Änderungen
- Wir haben in den
wear:compose-material
- undwear:compose-material3
-Bibliotheken eine neue Ripple API hinzugefügt, die die eingestellterememberRipple
ersetzt. Außerdem wird ein temporärerCompositionLocal
,LocalUseFallbackRippleImplementation
hinzugefügt, um Materialkomponenten wieder auf die veraltetenrememberRipple/RippleTheme
APIs umzustellen. Diese Funktion wird in der nächsten stabilen Version entfernt. Sie dient nur als vorübergehende Migrationshilfe für Fälle, in denen Sie eine benutzerdefinierteRippleTheme
bereitstellen. Informationen zur Migration und weitere Hintergrundinformationen zu dieser Änderung finden Sie unter developer.android.com. (af92b21) - Wir haben
ColorScheme
so aktualisiert, dass sie unveränderlich ist. Dadurch sind einzelne Farbänderungen weniger effizient, aber die gängige Verwendung von Farben ist effizienter. Der Grund für diese Änderung ist, dass das Aktualisieren einzelner Farben in den meisten Apps nicht der Hauptanwendungsfall ist. Das ist zwar weiterhin möglich, aber es wird häufiger neu zusammengesetzt als zuvor. Dadurch reduzieren wir die Anzahl der Statusabonnements im gesamten Materialcode erheblich und wirken sich auf die Initialisierungs- und Laufzeitkosten bei Standardanwendungsfällen aus. (f5c48b7) - Wear OS-Material- und Wear OS-Material3-Komponenten, die eine
MutableInteractionSource
in ihrer API bereitstellen, wurden aktualisiert. Sie geben jetzt eine nullableMutableInteractionSource
zurück, die standardmäßig null ist. Hier gibt es keine semantischen Änderungen: Wenn Sie „null“ übergeben, möchten Sie dieMutableInteractionSource
nicht hochladen. Sie wird bei Bedarf innerhalb der Komponente erstellt. Wenn Sie zu „null“ wechseln, wird für einige Komponenten nie eineMutableInteractionSource
zugewiesen. Bei anderen Komponenten wird eine Instanz nur bei Bedarf erstellt, was die Leistung dieser Komponenten insgesamt verbessert. Wenn du denMutableInteractionSource
, den du an diese Komponenten weitergibst, nicht verwendest, solltest du stattdessen „null“ übergeben. Wir empfehlen Ihnen außerdem, ähnliche Änderungen an Ihren eigenen Komponenten vorzunehmen. (f8fa920) - Wir haben
rememberExpandableState
aktualisiert, um den maximierten Zustand zu speichern. So werden Daten gespeichert, wenn Sie zu einem anderen Bildschirm wechseln, und wiederhergestellt, wenn Sie zum ursprünglichen Bildschirm zurückkehren. (5c80095)
Fehlerkorrekturen
- Wir haben die
ReduceMotion
-Einstellung aktualisiert, um einen lebenszyklusbewussten Listener zu verwenden. (7c6b122) - Wir haben den Listener von
TouchExplorationStateProvider
so aktualisiert, dass er laufzeitabhängig ist (be28b01). - Wir haben die Materialcore-Ebene für
CompactButton
entfernt, um die Leistung zu verbessern (25db8e9) BasicSwipeToDismissBox
ist jetzt robuster gegen NaN-Abweichungen, um Ausnahmen zu vermeiden (b983739)- Wir haben
BasicSwipeToDismissBox
aktualisiert, damit die Alphawerte im Bereich 0,1 liegen. - Wir haben einen Fehler in den Rollen
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
undRadioButton
behoben, sodass Ansagen zur Barrierefreiheit nicht wiederholt werden. Zuvor wurden semantische Rollen dupliziert. (d11eeb7)
Version 1.3
Version 1.3.1
3. April 2024
androidx.wear.compose:compose-*:1.3.1
wird veröffentlicht. Version 1.3.1 enthält diese Commits.
Fehlerkorrekturen
- Wir haben einen Fehler bei der Funktion „Wischen, um zu enthüllen“ behoben, bei dem es möglich war, mit einer ausgeführten Aktion auf einem Element zu interagieren und sie abzubrechen, indem man mit dem Wischen auf ein anderes Element begann. (Ide059)
Version 1.3.0
24. Januar 2024
androidx.wear.compose:compose-*:1.3.0
wird veröffentlicht. Version 1.3.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.2.0
- Die Klasse
SwipeToDismissBoxState
, die AufzählungSwipeToDismissValue
und die ErweiterungsfunktionModifier.edgeSwipeToDismiss
sind jetzt Teil desandroidx.wear.compose.foundation
-Pakets und nicht mehr desandroidx.wear.compose.material
-Pakets. Mit dieser aktualisierten Architektur können Sie die Gestenbedienung unabhängig von anderen Designüberlegungen implementieren. Material Design-Workflows wie das Anwenden von Farben aus einem konfigurierten Design werden separat verarbeitet. - Die Klassen
SwipeToRevealCard
undSwipeToRevealChip
helfen Ihnen bei der Implementierung vonrecommended swipe-to-reveal guidance
. Die KlasseSwipeToRevealSample
zeigt, wie diese Komponenten verwendet werden. Mit der Version 1.3.0-alpha02 wurde eine Änderung eingeführt, durch die die Höhe von
Chip
- undToggleChip
-Objekten zunimmt, um die vom Nutzer ausgewählte Schriftskalierung besser zu unterstützen. Das kann zu Ausschnitten führen. Um dieses Problem zu beheben, hat die Formlarge
fürMaterialTheme
jetzt einen größeren Eckradius (26 dp statt 24 dp). BeiChip
- undToggleChip
-Objekten wird dieser neue Eckenradius verwendet, um das Zuschneiden von Inhalten an den Ecken von Chip undToggleChip
zu vermeiden.- Die meisten
Chips
undToggleChips
bleiben unverändert, da sie standardmäßig eine Höhe von 52 dp haben.Chip
- undToggleChip
-Objekte, die mehrere Zeilen primären oder sekundären Labeltexts enthalten oder deren Höhe überschrieben wurde, können jedoch dazu führen, dass Screenshottests fehlschlagen.
- Die meisten
Weitere Änderungen
Eine vollständige Liste der Änderungen in Version 1.3.0 finden Sie in den Versionshinweisen zur Betaversion 01.
Empfehlungen für die Implementierung
- Wenn Nutzer in Ihrer App den Inhalt des Bildschirms schwenken können, z. B. in einer kartenbasierten App, deaktivieren Sie die Wischfunktion, indem Sie im
SwipeDismissableNavHost
-KomposituserSwipeEnabled
auffalse
festlegen. Fügen Sie außerdem eine Schaltfläche hinzu, mit der Nutzer zum vorherigen Bildschirm wechseln können. - Wenn Sie Animationen für eine Positionsanzeige während der Einblend- und Positionsänderungsanimationen in einer scrollbaren Liste deaktivieren möchten, verwenden Sie ein
SnapSpec
-Objekt. - Während eine Medien-App Inhalte für die Wiedergabe lädt, wird ein leeres
Placeholder
-Komposit angezeigt. - Wenn Sie eine Sammlung von aufklappbaren Elementen auf Abruf erstellen möchten, können Sie die experimentelle Klasse
ExpandableStateMapping
verwenden.
Version 1.3.0-rc01
10. Januar 2024
androidx.wear.compose:compose-*:1.3.0-rc01
wird veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.
Fehlerkorrekturen
-
Wir haben die große
MaterialTheme
-Form aktualisiert, sodass sie jetzt einen Radius von 26 dp hat. Dieser wird jetzt für Chip undToggleChip
verwendet. Diese Änderung ist erforderlich, um Höhenanpassungen zu unterstützen, wenn Inhalte eine zusätzliche Höhe benötigen, um große Schriftgrößen zu berücksichtigen. Andernfalls wird durch die vorhandene Stadionform ein Teil des Textinhalts abgeschnitten.Abbildung 1: Text an den Ecken abgeschnitten Abbildung 2: Text wird nicht abgeschnitten. Diese Änderung kann zu Fehlern bei Screenshot-Tests führen. (I2e6ae)
Version 1.3.0-beta02
13. Dezember 2023
androidx.wear.compose:compose-*:1.3.0-beta02
wird veröffentlicht. Version 1.3.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Wir haben die ursprüngliche Wischbewegung in
BasicSwipeToDismissBox
wiederhergestellt. In einer früheren Version wurde dies geändert, sodass der Schiebeteil des Übergangs stattfand, während der Finger den Bildschirm berührte. (Id8e76)
Version 1.3.0-beta01
15. November 2023
androidx.wear.compose:compose-*:1.3.0-beta01
wird veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.
Die Version 1.3-beta01 von Compose für Wear OS gibt an, dass diese Version der Bibliothek funktionsfähig ist und die API gesperrt ist (außer bei Funktionen, die als experimentell gekennzeichnet sind). Wear Compose 1.3 bietet die folgenden neuen Funktionen:
SwipeToDismissBoxState
,SwipeToDismissValue
undModifier.edgeSwipeToDismiss
wurden zusammen mit der zugrunde liegenden Implementierung von „Wischen zum Schließen“ inBasicSwipeToDismissBox
vonandroidx.wear.compose.material
zuandroidx.wear.compose.foundation
migriert. So kann die Touch-Geste zum Schließen unabhängig von Material Design verwendet werden, z. B. von derSwipeDismissableNavHost
inandroidx.wear.compose.navigation
.SwipeToDismissBox
vonandroidx.wear.compose.material
wird weiterhin für Material Design empfohlen, da es Farben aus derMaterialTheme
abruft und die restliche Implementierung an dieBasicSwipeToDismissBox
delegiert.SwipeDismissableNavHost
unterstützt jetzt einen neuen ParameteruserSwipeEnabled
, mit dem die Wischbedienung für Bildschirme deaktiviert werden kann, auf denen sie nicht erforderlich ist.BasicSwipeToDismissBox
hat die Fokusverwaltung mitHierarchicalFocusCoordinator
verbessert.SwipeToReveal
hat neueSwipeToRevealCard
- undSwipeToRevealChip
-Kompositen in Material, die den empfohlenen UX-Richtlinien fürCard
undChip
entsprechen. Außerdem wird die Undo-Funktion für die sekundäre Aktion unterstützt.DefaultTextStyle
deaktiviert jetzt das Schriftabstand, um für Einheitlichkeit auf der Android-Plattform zu sorgen.- Die Höhe von
Chip
undToggleChip
wird jetzt an Inhalte angepasst, die aufgrund von großen Schriftarten für die Barrierefreiheit größer geworden sind. PositionIndicator
hat jetzt individuelle Animationsspezifikationen für die Einblend-, Ausblend- und Positionsänderungsanimationen. Aus Leistungsgründen empfehlen wir, das Einblenden und die Positionsänderung zu deaktivieren, wenn sie mit scrollbaren Listen verwendet werden.ExpandableStateMapping
bietet eine neue Möglichkeit,ExpandableStates
zu generieren, wenn sie bei Bedarf und nicht unbedingt mit einem@Composable
-Bereich erstellt werden müssen.- Mit
Placeholder
können Sie jetzt die Inhalte zurücksetzen, wenn sie nicht mehr bereit sind. Außerdem gilt die Einstellung „Bewegung reduzieren“ jetzt auch für den Schimmereffekt und das Wisch-Weg-Effekt beiPlaceholder
.
Bekannte Probleme
PositionIndicator
wird nicht angezeigt, wenn ein Bildschirm zum ersten Mal angezeigt wird. Wir planen eine Änderung in einer frühen Alphaversion von 1.4, sodass das Symbol zwar angezeigt wird, aber ohne Animation.
API-Änderungen
- Wir haben die Basisstufe
SwipeToDismissBox
inBasicSwipeToDismissBox
umbenannt. So wird die Unterscheidung zwischen der Komponente auf Ebene der Grundlagen und der MaterialebeneSwipeToDismissBox
klarer. Letztere ruft Farben aus derMaterialTheme
ab, die in den Scrims verwendet werden sollen, und delegiert die restliche Implementierung an dieBasicSwipeToDismissBox
. (Ibecfc) - Wir haben
rememberExpandableStateMapping
als experimentell gekennzeichnet und die Leistung vonexpandableItem
verbessert. (I5f6bc) - Wir haben die
SwipeToRevealAction
-Klasse in den MaterialSwipeToReveal
Card- und Chip-APIs durch eine slottingbasierte API mitSwipeToRevealPrimaryAction
-,SwipeToRevealSecondaryAction
- undSwipeToRevealUndoAction
-Kompositen ersetzt. Im Beispielcode finden Sie Beispiele für die Verwendung der neuen API. (Ia8943) - Die
PositionIndicator
-Animation-Flags wurden durchAnimationSpec
-Parameter ersetzt. Die einzelnen Animationen können deaktiviert werden, indemsnap
alsAnimationSpec
übergeben wird. (I6c523)
Fehlerkorrekturen
- Ein Fehler wurde behoben, der bei begrenztem Text auftrat, wenn die Größe begrenzt war (I50efe)
- Wir haben einen möglichen NaN-Absturz im Zusammenhang mit
curvedComposable
(I970eb) behoben. - Wir haben die Entfernung der Animation für die Hervorhebung von Positionierungsänderungen bei
PositionIndicator
rückgängig gemacht. (Ieb424) - Wir haben die Material-Core-Ebene für Material-Chip entfernt, um die Leistung zu verbessern. (If2dcb)
Version 1.3.0-alpha08
18. Oktober 2023
androidx.wear.compose:compose-*:1.3.0-alpha08
wird veröffentlicht. Version 1.3.0-alpha08 enthält diese Commits.
API-Änderungen
- Wir haben den
PositionIndicator
-Überladungen einzelne Flags hinzugefügt, um verschiedene Animationen zu steuern:showFadeInAnimation
,showFadeOutAnimation
undshowPositionAnimation
. Die vorherige API wird nicht mehr unterstützt und leitet Aufrufe an die neue API weiter. Aus Leistungsgründen und für eine einheitliche UX empfehlen wir, die FlagsshowFadeInAnimation
undshowPositionAnimation
zu deaktivieren, wenn diePositionIndicator
mit einer scrollbaren Liste verwendet wird. WennPositionIndicator
als eigenständiger Indikator verwendet wird, z. B. für die Lautstärkeänderung, empfehlen wir, alle drei Animationen zu aktivieren. (I44294) - Wir haben die Material-
SwipeToDismissBoxState
-,SwipeToDismissValue
- undedgeSwipeToDismiss
-Komponenten eingestellt, nachdem die Wisch-zum-Schließen-Funktion zuwear.compose.foundation
migriert wurde. Bitte ersetzen Sie sie durch diewear.compose.foundation
-Äquivalente. (Iee8c9)
Fehlerkorrekturen
- Wir haben die Baseline-Profile für die Wear Compose-Grundlage, die Material- und Navigationsbibliotheken aktualisiert. (Idb060)
- Wir haben eine Verhaltensänderung für
PositionIndicator
rückgängig gemacht, die in einer früheren CL eingeführt wurde. Dabei wurdePositionIndicator
animiert, wenn ein Bildschirm zum ersten Mal angezeigt wurde. Wir planen eine ähnliche Änderung in einer frühen Alphaversion von 1.4, sodass dasPositionIndicator
anfangs angezeigt wird, aber ohne Animation. (I41843) - Wir haben einige Leistungsprobleme in
PositionIndicator
behoben. (I1c654, b/302399827) - Wir haben die Leistung der standardmäßigen Implementierung des Anbieters für den Touch-Exploration-Status optimiert, sodass er nicht mehr auf dem abgeleiteten Status, sondern auf
State<Boolean>
basiert. (Ieec4d) - Für Android 13 und höher haben wir Rechtecke mit
systemGestureExclusion
Pixeln festgelegt. (Ib1f4b)
Version 1.3.0-alpha07
4. Oktober 2023
androidx.wear.compose:compose-*:1.3.0-alpha07
wird veröffentlicht. Version 1.3.0-alpha07 enthält diese Commits.
API-Änderungen
- Wir haben
PositionIndicator
individuelle Flags hinzugefügt, um verschiedene Animationen zu steuern:showFadeInAnimation
,showFadeOutAnimation
undshowPositionAnimation
. Die vorherige API wird nicht mehr unterstützt und leitet Aufrufe an die neue API weiter. Aus Leistungsgründen und für eine einheitliche UX empfehlen wir, die FlagsshowFadeInAnimation
undshowPositionAnimation
zu deaktivieren, wenn diePositionIndicator
mit einer scrollbaren Liste verwendet wird. WennPositionIndicator
als eigenständiger Indikator verwendet wird, z. B. für die Lautstärkeänderung, empfehlen wir, alle drei Animationen zu aktivieren. (Ia2d63)
Fehlerkorrekturen
- Wir haben die Wischbewegung zur Anzeige von Inhalten verbessert. Dazu haben wir dem Text der primären Aktion eine Ausblendungsanimation hinzugefügt und die sekundäre Aktion ausgeblendet bzw. die Symbolgröße bei vollständiger Wischbewegung geändert. (Ib7223)
- Wir empfehlen, Aktionen vom Typ „Wischen, um zu enthüllen“ barrierefrei zu gestalten. Daher haben wir unseren Samples für „Wischen, um zu enthüllen“ benutzerdefinierte Bedienungshilfen hinzugefügt. (I42224)
- Wir haben die Leistung von
SwipeToDismissBox
verbessert, einschließlich eines Refaktorings, damit die ursprüngliche Logik keine Neuzusammensetzung auslöst. DasSwipeToDismissBox
wird jetzt in voller Bildschirmgröße dargestellt. (Ie0aa2) - Wir haben einen Fehler behoben, durch den das Symbol
PositionIndicator
fälschlicherweise verschwunden ist. (I2091a) - Die Leistung von
PositionIndicator
wurde durch die Optimierung von Neuzusammensetzungen verbessert. Es wurden neue Flags zur Steuerung der Animationen (fadeIn
,fadeOut
undpositionChange
) hinzugefügt (siehe API-Änderungen) (Ifac7d) - Wir haben Microbenchmark-Tests für
PositionIndicator
(Idf875) hinzugefügt.
Version 1.3.0-alpha06
20. September 2023
androidx.wear.compose:compose-*:1.3.0-alpha06
wird veröffentlicht. Version 1.3.0-alpha06 enthält diese Commits.
Fehlerkorrekturen
- Wir haben die Unterstützung für
Modifier.edgeSwipeToDismiss
mitSwipeToReveal
hinzugefügt. (I95774, b/293444286) - Wir haben Beispiele für die Materialien
SwipeToRevealChip
undSwipeToRevealCard
hinzugefügt. (Ieb974) - Wir haben die Baseline-Profile für Wear Compose Foundation und Material-Bibliotheken aktualisiert. (I1dd1f)
Version 1.3.0-alpha05
6. September 2023
androidx.wear.compose:compose-*:1.3.0-alpha05
wird veröffentlicht. Version 1.3.0-alpha05 enthält diese Commits.
Fehlerkorrekturen
- Wir haben die Funktion „Zum Anzeigen wischen“ so angepasst, dass nur ein Element gleichzeitig wischen kann. (I3cd7a)
- Die Dokumentation von
ScalingLazyColumnDefaults
wurde verbessert, um dem tatsächlichen Verhalten besser zu entsprechen. (I886d3)
Version 1.3.0-alpha04
23. August 2023
androidx.wear.compose:compose-*:1.3.0-alpha04
wird veröffentlicht. Version 1.3.0-alpha04 enthält diese Commits.
Neue Funktionen
- Wir haben die Funktion „Rückgängig machen“ für die sekundäre Aktion von
SwipeToReveal
hinzugefügt. (I7a22d)
API-Änderungen
- Fügen Sie
HorizontalPageIndicator
in der Wear Material3-Bibliothek hinzu. (Ifee99) - Die Vorschautools für Wear Compose wurden aktualisiert, um die
androidx.wear.tooling.preview
-Bibliothek zu verwenden. (Ib036e)
Fehlerkorrekturen
- Ein Fehler wurde behoben, bei dem bei runden Schaltflächen die Modifikatoren nicht richtig verkettet wurden. (I5e162)
Version 1.3.0-alpha03
9. August 2023
androidx.wear.compose:compose-*:1.3.0-alpha03
wird veröffentlicht. Version 1.3.0-alpha03 enthält diese Commits.
API-Änderungen
- Wir haben zwei neue Material-Kompositen hinzugefügt, um
SwipeToReveal
mit Karten und Chips zu implementieren. Diese Composeables entsprechen den empfohlenen UX-Richtlinien für die Komponente und erleichtern Entwicklern die Implementierung vonSwipeToReveal
mit den vorhandenen Komponenten in Wear OS-Material. (I7ec65) - Wir haben die
FloatRange
-Anmerkungen als API-Einschränkungen aktiviert, die zuvor in Kommentaren angegeben wurden. (Icb401)
Fehlerkorrekturen
- Wir haben die ursprüngliche Scrolllogik von
ScalingLazyColumn
inonGloballyPositioned()
verschoben. (Ic90f1) - Wir verwenden jetzt
drawWithCache
inPositionIndicator
,ProgressIndicator
undSelectionControls
, um die Zuordnung von Strichen zu optimieren. (I5f225, b/288234617) - Wir haben das Problem behoben, dass das Häkchen in deaktivierten Kästchen nicht sichtbar war. (Ib25bf)
- Wir haben
Placeholder
aktualisiert, damit der Platzhalter wieder angezeigt wird, wenn die Inhalte nicht mehr den Status „Bereit“ haben. (Ibd820) - Wir haben einige Fehler bei
Placeholder
-Tests behoben (Idb560).
Version 1.3.0-alpha02
26. Juli 2023
androidx.wear.compose:compose-*:1.3.0-alpha02
wird veröffentlicht. Version 1.3.0-alpha02 enthält diese Commits.
API-Änderungen
- Wir haben
ExpandableStateMapping
eingeführt, eine neue Möglichkeit,ExpandableStates
zu generieren, für Fälle, in denen sie bei Bedarf erstellt werden müssen, nicht unbedingt im@Composable
-Umfang (Iff9e0). SwipeToDismissBox
wurde aus dem Paketandroidx.wear.compose.material
in das Paketandroidx.wear.compose.foundation
migriert. (I275fb)- API-Dateien wurden aktualisiert, um die Unterdrückung der Kompatibilität zu kennzeichnen. (I8e87a, b/287516207)
- Die Höhe der Konstanten für
Chip
,CompactChip
undToggleChip
sind jetzt öffentlich (Idbfde). - Wir haben die horizontalen und vertikalen Ränder für
Chip
undCompactChip
veröffentlicht. (Ieeaf7) - Es wurde eine Funktion hinzugefügt, mit der sich die Wischbehandlung in
SwipeDismissableNavHost
über den neuen ParameteruserSwipeEnabled
deaktivieren lässt. (Id2a0b, b/230865655) - Wir haben die Wear Compose Navigation Library aktualisiert, damit die neue
SwipeToDismissBox
von Wear Compose Foundation verwendet wird. (I4ff8e)
Fehlerkorrekturen
- Wir haben einen Fehler in der Z-Reihenfolge behoben, bei dem in
expandedItem
nach dem Klicken auf eine Schaltfläche nicht die richtigen Inhalte angezeigt wurden. (I1899d, b/289991514) - Verbesserte Fokusbehandlung von
SwipeToDismissBox
(und damitSwipeDismissableNavHost
) mithilfe vonHierarchicalFocusCoordinator
(I45362, b/277852486) - Wir haben die Gestensteuerung in
SwipeableV2
verbessert . (I89737) - Wir haben die Baseline-Profile für die Version 1.2 fertiggestellt. (Id5740)
- Nach der Migration von
SwipeToDismissBox
zu Foundation wird die MaterialSwipeToDismissBox
-Implementierung jetzt an Foundation weitergeleitet und liefert Standardfarbwerte aus dem Design.(If8451) - Wir haben
ListHeader
eine Überschriftensemantik hinzugefügt. (Ic5420) Chip
undToggleChip
passen ihre Höhe jetzt an Inhalte an, die aufgrund von großen Schriftarten für Barrierefreiheit gewachsen sind, falls erforderlich. (Iaf302)- Ein Fehler in der semantischen Rolle des berührbaren Bereichs von
SplitToggleChip
wurde behoben. (Ieed3a) - Mit der Einstellung „Bewegung reduzieren“ werden jetzt der Schimmereffekt und die Wischbewegung bei Platzhaltern deaktiviert. (I91046)
- Bei
Stepper
undInlineSlider
können Sie jetzt wiederholt auf die Tasten gedrückt halten, um den Wert schnell zu erhöhen oder zu verringern.Stepper
InlineSlider
(I27359)
Version 1.3.0-alpha01
21. Juni 2023
androidx.wear.compose:compose-*:1.3.0-alpha01
wird veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.
Fehlerkorrekturen
- Wie in
1.2.0-alpha07
und1.2.0-alpha10
angekündigt, ändern wir jetzt dieDefaultTextStyle
, um das Schriftabstand-Anzeigeelement zu deaktivieren und für Einheitlichkeit auf der Android-Plattform zu sorgen. Dadurch wird bei großen Schriftgrößen in einigen Fällen verhindert, dass Text abgeschnitten wird. Dies kann sich auch auf Bildschirmlayouts auswirken, sodass Screenshottests aktualisiert werden müssen. Hier sehen wir beispielsweise Text, der abgeschnitten wurde (Ic6a86).

- Wenn das Schriftfeld-Padding deaktiviert ist, ist es nicht mehr vorhanden:

- Wir haben
wear.compose.foundation
zu einer API-Abhängigkeit vonwear.compose.material
gemacht (I72004, b/285404743) - Wir haben einen Fehler in
SwipeToDismissBox
behoben. Hintergrund- und Inhaltsschlüssel werden jetzt an den Block „remember“ übergeben, damit bei Änderungen am Inhalt oder Hintergrund neue Modifikatoren erstellt werden. (Ib876c, b/280392104) - Wir haben
TimeText
aktualisiert, damit bei der Auswahl des 12- oder 24-Stunden-Formats die Sprache verwendet wird. (If4a3d) - Wir haben eine Inkonsistenz in den Standardparametern von
SwipeToDismissBox
contentScrimColor
behoben. (I2d70f) - Die Bewegungserkennung in
SwipeToReveal
wurde verbessert. (I28fb7)
Bekannte Probleme
- Die Unterstützung von vom Nutzer konfigurierten Schriftgrößen ist eine Anforderung an die Barrierefreiheit. Wir wissen, dass mehrzeilige Chips bei großen Schriftgrößen zu Textabschneidungen führen können. Daher werden wir Chip in einer frühen Alphaversion 1.3 aktualisieren, um in diesen Fällen Anpassungen an der Höhe vorzunehmen.
Version 1.2
Version 1.2.1
18. Oktober 2023
androidx.wear.compose:compose-*:1.2.1
wird veröffentlicht. Version 1.2.1 enthält diese Commits.
Fehlerkorrekturen
- Ein Fehler wurde behoben, durch den das
PositionIndicator
-Symbol fälschlicherweise ausgeblendet wurde. (7a167f)
Version 1.2.0
9. August 2023
androidx.wear.compose:compose-*:1.2.0
wird veröffentlicht. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.1.0
- Stabile Version von Compose für Wear OS 1.2.0 (weitere Informationen)
- Eine Liste der wichtigsten Änderungen in Wear Compose 1.2 finden Sie in den Versionshinweisen für Compose für Wear OS 1.2 Beta01.
Version 1.2.0-rc01
26. Juli 2023
androidx.wear.compose:compose-*:1.2.0-rc01
wird veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Wir haben die Baseline-Profile für unsere Version 1.2 (Id5740) fertiggestellt.
Version 1.2.0-beta02
7. Juni 2023
androidx.wear.compose:compose-*:1.2.0-beta02
wird veröffentlicht. Version 1.2.0-beta02 enthält diese Commits.
Neue Funktionen
- Wir haben die neue experimentelle Variable
LocalReduceMotion
CompositionLocal
hinzugefügt, mit der Skalierung und Ausblenden beiScalingLazyColumn
deaktiviert werden. (I58024)
Fehlerkorrekturen
- Wir haben die Baseline-Profile für die Wear Compose-Grundlage und die Materialbibliotheken aktualisiert(I4725d).
- Wir haben eine Inkonsistenz in den Standardwerten für
SwipeToDismissBox
-contentScrimColor
-Parameter behoben (I2d70f). - Der Standardwert für
DefaultTextStyle
, der für die EinstellungIncludeFontPadding
verwendet wird, wurde korrigiert (I737ed)
Version 1.2.0-beta01
24. Mai 2023
androidx.wear.compose:compose-*:1.2.0-beta01
wird veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.
Neue Funktionen in Compose für Wear OS 1.2
Die Version 1.2-beta01 von Compose für Wear OS gibt an, dass diese Version der Bibliothek funktionsfähig ist und die API gesperrt ist (außer bei Funktionen, die als experimentell gekennzeichnet sind). Wear Compose 1.2 enthält die folgenden neuen Funktionen:
expandableItem
undexpandableItems
sind zwei neueFoundation
-Komponenten, mit denen sich Elemente in einemScalingLazyColumn
maximieren lassen. Verwenden SieexpandableItem
für ein einzelnes ausblendbares Element, z. B. Text, bei dem die Anzahl der Zeilen variiert. Verwenden SieexpandableItems
für eine Gruppe von ausblendbaren Elementen undexpandableButton
, um das Erstellen einer Schaltfläche zu vereinfachen, die nach dem Maximieren der Inhalte minimiert wird.HierarchicalFocusCoordinator
– mit diesem experimentellen Composeable können Sie Unterbäume der Komposition als „Mit Fokus“ oder „Ohne Fokus“ markieren.Picker
: Die API enthält jetztuserScrollEnabled
, um festzulegen, ob die Auswahl beim Scrollen des Nutzers aktiv ist.PickerGroup
: Eine neue Komponente zum gleichzeitigen Verwalten mehrerer Auswahltools. Er kümmert sich mithilfe derHierarchicalFocusCoordinator
API um den Fokus zwischen den Auswahltools und ermöglicht die automatische Zentrierung der Auswahlelemente.Placeholder
: Wir haben die Shimmer- und „Wegwischen“-Animationen aktualisiert. Der Ausblendungseffekt wird jetzt sofort angewendet, sobald die Inhalte fertig sind.ScalingLazyColumn
: Wir habenScalingLazyColumn
und die zugehörigen Kurse vonandroidx.wear.compose.material.ScalingLazyColumn
nachandroidx.wear.compose.foundation.lazy.ScalingLazyColumn
migriert. Bitte aktualisieren Sie die Version aufFoundation.Lazy
.SwipeToReveal
– Wir haben eine experimentelle Unterstützung für das Wischen zum Öffnen hinzugefügt, um auf sekundäre Aktionen zuzugreifen. Das bestehende Muster „Lang gedrückt halten“ wird dadurch ergänzt.Stepper
– hat jetzt eine Überladung mit einem zusätzlichenenableRangeSemantics
-Parameter, um das Deaktivieren der Standardbereichssemantik zu erleichtern.Previews
: Wir haben die folgenden benutzerdefinierten Anmerkungen für die Vorschau von Composeables auf Wear-Displays hinzugefügt:WearPreviewSmallRound
– Vorschau des Composeables auf einem kleinen, runden Gerät;WearPreviewLargeRound
– Vorschau des Composeables auf einem großen, runden Gerät;WearPreviewSquare
– Vorschau des Composeables auf einem quadratischen Gerät. Außerdem die folgenden Anmerkungen zur Mehrfachvorschau:WearPreviewFontScales
zeigt die Vorschau der Composeables auf einem Wear-Gerät mit mehreren Schriftgrößen an, währendWearPreviewDevices
die Vorschau der Composeables auf verschiedenen Wear-Geräten anzeigt.- Wir haben Wear Compose einen
DefaultTextStyle
hinzugefügt, der die PropertyPlatformTextStyle.includeFontPadding
standardmäßig auf „wahr“ setzt (dies ist die aktuelle Einstellung). So können wir das standardmäßige Deaktivieren des Schriftabstands mit den Compose-Bibliotheken in einer frühen Alphaversion von 1.3 synchronisieren. Weitere Informationen finden Sie unter 1.2.0-alpha10.
Neue Funktionen
- Wir haben experimentelle Unterstützung für deaktivierte Skalierungs- und Ausblendungsanimationen hinzugefügt, wenn die Einstellung „reduce_motion“ aktiviert ist. (I58024)
Fehlerkorrekturen
- Verbesserte Dokumentation für
angularWidthDp
inCurvedSize.kt
(Iab75c) SwipeDismissableNavHost
protokolliert jetzt eine Warnung mit möglichen Ursachen für einen leeren Backstack. So werden unerwartete Abstürze verhindert, die durchIllegalArgumentException
verursacht wurden, das geworfen wurde, als der Backstack leer war. (I04a81, b/277700155)
Version 1.2.0-alpha10
10. Mai 2023
androidx.wear.compose:compose-*:1.2.0-alpha10
wird veröffentlicht. Version 1.2.0-alpha10 enthält diese Commits.
Neue Funktionen
- Wir haben die Unterstützung für „Wischen, um zu enthüllen“ hinzugefügt, um auf sekundäre Aktionen zuzugreifen. Dieses Muster ergänzt das Muster „Langes Drücken“, mit dem Nutzer bereits (unterschiedliche) sekundäre Aktionen aufrufen können. (I60862)
API-Änderungen
- Wir haben
RevealScope
zu den Action-Kompositen inSwipeToReveal
hinzugefügt. Damit können Sie auf den Offset zugreifen, bei dem zusätzliche Aktionen angezeigt werden. (I3fd56)
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem
ScalingLazyColumn
nach dem Fling bei der Wear API 33 hängen blieb (Ic4599) - Wir haben einige Leistungsverbesserungen an
PositionIndicator
vorgenommen, um Ruckler zu reduzieren. (I35e92) - Wir haben einen Fehler in Chip und
CompactChip
behoben, bei dem die semantische Rolle nicht mehr aufRole.Button
gesetzt wurde. (I93f91, b/277326264)
Bekannte Probleme
Wir haben einen Fehler in Android Studio gefunden, der beim Rendern der Vorschau zu Fehlern führt, wenn sie mit @WearPreviewDevices und @WearPreviewFontScales kommentiert wird. Eine Lösung wird bald veröffentlicht. Die anderen Anmerkungen für die Wear-Vorschau funktionieren in Android Studio Giraffe 2022.3.1 und höher wie vorgesehen.
In Version 1.2.0-alpha07 haben wir Wear Compose den DefaultTextStyle hinzugefügt und den Wert „includeFontPadding“ von PlatformTextStyle beibehalten.Weitere Informationen finden Sie unter Abstand der Schrift in Compose korrigieren. In einer frühen Alphaversion von 1.3 werden wir den StandardTextStyle ändern, um das Schriftfeld in Android-Apps zu deaktivieren. Dadurch wird in einigen Fällen verhindert, dass Text bei großen Schriftgrößen abgeschnitten wird. Außerdem kann sich dies auf Bildschirmlayouts auswirken, sodass Screenshottests aktualisiert werden müssen. Bei großen Schriftgrößen wird der Text beispielsweise abgeschnitten:

- Wenn das Schriftfeld-Padding deaktiviert ist, ist es nicht mehr vorhanden:

Sie können die neue Einstellung jetzt übernehmen, indem Sie die Typografie in Ihrem Design überschreiben. Weitere Informationen finden Sie im Beispielcode.
Version 1.2.0-alpha09
19. April 2023
androidx.wear.compose:compose-*:1.2.0-alpha09
wird veröffentlicht. Version 1.2.0-alpha09 enthält diese Commits.
API-Änderungen
angularSizeDp
zurCurvedModifier
API hinzufügen, um den Winkel der Breite in DP festzulegen (I89a52)
Fehlerkorrekturen
- Wir haben Probleme mit der Barrierefreiheit in unseren Demos für die Uhrzeitauswahl(Id0eb7) behoben.
Version 1.2.0-alpha08
5. April 2023
androidx.wear.compose:compose-*:1.2.0-alpha08
wird veröffentlicht. Version 1.2.0-alpha08 enthält diese Commits.
API-Änderungen
- Wir haben
ExpandableItemsState
inExpandableState
umbenannt. (If85ea) - Wir haben
expandableButton
hinzugefügt, um das Erstellen einer Schaltfläche zu vereinfachen, die minimiert wird, wenn die Inhalte maximiert werden. Außerdem wurden die Beispiele für Expandable-Elemente aktualisiert. (Iae309)
Fehlerkorrekturen
- Verbesserte auswählbare Beispiele, um mehr Möglichkeiten zu zeigen Die Animation von
expandableItem
wurde so geändert, dass die Inhalte während der Animation immer zentriert sind. (I2f637) ToggleControls
wurde aktualisiert, um zusätzliche Neuzusammensetzungen zu vermeiden, wenn die Farben manuell mithilfe von „State“ animiert werden. (I5d319)
Version 1.2.0-alpha07
22. März 2023
androidx.wear.compose:compose-*:1.2.0-alpha07
wird veröffentlicht. Version 1.2.0-alpha07 enthält diese Commits.
API-Änderungen
- Wir haben die Komponenten „Expandable Item“ (in 1.2.0-alpha06 hinzugefügt) aus dem Bereich „Material“ in den Bereich „Foundation“ verschoben, da sie keinen sinnvollen Bezug zur
MaterialTheme
hatten. (Ib0525)
Fehlerkorrekturen
- Wir haben einen Absturz auf einem Bildschirm mit
PickerGroup
behoben.PickerGroup
wird jetzt richtig verarbeitet, wenn keine Auswahl den Fokus hat. Außerdem wurde die Unterstützung für das Scrollen mit dem rechten Steuerbalken in unseren Picker-Demos hinzugefügt. (If8c19) - Wir haben die Dialogübergänge verbessert. Der Einstieg ist jetzt flüssiger und passt besser zum Outro. (Ib5af9)
- Wir haben Wear Compose einen
DefaultTextStyle
hinzugefügt, der die PropertyPlatformTextStyle.includeFontPadding
standardmäßig auf „wahr“ setzt (dies ist die aktuelle Einstellung). So können wir das Deaktivieren des Schriftabstands standardmäßig mit den Compose-Bibliotheken synchronisieren. Weitere Informationen finden Sie unter Schriftabstand in Compose korrigieren. (I2aee8) - Wir haben eine
UpsideDownCake
-Vorschauabhängigkeit über „activity-compose“ rückgängig gemacht, die die Veröffentlichung von Apps im Google Play Store verhindert hat. (I6443d)
Version 1.2.0-alpha06
8. März 2023
androidx.wear.compose:compose-*:1.2.0-alpha06
wird veröffentlicht. Version 1.2.0-alpha06 enthält diese Commits.
API-Änderungen
- Fügen Sie die Komponente
CurvedBox
hinzu, mit der Komponenten in der gekrümmten Welt übereinander gelegt werden. (I29200) - Maximierbare Elemente hinzugefügt: Zwei neue Komponenten, mit denen entweder eine Gruppe maximierbarer Elemente in einer
ScalingLazyColumn
oder ein einzelnes maximierbares Element unterstützt werden kann, z. B. Text, bei dem sich die Anzahl der Zeilen maximiert. (I95dd5) - Wir haben die folgenden benutzerdefinierten Anmerkungen für die Vorschau von Composeables auf Wear-Displays hinzugefügt:
WearPreviewSmallRound
zeigt die Vorschau des Composeables auf einem kleinen, runden Gerät an;WearPreviewLargeRound
zeigt die Vorschau des Composeables auf einem großen, runden Gerät an;WearPreviewSquare
zeigt die Vorschau des Composeables auf einem quadratischen Gerät an. Außerdem die folgenden Anmerkungen für die Mehrfachvorschau:WearPreviewFontScales
zeigt die Vorschau der Composeables auf einem Wear-Gerät mit mehreren Schriftgrößen an, währendWearPreviewDevices
die Vorschau der Composeables auf verschiedenen Wear-Geräten anzeigt. Wenn Sie diese Vorabversionen verwenden möchten, benötigen Sie die neueste Version von Android Studio (Giraffe Canary 6) oder höher. Wenn diese Anmerkungen nicht Ihren Anforderungen entsprechen, können Sie die Vorschau weiterhin verwenden. Sie unterstützt auch weitere Anpassungen über Parameter. (I397ff) - Wir haben
HierarchicalFocusCoordinator
als experimentell gekennzeichnet, da es aufgrund seiner breiten Anwendbarkeit als Kandidat für die Aufnahme in die Hauptbibliotheken von Compose infrage kommt. (I3a768)
Fehlerkorrekturen
- Ein Fehler bei
HierarchicalFocusCoordinator
wurde behoben. Wenn der für den ParameterfocusEnabled
übergebene Lambda-Wert geändert wird, wird jetzt der neue Wert verwendet. (Icb353) - Die Standardfarbe für deaktivierte Inhalte wurde in
Button
,CompactButton
,Chip
,CompactChip
undToggleButton
in „Hintergrund“ geändert, wenn Primärfarben als Hintergrund verwendet werden. Dadurch wird der Kontrast für die Barrierefreiheit verbessert. (I527cc)
Version 1.2.0-alpha05
22. Februar 2023
androidx.wear.compose:compose-*:1.2.0-alpha05
wird veröffentlicht. Version 1.2.0-alpha05 enthält diese Commits.
API-Änderungen
- Die
PickerGroup
API wurde aktualisiert, damit die Mindesteinschränkungen optional an die zusammensetzbare Funktion weitergegeben werden können. Wenn diese Option auf „wahr“ gesetzt ist, sind die vom übergeordneten zusammensetzbaren Element übergebenen Mindesteinschränkungen für diePickerGroup
zulässig. Wenn diese Option auf „false“ gesetzt ist, werden die Mindesteinschränkungen vonPickerGroup
zurückgesetzt. (I3e046) - Wir haben der Picker API
animateScrollToOption
hinzugefügt, um die programmatische Animation einer bestimmten Auswahloption zu unterstützen (I6fe67).
Fehlerkorrekturen
- Wir haben
HorizontalPageIndicator
aktualisiert, damit es jetzt auch linksläufige Layouts unterstützt. (Ia4359) - In
HorizontalPageIndicator
(I6fbb8) wurden Screenshot-Tests für das Layout von rechts nach links hinzugefügt. SwipeDismissableNavHostTest
wurden weitere Tests hinzugefügt, dieTestNavHostController
verwenden (I61d54)
Version 1.2.0-alpha04
8. Februar 2023
androidx.wear.compose:compose-*:1.2.0-alpha04
wird veröffentlicht. Version 1.2.0-alpha04 enthält diese Commits.
Neue Funktionen
PickerGroup
für die gemeinsame Verarbeitung mehrerer Auswahltools mit der Focus API. Sie verwaltet den Fokus zwischen den verschiedenen Auswahlen, ermöglicht die automatische Zentrierung der Auswahlen basierend auf Parametern und ermöglicht es Entwicklern, den Fokus zwischen verschiedenen Auswahlen zu ändern, während sie die Ereignisse aus der Gruppe verarbeiten. Im TalkBack-Modus steuert diePickerGroup
den TalkBack-Fokus, indem der Fokus auf die ausgewählte Auswahl aus der Gruppe verschoben wird. (I60840)
API-Änderungen
- Wir haben Stepper eine Überladung mit einem zusätzlichen Parameter
enableRangeSemantics
hinzugefügt, um das Deaktivieren der Standardbereichssemantik zu erleichtern (Ia61d4)
Fehlerkorrekturen
ScalingLazyColumn
darf in eine horizontal scrollbare Seite verschachtelt werden (Iec3f8, b/266555016)- Verbesserung der KDocs für den Stepper und Bereinigung von
StepperTest
-Tests. (Ic118e) - Abhängigkeit von
androidx.navigation
auf Version 2.5.3 (If58ed) aktualisiert
Version 1.2.0-alpha03
25. Januar 2023
androidx.wear.compose:compose-*:1.2.0-alpha03
wird veröffentlicht. Version 1.2.0-alpha03 enthält diese Commits.
API-Änderungen
- Wir haben
ScalingLazyColumn
(und die zugehörigen Klassen) vonandroidx.wear.compose.material.ScalingLazyColumn
zuandrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn
migriert (Beispiel für die Migration). Diese neue Position entspricht eher der voncompose.foundation.lazy.LazyColumn
und wirkt natürlicher, da es sich nicht um eine Material-Komponente handelt, die eine bestimmte Meinung vertritt. Die Änderung erfolgt jetzt in Vorbereitung auf eine neue Material3-Bibliothek, an der wir parallel zur vorhandenen Material-Bibliothek arbeiten werden. (I060e7)
Die folgenden Änderungen sind Teil der ScalingLazyColumn
-Migration von Material zu Foundation.Lazy
:
PositionIndicator
APIs, die auf MaterialScalingLazyColumn
ausgerichtet sind, wurden eingestellt. Bitte aktualisieren Sie aufFoundation.Lazy ScalingLazyColumn
. Außerdem wurdeScalingLazyListLayoutInfo
das FeldanchorType
hinzugefügt. (I29d95)ScalingLazyColumn
wurde im Wear Compose Material-Paket (I16d34) als veraltet markiert.- Wir haben den Modifikator
ScrollAway
aktualisiert, damit erScalingLazyListState
aus Wear ComposeFoundation.Lazy
verwendet. Die Überladung, bei derScalingLazyListState
aus Wear Compose Material verwendet wurde, wurde eingestellt. (Ifc42c) - Wir haben die Dialog APIs aktualisiert, sodass jetzt
ScalingLazyListState
stattFoundation.Lazy
verwendet wird. Die Überladungen, die MaterialScalingLazyListState
(Ic8960) verwendeten, wurden eingestellt. - Wir haben die Picker APIs aktualisiert, damit sie
ScalingParams
anstelle vonFoundation.Lazy
verwenden. Die Überladungen, die MaterialScalingParams
verwendeten, wurden eingestellt. (Idc3d8)
Fehlerkorrekturen
- Wir haben einen Fehler behoben, der zu unnötigen Neuzusammensetzungen in
ScalingLazyListState.centerItemIndex
geführt hat. Jetzt werden nur dann Aktualisierungen gesendet, wenn sich der Wert tatsächlich ändert (Ia9f38). - Wir haben die Leistung von
SwipeToDismissBox
(I3933b) verbessert. - Benchmark-Tests für
ScalingLazyColumn
in Wear Compose Foundation (Ie00f9) hinzugefügt - Wir haben einige interne Methoden von
ScalingLazyColumn
-Klassen in Material aktualisiert, um die entsprechenden Methoden ausFoundation.Lazy
(I38aab) zu verwenden. - Wir haben einige Probleme in den Auswahltests behoben und weitere Tests zum Prüfen des Scrollens mit Offset hinzugefügt (I6ac34).
- Die
ScalingLazyColumn
-Integrationsdemos sind jetzt vonFoundation.Lazy
statt von MaterialScalingLazyColumn
abhängig (Ic6caa) - Wir haben unserer
DatePicker
-Demo (I961cd) optionalefromDate/toDate
-Parameter hinzugefügt.
Version 1.2.0-alpha02
11. Januar 2023
androidx.wear.compose:compose-*:1.2.0-alpha02
wird veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.
API-Änderungen
- Bei Android Compose UI-Tests werden jetzt Layoutdurchläufe für jeden Frame ausgeführt, wenn Frames ausgeführt werden, um in den Inaktivitätsstatus zu gelangen (z.B. über
waitForIdle
). Dies kann sich auf Tests auswirken, die für einzelne Frames von Layoutanimationen gelten. (I8ea08, b/222093277) - Der Parameter
minLines
wird Wear Text hinzugefügt, um ein einheitliches Verhalten mitBasicText
zu ermöglichen (I24874) CompactChipTapTargetPadding
wurde veröffentlicht und ist in der Dokumentation zu finden (If1e70, b/234119038).
Fehlerkorrekturen
- Deaktivierung von Multiplattform-Builds für
wear.compose
-Pakete (Iad3d7) - Kdocs für
scrollToOption
(I6f9a0) korrigieren PlaceholderState.rememberPlaceholderState()
wurde aktualisiert, umrememberUpdatedState
zu verwenden, damit der Status aktualisiert wird, wenn dieonContentReady
-Lambda-Funktion ausgeführt wird. (I02635, b/260343754)- Wir haben ein Problem mit dem Ruckeln von Text in der
Picker
-Komponente behoben. Dazu haben wir die neue Kompositionierungsstrategie verwendet, dieModifier.graphicsLayer
hinzugefügt wurde. (I99302) - Wir haben einen Fehler behoben, der zu Flimmern in unserer
DatePicker
-Demo (I660bd) geführt hat. - Die Barrierefreiheit der Demos für die 12-Stunden-Zeit- und Datumsauswahl wurde verbessert (I05e12).
- Wir haben unsere Demos für die Uhrzeit- und Datumsauswahl aktualisiert, sodass die Auswahlmöglichkeiten nicht von RSB-Änderungen betroffen sind, wenn sie nicht ausgewählt sind (I4aecb).
Version 1.2.0-alpha01
7. Dezember 2022
androidx.wear.compose:compose-*:1.2.0-alpha01
wird veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.
Neue Funktionen
- Wir haben die experimentelle Funktion für Platzhalter aktualisiert, sodass der Effekt „Wegwischen“ sofort angewendet wird, wenn die Inhalte bereit sind, anstatt auf den Beginn der nächsten Animationsschleife zu warten. Außerdem haben wir die Animationen für den Schimmereffekt und das Wegwischen überarbeitet. (I5a7f4)
API-Änderungen
- Wir haben ein
HierarchicalFocusCoordinator
-kompositives Element hinzugefügt, mit dem Unterbäume der Komposition als „Fokus aktiviert“ oder „Fokus deaktiviert“ markiert werden können.(I827cb) - Wir haben eine neue Property hinzugefügt, um die semantische Rolle für
ToggleButton
zu überschreiben.(I67132) - Wir haben
TimeTextDefaults.TimeFormat12Hours
aktualisiert und die Angabe von „Vormittags“ und „Nachmittags“ inTimeText
entfernt. Dadurch wird der Standardwert dertimeSource
-Parameter in derTimeText
API geändert. (I1eb7f) - Wir haben die Picker API erweitert, um die Barrierefreiheit für Bildschirme mit einer Mehrfachauswahl zu verbessern. Mit der neuen Eigenschaft
userScrollEnabled
lässt sich festlegen, ob die Bildauswahl beim Scrollen des Nutzers aktiv ist. (I3c3aa)
Fehlerkorrekturen
- Wir haben die Standardrahmenbreite für eine
OutlinedButton/OutlinedCompactButton
von 2.dp auf 1.dp geändert, um den endgültigen UX-Spezifikationen zu entsprechen. (Icf84d) - Um zu vermeiden, dass der erste Artikel, der einer leeren
ScalingLazyColumn
hinzugefügt wird, scrollt, haben wir bei leeren Inhalten eine geschätzteautoCentering topPadding
hinzugefügt. Bei dieser Änderung wird die erforderliche Oberabstandhöhe berechnet, indem ein Anfangselement mit einer Höhe von 0 dp angenommen wird. FürScalingLazyListAnchorType.ItemStart
wird dadurch der richtige Abstand oben berechnet, fürScalingLazyListAnchorType.ItemCenter
ist diese Berechnung falsch, da die Höhe der Elemente erforderlich ist, um die Größe der Inhalte korrekt festzulegen. Dies führt zu einem kleinen Scrollen an die richtige Position, basierend auf der tatsächlichen Höhe der Elemente.(I239a4) - Wir haben den Hintergrund-Scrim für die
SwipeToDismiss
-Animation an die Wear-Plattform angepasst. (I9003e) - Wir haben die
PositionIndicator
-Verarbeitung vonLazyListState
undScalingLazyListState
für Listenelemente mit der Größe 0 korrigiert, um Fehler aufgrund einer Division durch 0 zu vermeiden.(Ic28dd)
Version 1.1
Version 1.1.2
8. Februar 2023
androidx.wear.compose:compose-foundation:1.1.2
, androidx.wear.compose:compose-material:1.1.2
und androidx.wear.compose:compose-navigation:1.1.2
sind freigegeben. Version 1.1.2 enthält diese Commits.
Fehlerkorrekturen
- Wir haben einen Fehler behoben, der zu unnötigen Neuzusammensetzungen in
ScalingLazyListState.centerItemIndex
geführt hat. Jetzt werden nur dann Updates gesendet, wenn sich der Wert tatsächlich ändert (Ia9f38).
Version 1.1.1
11. Januar 2023
androidx.wear.compose:compose-foundation:1.1.1
, androidx.wear.compose:compose-material:1.1.1
und androidx.wear.compose:compose-navigation:1.1.1
sind freigegeben. Version 1.1.1 enthält diese Commits.
Fehlerkorrekturen
PlaceholderState.rememberPlaceholderState()
wurde aktualisiert, umrememberUpdatedState
zu verwenden, damit der Status aktualisiert wird, wenn dieonContentReady
-Lambda-Funktion ausgeführt wird. (I02635, b/260343754)
Version 1.1.0
7. Dezember 2022
androidx.wear.compose:compose-foundation:1.1.0
, androidx.wear.compose:compose-material:1.1.0
und androidx.wear.compose:compose-navigation:1.1.0
sind freigegeben. Version 1.1.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.0.0
- Stabile Version von Compose für Wear OS 1.1.0 (weitere Informationen)
- Eine Liste der wichtigsten Änderungen in Wear Compose 1.1 finden Sie in den Releasehinweisen für Compose für Wear OS 1.1 Beta01.
Neue Funktionen
- Wir haben die experimentelle Funktion für Platzhalter aktualisiert, sodass der Effekt „Wegwischen“ sofort angewendet wird, wenn die Inhalte bereit sind, anstatt auf den Beginn der nächsten Animationsschleife zu warten. Außerdem haben wir die Animationen für das Schimmer- und Wischeffekt-Tool überarbeitet. (I5a7f4)
Fehlerkorrekturen
- Wir haben die Standardrahmenbreite für eine
OutlinedButton/OutlinedCompactButton
von 2.dp auf 1.dp geändert, um den endgültigen UX-Spezifikationen zu entsprechen. (Icf84d) - Um zu vermeiden, dass der erste Artikel, der einer leeren
ScalingLazyColumn
hinzugefügt wird, scrollt, haben wir bei leeren Inhalten eine geschätzteautoCentering topPadding
hinzugefügt. Bei dieser Änderung wird die erforderliche Oberabstandhöhe berechnet, indem ein Anfangselement mit einer Höhe von 0 dp angenommen wird. FürScalingLazyListAnchorType.ItemStart
wird dadurch der richtige Abstand oben berechnet, fürScalingLazyListAnchorType.ItemCenter
ist diese Berechnung falsch, da die Höhe der Elemente erforderlich ist, um die Größe der Inhalte korrekt festzulegen. Dies führt zu einem kleinen Scrollen an die richtige Position, basierend auf der tatsächlichen Höhe der Elemente.(I239a4) - Wir haben den Hintergrund-Scrim für die
SwipeToDismiss
-Animation an die Wear-Plattform angepasst.(I9003e) - Wir haben die
PositionIndicator
-Verarbeitung vonLazyListState
undScalingLazyListState
für Listenelemente mit der Größe 0 korrigiert, um Fehler aufgrund einer Division durch 0 zu vermeiden.(Ic28dd)
Version 1.1.0-rc01
9. November 2022
androidx.wear.compose:compose-foundation:1.1.0-rc01
, androidx.wear.compose:compose-material:1.1.0-rc01
und androidx.wear.compose:compose-navigation:1.1.0-rc01
sind freigegeben. Version 1.1.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Wir haben Basisprofilregeln für
Placeholders
,ScrollAway
,RadioButton
,Switch
,Checkbox
,OutlinedButton
,OutlinedCompactButton
,OutlinedChip
undOutlinedCompactChip
hinzugefügt. (I8249c) - Wir haben einen Fehler in
Modifier.scrollAway
behoben. Wenn die angegebeneitemIndex
ungültig ist (z. B. wenn der Artikelindex außerhalb des zulässigen Bereichs liegt), wird dieTimeText
jetzt trotzdem angezeigt. (I2137a) - Wir haben die
SwipeToDismissBox
-Animation an die Plattformimplementierung angepasst. Nach der ersten Animation beim Zusammendrücken gleitet der Bildschirm jetzt nach rechts, sobald die Schließung ausgelöst wurde. (I41d34) - Zur Optimierung haben wir
Modifier.scrollAway
so aktualisiert, dass nur diescrollState
im Messblock gelesen wird, um zu vermeiden, dass der Modifikator nach jeder Neumessung neu erstellt werden muss. (I4c6f1) - Wir haben den Platzhaltern eine Dokumentation und ein Beispiel hinzugefügt, um die richtige Reihenfolge für
Modifier.placeholder
undModifier.placeholderShimmer
zu zeigen, wenn sie auf dasselbe Composed angewendet werden. (Ie96f4, b/256583229) - Wir haben die Standardrahmenbreite für eine
OutlinedCompactChip/OutlinedChip
von 2.dp auf 1.dp geändert, um den endgültigen UX-Spezifikationen zu entsprechen. (Ib3d8e) - Wir haben einen Fehler in
rememberPickerState
behoben, bei dem aktualisierte Eingaben nicht gespeichert wurden, sodass Elemente nach Änderungen an den Eingaben nicht aktualisiert wurden. (I49ff6, b/255323197) - Wir haben einige Änderungen an der Benutzeroberfläche der Platzhalter vorgenommen: 1) Der Schimmerverlauf wurde auf 1, 5-mal die Bildschirmgröße geändert, 2) die Schimmerprogression wurde mit einer Cubic-Bezier-Easing versehen und 3) die Wischanimation wurde auf 250 Millisekunden beschleunigt. (Id29c1)
- Wir haben einen UI-Fehler im Platzhalter-Effekt „wipeOff“ korrigiert, bei dem die Hintergründe von Chips und Karten etwas zu früh ausgeblendet wurden, da die Position der Komponente auf dem Bildschirm nicht berücksichtigt wurde. (I2c7cb)
- Wir haben die Hintergrundzeichnung des Platzhalters aktualisiert, um Farben nach Möglichkeit zu verschmelzen, anstatt sie zu überlagern. So wird das Risiko verringert, dass bei der Alpha-Vermischung der verschiedenen zugeschnittenen Ebenen die darunter liegenden Farben an den Rändern des Platzhalterhintergrunds durchscheinen. (I2ea26)
- Wir haben die Berechnung von
ScalingLazyListState.centerItemIndex/centerItemOffset
korrigiert. Wenn sich zwei Elemente auf beiden Seiten der Mitte des Darstellungsbereichs befinden, wird das am nächsten gelegene alscenterItem
betrachtet. (I30709, b/254257769) - Wir haben einen Fehler in der
ScalingLazyListState.layoutInfo.visibleItemsInfo
behoben, durch den bei derScalingLazyColumn
-Initialisierung falsche Abweichungen gemeldet wurden. Jetzt wird eine leere Liste zurückgegeben, bis alle Listenelemente sichtbar sind und die richtigen Abweichungen haben. Wenn du nachScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty()
suchst, wird bestätigt, dass dieScalingLazyColumn
-Initialisierung abgeschlossen ist und die Elemente sichtbar sind. (I3a3b8)
Version 1.1.0-beta01
24. Oktober 2022
androidx.wear.compose:compose-foundation:1.1.0-beta01
, androidx.wear.compose:compose-material:1.1.0-beta01
und androidx.wear.compose:compose-navigation:1.1.0-beta01
sind freigegeben. Version 1.1.0-beta01 enthält diese Commits.
Neue Funktionen in Compose für Wear OS 1.1
Die Version 1.1.0-beta01 von Compose für Wear OS weist darauf hin, dass diese Version der Bibliothek funktionsfähig ist und die API gesperrt ist.
- Die Version 1.1 von Wear Compose enthält die folgenden neuen Funktionen:
- Auswahl: Verbesserungen bei der Barrierefreiheit der Auswahl, damit Bildschirme mit mehreren Auswahloptionen mit Screenreadern navigiert werden können und die Inhaltsbeschreibung zugänglich ist
- Der Parameter „Picker“
contentDescription
wird jetzt nur für die ausgewählte Auswahloption verwendet und nimmt einen typfremden String an. Im vorherigen Commit musste eine Zuordnung von Option zur Inhaltsbeschreibung übergeben werden, es wurde aber nur die ausgewählte Option verwendet. - Auswahlelemente sind jetzt immer zentriert ausgerichtet. Dadurch wurde ein Fehler behoben, bei dem die Ausrichtung geändert wurde, wenn
gradientRatio
auf null gesetzt wurde. Chip/ToggleChip
: Wir haben die Standardverläufe fürChip/ToggleChip
aktualisiert, damit sie den neuesten UX-Spezifikationen entsprechen.ChipDefaults.gradientBackgroundChipColors
beginnt jetzt bei 50% des Primärfarbtons statt bei 32,5%.Chip/ToggleChip
– Überladungen zum Ändern von Chipformen hinzugefügtChip/Button/ToggleButton
: Es wurde ein neuer Umrissstil für Chips und Schaltflächen sowie neueOutlinedChip
- undOutlinedButton
-Kompositen hinzugefügt, die einen transparentenChip/Button
mit einem dünnen Rahmen bieten.- Karte: Die Standardverläufe für Karten wurden aktualisiert, um sie an die neuesten UX-Spezifikationen anzupassen.
CardDefaults.cardBackgroundPainter
beginnt jetzt bei 30% des Primärfarbtons und endet bei 20% vononSurfaceVariant
(zuvor 20% bis 10%onSurfaceVariant
).ToggleChip.toggleChipColors
ändert sich von einem linearen Farbverlauf von 75% Oberfläche zu 32,5% Primärfarbe zu 0% Oberfläche zu 50% Primärfarbe. Button/ToggleButton
: Es wurden Eigenschaften zum Ändern der Schaltflächenform hinzugefügt.- Design: Einige der Standardfarben in der
MaterialTheme
wurden aktualisiert, um die Barrierefreiheit zu verbessern. Die ursprünglichen Farben hatten keinen ausreichenden Kontrast, sodass Nutzer die Hintergründe von Chips, Karten und Schaltflächen nicht gut vom Hintergrund des Designs unterscheiden konnten. InlineSlider/Stepper
: Schaltflächenrollen wurden hinzugefügt, damitTalkback
sie als Schaltflächen erkennt.- Scaffold:
PositionIndicator
ist jetzt so positioniert und dimensioniert, dass es nur den benötigten Platz einnimmt. Das ist beispielsweise nützlich, wenn semantische Informationen hinzugefügt werden. TalkBack erhält dann die richtigen Begrenzungen desPositionIndicator
auf dem Bildschirm. CurvedText/TimeText
: Es wurdeModifier.scrollAway
hinzugefügt, mit dem ein Element je nach Scrollstatus vertikal sichtbar oder ausgeblendet wird (mit Überladungen für die Verwendung mitColumn
,LazyColumn
undScalingLazyColumn
).ScrollAway
wird in der Regel verwendet, um einTimeText
auszublenden, wenn der Nutzer beginnt, eine Liste von Elementen nach oben zu scrollen.CurvedText/TimeText
: Unterstützung fürfontFamily
,fontStyle
undfontSynthesis
inCurvedTextStyle
hinzugefügt, nutzbar aufcurvedText
undbasicCurvedText
CurvedText/TimeText
: Dem Konstruktor und der Kopiermethode vonCurvedTextStyle
wurdefontWeight
hinzugefügt.ToggleControls
: Es wurden animierte Ein-/Aus-Schaltflächen fürCheckbox
,Switch
undRadioButton
hinzugefügt, die mitToggleChip
undSplitToggleChip
verwendet werden können. Sie können anstelle der statischen Symbole vonToggleChipDefaults
(switchIcon
,checkboxIcon
undradioIcon
) verwendet werden.- Platzhalter: Es wurde eine experimentelle Unterstützung für Platzhalter hinzugefügt. Hier werden drei verschiedene visuelle Effekte verwendet, die zusammenwirken.
- Erstens: Ein Platzhalter-Hintergrund-Pinseleffekt, der in Containern wie Chips und Karten verwendet wird, um während des Ladens von Inhalten über den normalen Hintergrund zu zeichnen.
- Zweitens eine Modifikation (
Modifier.placeholder()
), um ein platzhalterförmiges Widget in Form eines Stadions über den geladenen Inhalten zu zeichnen. - Drittens wird ein Modifizierungs-Gradienten-/Shimmer-Effekt (
Modifier.placeholderShimmer()
) über die anderen Effekte gezeichnet, um Nutzern zu signalisieren, dass wir auf das Laden der Daten warten.- Alle diese Effekte sind aufeinander abgestimmt und schimmern und verschwinden auf harmonische Weise.
- Abhängigkeiten von Compose Core von 1.2 auf 1.3 aktualisiert
API-Änderungen
- Schriftparameter (
fontFamily
,fontWeight
,fontStyle
undfontSynthesis
) können jetzt direkt als Parameter voncurvedText
(Idc422) angegeben werden.
Fehlerkorrekturen
curveText
undbasicCurvedText
funktionieren jetzt richtig mit TalkBack. Sie sind mit einem korrekt dimensionierten und platzierten (aber leeren) compose-ui-Knoten verknüpft, der den Text als Inhaltsbeschreibung verwendet. (I7af7c, b/210721259)- Fehlerkorrektur für
Picker
whenPickerState.repeatedItems = false
, um eine explizite Einstellung der Parameter für die automatische Zentrierung in der internenScalingLazyColumn
des Pickers hinzuzufügen, damit die Null-Option in die Mitte der Ansicht gescrollt werden kann. (I8a4d7)
Version 1.1.0-alpha07
5. Oktober 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha07
, androidx.wear.compose:compose-material:1.1.0-alpha07
und androidx.wear.compose:compose-navigation:1.1.0-alpha07
sind freigegeben. Version 1.1.0-alpha07 enthält diese Commits.
Neue Funktionen
- Wir haben eine experimentelle Unterstützung für Platzhalter hinzugefügt. Hier werden drei verschiedene visuelle Effekte verwendet, die zusammenwirken. Erstens: Ein Platzhalter-Hintergrund-Pinseleffekt, der in Containern wie Chips und Karten verwendet wird, um während des Ladens von Inhalten über den normalen Hintergrund zu zeichnen. Zweitens eine Modifikation (
Modifier.placeholder()
), um ein platzhalterförmiges Widget in Form eines Stadions über den geladenen Inhalten zu zeichnen. Drittens wird ein Modifizierungs-Gradienten-/Shimmer-Effekt (Modifier.placeholderShimmer()
) über die anderen Effekte gezeichnet, um Nutzern zu signalisieren, dass wir auf das Laden der Daten warten. Alle diese Effekte sind aufeinander abgestimmt und schimmern und verschwinden auf harmonische Weise. (I3c339)
API-Änderungen
- Unterstützung für
fontWeight
,fontFamily
,fontStyle
undfontSynthesis
inCurvedTextStyle
hinzugefügt, nutzbar aufcurvedText
undbasicCurvedText
Mit diesen Parametern können Sie die Schriftart und den Stil für den gekrümmten Text festlegen.(Iaa1a8),(I72759) - Der Offset-Parameter von
Modifier.scrollAway
wurde zu Dp geändert, um für Einheitlichkeit mitModifier.offset
zu sorgen. Bisher wurde er in Pixeln angegeben. Außerdem wurde es aus Effizienzgründen in eineLayoutModifier
umstrukturiert. (I9f94b) - Im Rahmen der neuen API für Ein-/Aus-Schaltflächen haben wir
RadioButton’s circleColor
inringColor
umbenannt. (I28fa9) - Wir haben animierte Ein-/Aus-Schaltflächen für
Checkbox
,Switch
undRadioButton
hinzugefügt, die mitToggleChip
undSplitToggleChip
verwendet werden können. Sie können anstelle der statischen Symbole vonToggleChipDefaults
(switchIcon
,checkboxIcon
undradioIcon
) verwendet werden. (I8a8c4)
Version 1.1.0-alpha06
21. September 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha06
, androidx.wear.compose:compose-material:1.1.0-alpha06
und androidx.wear.compose:compose-navigation:1.1.0-alpha06
sind freigegeben. Version 1.1.0-alpha06 enthält diese Commits.
Neue Funktionen
- Wir haben
Modifier.scrollAway
hinzugefügt, mit dem ein Element je nach Scrollstatus vertikal sichtbar oder ausgeblendet wird (mit Überladungen für die Verwendung mitColumn
,LazyColumn
undScalingLazyColumn
).ScrollAway
wird in der Regel verwendet, um einTimeText
auszublenden, wenn der Nutzer beginnt, eine Liste von Elementen nach oben zu scrollen. (I61766)
Fehlerkorrekturen
- Die
PositionIndicator
ist jetzt so positioniert und hat eine Größe, dass sie nur den benötigten Platz einnimmt. Das ist beispielsweise nützlich, wenn semantische Informationen hinzugefügt werden. TalkBack erhält dann die richtigen Begrenzungen desPositionIndicator
auf dem Bildschirm. (Ie6106, b/244409133)
Version 1.1.0-alpha05
7. September 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha05
, androidx.wear.compose:compose-material:1.1.0-alpha05
und androidx.wear.compose:compose-navigation:1.1.0-alpha05
sind freigegeben. Version 1.1.0-alpha05 enthält diese Commits.
Fehlerkorrekturen
InlineSlider
undStepper
wurden Schaltflächenrollen hinzugefügt, damit Talkback sie als Schaltflächen erkennt. (Icb46c, b/244260275)- Wir haben die Z-Reihenfolge der Positionierungs- und Seitenindikatoren im Scaffold korrigiert. Die Anzeigen werden jetzt über der Vignette angezeigt und sind dadurch nicht mehr von ihr verdeckt, falls eine Vignette vorhanden ist. (Ib988f, b/244207528)
Version 1.1.0-alpha04
24. August 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha04
, androidx.wear.compose:compose-material:1.1.0-alpha04
und androidx.wear.compose:compose-navigation:1.1.0-alpha04
sind freigegeben. Version 1.1.0-alpha04 enthält diese Commits.
API-Änderungen
- Wir haben einige der Standardfarben im MaterialTheme aktualisiert, um die Barrierefreiheit zu verbessern. Die ursprünglichen Farben hatten keinen ausreichenden Kontrast, was es Nutzern erschwert hat, Chip-/Karten-/Schaltflächen-Hintergründe von der Hintergrundfarbe des Designs zu unterscheiden. Die aktualisierten Farben sind „surface“ (von #FF202124 zu #FF303133), „onPrimary“ (von #FF202124 zu #FF303133), „onSecondary“ (von #FF202124 zu #FF303133), „primaryVariant“ (von #FF669DF6 zu #FF8AB4F8) und „onError“ (von #FF202124 zu #FF000000). Die Farbänderungen sind zwar relativ subtil, können sich aber auf vorhandene Screenshottests auswirken. (81ab09)
Fehlerkorrekturen
- Behebung eines Logikfehlers in
ScalingLazyColumn
, der dazu führen konnte, dass Listen mit einer kleinen Anzahl von Listenelementen (in der Regel genau zwei) nicht vollständig initialisiert wurden und daher transparent waren. (504347)
Version 1.1.0-alpha03
10. August 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha03
, androidx.wear.compose:compose-material:1.1.0-alpha03
und androidx.wear.compose:compose-navigation:1.1.0-alpha03
sind freigegeben. Version 1.1.0-alpha03 enthält diese Commits.
Neue Funktionen
- Wir haben einen neuen Stil mit Umriss für
Chips
undButtons
sowie neueOutlinedChip
- undOutlinedButton
-Kompositen hinzugefügt, die ein transparentesChip/Button
mit einem dünnen Rahmen bieten. (Id5972)
API-Änderungen
- Überladungen zum Ändern der Schaltflächenform hinzugefügt (Icccde)
Fehlerkorrekturen
- Wir haben die Größe des Bereichs für die Ein-/Aus-Schaltfläche der
ToggleChip
korrigiert, da sie nicht den UX-Spezifikationen entsprach. Die UX-Spezifikation sieht einen Abstand von 4 dp zwischen dem Label und einem Symbolbereich für die Ein-/Aus-Schaltfläche von 24 × 24 dp vor, was einer Gesamtbreite von 28 dp entspricht. Die Implementierung gibt jedoch fälschlicherweise 36 × 24 dp für den Bereich des Ein-/Aus-Steuerelements an. Dadurch gehen 8 dp nutzbarer Textlabelfläche verloren. HINWEIS: Durch diese Fehlerkorrektur wird zusätzlicher Platz für das Textlabel geschaffen, was sich positiv auf das Textlayout für Textauslauf auswirken kann. Wenn Sie Screenshottests mitToggleChips
haben, müssen diese möglicherweise aktualisiert werden. (I514c8, b/240548670)
Version 1.1.0-alpha02
27. Juli 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha02
, androidx.wear.compose:compose-material:1.1.0-alpha02
und androidx.wear.compose:compose-navigation:1.1.0-alpha02
sind freigegeben. Version 1.1.0-alpha02 enthält diese Commits.
Neue Funktionen
- Wir haben die Abhängigkeiten von Compose for Wear OS von den Compose-Kernbibliotheken 1.2.0 auf 1.3.0-alpha0X umgestellt.
API-Änderungen
- Überladungen zum Ändern von Chipformen hinzugefügt (I02e87)
Fehlerkorrekturen
- Wir haben die Sichtbarkeit der Vignette beim Ein- und Ausblenden des Dialogfelds animiert, damit sie der vorhandenen Skalierungsanimation entspricht. (Ida33e)
- Wir haben einen Fehler behoben, bei dem beim Scrollen bei bestimmten Wischaktionen eine Division durch Null auftreten konnte. (I86cb6)
- Ein Fehler in der
ChipDefaults.childChipColor()
wurde behoben, damit die deaktivierte Hintergrundfarbe vollständig transparent ist. (I2b3c3, b/238057342)
Version 1.1.0-alpha01
29. Juni 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha01
, androidx.wear.compose:compose-material:1.1.0-alpha01
und androidx.wear.compose:compose-navigation:1.1.0-alpha01
sind freigegeben. Version 1.1.0-alpha01 enthält diese Commits.
API-Änderungen
- Der Parameter
contentDescription
von Picker wird jetzt nur für die ausgewählte Picker-Option verwendet und nimmt einen typfremden String an. Bisher war es erforderlich, eine Zuordnung von der Option zur Inhaltsbeschreibung zu übergeben, aber es wurde nur die ausgewählte Option verwendet. (Ife6a7) - Wir haben die Barrierefreiheit der Auswahl verbessert, damit Bildschirme mit mehreren Auswahlmöglichkeiten mit Screenreadern bedient werden können und die Inhaltsbeschreibung barrierefrei ist (I64edb).
Fehlerkorrekturen
- Wir haben die Regeln für das Baseline-Profil aktualisiert, die in der Wear Compose-Bibliothek (I9c694) enthalten sind.
- Wir haben die Richtung des Farbverlaufs für Chips im Rechts-nach-Links-Modus korrigiert. War oben links -> unten rechts, ist jetzt oben rechts -> unten links. (Ic2e77)
- Wir haben die Standardverläufe für
Chip/ToggleChip/Card
aktualisiert, damit sie den neuesten UX-Spezifikationen entsprechen.ChipDefaults.gradientBackgroundChipColors
beginnt jetzt bei 50% des Primärfarbtons statt bei 32,5%.CardDefaults.cardBackgroundPainter
wurde aktualisiert und beginnt jetzt bei 30% des Primärfarbtons und endet bei 20% vononSurfaceVariant
(zuvor 20% bis 10%onSurfaceVariant
).ToggleChip.toggleChipColors
ändert sich von einem linearen Farbverlauf von 75% Oberfläche zu 32,5% Primärfarbe zu 0% Oberfläche zu 50% Primärfarbe. (I43bbd) - Wir haben hinter
Chip/ToggleChips
eine Hintergrundfarbe (MaterialTheme.color.surface
) mit Farbverlauf hinzugefügt, damit sie auch dann gut sichtbar sind, wenn hinter ihnen eine helle Farbe verwendet wird. (Ibe1a4, b/235937657) - Auswahlelemente sind jetzt immer zentriert ausgerichtet. Dadurch wurde ein Fehler behoben, bei dem die Ausrichtung geändert wurde, wenn
gradientRatio
auf null gesetzt wurde. (I712b8)
Version 1.0
Version 1.0.2
7. September 2022
androidx.wear.compose:compose-foundation:1.0.2
, androidx.wear.compose:compose-material:1.0.2
und androidx.wear.compose:compose-navigation:1.0.2
sind freigegeben. Version 1.0.2 enthält diese Commits.
Fehlerkorrekturen
- Wir haben die Z-Reihenfolge der Positionierungs- und Seitenindikatoren im Scaffold korrigiert. Die Anzeigen werden jetzt über der Vignette angezeigt und sind dadurch nicht mehr von ihr verdeckt, falls eine Vignette vorhanden ist. (Ib988f, b/244207528)
Version 1.0.1
24. August 2022
androidx.wear.compose:compose-foundation:1.0.1
, androidx.wear.compose:compose-material:1.0.1
und androidx.wear.compose:compose-navigation:1.0.1
sind freigegeben. Version 1.0.1 enthält diese Commits.
Fehlerkorrekturen
- Behebung eines Logikfehlers in
ScalingLazyColumn
, der dazu führen konnte, dass Listen mit einer kleinen Anzahl von Listenelementen (in der Regel genau zwei) nicht vollständig initialisiert wurden und daher transparent waren. (076c61)
Version 1.0.0
27. Juli 2022
androidx.wear.compose:compose-foundation:1.0.0
, androidx.wear.compose:compose-material:1.0.0
und androidx.wear.compose:compose-navigation:1.0.0
sind freigegeben. Version 1.0.0 enthält diese Commits.
Wichtige Funktionen von 1.0.0
- Dies ist die erste stabile Version von Compose für Wear OS (weitere Informationen).
- Compose for Wear OS baut auf den Compose-Kernbibliotheken auf und bietet zusätzliche Wear-spezifische Komponenten und gegebenenfalls alternative Implementierungen der Compose-Kernkomponenten, die auf Wear-Geräte zugeschnitten sind.
- Eine Liste der wichtigsten Komponenten in Wear Compose finden Sie in den Release Notes für Compose for Wear OS Beta01.
Fehlerkorrekturen
- Wir haben die Sichtbarkeit der Vignette beim Ein- und Ausblenden des Dialogfelds animiert, damit sie der vorhandenen Skalierungsanimation entspricht. (Ida33e)
- Wir haben einen Fehler behoben, bei dem beim Scrollen bei bestimmten Wischaktionen eine Division durch Null auftreten konnte. (I86cb6)
- Ein Fehler in der
ChipDefaults.childChipColor()
wurde behoben, damit die deaktivierte Hintergrundfarbe vollständig transparent ist. (I2b3c3, b/238057342)
Version 1.0.0-rc02
22. Juni 2022
androidx.wear.compose:compose-foundation:1.0.0-rc02
, androidx.wear.compose:compose-material:1.0.0-rc02
und androidx.wear.compose:compose-navigation:1.0.0-rc02
sind freigegeben. Version 1.0.0-rc02 enthält diese Commits.
Fehlerkorrekturen
- Wir haben die Richtung des Farbverlaufs für Karten im RTL-Modus (rechts nach links) korrigiert. Bisher war die Reihenfolge „oben links -> unten rechts“, jetzt ist sie „oben rechts -> unten links“. (Ic2e77)
- Wir haben die Standardverläufe für
Chip/ToggleChip/Card
aktualisiert, damit sie den neuesten UX-Spezifikationen entsprechen.ChipDefaults.gradientBackgroundChipColors
beginnt jetzt bei 50% des Primärfarbtons statt bei 32,5%.CardDefaults.cardBackgroundPainter
wurde aktualisiert und beginnt jetzt bei 30% des primären und endet bei 20% vononSurfaceVariant
(zuvor 20% bis 10% aufSurfaceVariant).ToggleChip.toggleChipColors
ändert sich von einem linearen Farbverlauf von 75% Oberfläche zu 32,5% Primärfarbe zu 0% Oberfläche zu 50% Primärfarbe. (I43bbd) - Wir haben hinter
Chip/ToggleChips
eine Hintergrundfarbe (MaterialTheme.color.surface
) mit Farbverlauf hinzugefügt, damit sie auch dann gut sichtbar sind, wenn hinter ihnen eine helle Farbe verwendet wird. (Ibe1a4, b/235937657) - Wir haben die Regeln für das Baseline-Profil aktualisiert, die in der Wear Compose-Bibliothek (I9c694) enthalten sind.
Version 1.0.0-rc01
15. Juni 2022
androidx.wear.compose:compose-foundation:1.0.0-rc01
, androidx.wear.compose:compose-material:1.0.0-rc01
und androidx.wear.compose:compose-navigation:1.0.0-rc01
sind freigegeben. Version 1.0.0-rc01 enthält diese Commits.
API-Änderungen
- Schnittstellen in Compose-Bibliotheken werden jetzt mit den Standardschnittstellenmethoden von JDK 8 erstellt (I5bcf1)
Fehlerkorrekturen
- Der explizite Aufruf von
fillMaxWidth()
im Listenheader wurde entfernt, da er nicht erforderlich ist und zu Problemen führen kann, wenn eineScalinglazyColumn
eine Mischung ausListHeader()
- undChip()
-Komponenten enthält. Die Breite wird dann tendenziell größer oder kleiner, wennListHeader
-Elemente in den Blick oder aus dem Blickfeld gescrollt werden. (I37144, b/235074035) - Wir haben einen Fehler in der
ScalingLazyColumn
behoben, der dazu führen konnte, dass die Listenelemente erst nach dem Scrollen korrekt dargestellt wurden, wenn das Null-Listenelement groß genug war (einschließlich Padding) (Ic6159, b/234328517) - Wir haben die
ScalingLazyColumn
-Glättung leicht angepasst, wenn Elemente den Bildschirmrand erreichen, um den aktualisierten UX-Spezifikationen zu entsprechen. Alte WerteCubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f)
-> neue WerteCubicBezierEasing(0.3f, 0f, 0.7f, 1f)
Wenn Sie das alte Verhalten beibehalten möchten, können Sie diescalingParams
vonScalingLazyColumn
(Ie375c) überschreiben. - Wir haben dem
CompactChip
einen Abstand hinzugefügt, damit die Größe des Tippziels mindestens 48 dp beträgt und so den Material Design-Richtlinien für Barrierefreiheit entspricht. Dies kann sich auf Layouts auswirken, in denenCompactChips
verwendet wird, da sie zusätzlichen Platz belegen. (I3d57c)
Version 1.0.0-beta03
1. Juni 2022
androidx.wear.compose:compose-foundation:1.0.0-beta03
, androidx.wear.compose:compose-material:1.0.0-beta03
und androidx.wear.compose:compose-navigation:1.0.0-beta03
sind freigegeben. Version 1.0.0-beta03 enthält diese Commits.
Neue Funktionen
ScalingLazyColumn
funktioniert jetzt auch im Modus „Schreiben“@Preview
. (I3b3b6, b/232947354)
API-Änderungen
- Wir haben den Standardwert für die Eigenschaft
ScalingLazyColumn.horizontalAlignment
von „Start“ in „CenterHorizontally
“ geändert, damit Listenelemente, die nicht die gesamte Breite der Spalte ausfüllen, für maximale Sichtbarkeit ausgerichtet werden. Wenn Sie zum vorherigen Verhalten zurückkehren möchten, legen SiehorizontalAlignment = Alignment.Start
fest.(I9ed4b)
Bekannte Probleme
- Die Höhe der Berührungspunkte von CompactChip ist kleiner als in den Material Design-Richtlinien für Bedienungshilfen angegeben. Dieser Fehler wird in der nächsten Version (15. Juni) behoben. Wenn Sie CompactChips verwenden, hat das Auswirkungen auf Ihre Layouts, da CompactChips jetzt oben und unten zusätzliche Abstände haben. Bitte passen Sie Ihre Layouts an und testen Sie sie oder sehen Sie sich die Kommentare zum Fehler an, um eine Lösung für das Problem zu finden. (b/234332135)
Fehlerkorrekturen
- Neue Demo zum Animieren des Hinzufügens oder Entfernens eines Starttexts auf einer
TimeText
. (I16d75) - Tests für
HorizontalPageIndicator.PagesState
(I64ed0) hinzufügen TimeText
näher an den UX-Spezifikationen (Ib7ea1)
Version 1.0.0-beta02
18. Mai 2022
androidx.wear.compose:compose-foundation:1.0.0-beta02
, androidx.wear.compose:compose-material:1.0.0-beta02
und androidx.wear.compose:compose-navigation:1.0.0-beta02
sind freigegeben. Version 1.0.0-beta02 enthält diese Commits.
Neue Funktionen
- Die Auswahl reagiert jetzt immer auf Scroll-Ereignisse, auch im Lesemodus. So müssen Nutzer nicht erst durch Tippen eine Auswahl treffen, bevor sie scrollen können. Im Lesemodus werden Optionen, die nicht die aktuell ausgewählte sind, in
gradientColor
durch einen Shim ausgeblendet. (I72925) - Wir haben das UX-Verhalten von
Chip/ToggleChip/CompactChip/SplitToggleChip
geändert, damitfillMaxWidth
standardmäßig nicht mehr ausgeführt wird. Stattdessen werden sie so groß, dass sie den Inhalt umschließen. Wenn Sie das bisherige Verhalten beibehalten möchten, fügen Sie einfachmodifier = Modifier.fillMaxWidth()
(I60a2c, b/232206371) hinzu.
Fehlerkorrekturen
- Der
CurvedTextStyle
-Konstruktor, der einenTextStyle
annimmt, berücksichtigt jetzt auch diefontWeight
. Dieser Parameter kann in zukünftigen Versionen der API dem Konstruktor und den Kopiermethoden hinzugefügt werden. (Ieebb9) - Verbesserungen beim Wischen am Rand Wenn
Modifier.edgeSwipeToDismiss
verwendet wird und ein Wischen nach links vom Randbereich aus ausgelöst wird, wird die Funktion „Wischen zum Schließen“ nicht mehr ausgelöst, wenn sich die Wischrichtung nach rechts ändert. Bisher war es möglich, das Wischen zum Schließen durch Wischen nach links und dann nach rechts auszulösen.(I916ea) HorizontalPageIndicator
zeigt jetzt bis zu sechs Seiten auf dem Bildschirm an. Wenn es insgesamt mehr als sechs Seiten gibt, wird links oder rechts ein Indikator in halber Größe angezeigt, mit einem fließenden Übergang zwischen den Seiten.(I2ac29)- Verbessertes Standard-Snap-Verhalten auf
ScalingLazyColumn
undPicker
(I49539) - Verbesserungen beim Wischen am Rand Wenn
Modifier.edgeSwipeToDismiss
verwendet wird, wird das Wischen zum Schließen nur ausgelöst, wenn die erste Berührung am Rand erfolgt und dann nach rechts gewischt wird. Bisher war es möglich, das Wischen zum Schließen durch Wischen von einem beliebigen Punkt auf dem Bildschirm auszulösen, wenn ein Scrollen den Anfang erreicht.(I8ca2a)
Version 1.0.0-beta01
11. Mai 2022
androidx.wear.compose:compose-foundation:1.0.0-beta01
, androidx.wear.compose:compose-material:1.0.0-beta01
und androidx.wear.compose:compose-navigation:1.0.0-beta01
sind freigegeben. Version 1.0.0-beta01 enthält diese Commits.
Funktionen von Compose für Wear OS 1.0
Die Version 1.0.0-beta01
von Compose für Wear OS ist ein wichtiger Meilenstein, da die Bibliothek jetzt funktionsfähig ist und die API gesperrt wurde.
Zu den Wear Compose-Materialkomponenten in der Version 1.0 gehören:
- Material Theme: Ersetzt Compose for Mobile
MaterialTheme
und bietet Farben, Formen und Typografie für die Erstellung von Komponenten auf Wearables, die die UX-Richtlinien für Wear Material Design bereits implementieren. Button
,CompactButton
undToggleButton
: Die Schaltfläche bietet einen einzelnen Steckplatz für ein Symbol, ein Bild oder einen kurzen Text (maximal 3 Zeichen). Sie haben eine runde Form und die empfohlenen Größen für Standard-, große oder kleine Schaltflächen.CompactButton
bietet einen einzelnen Slot für beliebige Inhalte (Symbol, Bild oder Text) und ist rund mit einem besonders kleinen Hintergrund.CompactButton
hat optionale transparente Ränder um den Hintergrund, die den anklickbaren Bereich vergrößern.ToggleButton
ist eine Schaltfläche mit einem einzigen Steckplatz für beliebige Inhalte (kurzer Text, Symbol oder Bild) und den Status „An/Aus“ (angeklickt/nicht angeklickt) mit Farbgebung und verschiedenen Symbolen, die anzeigen, ob die Option aktiviert ist oder nicht.- Karten: Hier werden Informationen zu Apps wie Benachrichtigungen angezeigt. Flexibles Design für verschiedene Anwendungsfälle:
AppCard
undTitleCard
bieten unterschiedliche Layouts und unterstützen Bilder als Karteninhalte oder Hintergründe. - Chips: Stadionförmige Komponenten, die Schaltflächen ähneln, aber eine größere Fläche und mehrere Slots für Labels, sekundäre Labels und Symbole haben. in verschiedenen Größen und mit Unterstützung für Bilder als Hintergründe.
- ToggleChips und SplitToggleChips: Ein Chip mit einem angeklickten/nicht angeklickten Status und einem zusätzlichen
ToggleControl
-Slot, um ein Symbol wie einen Schalter oder eine Optionsschaltfläche für den angeklickten Status der Komponente anzuzeigen. Außerdem hat dasSplitToggleChip
zwei berührbare Bereiche, einen anklickbaren und einen aus-/einschaltbaren. - CircularProgressIndicator – Wear OS-Fortschrittsanzeige mit zwei Varianten Der erste gibt den Prozentsatz der Fertigstellung einer laufenden Aufgabe an und unterstützt eine Lücke im kreisförmigen Track zwischen Start- und Endwinkel. Die zweite gibt einen unbestimmten Fortschritt für eine nicht angegebene Wartezeit an.
- curvedText: Dieser Parameter ist Teil der DSL zur Beschreibung von
CurvedLayouts
und wird zusammen mitcurvedRow
undcurvedColumn
verwendet, um Komponenten um kreisförmige Geräte herum anzuordnen. Weitere Informationen zuCurvedLayout
undCurvedModifier
finden Sie unten unter „Wear Component Foundation“. Diese spielen eine ähnliche Rolle wie Modifikatoren in der nicht gebogenen Welt und ermöglichen die Konfiguration verschiedener Aspekte wie Layout, Abstände und Farbverläufe. - Dialogfeld, Benachrichtigung und Bestätigung: Ein Dialogfeld wird im Vollbildmodus angezeigt, überlagert alle anderen Inhalte und kann durch Wischen geschlossen werden. Es nimmt einen einzelnen Slot ein, der voraussichtlich Wear OS-Dialoginhalte wie Benachrichtigungen oder Bestätigungen enthalten wird. „Benachrichtigung“ ist ein dialogorientierter Inhalt mit Slots für Symbol, Titel und Nachricht. Es gibt Überlastungen für entweder zwei negative und positive Schaltflächen, die nebeneinander angezeigt werden, oder einen Steckplatz für einen oder mehrere vertikal gestapelte Chips. Eine Bestätigung ist ein dialogorientierter Inhalt, bei dem eine Nachricht für eine bestimmte Dauer angezeigt wird. Es hat einen Steckplatz für ein Symbol oder Bild, das animiert werden kann.
- HorizontalPageIndicator: Zeigt die horizontale Seitenposition auf eine dem Formfaktor des Wearables entsprechende Weise an. Erfüllt den Vollbildmodus und zeigt auf runden Geräten einen gebogenen Indikator an. Kann mit dem Seitenbetrachter für Begleiter verwendet werden.
- Symbol: Eine Wear-Implementierung des Symbols, bei der Farbe und Alphakanal aus dem Wear-Material-Design übernommen werden. Informationen zu einem anklickbaren Symbol finden Sie unter Schaltfläche oder Chip.
- Auswahl: Hier wird eine scrollbare Liste mit Elementen angezeigt, aus denen Sie auswählen können. Standardmäßig werden Elemente in beiden Richtungen „unendlich“ wiederholt. Kann im Lesemodus angezeigt werden, um nicht ausgewählte Optionen auszublenden.
- PositionIndicator: Zeigt die Scrollposition oder eine andere Positionsanzeige in einer für das Wearable geeigneten Weise an. Erfüllt den Vollbildmodus und zeigt auf runden Geräten einen gebogenen Indikator an.
- Scaffold: Hier wird die grundlegende visuelle Layoutstruktur von Wear Material Design implementiert. Diese Komponente bietet eine API, mit der mehrere Wear OS-Materialkomponenten (z. B.
TimeText
,PositionIndicator
undVignette
) zusammengestellt werden können, um den Bildschirm zu erstellen, eine geeignete Layoutstrategie für sie zu gewährleisten und die erforderlichen Daten zu erheben, damit diese Komponenten richtig zusammenarbeiten. - ScalingLazyColumn: eine scrollbare Listenkomponente mit Skalierung/Fischaugeneffekt, die einen wichtigen Teil der Wear OS-Material Design-Sprache bildet. Hiermit können Sie die Inhaltselemente skalieren und Transparenzeffekte hinzufügen.
ScalingLazyColumn
ist für die Verarbeitung einer potenziell großen Anzahl von Inhaltselementen konzipiert, die nur bei Bedarf materialisiert und zusammengesetzt werden. - Schieberegler: Nutzer können aus einem Wertebereich auswählen. Die Auswahlmöglichkeiten werden als Balken dargestellt, der optional mit Trennlinien versehen werden kann.
- Einstellbarer Schieberegler: Eine Vollbildkomponente, mit der Nutzer über die Schaltflächen „Höher“ und „Niedriger“ oben und unten auf dem Bildschirm eine Auswahl aus einem Wertebereich treffen können. In der Mitte befindet sich ein Bereich für Text oder einen Chip.
- SwipeToDismissBox: Damit wird die Wischgeste zum Schließen verarbeitet. Er belegt einen einzelnen Slot für den Hintergrund (wird nur während des Wischens angezeigt) und die Inhalte im Vordergrund. Kann optional mit der androidx-Navigationsbibliothek kombiniert werden, indem
SwipeDismissableNavHost
verwendet wird (siehe Wear Compose-Navigationsbibliothek unten). - Text: Eine Wear-Implementierung der Compose Material Text-Komponente, die Farbe und Alphakanal aus dem Wear Material-Design übernimmt
- TimeText: Eine Komponente, mit der die Uhrzeit und der Anwendungsstatus oben auf dem Display angezeigt werden. Passt sich der Bildschirmform an, indem auf runden Bildschirmen geschwungener Text verwendet wird.
Vignette: Eine Bildschirmbehandlung, die im Scaffold verwendet wird und die oberen und unteren Bereiche des Bildschirms verwischt, wenn scrollbare Inhalte verwendet werden.
Außerdem sind die folgenden Komponenten aus Wear Compose Foundation enthalten:
CurvedLayout – Wear Foundation
CurvedLayout
ist ein Layout-Komposit, das seine untergeordneten Elemente in einem Bogen anordnet und bei Bedarf dreht. Das ähnelt einem Zeilenlayout, das in ein Segment eines Ringes gebogen ist. Der Inhalt einerCurvedLayout
ist kein kompostierbares Lambda, sondern eine DSL (domainspezifische Sprache). Alle Elemente in der DSL von CurvedLayout unterstützen einen optionalen Modifikatorparameter, der ausCurvedModifier
erstellt wird.basicCurvedText: Ein Element in der
CurvedLayout
-DSL,basicCurvedText
, mit dem Entwickler ganz einfach gekrümmten Text schreiben können, der der Krümmung eines Kreises folgt (normalerweise am Rand eines kreisförmigen Bildschirms).basicCurvedText
kann nur innerhalb vonCurvedLayout
erstellt werden, um die beste Leistung zu erzielen. So können Sie beispielsweise die Positionierung angeben undCurvedModifiers
verwenden. In den meisten Fällen sollte stattdessen curvedText verwendet werden, da es Material-Design-Themen verwendet.curvedComposable: Normale zusammensetzbare Inhalte werden umgebrochen, damit sie mit
CurvedLayout
verwendet werden können. WenncurvedComposable
mehrere Elemente enthält, werden sie übereinander gezeichnet (wie bei einem Frame). Wenn Sie mehrere Elemente entlang einer Kurve platzieren möchten, schließen Sie jedes Element incurvedComposable
ein.curvedRow und curvedColumn: Ähnlich wie bei „Row“ und „Column“ können
curvedRow
undcurvedColumn
in einerCurvedLayout
verschachtelt werden, um Elemente nach Bedarf anzuordnen. Für eincurvedRow
können die Richtung des schiefwinkligen Layouts und die radiale Ausrichtung angegeben werden. Für eincurvedColumn
können die Winkelausrichtung und die radiale Richtung angegeben werden.CurvedModifier: Alle gekrümmten Komponenten akzeptieren einen Modifiziererparameter, der mit
CurvedModifier
erstellt werden kann: Hintergrund, Größe, Gewicht und Abstand werden unterstützt.Die folgende Komponente ist auch in der Navigation von Wear Compose enthalten:
SwipeDismissableNavHost: Bietet in der Compose-Hierarchie einen Ort für eine eigenständige Navigation, bei der die Rückwärtsnavigation durch Wischen erfolgt. Die Inhalte werden in einem
SwipeToDismissBox
angezeigt, das die aktuelle Navigationsebene angibt. Während einer Wischgeste zum Schließen wird die vorherige Navigationsebene (falls vorhanden) im Hintergrund angezeigt.Weitere Informationen zu den einzelnen Alphaversionen finden Sie in den vorherigen Versionshinweisen.
API-Änderungen
CurvedModifier.padding*
-Funktionen hinzugefügt Damit wird zusätzlicher Raum um eine gekrümmte Komponente herum angegeben. (I4dbb4)- Interne
CompositionLocal
-Klasse (I42490) entfernt - Wir haben als Orientierungshilfe konstante Werte für die Symbolgrößen
Button
,CompactButton
undToggleButton
hinzugefügt. I57cab - Fügen Sie
AppCard
undTitleCard
den Parameter „enabled“ hinzu. Jetzt haben sie eine ähnliche API wieandroidx.compose.material
-Karten. Ist der Parameter auf „false“ gesetzt, ist die Karte nicht anklickbar. (Idc48d, b/228869805)
Fehlerkorrekturen
- Beim Schieberegler werden die Schaltflächen „Verringern“ und „Erhöhen“ jetzt deaktiviert, wenn die Unter-/Obergrenzen erreicht sind. Außerdem wird „ContentAlpha.disabled“ auf die „iconColor“ angewendet. (I4be9f)
- Wir haben einen Abstand von 1 dp um den Inhalt der Auswahl hinzugefügt, wenn er mit einem Farbverlauf gezeichnet wird, um ein Ruckeln des Textes beim Wischen zu verhindern. (I0b7b9)
- Screenshottests für
PositionIndicator
(I5e8bc) hinzufügen - Weitere Tests für
AppCard
undTitleCard
hinzufügen (I85391, b/228869805)
Version 1.0.0-alpha21
20. April 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha21
, androidx.wear.compose:compose-material:1.0.0-alpha21
und androidx.wear.compose:compose-navigation:1.0.0-alpha21
sind freigegeben. Version 1.0.0-alpha21 enthält diese Commits.
Neue Funktionen
- Es wurden neue Kurvenmodifikatoren hinzugefügt, um den Hintergrund eines gekrümmten Elements anzugeben:
CurvedModifier.background
,.radialGradientBackground
und.angularGradientBackground
(I8f392) - Es soll möglich sein, den Überlaufmodus für gekrümmten Text (abgeschnitten/Dreipunkt-Elipsis/sichtbar) anzugeben. (I8e7aa)
- Modifikator
CurvedModifier.weight
hinzugefügt, ähnlich dem in Compose Dieser Wert kann für untergeordnete Elemente von „curvedRow“ und „CurvedLayout“ (für die Breite) und für untergeordnete Elemente von „curvedColumn“ (für die Höhe) verwendet werden. (I8abbd) - Die Modifikatoren
CurvedModifier.size
,.angularSize
und.radialSize
wurden hinzugefügt, um die Größe eines gekrümmten Elements anzugeben. (I623c7)
API-Änderungen
- Parameter neu anordnen, damit „background“ in der Wear Compose API immer vor „color“ steht (I43208)
- Die Parameter „clockwise“ und „
insideOut
“ wurden entfernt und durch aussagekräftigere Konstanten in neuen Klassen ersetzt. Die Richtung des gekrümmten Layouts kann jetztLayoutDirection
-sensitiv sein und wird übernommen, wenn sie nicht angegeben ist (If0e6a) - Wir haben
autoCenter: Boolean
durchautoCenter: AutoCentringParams
ersetzt, um ein API-Problem mit derScalingLazyColumn
zu beheben. (Ia9c90) - Wir haben
iconTintColor
undtoggleControlTintColor
in der gesamten API iniconColor
undtoggleControlColor
umbenannt (Chip/ToggleChip/Dialog/Slider/Stepper/…). Die Farbe wird jetzt auf den Slot „icon/toggleControl“ angewendet. (Ied238) PageIndicatorStyle
-Enum in Wertklasse umschreiben (I2dc72)- Wir haben einigen Slots in unseren Composables das Symbol
RowScope/ColumnScope/BoxScope
hinzugefügt, um Entwicklern zu zeigen, welche Layoutannahmen gelten. So können Entwickler zusätzliche Modifikatoren für einige Slot-Inhalte verwenden und müssen keine zusätzlichen Layoutelemente bereitstellen. Außerdem haben wir einige kleinere Änderungen an den Farben von App- und Titelkarten vorgenommen.timeColor
undappColor
sind jetzt standardmäßigcontentColor
. Diese Eigenschaften können bei Bedarf weiterhin einzeln überschrieben werden. (I26b59) - Das Objekt
SwipeToDismissBoxState.Companion
wurde zu einem privaten Objekt (I39e84) - Reihenfolge der Parameter für
InlineSlider
undStepper
korrigieren Eine einfache Änderung, um die API-Richtlinien einzuhalten (I11fec) - Wir haben das Energiesparobjekt für
SwipeToDismissBoxState
entfernt, da es nicht verwendet wurde. (Ifb54e) - Wir haben
CompactChip
aktualisiert, damit es der neuesten UX-Spezifikation entspricht. Der Abstand wurde auf horizontal = 12.dp und vertikal = 0.dp reduziert. Die Schriftart für das Label wurde von „button“ in „caption1“ geändert. Die empfohlene Größe für Symbole beträgt 20 × 20 Pixel, wenn sowohl Symbol als auch Label vorhanden sind, und 24 × 24 Pixel für einen kompakten Chip mit nur einem Symbol. Bei nur einem Symbol haben wir außerdem darauf geachtet, dass es zentriert ist. (Iea2be) - Wir haben
ScalingLazyListLayoutInfo
einige neue Felder hinzugefügt, damit Entwickler die Höhe der angewendetencontentPadding
undautoCenteringPadding
sehen können. Diese können für Entwickler nützlich sein, wenn sie Wisch-/Scrollbewegungen berechnen (I7577b). - Wir haben Ein-/Ausblendungsübergänge für Dialoge implementiert. Es wurde ein Parameter
showDialog
hinzugefügt und der Dialog steuert jetzt seine eigene Sichtbarkeit. So können die Intro- und Outro-Animationen des Dialogs ausgeführt werden, wenn der Dialog angezeigt oder ausgeblendet wird. Die Outro-Animation wird nicht ausgeführt, wenn der Nutzer das Dialogfeld durch Wischen zum Schließen verlässt. Außerdem haben wir der vor Kurzem hinzugefügtenSwipeToDismissBox
-Überladung einen Standardwert für den Status hinzugefügt. (I682a0) - Um die Unterstützung von i18n und a11y zu verbessern, haben wir
ToggleChip
undSplitToggleChip
so geändert, dass sie keinen Standardwert mehr für dentoggleControl
-Slot haben. Außerdem haben wirToggleChipDefaults
geändert, sodass die folgenden Methoden jetzt „ImageVector“ anstelle von „Icon“ zurückgeben. Da sie keine @Composables mehr zurückgeben, beginnen sie jetzt mit einem Kleinbuchstaben. Das gilt fürSwitchIcon()->switchIcon()
,CheckboxIcon->checkboxIcon()
undRadioIcon()->radioIcon()
. Entwickler können jetzt eigeneIcon()
-Composables mit einem geeignetencontentDescription
-Set erstellen. (I5bb5b) SwipeDismissableNavHost
wurde einSwipeDismissableNavHostState
-Parameter hinzugefügt. Dadurch wird die Verwendung von Wischen am Bildschirmrand auf Bildschirmen unterstützt, die als Navigationsziele verwendet werden, daSwipeToDismissBoxState
jetzt gehoistet und verwendet werden kann, um sowohlSwipeDismissableNavHostState
als auchModifier.edgeSwipeToDismiss
auf Bildschirmen zu initialisieren, für die Wischen am Bildschirmrand erforderlich ist. (I819f5, b/228336555)
Fehlerkorrekturen
- Achten Sie darauf, dass die gebogenen Layouts bei Bedarf aktualisiert werden. (Ie8bfa, b/229079150)
- Fehlerkorrektur für https://issuetracker.google.com/issues/226648931 (Ia0a0a, b/226648931)
- Unnötige experimentelle Anmerkungen entfernt (I88d7e)
Version 1.0.0-alpha20
6. April 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha20
, androidx.wear.compose:compose-material:1.0.0-alpha20
und androidx.wear.compose:compose-navigation:1.0.0-alpha20
sind freigegeben. Version 1.0.0-alpha20 enthält diese Commits.
Neue Funktionen
- Fügen Sie den
edgeSwipeToDismiss
-Modifikator fürSwipeToDismiss
hinzu. Damit kannswipeToDismiss
nur am linken Rand des Darstellungsbereichs aktiv sein. Wird verwendet, wenn die Mitte des Bildschirms horizontale Seitenwechsel verarbeiten muss, z. B. das Scrollen in einer Karte in 2D oder das Wischen horizontal zwischen Seiten.(I3fcec, b/200699800)
API-Änderungen
- Basisimplementierung von
CurvedModifiers
. Dies eröffnet Möglichkeiten zur Anpassung gekrümmter Inhalte. Es sind jedoch noch keineCurvedModifiers
verfügbar und die Möglichkeit zum Erstellen benutzerdefinierter Modifikatoren wird möglicherweise erst später eingeführt. (I9b8df) - Die Dokumentation zu
EdgeSwipe
-Modifizierern und die Standardwerte wurden aktualisiert, um für mehr Klarheit zu sorgen .(I6d00d) - Fügen Sie dem Scaffold den Steckplatz
PageIndicator
hinzu. Wenn SiePageIndicator
direkt in Scaffold hinzufügen, können Sie dafür sorgen, dass es auf kreisförmigen Geräten korrekt angezeigt wird. (Ia6042) - Standardsymbole aus den Parametern
InlineSlider
und Stepper entfernen So können Entwickler die Anforderungen an die Lokalisierung und Barrierefreiheit besser berücksichtigen. Die Verwendung von Standardsymbolen wurde in Demos und Beispielen veranschaulicht. (I7e6fd) - End- und Anfangsparameternamen in „TimeText“ durch „Start“ und „End“ ersetzen (Iaac32)
- Wir haben eine
SwipeToDismissBox
-Überladung mit einemonDismissed
-Parameter hinzugefügt, um die gängige Verwendung zu unterstützen, bei der ein Navigationsereignis ausgelöst wird, wenn die Wischgeste abgeschlossen ist. (I50353, b/226565726) ExperimentalWearMaterialApi
-Hinweise zur Verwendung vonTimeText
entfernt (Ide520)- Wir haben die
ScalingLazyList/Column
-Scope- und Info-Schnittstellen als versiegelt gekennzeichnet, da sie nicht von externen Entwicklern implementiert werden sollen. So können wir ihnen in Zukunft neue Mitglieder hinzufügen, ohne dass es zu Änderungen am Binärcode kommt. (I7d99f) - Wir haben der Auswahl eine neue
flingBehaviour
-Eigenschaft und einePickerDefaults.flingBehaviour()
-Methode hinzugefügt, um das Wischverhalten zu konfigurieren, z. B. die Unterstützung für die Rückwärts-Suche hinzuzufügen.PickerState
implementiert jetzt dieScrollableState
-Schnittstelle. (Ib89c7)
Fehlerkorrekturen
- Aktualisieren Sie die Regeln für das Baseline-Profil der Android Runtime (ART) für Wear Compose-Bibliotheken. ART kann Profilregeln auf Geräten nutzen, um einen bestimmten Teil der Anwendung vorab zu kompilieren und so die Leistung der Anwendung zu verbessern. Hinweis: Dies hat keine Auswirkungen auf debuggbare Anwendungen. (Iaa8ef)
- Dokumentation verbessert (I2c051)
Version 1.0.0-alpha19
23. März 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha19
, androidx.wear.compose:compose-material:1.0.0-alpha19
und androidx.wear.compose:compose-navigation:1.0.0-alpha19
sind freigegeben. Version 1.0.0-alpha19 enthält diese Commits.
API-Änderungen
CurvedRow
wurde inCurvedLayout
umbenannt und in einen Bereich mit einer DSL umgewandelt. Mit dieser DSL können komplexere gekrümmte Layouts mit einer Reihe verschachteltercurvedRow
undcurvedColumn
(entsprechend „Zeile“ und „Spalte“ im gekrümmten Layout) angegeben werden. Innerhalb dieser Layoutelemente können drei Elemente verwendet werden:curvedComposable
(um @Composable hinzuzufügen),basicCurvedText
(gebogener Text der Foundation) undcurvedText
(gebogener Text für Wear OS-Material). (Ib776a)- Die Seite für die
PositionIndicator
muss konfigurierbar sein. Die Position des einfachen PositionIndicator kann jetzt auf „End“ (layoutrichtungsabhängig), „OppositeRsb“ (berücksichtigt die Bildschirmdrehung, um sich gegenüber dem physischen RSB zu positionieren) oder auf die absoluten Positionen „Left“ und „Right“ konfiguriert werden. (I2f1f3) - Bei
SwipeToDismissBox
haben wirSwipeDismissTarget
.Original inSwipeToDismissValue.Default
undSwipeDismissTarget.Dismissal
inSwipeToDismissValue.Dismissed
umbenannt. Außerdem wurdenSwipeToDismissBoxDefaults.BackgroundKey
undSwipeToDismissBoxDefaults.ContentKey
inSwipeToDismissKeys.Background
undSwipeToDismissKeys.Content
umbenannt. (I47a36) - Wir haben der Auswahl einen schreibgeschützten Modus hinzugefügt. Dieser Modus ist für Bildschirme mit mehreren Auswahlen geeignet, bei denen jeweils nur eine Auswahl bearbeitbar ist. Wenn die Auswahl nur lesbar ist, wird die aktuell ausgewählte Option und ein Label angezeigt, falls eines angegeben wurde. (I879de)
SwipeToDismissBoxState
wurde umstrukturiert, um den Umfang vonExperimentalWearMaterialApi
aufModifier.swipeable
undSwipeableState
zu beschränken, die jetzt intern verwendet werden.SwipeToDismissBoxState
hat jetzt die MitgliedercurrentValue
,targetValue
,isAnimationRunning
undsnapTo
, um gängige Anwendungsfälle zu unterstützen. Bitte lassen Sie uns wissen, ob weitere Properties verfügbar gemacht werden sollen. Außerdem wurde das Verhalten vonSwipeableState
korrigiert, wenn der Wischversatz innerhalb eines Rundungsfehlers eines Ankers liegt. (I58302)
Fehlerkorrekturen
- Der Code wurde vereinfacht und korrigiert, um zu erkennen, ob der Inhalt eines
ScalingLazyColumn
gescrollt werden kann. So wird entschieden, ob ein Bildlaufbalken angezeigt wird oder nicht. (I7bce0) - Ein Fehler bei der Positionierungsanzeige wurde behoben, der bei Verwendung mit mehreren Status und beim Wechseln zwischen ihnen auftrat (I320b5)
- Wir haben die Typografie/Schriftarten des Standard-Compose for Wear OS-Designs an unsere aktuellen UX-Richtlinien angepasst. Die Werte für „display1“ (40.sp) und „display2“ (34.sp) sind jetzt kleiner als zuvor. Außerdem wurden verschiedene kleinere Änderungen an Zeilenhöhe und Zeilenabstand vorgenommen. (Ie3077)
- Wir haben
SwipeToDismissBox
einen Widerstand hinzugefügt, damit es nur beim Wischen zum Schließen und nicht in die entgegengesetzte Richtung zu einer Bewegung kommt. (Ifdfb9) - Wir haben einige der Standardparameterwerte für die
CircularProgressIndicator
-Funktionen geändert, damit sie den UX-Richtlinien für Wear OS-Material Design entsprechen. Bei der Spinner-/Unbestimmt-Version wurden die Größe (40 > 24 dp), die Farbe des Indikators (primary > onBackground), die Transparenz der Farbe des Tracks (30 % > 10%) und die Strichbreite (4 > 3 dp) aktualisiert. Bei der Fortschritts-/Determinismusversion wurde die Transparenz von trackColor (30%-> 10%) aktualisiert. (I659cc) - Wir haben die Standardskalierungsparameter der
ScalingLazyColumn
gemäß den neuesten UX-Spezifikationen für Wear OS-Material Design aktualisiert. Visuell bedeutet das, dass Listenelemente näher an der Mitte der Liste skaliert werden, aber am Rand der Liste weniger als zuvor. (Ica8f3) - Einige Anpassungen an
ScalingLazyColumnDefaults.snapFlingBehavior
, um das Ende der Animation zu verbessern (If3260)
Version 1.0.0-alpha18
9. März 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha18
, androidx.wear.compose:compose-material:1.0.0-alpha18
und androidx.wear.compose:compose-navigation:1.0.0-alpha18
sind freigegeben. Version 1.0.0-alpha18 enthält diese Commits.
API-Änderungen
- Mehrere Verbesserungen bei „PositionIndicator“: „ShowResult“ wurde in „PositionIndicatorVisibility“ umbenannt. Einige Leistungsverbesserungen, um unnötige Neuberechnungen zu vermeiden (Iaed9d)
- Die empfohlene Färbung für die
SplitToggleChip
wurde aktualisiert. SplitToggleChip hat jetzt einen einfarbigen Hintergrund, wenn er aktiviert oder deaktiviert ist. Die Farbe des ToggleControl gibt an, ob die Komponente aktiviert ist oder nicht. Wir haben eine neueToggleDefaults.splitToggleChipColors()
hinzugefügt, um das neue Farbschema zu unterstützen. Außerdem haben wir dietoggleChipColors()
-Methoden vereinfacht und die Option „splitBackgroundOverlayColor“ (I7e66e) entfernt. - Wir haben der
ScalingLazyListItemInfo
die unadjustedSize hinzugefügt, da es aufgrund der Genauigkeit von Gleitkommarechnungen nicht sicher ist, die ursprüngliche Artikelgröße anhand der skalierten Größe und des Skalierungsfaktors zu berechnen. (I54657, b/221079441) - Fügen Sie
HorizontalPageIndicator
hinzu. Er steht für die Gesamtzahl der Seiten und eine ausgewählte Seite. Kann je nach Form des Geräts linear oder gebogen sein. Außerdem wird eine benutzerdefinierte Form für den Indikator unterstützt, die festlegt, wie jeder Indikator visuell dargestellt wird. (Iac898) - Wir haben
PickerState
aktualisiert, damit die Anzahl der Optionen aktualisiert werden kann. Dies unterstützt Anwendungsfälle wie eineDatePicker
, bei der sich die Anzahl der Tage im Monat je nach ausgewähltem Monat ändert. Der Konstruktorparameter für PickerState wurde entsprechend in „initialNumberOfOptions“ geändert. (Iad066) - Blenden Sie das
PositionIndicator
aus, wenn eine Bildlaufleiste vorhanden ist, aber nicht gescrollt werden kann. (Id0a7f) - Zur besseren Einheitlichkeit mit Scaffold wird in der Vollbild-Dialogkomponente jetzt ein
PositionIndicator
und einVignette
angezeigt. Außerdem wird jetztScalingLazyColumn
anstelle vonColumn
verwendet. Das bedeutet, dass sich der Dialoginhalt jetzt inScalingLazyListScope
befindet und in der Regel von „item { /* content */ }“ umschlossen werden muss. „Dialog“ unterstützt den Parameter „verticalArrangement“ entsprechend. (Idea13) - Wir haben den Namen der Eigenschaft „toggleIcon“ von
ToggleChip
undSplitToggleChip
in „toggleControl“ geändert, um sie besser an Material Design anzupassen und Designern und Entwicklern die Navigation in der API zu erleichtern. (If5921, b/220129803) - Wir haben der Typologie der Wear OS-Designthemen einen neuen Eintrag hinzugefügt: „caption3“. „caption3“ ist eine kleine Schriftart, die für besonders lange Texte wie rechtliche Hinweise verwendet wird. (I74b13, b/220128356)
Fehlerkorrekturen
- Stoppen Sie die Snap-Animation, wenn wir dort sind. (Idb69d)
- Änderungen in PositionIndicator animieren (I94cb9)
- Aufgrund von UI/UX-Feedback haben wir die automatische Zentrierung von
ScalingLazyColumn
so geändert, dass nur so viel Platz vorhanden ist, dass die Elemente mit dem IndexScalingLazyListState.initialCenterItemIndex
oder höher vollständig in die Mitte des Ansichtsbereichs gescrollt werden können. So können Entwickler ein oder zwei Elemente um das Element herum platzieren, die nicht in die Mitte gescrollt werden können. Das bedeutet, dass ein automatisch zentrierterScalingLazyColumn
nicht über deninitialCenterItemIndex/initialCenterItemScrollOffset
scrollen kann (I22ee2). - Wir haben eine Demo für eine Datumsauswahl hinzugefügt und einen Fehler in
PickerState
behoben, bei dem die initiallySelectedOption erst angewendet wurde, nachdem die Auswahl angezeigt wurde. (Id0d7e) - Um das Zuschneiden breiterer
ScalingLazyColumn
-Elemente auf runden Bildschirmen zu reduzieren, haben wir den standardmäßigen horizontalen Inhaltsabstand von 8 auf 10 dp erhöht. (I0d609) - Achten Sie darauf, dass das
PositionIndicator
beim Scrollen angezeigt wird. (Ied9a2)
Version 1.0.0-alpha17
23. Februar 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha17
, androidx.wear.compose:compose-material:1.0.0-alpha17
und androidx.wear.compose:compose-navigation:1.0.0-alpha17
sind freigegeben. Version 1.0.0-alpha17 enthält diese Commits.
Neue Funktionen
- Wir haben die Unterstützung für Snaps hinzugefügt, die mit
ScalingLazyColumn
verwendet werden können. Legen SieflingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state)
fest, um die Snap-Unterstützung zu aktivieren. (I068d3, b/217377069) - Wir haben Demos für die Auswahl hinzugefügt, mit denen eine Uhrzeit im 24- oder 12-Stunden-Format ausgewählt werden kann. (Ie5552)
API-Änderungen
- Problem mit
TimeText
benutzerdefinierten Schriftarten und Stilen auf quadratischen Geräten behoben (Iea76e) ScalingLazyListLayoutInfo
hat jetzt diereverseLayout
-,viewportSize
- und Ausrichtungseigenschaften, die mit denen vonLazyListLayoutInfo
übereinstimmen (I4f258, b/217917020)ScalingLazyColumn
hat jetzt eineuserScrollEnabled
-Property, die mit der vonLazyList
übereinstimmt (I164d0, b/217912513)- Auswahlfelder haben jetzt standardmäßig oben und unten einen Farbverlauf (Iab92a)
Fehlerkorrekturen
- Wir haben
ScalingLazyColumn
so geändert, dass es nicht mehr den gesamten Platz in seinem übergeordneten Element füllt. Stattdessen wird die Größe anhand der Größe des Inhalts ermittelt. Das entspricht dem Verhalten vonLazyColumn
. Wenn du das alte Verhalten wiederherstellen möchtest, übergebeModifier.fillMaxWidth()/width()/widthIn()
anScalingLazyColumn
(I51bf8). - Wir haben die Ausnahmemeldung in
SwipeDismissableNavHost.kt
verbessert, die ausgelöst wurde, wenn der Navigations-Backstack leer war. (I1b1dc)
Version 1.0.0-alpha16
9. Februar 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha16
, androidx.wear.compose:compose-material:1.0.0-alpha16
und androidx.wear.compose:compose-navigation:1.0.0-alpha16
sind freigegeben. Version 1.0.0-alpha16 enthält diese Commits.
Neue Funktionen
- Fügen Sie
CircularProgressIndicator
hinzu. Fortschrittsanzeigen geben die Dauer eines Prozesses oder eine nicht angegebene Wartezeit an. Unterstützt eine Lücke (Aussparung) für Zeittext oder andere Komponenten, wenn im Vollbildmodus verwendet. (Iab8da)
API-Änderungen
- Auswahlfelder haben jetzt einen Parameter
flingBehavior
. Mit dem Standardwert werden sie beim Scrollen oder Wischen auf die nächstgelegene Option ausgerichtet. (I09000) - Zusätzliche Ganzzahl-API für InlineSlider und Stepper (I1b5d6)
Fehlerkorrekturen
- Der Standardwert für „initialCenterItemIndex“ für die
ScalingLazyListState
wurde von 0 auf 1 geändert. Das bedeutet, dass das zweite Listenelement (Index = 1) bei der Initialisierung in der Mitte des Viewports platziert wird, sofern es nicht beim Erstellen des Status mitScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =
)
überschrieben wird. Das erste Element (Index = 0) wird davor platziert. Dadurch wird ein besserer visueller Standardeffekt erzielt, da der Großteil des Darstellungsbereichs mit Listenelementen gefüllt wird. (I0c623, b/217344252) - Wir haben den
ScalingLazyColumn
-StandardwertextraPadding
von 10% auf 5 % reduziert, damit es genügend Listenelemente zum Zeichnen gibt, auch wenn einige davon verkleinert werden. So werden zusätzliche Listenelemente vermieden, die möglicherweise nicht im Darstellungsbereich angezeigt werden. Wenn nicht standardmäßige scalingParams verwendet werden (z. B. eine extremere Skalierung), kann der Entwickler mitviewportVerticalOffsetResolver
zusätzliches Padding anpassen. (I76be4) - Ein Problem mit dem Zeittext auf mehreren Zeilen auf quadratischen Geräten wurde behoben (Ibd3fb).
- Wir haben
ScalingLazyColumn
so geändert, dass es nicht mehr den gesamten Platz in seinem übergeordneten Element füllt. Stattdessen wird die Größe anhand der Größe des Inhalts ermittelt. Das entspricht dem Verhalten vonLazyColumn
. Wenn du das alte Verhalten wiederherstellen möchtest, übergebeModifier.fillMaxSize()
anScalingLazyColumn
. HINWEIS: Diese Änderung ist unvollständig und wird in einer Folgeänderung im nächsten Alpha-Release behoben. (I3cbfa)
Version 1.0.0-alpha15
26. Januar 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha15
, androidx.wear.compose:compose-material:1.0.0-alpha15
und androidx.wear.compose:compose-navigation:1.0.0-alpha15
sind freigegeben. Version 1.0.0-alpha15 enthält diese Commits.
API-Änderungen
- Der
ScalingLazyColumn
wurde die neue PropertyautoCentering
hinzugefügt. Wenn „true“ festgelegt ist (Standardeinstellung), können alle Elemente, einschließlich des ersten und des letzten, so gescrollt werden, dass sie in der Mitte des Listen-Viewports sichtbar sind. Wenn Sie die automatische Zentrierung verwenden, sollten Sie den vertikalen Inhaltsabstand auf 0,0 dp festlegen. Wenn sowohl die automatische Zentrierung als auch vertikale Textabstände vorhanden sind, wird vor dem ersten und nach dem letzten Listenelement zusätzlicher Platz freigegeben, sodass sie noch weiter gescrollt werden können. (I2a282, b/214922490) - Wir haben die Komponente
Dialog
hinzugefügt, mit der jedes Composed-Element ein Vollbilddialogfeld auslösen kann, das über anderen Inhalten angezeigt wird. Wenn das Dialogfeld angezeigt wird, kann es durch Wischen geschlossen werden. Während des Wischens werden die Inhalte des übergeordneten Elements im Hintergrund angezeigt. Der Dialoginhalt sollteAlert
oderConfirmation
sein (umbenannt aus den früheren KomponentenAlertDialog
undConfirmationDialog
).Alert
,Confirmation
undDialog
befinden sich alle imandroidx.wear.compose.material.dialog
-Paket. „Benachrichtigung“ und „Bestätigung“ können als Navigationsziele verwendet werden. Außerdem wurde ColumnScope nach Bedarf den Parametern für Benachrichtigungen und Bestätigungen hinzugefügt. (Ia9014) - Wir haben
onSurfaceVariant2
aus den Material-Designfarben für Compose für Wear OS entfernt und die Verwendungen in der Bibliothek durchonSurfaceVariant
ersetzt. (Icd592) - Es wurde eine Methode hinzugefügt, mit der eine Option im
PickerState
programmatisch ausgewählt werden kann. Die ursprünglich ausgewählte Option kann jetzt auch beim Erstellen einesPickerState
angegeben werden. (I92bdf) - Es ist jetzt möglich, das Wischverhalten der
ScalingLazyColumn
anzupassen. (I1ad2e, b/208842968) - Wir haben
NavController.currentBackStackEntryAsState()
derWear.Compose.Navigation
-Mediathek hinzugefügt. (If9028, b/212739653) Modifier.onRotaryScrollEvent()
undModifier.onPreRotaryScrollEvent()
für Wear-Geräte mit einer drehbaren seitlichen Taste hinzugefügt (I18bf5, b/210748686)
Version 1.0.0-alpha14
12. Januar 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha14
, androidx.wear.compose:compose-material:1.0.0-alpha14
und androidx.wear.compose:compose-navigation:1.0.0-alpha14
sind freigegeben. Version 1.0.0-alpha14 enthält diese Commits.
Neue Funktionen
Wir haben
ScalingLazyListState
eine Reihe von Methoden hinzugefügt, mit denen Entwickler das Scrollen zu bestimmten Listenelementen steuern und das erste Listenelement sowie den Offset festlegen können.Im Rahmen dieser Änderung haben wir auch die ScalingLazyList so geändert, dass sie sich nicht mehr am Anfang des Darstellungsbereichs, sondern an der Mitte des Darstellungsbereichs der ScalingLazyList orientiert.
Der
ScalingLazyList
-Property wurde die neue PropertyanchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter
hinzugefügt, mit der festgelegt werden kann, ob der Mittelpunkt (ScalingLazyListAnchorType.ItemCenter
) oder dieEdge
(ScalingLazyListAnchorType.ItemStart
) an der Mittellinie des Darstellungsbereichs ausgerichtet werden soll.Daher haben sich
ScalingLazyListItemInfo.offset
undScalingLazyListItemInfo.adjustedOffset
geändert und spiegeln jetzt den Versatz des Elements sowohl in Bezug auf die Position des Listenelements als auch auf dieanchorType
der Liste wider. Bei einemScalingLazyColumn
mit eineranchorType
vonItemCenter
und einem Listenelement, das mittig auf der Mittellinie des Darstellungsbereichs positioniert ist, würde der Versatz0
betragen.Die neuen Methoden sind
scrollTo
,animatedScrollTo
,centerItemIndex
undcenterItemOffset
. (I61b61)Wir haben
SwipeDismissableNavHost
einen Handler für die Schaltfläche „Zurück“ hinzugefügt, damit Sie durch Drücken der Rücktaste zur vorherigen Ebene in der Navigationshierarchie gelangen. (I5b086, b/210205624)
Version 1.0.0-alpha13
15. Dezember 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha13
, androidx.wear.compose:compose-material:1.0.0-alpha13
und androidx.wear.compose:compose-navigation:1.0.0-alpha13
sind freigegeben. Version 1.0.0-alpha13 enthält diese Commits.
API-Änderungen
- Wir haben
RangeIcons
intern gemacht (interne Verweise aufInlineSlider
undStepper
). (I927ec)
Fehlerkorrekturen
Es wurde ein Problem behoben, durch das
SwipeDismissableNavHost
der Compose-Hierarchie ein Ziel hinzufügte, bevor es den LebenszyklusstatusCREATED
erreicht hatte. Dies führte zu einerIllegalStateException
. Diese Korrektur war eine Voraussetzung für die Aktualisierung der Abhängigkeit vonnavigation-compose
auf2.4.0-beta02
und darüber hinaus. (I40a2b, b/207328687)Es wurde eine enum-Klasse „Drawables“ hinzugefügt, um in der Wear Compose-Bibliothek Zeichnen-Ressourcen abzurufen. Die Reflexion ist also nicht mehr erforderlich. Damit wird ein Fehler behoben, bei dem Bibliotheks-Zeichnelemente entfernt wurden, wenn
minifyEnabled=true
odershrinkResources=true
verwendet wurde. (Ib2a98)Tests für
Stepper
in Wear Compose hinzugefügt (I2d03a)In der Wear OS-Eingabeleiste wurden Beispiele für
SwipeDismissableNavHost
hinzugefügt. (I85f06)
Version 1.0.0-alpha12
1. Dezember 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha12
, androidx.wear.compose:compose-material:1.0.0-alpha12
und androidx.wear.compose:compose-navigation:1.0.0-alpha12
sind freigegeben. Version 1.0.0-alpha12 enthält diese Commits.
Neue Funktionen
Wir haben die Komponente „Steuerfeld“ hinzugefügt, mit der Nutzer eine Auswahl aus einem Wertebereich treffen können. Der Schieberegler ist ein Vollbildkontrollelement mit Schaltflächen zum Erhöhen und Verringern oben und unten sowie einem Steckplatz in der Mitte, in dem entweder ein Chip oder Text eingefügt werden kann. Die Schaltflächensymbole können bei Bedarf angepasst werden. (I625fe)
Wir haben zwei neue Composeables zum Anzeigen von Dialogen hinzugefügt: AlertDialog wartet auf eine Antwort des Nutzers und zeigt einen Titel, ein Symbol, eine Nachricht und entweder a) zwei Schaltflächen für einfache positive/negative Auswahlmöglichkeiten oder b) vertikal gestapelte Chips oder Toggle-Chips für flexiblere Auswahlmöglichkeiten an. ConfirmationDialog zeigt eine Bestätigung mit einem Zeitlimit an. Dieses einfache Dialogfeld hat Felder für einen Titel und ein (animiertes) Symbol. (Ic2cf8)
API-Änderungen
- Fügen Sie den vorgeschlagenen Werten für die Dialogdauer Einheiten (Millisekunden) hinzu. (I09b48)
Version 1.0.0-alpha11
17. November 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha11
, androidx.wear.compose:compose-material:1.0.0-alpha11
und androidx.wear.compose:compose-navigation:1.0.0-alpha11
sind freigegeben. Version 1.0.0-alpha11 enthält diese Commits.
Neue Funktionen
- Wir haben eine Auswahlkomponente hinzugefügt, mit der Nutzer ein Element aus einer scrollbaren Liste auswählen können. Standardmäßig wird die Liste der auswählbaren Elemente in beiden Richtungen „unendlich“ wiederholt, um den Eindruck eines rotierenden Zylinders von der Seite zu vermitteln. In späteren Releases werden zwei Funktionen hinzugefügt: das Anspringen auf einen Wert nach Wischen/Ziehen sowie eine Funktion für PickerState, um den aktuellen Wert festzulegen oder zu scrollen. (I6461b)
API-Änderungen
- Es wurde ein ScalingLazyItemScope und einige neue Modifikatoren (fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight) hinzugefügt, damit Listenelemente anhand der Größe des übergeordneten Containers skaliert werden können. Elemente können so eingestellt werden, dass sie die gesamte oder einen Teil der Größe des übergeordneten Elements ausfüllen. Dadurch werden Funktionen freigeschaltet, die bereits in LazyRow/Column (I4612f) verfügbar sind.
- Unterstützung für ScalingLazyColumn hinzugefügt, damit Elemente einen Schlüssel haben können. Außerdem wurden praktische Methoden hinzugefügt, mit denen Elemente aus Arrays und Listen hinzugefügt werden können. (Ic1f89)
Fehlerkorrekturen
- Weitere Beispiele für „ZeitText“ (I8cb64)
Version 1.0.0-alpha10
3. November 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha10
, androidx.wear.compose:compose-material:1.0.0-alpha10
und androidx.wear.compose:compose-navigation:1.0.0-alpha10
sind freigegeben. Version 1.0.0-alpha10 enthält diese Commits.
Neue Funktionen
Inline-Schieberegler für Wear Compose hinzugefügt Mit InlineSlider können Nutzer aus einem Wertebereich auswählen. Der Auswahlbereich wird als Balken zwischen dem Mindest- und Höchstwert des Bereichs dargestellt, aus dem Nutzer einen einzelnen Wert auswählen können. (If0148)
Sehen Sie sich das neue Compose for WearOS Codelab an.
API-Änderungen
- Der Makro-Benchmark hat jetzt eine
minSdkVersion
von23
. (If2655)
Fehlerkorrekturen
- Aktualisierung der Übergangsbehandlung in SwipeDismissableNavHost in einem SideEffect (I04994, b/202863359)
- Aktualisierung der Übergangsbehandlung in SwipeDismissableNavHost (I1cbe0, b/202863359)
Version 1.0.0-alpha09
27. Oktober 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha09
, androidx.wear.compose:compose-material:1.0.0-alpha09
und androidx.wear.compose:compose-navigation:1.0.0-alpha09
sind freigegeben. Version 1.0.0-alpha09 enthält diese Commits.
Neue Funktionen
- Wir haben die Entwicklervorschau von Compose für Wear OS veröffentlicht. In unserem Blogpost finden Sie Informationen zu den wichtigsten Compose-Elementen und Links zu weiteren Ressourcen, mit denen Sie sie verwenden können.
API-Änderungen
- Entwickler können jetzt alle Farben im Farbschema des Wear OS-Material Design-Designs anpassen. (I4759b, b/199754668)
Fehlerkorrekturen
- Beispiele für SwipeToDismissBox hinzugefügt, die den Status beibehalten (Ibaffe)
- Es wurden Links zu den Anleitungen auf developer.android.com aus KDocs für „CurvedText“, „TimeText“ und „SwipeToDismissBox“ hinzugefügt. (I399d4)
- SwipeDismissableNavHost wird jetzt ausgelöst, wenn kein aktuelles Ziel vorhanden ist. Dies bedeutet, dass der NavGraph nicht mit der Dienstprogrammfunktion „wear.compose.navigation.composable“ erstellt wurde. (I91403)
- Zusätzliche Dokumentation und Beispiele für die Verwendung von Zeitquellen in „TimeText“ hinzugefügt (I4f6f0)
Version 1.0.0-alpha08
13. Oktober 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha08
, androidx.wear.compose:compose-material:1.0.0-alpha08
und androidx.wear.compose:compose-navigation:1.0.0-alpha08
sind freigegeben. Version 1.0.0-alpha08 enthält diese Commits.
API-Änderungen
- Die
body
-Properties „AppCard“ und „TitleCard“ wurden in „content
“ umbenannt und ans Ende der Property-Liste verschoben, damit sie als abschließendes Lambda angegeben werden können. Außerdem wurdebodyColor
incontentColor
umbenannt, um Einheitlichkeit mit den neuen Steckplatznamen zu schaffen. (I57e78)
Fehlerkorrekturen
- Es wurden Links zu Entwicklerhandbüchern von KDocs für Schaltflächen, Karten, Chips, Themen, Positionsanzeigen und skalierende Lazy Column-Komponenten hinzugefügt. (I22428)
- Problem behoben, bei dem das WearOS-SwipeToDismissBox manchmal Wischaktionen nicht verarbeitete. (I9387e)
- Es wurden Beispiele für Schaltflächen, kompakte Schaltflächen, Chips, kompakte Chips, App-Karten, Titelkarten, Ein-/Aus-Schaltflächen, Ein-/Aus-Chips und Split-Ein-/Aus-Chips hinzugefügt (Iddc15)
- Es wurden Mikrobenchmark-Leistungstests für „Card“, „Chip“, „ToggleChip“, „TimeText“ und „ScalingLazyColumn“ hinzugefügt. (If2fe9)
Version 1.0.0-alpha07
29. September 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha07
, androidx.wear.compose:compose-material:1.0.0-alpha07
und androidx.wear.compose:compose-navigation:1.0.0-alpha07
sind freigegeben. Version 1.0.0-alpha07 enthält diese Commits.
Neue Funktionen
- Die Komponente „CurvedText“ wurde in Material hinzugefügt. Mit dieser Komponente können Entwickler ganz einfach gekrümmten Text schreiben, der der Krümmung eines Kreises folgt (normalerweise am Rand eines kreisförmigen Bildschirms). (I19593)
API-Änderungen
- Tests für „TimeText“ (Idfead) hinzugefügt
- ArcPaddingValues in eine Benutzeroberfläche umwandeln (Iecd4c)
- Animation für SwipeToDismissBox hinzugefügt (I9ad1b)
- Der SwipeToDismissBox API wurde der Parameter „hasBackground“ hinzugefügt, damit die Wischgeste deaktiviert werden kann, wenn keine Hintergrundinhalte angezeigt werden sollen. (I313d8)
- Für
rememberNavController()
wird jetzt ein optionaler Satz vonNavigator
-Instanzen verwendet, der der zurückgegebenenNavController
hinzugefügt wird, um optionale Navigationselemente wie die aus dem Material zur Navigation für Begleiter besser zu unterstützen. (I4619e) - Verweisen Sie auf „NamedNavArgument“ aus „navigation-common“ und entfernen Sie die Kopie aus „wear.compose.navigation“. (I43af6)
Fehlerkorrekturen
- Behoben: Unzuverlässige Ergebnisse bei CurvedRow-Tests auf kleineren Geräten (If7941)
- Behobenes mögliches Flimmern bei CurvedRow, wenn sich die Inhalte aktualisieren, und die Kurvenzeile wird neu vermessen (Ie4e06)
- ChipDefaults.gradientBackgroundChipColors() wurde entsprechend den Änderungen an den UX-Spezifikationen aktualisiert. Der Farbverlauf beginnt jetzt mit MaterialTheme.colors.primary mit einem Alphawert von 32,5% und endet mit MaterialTheme.colors.surface mit einem Alphawert von 0% auf einem Hintergrund von MaterialTheme.colors.surface mit einem Alphawert von 75 %. (Id1548)
- Wir haben die Farben für ToggleChips im ausgewählten Zustand aktualisiert, damit sie den neuesten UX-Spezifikationen für Wear Material Design entsprechen. Ausgewählte ToggleChips haben jetzt einen Farbverlauf von MaterialTheme.color.surface mit 0% Alpha oben links zu MaterialTheme.color.primary mit 32% Alpha unten rechts über einem Hintergrund von MaterialTheme.color.surface mit 75% Alpha. Dadurch ist der Unterschied zwischen aktiviert und deaktiviert für den ToggleChip subtiler. (Idd40b)
Version 1.0.0-alpha06
15. September 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha06
, androidx.wear.compose:compose-material:1.0.0-alpha06
und androidx.wear.compose:compose-navigation:1.0.0-alpha06
sind freigegeben. Version 1.0.0-alpha06 enthält diese Commits.
Neue Funktionen
- Wir haben Scaffold als App-Komposit auf oberster Ebene hinzugefügt, das eine Struktur für die Positionierung von PositionIndicators (z. B. Scroll- oder Lautstärkesymbol) sowie einen Bereich oben auf dem Bildschirm zum Anzeigen der Uhrzeit und des App-Status bietet. Außerdem wird eine Vignette unterstützt, um den oberen und unteren Bildschirmrand für scrollbare Inhalte zu verwischen. Im Hauptbereich des Scaffolds werden die Anwendungsinhalte platziert. (I5e0bf)
- Implementierung von Zeittext für Wear Compose hinzugefügt (I5654c)
Wear Compose Navigation Library
Wir haben die erste Version der Wear Compose-Navigationsbibliothek hinzugefügt, die eine Integration zwischen den Wear Compose- und AndroidX-Navigationsbibliotheken bietet. Sie bietet eine einfache Möglichkeit, zwischen @Composable-Funktionen als Zielen in Ihrer Anwendung zu wechseln.
Diese erste Version bietet Folgendes:
- Eine
SwipeDismissableNavHost
-Komposition, die einen Navigationsgraphen enthält und die Rückwärtsnavigation über Wischgesten ermöglicht NavGraphBuilder.composable
-Erweiterung zum Erstellen von NavigationsdiagrammenrememberSwipeDismissableNavController()
, um den Status des Hoisting zuzulassen
- Eine
Beispiel für die Verwendung, bei der wir zwei Bildschirme erstellen und zwischen ihnen wechseln:
val navController = rememberSwipeDismissableNavController() SwipeDismissableNavHost( navController = navController, startDestination = "start" ) { composable("start") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Button(onClick = { navController.navigate("next") }) { Text("Go") } } } composable("next") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Text("Swipe to go back") } } }
Die Wear Compose-Navigation ist als separate Bibliothek verpackt, damit einfache Wear Compose-Anwendungen, die ihre eigene Navigation implementieren, nicht von der AndroidX Navigation-Bibliothek abhängig sind.
API-Änderungen
SwipeDismissableNavHost
wurde aktualisiert, umrememberSaveable
zu unterstützen. Dazu wurde die Schlüsselidentität für Hintergrund und Inhalt festgelegt (I746fd).- Wir haben einen PositionIndicator-Adapter hinzugefügt, der LazyListState verarbeiten kann (I21b88)
- SwipeToDismissBox wurde aktualisiert, um „rememberSaveable“ zu unterstützen (Ie728b)
- Wir haben der ScalingLazyColumn-Komponente die Unterstützung für reverseLayout hinzugefügt. So können Sie die Scrollrichtung und das Layout umkehren (I9e2fc).
performGesture
undGestureScope
wurden eingestellt und durchperformTouchInput
undTouchInjectionScope
ersetzt. (Ia5f3f, b/190493367)- „VignetteValue“ wurde in „VignettePosition“ umbenannt und „VignetteValue.Both“ in „VignettePosition.TopAndBottom“. (I57ad7)
- Wir haben ScalingLazyColumnState in ScalingLazyListState, ScalingLazyColumnItemInfo in ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo in ScalingLazyListLayoutInfo und ScalingLazyColumnScope in ScalingLazyListScope umbenannt, für den Fall, dass wir in Zukunft eine ScalingLazyRow-Implementierung hinzufügen. (I22734)
Fehlerkorrekturen
- Die CompactChip-Dokumentation wurde aktualisiert, um zu beschreiben, was passiert, wenn weder ein Symbol noch ein Label angegeben wird. (I4ba88)
- Wir haben einige Anpassungen an den Wear-Kartenkomponenten vorgenommen. (I6b3d0)
- Der Abstand zwischen Titel und Text auf Titelkarten wurde von 8 dp auf 2 dp reduziert.
- Die Schriftart der Titelkarten-Überschrift wurde von „body“ in „title3“ geändert.
- Der Farbverlauf des Kartenhintergrunds wurde geändert, damit der Hintergrund dunkler erscheint.
Version 1.0.0-alpha05
1. September 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha05
und androidx.wear.compose:compose-material:1.0.0-alpha05
werden freigegeben. Version 1.0.0-alpha05 enthält diese Commits.
API-Änderungen
- ArcPaddingValues als @Stable kennzeichnen (I57deb)
- ScalingLazyColumnState implementiert jetzt die ScrollableState-Schnittstelle, die Entwicklern programmatischen Zugriff zum Scrollen der Komponente bietet. (I47dbc)
Fehlerkorrekturen
- Wir haben den Abstand zwischen Symbol und Text in Chip und ToggleChip verringert, um sie an die aktualisierten UX-Spezifikationen anzupassen. (I83802)
Version 1.0.0-alpha04
18. August 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha04
und androidx.wear.compose:compose-material:1.0.0-alpha04
werden freigegeben. Version 1.0.0-alpha04 enthält diese Commits.
Neue Funktionen
- Es wurde eine SwipeToDismissBox und ein wischbarer Modifier hinzugefügt, mit denen eine Wischgeste von links nach rechts unterstützt werden kann. Diese Schaltfläche ist unabhängig von Navigationskomponenten und wird voraussichtlich verwendet, um einen Bildschirm zu verlassen und zu einem anderen zu wechseln. Integrationstests für die Demo „Wischen zum Schließen“ hinzugefügt. (I7bbaa)
- Wir haben der Klasse „ScalingLazyColumnState“ die Schnittstellen „ScalingLazyColumnItemInfo“ und „ScalingLazyColumnLayoutInfo“ hinzugefügt, damit Entwickler die tatsächlichen Positionen und Größen der Elemente in der ScalingLazyColumn nach der Skalierung kennen. Außerdem wurde ein Fehler bei der Berechnung der Skalierung behoben, wenn auf die ScalingLazyColumn ein Inhaltsabstand „oben“ angewendet wird. (I27c07)
API-Änderungen
- Fügen Sie die Klasse „CurvedTextStyle“ hinzu, um Optionen für den gebogenen Textstil anzugeben. Ähnlich wie „TextStyle“, unterstützt aber nur „color“, „fontSize“ und „background“. In Zukunft werden weitere Stiloptionen hinzugefügt. (I96ac3)
- Wir haben der Klasse „ScalingLazyColumnState“ die Schnittstellen „ScalingLazyColumnItemInfo“ und „ScalingLazyColumnLayoutInfo“ hinzugefügt, damit Entwickler die tatsächlichen Positionen und Größen der Elemente in der ScalingLazyColumn nach der Skalierung kennen. Außerdem wurde ein Fehler bei der Berechnung der Skalierung behoben, wenn auf die ScalingLazyColumn ein Inhaltsabstand „oben“ angewendet wird. (I27c07)
@ExperimentalWearMaterialApi
wurde derSwipeDismissTarget
-Enumeration hinzugefügt, die Teil derSwipeToDismissBox
API ist. (I48b5e)
Fehlerkorrekturen
- Testmaterial für SwipeToDismissBox (I9febc) hinzugefügt
Version 1.0.0-alpha03
4. August 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha03
und androidx.wear.compose:compose-material:1.0.0-alpha03
werden freigegeben. Version 1.0.0-alpha03 enthält diese Commits.
API-Änderungen
- Die Komponente „CurvedText“ wurde hinzugefügt, mit der Entwickler ganz einfach Text schreiben können, der der Krümmung eines Kreises folgt (normalerweise am Rand eines kreisförmigen Bildschirms) (Id1267)
- Wir haben
CardDefaults.imageBackgroundPainter()
inCardDefaults.imageWithScrimBackgroundPainter()
umbenannt, um deutlich zu machen, dass über dem Hintergrundbild ein Scrim gezeichnet wird. (I53206) - Die Komponente „ScalingLazyColumn“ wurde hinzugefügt. Sie bietet eine Listenkomponente für Wear OS-Material, die eine Fischaugenansicht bietet, bei der der Listeninhalt im Bereich des Komponentenrands kleiner und transparenter wird. (I7070c)
Fehlerkorrekturen
- Wir haben die Standardfarbe des Inhalts „appName“ in der App-Karte aufgrund einer Aktualisierung der UX-Spezifikation geändert. Die Standardfarbe für den appName ist jetzt
MaterialTheme.colors.onSurfaceVariant
. Außerdem wurde eine fehlende Parameterbeschreibung für den Titel-Slot hinzugefügt. (Ic4ad1)
Version 1.0.0-alpha02
21. Juli 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha02
und androidx.wear.compose:compose-material:1.0.0-alpha02
werden freigegeben. Version 1.0.0-alpha02 enthält diese Commits.
Neue Funktionen
- Die neue Klasse „CurvedRow“ wurde hinzugefügt, um Elemente in einem Bogen anzuordnen (I29941)
- Es wurde ein neuer Kartentyp für die Verwendung in Anwendungen hinzugefügt (TitleCard). Außerdem wird jetzt unterstützt, dass Karten einen Bildhintergrund haben, um ihren Inhalt hervorzuheben (I53b0f).
API-Änderungen
- Unterstützung für die radiale Ausrichtung für CurvedRow hinzugefügt (ähnlich der vertikalen Ausrichtung in einer Zeile) (Id9de5)
- Neue Klasse „CurvedRow“ zum Anordnen von Composeables in einem Bogen hinzufügen (I29941)
- Es wurde ein neuer Kartentyp für die Verwendung in Anwendungen hinzugefügt (TitleCard). Außerdem wird jetzt unterstützt, dass Karten einen Bildhintergrund haben, um ihren Inhalt hervorzuheben (I53b0f).
- ToggleChipDefaults wurden Ein-/Aus-Symbole (Kästchen, Schalter und Optionsfelder) hinzugefügt, damit Entwickler ToggleChips und SplitToggleChips leichter konfigurieren können (I7b639)
- Die Abstände am Anfang und Ende von Chips wurden aktualisiert, sodass sie jetzt immer 14 dp betragen, unabhängig davon, ob der Chip ein Symbol enthält oder nicht. Bisher betrugen sie 12 dp, wenn ein Symbol vorhanden war, und 14 dp, wenn nicht. (I34c86)
Fehlerkorrekturen
- Tests für CurvedRow (I93cdb) hinzufügen
- Wear Compose-Abhängigkeiten an Compose 1.0.0-rc01 binden (Ie6bc9)
- Die Verarbeitung von Hintergrundbildern in Karten und Chips wurde geändert, sodass das Bild zugeschnitten und nicht gedehnt wird, um die Bildproportionen beizubehalten. (I29b41)
- Es wurden weitere Demos und Integrationstests für Schaltflächen und Ein-/Aus-Schaltflächen hinzugefügt. (5e27ed2)
- Es wurden weitere Chiptests hinzugefügt, um die Inhaltsfarben für „imageBackgroundChips“ abzudecken (Ia9183).
Version 1.0.0-alpha01
1. Juli 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha01
und androidx.wear.compose:compose-material:1.0.0-alpha01
werden freigegeben. Version 1.0.0-alpha01 enthält diese Commits.
Neue Funktionen
Wear Compose ist eine Compose-basierte Kotlin-Bibliothek, die Wear Material Design unterstützt, eine Erweiterung von Material Design für WearOS-Wearables. Diese erste Alphaversion enthält erste funktionale Implementierungen der folgenden Funktionen:
- Material-Design: Hiermit werden die Farben, die Typografie und die Formen für alle Komponenten aus dieser Bibliothek einheitlich konfiguriert.
- Chip, CompactChip: Chips sind stadionförmig und es sind Varianten verfügbar, die Symbol-, Label- und sekundäre Labelinhalte aufnehmen.
- – ToggleChip, SplitToggleChip: Eine spezielle Art von Chip mit einem Steckplatz für ein Ein-/Aus-Symbol mit zwei Status, z. B. ein Optionsschalter oder Kästchen. Außerdem hat der SplitToggleChip zwei anklickbare Bereiche, einen anklickbaren und einen auswählbaren.
- Button, CompactButton: Schaltflächen sind kreisförmig und haben einen einzelnen Inhaltsspalt für ein Symbol oder einen minimalen Text (maximal 3 Zeichen).
- ToggleButton: Eine Schaltfläche, mit der eine Aktion aktiviert oder deaktiviert wird, mit einem einzigen Steckplatz für ein Symbol oder einen minimalen Text (maximal 3 Zeichen).
- Karte, App-Karte: Rechteckige Form mit abgerundeten Ecken, mit Slots für Inhalte wie App-Symbol, Uhrzeit, Titel und Text.
In zukünftigen Releases wird das Widget-Set um Wear OS-Material Design-Auswahlen, Schieberegler, Listen, Seitenindikatoren, Dialogfelder, Scroll- und Bildlaufindikatoren, Toasts und mehr erweitert.
Außerdem werden weitere Wearables-spezifische Funktionen wie gekrümmte Layouts und Text unterstützt. Außerdem gibt es ein Scaffolding, mit dem Entwickler Wearables-Apps/-Overlays ganz einfach erstellen können.
Wear Compose Material basiert auf denselben Prinzipien wie Compose Material, ist jedoch auf Wearables ausgerichtet. Die Wear Compose Material-Bibliothek sollte anstelle der Compose Material-Bibliothek verwendet werden, wenn Sie eine App für ein Wearable entwickeln.
Die beiden „Material“-Bibliotheken sollten als sich gegenseitig ausschließend betrachtet und nicht in derselben App verwendet werden. Wenn Entwickler die Compose Material Library in ihre Abhängigkeiten aufnehmen, bedeutet das entweder, dass a) in der Wear Compose Material Library Komponenten fehlen. Bitte teilen Sie uns mit, was Sie benötigen, oder b) Sie verwenden eine Komponente, die wir für die Verwendung auf einem Wearable nicht empfehlen.