Wear Compose
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpharelease |
---|---|---|---|---|
2. Juli 2025 | 1.4.1 | - | 1.5.0-beta05 | - |
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 benötigten 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. Lassen Sie es uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können für ein vorhandenes Problem abstimmen, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung.
Wear Compose-Version 1.5
Version 1.5.0-beta05
2. Juli 2025
androidx.wear.compose:compose-*:1.5.0-beta05
wird veröffentlicht. Version 1.5.0-beta05 enthält diese Commits.
Fehlerkorrekturen
- Die Dokumentation wurde aktualisiert, um die Verwendung von
Modifier.edgeSwipeToDismiss
zu verdeutlichen (I78cb5). - Es wurde ein Fehler behoben, bei dem in Lazy Lists mit
SwipeToReveal
mehrere aufgedeckte Elemente angezeigt werden konnten (I1d4f6). - Containerformen in
TransformingLazyColumn
werden jetzt skaliert, um zu verhindern, dass Inhalte abgeschnitten werden. (I9221a) - Das Label
TimePicker
undDatePicker
für Stunde/Minute/Sekunde oder Jahr/Monat/Tag hat jetzt eine Überschriftensemantik für Screenreader (I77d8b). - Die Pause zwischen Schleifen im unbestimmten
CircularProgressIndicator
(Iaf0bb) wurde entfernt. - Ein Animationsfehler in
TransformingLazyColumn
beim Entfernen von Elementen wurde behoben. (I73034) - Die Verarbeitung von Anker-Elementen in
TransformingLazyColumn
wurde korrigiert, wenn Elemente entfernt werden. (I841a8) - In
PickerGroup
werden die Auswahlfelder jetzt horizontal animiert, wenn die automatische Zentrierung aktiviert ist und das ausgewählte (zentrierte) Auswahlfeld geändert wird. (Ic82c4)
Version 1.5.0-beta04
18. Juni 2025
androidx.wear.compose:compose-*:1.5.0-beta04
wird veröffentlicht. Version 1.5.0-beta04 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Layoutfehler in
TransformingLazyColumn
behoben. Inhalte, die auf den Bildschirm passen, werden jetzt korrekt oben auf dem Bildschirm ausgerichtet (I80115). - Ein Problem mit
TransformingLazyColumn
wurde behoben. Das untere Element wurde beim Scrollen zum Ende einer Liste mit einemEdgeButton
falsch skaliert. Der Scrollfortschritt folgt jetzt einem Gradientenabstieg, wenn das Layout wiederhergestellt wird. (Iea375) TransformingLazyColumn
liest jetzt die Höhe des Elements im Hintergrund-Painter, sodass benutzerdefinierteTransformationSpecs
das Morphen implementieren können. (I022f0)SwipeToReveal
zentriert die angezeigten Aktionen jetzt vertikal korrekt. (I4419b)- Ein Fehler in
SwipeToReveal
wurde behoben, der verhinderte, dass die Funktion bei Verwendung von Ansichten und Compose auf dem Bildschirm richtig mit „Wischen zum Schließen“ funktionierte. (I5dc0e) - Ein Fehler wurde behoben, bei dem
SwipeToReveal
-Aktionen beim Scrollen mit einem vertikalen Versatz gezeichnet wurden. (I29444) AlertDialog
,ConfirmationDialog
,OpenOnPhoneDialog
undSwipeToReveal
runden jetzt Abstände und Größen auf, die als Prozentsatz der Displaygröße berechnet werden. (I76367)ButtonDefaults.outlinedButtonBorder
wird jetzt nach Änderungen des aktivierten/deaktivierten Status aktualisiert size(If2ddd)- Ein Fehler in der
EdgeButton
-Höhe wurde behoben, der auf komplexen Bildschirmen mit Pager undScreenScaffold
aufgetreten ist. (I946e3) - Eine Race-Bedingung wurde behoben, die dazu führen konnte, dass Platzhalteranimationen angehalten wurden. (I53530)
- Die Leistung von
HorizontalPageIndicator
undVerticalPageIndicator
wurde durch das Zeichnen auf Canvas verbessert. (Ifae1e) - Die Form von EdgeButton wurde optimiert, um die Übergänge zwischen den Auslassungspunkten und Kreisen, aus denen der Umriss besteht, zu glätten. (I7721e)
- Ein Fehler in
LevelIndicator
wurde behoben, der dazu führte, dass Animationen aufgrund unnötiger Neuzusammenstellungen angehalten wurden. (I45d08)
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
gibt jetzt nur noch den Nachrichtentext unter TalkBack aus und überspringt die Symbolsemantik. DieOpenOnPhoneDialogDefaults
wurden aktualisiert, um den ParametericonContentDescription
undcontentDescription
ausicon()
zu entfernen. Außerdem hatConfirmationDialogDefaults
jetzt Modifikatorparameter für die ComposablesSuccessIcon
undFailureIcon
. (Id2ae2)
Fehlerkorrekturen
- Die Reihenfolge, in der wir die Auswirkungen von
SurfaceTransformation
-Parametern berücksichtigen, wurde geändert. Bisher wurden die Transformationen, die auf Wear Material3-Komponenten angewendet wurden, so ausgeführt: Hintergrund-Painter, Container-Transformation, Inhalts-Transformation. Die ersten beiden werden jetzt invertiert und wir wenden einen übergebenen Modifikator dazwischen an, sodass er von Containertransformationen betroffen ist. Damit werden Fälle behoben, in denen ein Platzhalter-Shimmereffekt 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. Die FunktionrememberRevealState
verwendet diesen Saver jetzt standardmäßig. (Ie0ecb)- Die Schaltflächen für primäre und sekundäre Aktionen sollten standardmäßig
ButtonDefault.Height
sein (ein Fehler wurde behoben, bei dem diese die maximale Höhe für höhere Schaltflächen einnahmen).SwipeToReveal
(Ibfba1) SwipeToReveal
wurde geändert, um die letzte Komponente zurückzusetzen, mit der interagiert wurde, wenn die Wischgeste nach rechts ausgeführt wird. (Ia8450)SwipeToReveal
wurde geändert, sodass der StatusRevealing
festgelegt wird, wenn sich die Endposition des Wischvorgangs zwischen den Ankern „Aufdecken“ und „Aufgedeckt“ befindet und näher am Anker „Aufdecken“ liegt. (If4458)- Der Inhalt von
ButtonGroup
wird jetzt in einem RTL-Layout (Ib378d) korrekt invertiert. AnimatedText
unterstützt jetzt die RTL-Textrichtung (I4533c).TransformingLazyColumn
– Die Größe von Elementen wird jetzt richtig angepasst, wenn das untere Element entfernt wird (Idacab).TransformingLazyColumn
führt jetzt nur noch einen Messdurchgang durch, was die Leistung verbessert, da die Frame-Zeiten verkürzt werden. (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
- Aktualisierte Baseline-Profile für die Bibliotheken „foundation“, „material“ und „material3“. (I53f06)
- Ein Fehler in
TransformingLazyColumn
wurde behoben, durch den die Größe von Elementen geändert wurde, wenn das untere Element entfernt wurde. (Idacab) - Ein Fehler mit
TransformingLazyColumn
wurde behoben, bei dem die Liste oben oder unten hängen blieb. (I49d00) OpenOnPhoneDialog
sollte unter TalkBack den gekrümmten Text und nicht die Beschreibung des Symbols vorlesen. (I4efe8)- Ein Fehler in
SwipeToReveal
wurde behoben, durch den der falsche Anker inRevealState.currentValue
gemeldet wurde, wennhasPartiallyRevealedState
auf „false“ gesetzt war. (I9c7cf) SwipeToReveal
-Rückgängig-Schaltflächen sind jetzt standardmäßigButtonDefaults.Height
. (I1f6c8)- Die Leistung von
BasicSwipeToDismissBox
wurde verbessert, indem die Verwendung von Canvas zum Zeichnen von Scrims eingestellt wurde. (I68f2c) - Ein Barrierefreiheitsproblem im Schieberegler wurde behoben. Die angekündigte Prozentzahl stimmte nach Aktualisierungen nicht mit dem Wert überein (I91146).
- Ein Fehler bei der Implementierung von
placeholderShimmer
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.
Mit der Version 1.5.0-beta01 von Compose für Wear OS wird angezeigt, dass diese Version der Bibliothek alle Funktionen enthält und die API gesperrt ist (sofern nicht als experimentell gekennzeichnet).
Wear Compose 1.5.0-beta01 enthält die Wear Compose Material3-Bibliothek, die das neue UI-Designsystem namens Material 3 Expressive unterstützt. Es wird empfohlen, von Material auf Material3 zu aktualisieren, um das neue visuelle Design in Apps zu nutzen und von den neuen Komponenten zu profitieren:
MaterialTheme
für aktualisierte und erweiterte Farbschemas, Typografie und Formen, um Ihren Designs Tiefe und Vielfalt zu verleihen.- Dynamisches Farbdesign, bei dem automatisch ein Farbschema für Ihre App generiert wird, das den Farben des Zifferblatts entspricht.
- Neue Komponenten passen sich standardmäßig automatisch an größere Bildschirmgrößen an.
- Form-Morphing: Runde Schaltflächenkomponenten wie
IconButton
,TextButton
,IconToggleButton
undTextToggleButton
unterstützen Varianten, die animiert werden, wenn sie gedrückt oder aktiviert werden. EdgeButton
: Eine neue Schaltfläche, die sich an den Bildschirmrand anpasst und eine spezielle Form für den unteren Bildschirmbereich hat.- Scaffolds: Mit
AppScaffold
undScreenScaffold
wird die Struktur des Bildschirms festgelegt und die Animationen vonScrollIndicator
undTimeText
werden koordiniert. - Schaltflächen: Es werden zahlreiche stadionförmige Schaltflächen mit flexiblen Containern mit einem Slot und Varianten mit mehreren Slots für Schaltflächen mit Symbolen und Labels unterstützt.
CheckboxButton
undSwitchButton
werden bereitgestellt, wenn Ein/Aus-Schaltflächen erforderlich sind.RadioButton
ist die verfügbare Auswahl-Schaltfläche. Es gibt auch „Split“-Varianten der Ein/Aus- und Auswahl-Schaltflächen. ButtonGroup
– implementiert eine ausdrucksstarke Gruppe von Schaltflächen in einer Reihe, die sich bei Berührung morphingartig verändern.AlertDialog
-Varianten unterstützen die Schaltflächen „Ok“ und „Abbrechen“ oder einEdgeButton
.- Mit
ConfirmationDialog
kann eine Nachricht mit einem Zeitlimit angezeigt werden. Dabei werden spezielle Animationen für Erfolg, Fehler und „Auf Smartphone öffnen“-Varianten unterstützt. - Auswahlfelder: Die Varianten
TimePicker
undDatePicker
werden unterstützt. Außerdem können Sie die Komponenten „Auswahlfeld“ undPickerGroup
verwenden, um eigene Auswahlbildschirme zu erstellen. ProgressIndicators
– es werden kreisförmige und lineare Fortschrittsanzeigen unterstützt (CircularProgressIndicator
hat segmentierte und unbestimmte Varianten).- Karten: Es sind verschiedene Kartenvarianten verfügbar, darunter
TitleCard
, das spezielle Layouts für Karten mit Titel, Zeit, Untertitel oder Inhalts-Slots bietet.TitleCard
kann auch einen Bildhintergrund erhalten, um die Bedeutung der Informationen auf einer Karte zu unterstreichen. - Pager: Die Komponenten
HorizontalPagerScaffold
,VerticalPagerScaffold
undAnimatedPage
koordinierenHorizontalPageIndicator
- undVerticalPagerIndicator
-Animationen.HorizontalPager
undVerticalPager
werden in der Wear Compose Foundation-Bibliothek veröffentlicht. - Platzhalter: Es wird eine Skelettform über eine Komponente gezeichnet, wenn keine vorläufigen Inhalte verfügbar sind.
- Schieberegler und Stepper: Mit beiden können Nutzer eine Auswahl aus einem Wertebereich treffen. Schieberegler sind kompakter und können segmentiert werden. Der Stepper ist eine Vollbildkomponente, die in der Regel mit einem
StepperLevelIndicator
kombiniert wird. SwipeToReveal
: Hiermit werden einem Composable zusätzliche Aktionen hinzugefügt, wenn es von rechts nach links gewischt wird.
Außerdem enthält Wear Compose Foundation 1.5.0-beta01 die folgenden neuen Komponenten:
TransformingLazyColumn
: Eine träge, vertikal scrollende Liste, die Skalierungs- und Morphing-Animationen unterstützt.- Hierarchische Fokusgruppen: Damit werden Composables in einer Anwendung annotiert, um den aktiven Teil der Komposition im Blick zu behalten und den Fokus zu koordinieren.
- Pager: Die Komponenten
HorizontalPager
undVerticalPager
basieren auf den Compose Foundation-Komponenten und wurden mit Wear-spezifischen Verbesserungen versehen, um die Leistung zu optimieren und die Wear OS-Richtlinien einzuhalten.
API-Änderungen
- Die Hierarchical Focus API wurde aktualisiert:
Modifier.hierarchicalFocus
wurde inModifier.hierarchicalFocusGroup
umbenannt und der Callback-Parameter wurde entfernt. Die Überladung vonModifier.hierarchicalFocusRequester
mit einemFocusRequester
-Parameter wurde entfernt. Es wurde ein neuesCompositionLocal
,LocalScreenIsActive
erstellt, damit Komponenten informieren und prüfen können, welcher Bildschirm der aktive ist. (I5ff7c). - Die
SwipeToReveal
-Funktion aus Wear Compose Foundation wurde zugunsten derSwipeToReveal
-APIs in Wear Compose Material und Wear Compose Material3 eingestellt. Ersetzen Sie Wear Foundation-ImporteSwipeToReveal
durch Wear Compose Material- oder Wear Compose Material3-Importe, um die APIs weiterhin verwenden zu können. (Ia147d). - Die Wear Compose Material3-Abhängigkeiten von Foundation wurden in das Paket „material3“ verschoben, z.B.
RevealValue
,RevealDirection
,RevealActionType
,RevealState
,rememberRevealState
.SwipeToReveal
Entwickler sollten die Importe dieser Klassen und Funktionen vonandroidx.wear.compose.foundation
zuandroidx.wear.compose.material3
ändern. (I640e6) - Die Wear Compose Material3-API
SwipeToReveal
wurde aktualisiert: Der zusammensetzbaren FunktionSwipeToReveal
wurden die ParameterprimaryAction
,onFullSwipe
,secondaryAction
,undoPrimaryAction
,undoSecondaryAction
undhasPartiallyRevealedState
hinzugefügt. Die Möglichkeit,positionalThreshold
undanimationSpec
überRevealState
anzupassen, wurde entfernt.lastActionType
,revealThreshold
und die Breite wurden ausRevealState
entfernt. DerRevealState
-Konstruktor akzeptiert jetztRevealDirection
anstelle von Ankern. Die FunktionencreateRevealAnchors
, „anchors“ undbidirectionalAnchors
wurden entfernt. DieSwipeToRevealScope
-FunktionenprimaryAction
,secondaryAction
,undoPrimaryAction
undundoSecondaryAction
wurden inPrimaryActionButton
,SecondaryActionButton
undUndoActionButton
umbenannt und in zusammensetzbare Funktionen umgewandelt.RevealActionType
wurde als intern gekennzeichnet. (I885d0) - Die
SwipeToReveal
API wurde weiter aktualisiert:onFullSwipe
wurde inonSwipePrimaryAction
umbenannt,SwipeToRevealNonAnchoredSample
wurde umbenannt, um die Verwendung des ParametershasPartiallyRevealedState
anzugeben,actionButtonHeight
wurde entfernt, da die Standardhöhe die Standardhöhe der Schaltfläche ist und die größere Höhe mit einem Modifikator festgelegt werden kann,SmallActionButtonHeight
wurde ausSwipeToRevealDefaults
entfernt und der Wertparameter in den KonstruktorenRevealValue
undRevealDirection
wurde privat gemacht. (I465ce)
Fehlerkorrekturen
- Die Verarbeitung von
ScreenScaffold
-EdgeButton
wurde korrigiert, sodass dieEdgeButton
nach dem Entfernen einesTransformingLazyColumn
-Elements animiert wird. (I6d366). - Die Wear Compose-Abhängigkeiten von Compose-Bibliotheken wurden auf Version 1.8.0 aktualisiert. (I2ef3f).
- Die Bewegung des unbestimmten
CircularProgressIndicator
wurde aktualisiert, sodass sie nicht mehr vorübergehend zurückgesetzt wird. (Ieddb1) - Ein
SwipeDismissableNavHost
-Fehler wurde behoben: Der Fokus wurde nach dem Zurückwischen nicht richtig verschoben, was dazu führte, dass die Dreheingabe fehlschlug (dies betraf API 36 und höher, die die Funktion „Vorhersagbarer Zurück-Vorgang“ verwenden). (Ieddb1) - Geänderte Dokumentation für die Hierarchical Focus API (Idf2ff).
- Die Dokumentation für Schaltflächen und Karten wurde aktualisiert, um zu verdeutlichen, wie
containerPainter
unddisabledContainerPainter
containerColor
unddisabledContainerColor
überschreiben (I4a453). - Eine Änderung an
TimeText
in der vorherigen Version, bei derBroadcastReceiver
in einen Worker-Thread verschoben wurde, wurde rückgängig gemacht, da sie Probleme für Apps verursacht hat, die ihr eigenes Threading während der Navigation verwalten. (I34d02). - Die Picker-Beispiele wurden aktualisiert, um unnötige „remember“-Aufrufe zu entfernen und stattdessen
rememberUpdatedState
in Picker zu verwenden, um sich die letztecontentDescription
-Lambda-Funktion zu merken. (Icb5b1). - Die Textstile in
TimePicker
undDatePicker
wurden aktualisiert, sodass Schriftartänderungen nicht mehr zu einer Kürzung führen. (I26194). - Bei
ListHeader
undListSubHeader
wird der Text jetzt standardmäßig zentriert bzw. am Anfang ausgerichtet. (I78339) - Die Beispiele und Demos für Foundation und Material Swipe to Reveal wurden aktualisiert, um benutzerdefinierte Barrierefreiheitsaktionen anzukündigen. Die benutzerdefinierten Aktionen müssen als Semantik für den Inhalt und nicht für die
SwipeToReveal
-Composable-Funktion selbst hinzugefügt werden. (Ie92a3). - Der Standardwert für
MaxLines
fürEdgeButton
-Inhalte wurde entsprechend der Größe aktualisiert: Er ist jetzt 1 für sehr kleine, 2 für kleine und mittelgroße und 3 für große Inhalte. (Ie35f6) LocalReduceMotion
wurde vereinfacht, sodass der Observer 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, bei dem das oberste sichtbare Element in der Liste nicht richtig skaliert wurde, wenn EdgeButton seine volle Höhe erreichte. (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
,rememberRevealState
. Entwickler sollten die Importe dieser Klassen und Funktionen vonandroidx.wear.compose.foundation
zuandroidx.wear.compose.material
ändern. (Ib7cb8) - Die API von
HierarchicalFocusCoordinator
wurde aktualisiert und verwendet jetzt Modifikatoren anstelle von Composables. - Hinweise zur Migration:
HierarchicalFocusCoordinator(function, content)
kann ersetzt werden, indemcontent
oder dem umschließenden Composable einModifier.hierarchicalFocus(function())
hinzugefügt wird.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 fürModifier.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, der für Wischbewegungen überschritten werden muss, um eine Zustandsänderung 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 wurde behoben, das auftrat, wenn neue Elemente in
TransformingLazyColumn
eingefügt wurden. (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).
- Die Property „
targetPage
“ wurde „PagerState
“ hinzugefügt (I4de8b)
Fehlerkorrekturen
- Unnötige Neuzusammenstellungen bei der Vorhersage von „Zurück“-Gesten verhindern (Iecd6d)
- Die
isScrollable
-Eigenschaft vonScrollInfoProvider
wurde korrigiert, sodass 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 Gesten nur ignoriert werden, wenn der Status der Komponente „Covered“ ist. (I7e3d6) - Für
SwipeToReveal
wurdebidirectionalGestureInclusion
zu einem Wert anstelle einer Funktion gemacht und@FloatRange
wurde dem ParameteredgeZoneFraction
ingestureInclusion
hinzugefügt. (Ica7c3)
Fehlerkorrekturen
- Ändern Sie
SwipeToReveal
bidirectionalGestureInclusion
so, dass ein Objekt anstelle einer Klasse zurückgegeben wird. (I29597) - Die Verwendung von Haptik ist deaktiviert, wenn Tests unter
RoboElectric
ausgeführt werden. (I58bd1) - Die
SwipeToReveal
-Abstände zwischen Inhalt und Aktionsschaltflächen sowie zwischen dem Symbol und dem Text der Aktionsschaltflächen wurden aktualisiert. (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 AttributecurrentPage
,currentPageOffsetFraction
undpageCount
wurden hinzugefügt. DieGestureInclusion
-Schnittstelle wurde aktualisiert und die Methode wurde inignoreGestureStart
umbenannt. (I4ae07)- Fügen Sie
requireOffset
zuSwipeToDismissBoxState
hinzu, um den empfohlenen Weg zum Abrufen eines Offsets vonSwipeToDismissBoxState
zu nutzen. (I21042) CurvedModifier.semantics
wurde hinzugefügt. Zuerst werden Inhaltsbeschreibung und Traversierungsindex unterstützt (I0b093).- Wir haben
CurvedModifier.clearAndSetSemantics
hinzugefügt, um die Möglichkeit zu bieten, die Semantik für Kurven zu deaktivieren. BeiCurvedText
wird die Inhaltsbeschreibung weiterhin standardmäßig auf den Text festgelegt, beitimeTextCurvedText
undtimeTextSeparator
werden die Inhalte jedoch nicht mehr vorgelesen. (I4b568) - Die Standardbehandlung von Wischbewegungen in
HorizontalPager
wurde inPagerDefaults.gestureInclusion
umbenannt. Standardmäßig werden jetzt nur Wischbewegungen ignoriert, die am linken Rand der ersten Seite beginnen, und auch nur dann, wenn Talkback deaktiviert ist. In anderen Fällen werden Wischbewegungen standardmäßig nicht vom Pager ignoriert, sodass sie nicht für Handler zum Schließen durch Wischen verfügbar sind. (Iee486) - Die Funktion „Drehregler-Overscroll“ wurde für die
rotaryScrollable
API hinzugefügt. Das Überscrollen und das verschachtelte Scrollen wurden demrotaryScrollable
-Wischverhalten hinzugefügt. Durch diese Änderung sollte die Funktionalität für Overscroll und verschachteltes Scrollen zwischen Touch- und Drehscrollen angeglichen werden. (I71926) - Unterstützung für eine Wischzone am Rand in
SwipeToReveal
hinzugefügt. Das Standardverhalten von FoundationSwipeToReveal
besteht nun darin, das Wischen zu unterbinden, wenn die Geste am Rand beginnt. Das Standardverhalten von Material3SwipeToReveal
besteht nun darin, das Wischen zu unterbinden, wenn die Geste am Rand beginnt undSwipeDirection
auf eine einzelne Richtung festgelegt ist. (I32ef0) - TLC verwendet jetzt standardmäßig 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)
- Die gekrümmte
LetterSpacing
-Probe 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) - Wir haben den Parameter
swipeToDismissEdgeZoneFraction
inHorizontalPager
ersetzt. Stattdessen wurde der neue ParametergestureInclusion
eingeführt, mit dem das erforderliche Verhalten zum Schließen durch Wischen erreicht werden kann.gestureInclusion
akzeptiert eine Instanz vonGestureInclusion
, die entscheidet, ob das nachfolgende Scroll-Ereignis fortgesetzt werden soll oder nicht. Wenn eine Geste zugelassen wird, wird sie vom Pager verarbeitet. Andernfalls wird sie an anderer Stelle verarbeitet, z. B. von einem Handler für das Wischen zum Schließen. Das neue Standardverhalten besteht darin, Gesten am linken Rand der ersten Seite im Pager zu deaktivieren und somit das Wischen zum Schließen in diesem Bereich zu ermöglichen. Auf allen anderen Seiten kann der Pager alle Touch-Gesten verarbeiten. Das bedeutet, dass die Funktion „Wischen zum Schließen“ nicht ausgelöst werden kann. Wenn Sie das Verhalten „Zum Schließen wischen“ auf allen Seiten erzielen möchten, stellen Sie einfach eine benutzerdefinierteGestureInclusion
-Instanz (siehePagerDefaults.disableLeftEdgeOnFirstPage
) bereit, die die aktuelle Seite ignoriert. Eine weitere wichtige Änderung ist, dass die Pager-Komponente nicht mehr standardmäßig im Vollbildmodus angezeigt wird. Fügen Sie stattdessenModifier.fillMaxSize()
hinzu, um dieses Verhalten zu erzielen. (I9d3aa) - Wir haben
createAnchors
in der Swipe-to-Reveal API(If5999) increateRevealAnchors
umbenannt. - Wir haben
RevealScope
aus der API zum Aufdecken durch Wischen entfernt. (Ie4ad5) - Wir haben „Revealing“ und „Revealed“ aus der Swipe-to-Reveal-API für
RevealValue
entfernt. (I8dbc5) - Wir haben
SwipeDirection
in der Swipe-to-Reveal API inRevealDirection
umbenannt. (I7472f) - Wir haben die Signatur des Parameters
positionalThreshold
der FunktionrememberRevealState
vonSwipeToReveal
geändert. (I29c0a) - Wir haben den neuen Parameter
overscrollEffect
zuScalingLazyColumn
,TransformingLazyColumn
undScreenScaffold
hinzugefügt. (I0cee8) - Bei Verwendung von
PagerDefaults#snapFlingBehaviour
wurde der ParameterpagerSnapDistance
durch den Int-ParametermaxFlingPages
ersetzt, mit dem die maximale Anzahl der Seiten angegeben werden kann, die der Pager durchblättern soll. (I8cfc0) - Wear Pager hat jetzt ein eigenes
PagerScope
anstelle von Compose FoundationPagerScope
. (I9195b) - Wir haben Unterstützung für
lineHeight
bei gebogenem Text (I1c936) hinzugefügt. - Wir haben
initialAnchorItemIndex
undinitialAnchorItemOffset
zuTransformingLazyColumnState
undrememberTransformingLazyColumnState
hinzugefügt, damit die anfängliche Scrollposition inTransformationLazyColumn
angegeben werden kann. (I0a0d5) runWithTimingDisabled
wird zugunsten vonrunWithMeasurementDisabled
eingestellt, da das Verhalten dort deutlicher beschrieben wird: Alle Messwerte werden pausiert. Außerdem wird dieMicrobenchmarkScope
-Superklasse verfügbar gemacht, da dierunWithMeasurementDisabled
-Funktion nicht neu deklariert werden kann, um den Zugriff zu öffnen, da sie inline ist. (I9e23b, b/389149423, b/149979716)- Wir haben der API
TransformingLazyColumnItemScrollProgress.Unspecified
hinzugefügt, um Boxing fürTransformingLazyColumnItemScrollProgress
zu vermeiden. (I0835d)
Fehlerkorrekturen
- Kdoc für
CurvedTextStyle
verbessern (Id45e3) - Wir haben
SwipeableV2
(Teil derSwipeToReveal
-Implementierung) intern statt öffentlich, aber auf die Bibliotheksgruppe beschränkt, gemacht. (Idbb94) - Wir haben Tests für
HierarchicalFocusCoordinator
hinzugefügt (I1ce54, b/395548918). - Wir haben Verbesserungen an
SwipeToReveal
in den Wear Compose Foundation-Beispielen vorgenommen. (I5f307) - Semantische Daten für die Scrollachse für
verticalScrollAxisRange
inTransformingLazyColumn
für die Barrierefreiheit korrigieren (I68123) - Leistung der drehbaren Haptik auf Wear4+ verbessern, indem unnötige Hintergrund-Threads entfernt werden (I39cfe)
- Ändern Sie
SwipeDismissableNavHost
so, dassPredictiveBackNavHost
nur ab API 36 verwendet wird. (I59bed) - Wir haben einen Schutz gegen Abstürze beim Zugriff auf die Einstellung „Bewegung reduzieren“ hinzugefügt. (I01e2c)
- Wir haben das Prefetching für
TransformingLazyColumn
implementiert, um Ruckeln 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
- Auf
CurvedTextStyle
haben wir den Zeichenabstand in den Zeichenabstand im Uhrzeigersinn und den Zeichenabstand gegen den Uhrzeigersinn unterteilt. Das ist erforderlich, weil sich Buchstaben, die im Uhrzeigersinn geschrieben werden, von der Grundlinie aus nach außen hin ausbreiten, während sich Buchstaben, die gegen den Uhrzeigersinn geschrieben werden, nach innen hin ausbreiten. Daher ist ein größerer Buchstabenabstand erforderlich. (I4b848) - Die
CompositionLocal
LocalReduceMotion
wurde vereinfacht und gibt jetzt einen booleschen Wert anstelle einesReduceMotion
-Objekts zurück. DieReduceMotion
-Schnittstelle wurde eingestellt. Bisherige Aufrufe wieLocalReduceMotion.current.enabled()
können durchLocalReduceMotion.current
ersetzt werden (I4937f). - 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 in den Modus „explizite API“ aktualisiert. (Iebf9f)
- Wir haben den Parameter für die Snap-Animation des Pagers in
PagerDefaults
aufgenommen. (Ifff64) SwipeToDismissBoxState
wurde ein Offset-Parameter hinzugefügt. (I586bd)
Fehlerkorrekturen
- Die Haptik der drehbaren Plattform 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
lässt sich jetzt der aktuelle Scrollfortschritt anhand von Ankerartikeleinträgen beobachten. (I72b01) - Wir haben Animationen für
TransformingLazyColumn
hinzugefügt, die beim Hinzufügen, Entfernen und Verschieben von Elementen abgespielt werden, sofern diese das neueModifier.animateItem
haben. (Iecb9c) TransformingLazyColumn
stellt jetzt Werte fürbeforeContentPadding
undafterContentPadding
bereit. (Iccd5f)TransformingLazyColumn
bietet jetzt die lokale KompositionLocalTransformingLazyColumnItemScope
, die Komponenten (z. B.Card
undButton
in Material3) verwenden können, um sich automatisch zu verändern, wenn sie in einemTransformingLazyColumn
platziert werden. Anrufer können das automatische Morphen mit dem neuenTransformExclusion
-Wrapper deaktivieren. (I1652f)
Fehlerkorrekturen
- Wir haben die Mindest- und Höchstgeschwindigkeiten für das Drehen auf Geräten mit Android 13 und höher aktualisiert. (I33559)
- Wir haben einen Absturz behoben, der aufgetreten ist, wenn ein Element in
TransformingLazyColumn
keine Composables enthielt (Idb99d). - Wir haben die Unterstützung für
ScrollFeedbackProvider
für die Dreh-Haptik auf Android Vanilla Ice Cream hinzugefügt. (Ibc553) - Wir haben den Touch-Slop bei der Verwendung von
SwipeToReveal
erhöht, um die Wahrscheinlichkeit zu verringern, dass beim vertikalen Scrollen versehentlich eine Wischbewegung ausgelöst wird. (Ic0672) - Wir haben
SwipeDismissableNavHost
aktualisiert, sodass 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 die
ScrollInfoProvider
fürPagerState
vereinfacht, indem wir den Parameterorientation
entfernt haben, der nicht mehr benötigt wird. Das neue Verhalten ist, dassTimeText
sowohl beim horizontalen als auch beim vertikalen Paging an Ort und Stelle bleibt. (I71767) TransformingLazyColumn
wurde in früheren Versionen eingeführt. Wir entfernen jetzt dieLazyColumn
-Aliasse von Wear (die anTransformingLazyColumn
weitergeleitet wurden) und verwenden stattdessen den neuen NamenTransformingLazyColumn
. Außerdem haben wir dieheight
-Property vonTransformingLazyColumnVisibleItemInfo
entfernt. Verwenden Sie stattdessenmeasuredHeight
. (I0ea1e)- Wir haben die
PagerDefaults.snapFlingBehavior
snapAnimationSpec
von einerTween
zu einerSpring
-Spezifikation geändert.(I10d02, b/349781047, b/303807950) - Wir haben die
LocalReduceMotion
CompositionLocal
auf die stabile Version (Ia6f32) hochgestuft.
Fehlerkorrekturen
- Wir haben
Modifier.rotaryScrollable
aktualisiert, damitfocusTargetWithSemantics
für eine bessere semantische Unterstützung bei Drehbewegungen verwendet wird. (Ief0a0) - Wir haben die Mindest-API-Abhängigkeit für Compose-Bibliotheken auf 1.7.4 aktualisiert. (I88b46)
- Wir haben das Breiten-Morphing in
TransformingLazyColumn
als Workaround für einen Clipping-Fehler deaktiviert. (I3dfb8) - Wir haben einen Fehler behoben, der dazu führte, dass Elemente nach dem Overscrollen mit
TransformingLazyColumn
verschwanden (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 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 auf die nächste Messung zu verschieben. (I20a5e) - Wir haben Unterstützung für
contentPadding
inTransformingLazyColumn
hinzugefügt. (I3a69c)
Fehlerkorrekturen
- Wir haben einen Fehler bei der Darstellung von
TransformingLazyColumn
behoben, wenn die Inhaltshöhe geringer als die Bildschirmhöhe ist. (I6c3e1) - Der
ScrollInfoProvder
fürTransformingLazyColumn
erfasst jetzt das erste Element korrekt. (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 der Unterschied zur Compose FoundationLazyColumn
deutlicher wird. (I0608b) - Unterstützung für Drehregler für horizontale/vertikale Pager hinzugefügt, sodass Nutzer Pager mit Drehreglern bedienen können. (I9770d)
- Wir haben die neue
PagerDefaults
aktualisiert, um klarzustellen, dass der Pager standardmäßig an der Seite einrastet. (Iff7d0) TransformingLazyColumnItemScrollProgress
ist jetzt eine Werteklasse, was die Leistung verbessern sollte. (Ic399e)TransformingLazyColumn
unterstützt jetzt standardmäßig die Drehung. (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 bidirektionales Wischen in
SwipeToReveal
hinzugefügt, für seltene Fälle, in denen der aktuelle Bildschirm das Schließen durch Wischen nicht unterstützt. . Standardmäßig wird die Funktion „Wischen zum Aufdecken“ nur bei Wischbewegungen von rechts nach links ausgelöst. Es wird dringend empfohlen, das Standardverhalten beizubehalten, um Konflikte mit der Funktion „Wischen zum Schließen“ zu vermeiden. (Ifac04) - Wir haben
LazyColumnState
aktualisiert, umcanScrollForward
undcanScrollBackward
zu überschreiben. Dadurch wird das Scrollen 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 wie die Fokusverwaltung und die Interaktion mit dem Systemwischen zum Schließen beheben, die auf Wear auftreten können. (I2902b) - Wir haben Unterstützung für
LazyColumn
hinzugefügt, um diekey
undcontentType
des Clients überlayoutItems
verfügbar zu machen. (I1bd9c)
Fehlerkorrekturen
- Wir haben die Animationen für gebogenen Text mithilfe von Paint-Flags optimiert. (I73a15)
- Wir haben die Dokumentation zum Material-Dialogfeld aktualisiert, um darauf hinzuweisen, dass
onDismissRequest
nicht aufgerufen wird, nachdem das Flag „show“ auf „false“ gesetzt wurde. (Ifd8d6) - Wir haben einen Fehler mit der Vignettierung im Material-Dialogfeld (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 Unterstützung für die Wear Compose-
LazyColumn
mit unseremScreenScaffold
hinzugefügt und eine Implementierung vonScrollInfoProvider
fürLazyColumnState
hinzugefügt. (Ib8d29) - Wir haben
viewportSize
zuLazyColumnLayoutInfo
hinzugefügt. (I4187f)
Fehlerkorrekturen
- Wir haben einen Fehler behoben, sodass das Drehen zum Scrollen in
ScalingLazyColumn
jetzt deaktiviert ist, wenn das FlaguserScrollEnabled
auffalse
gesetzt ist. (I490ab, b/360295825) - Wir haben einen Fehler behoben, der zu unerwartetem vertikalen Innenabstand bei gebogenem Text führte. Die Höhe des gekrümmten Texts entspricht jetzt genauer dem tatsächlich vom Text verwendeten Platz. Beachten Sie, dass dies wahrscheinlich Screenshot-Tests mit gekrümmtem Text (Iaa6ef) beeinträchtigt.
- Wir haben eine Fehlerkorrektur für
Dialog
rückgängig gemacht, bei der deronDismissRequest
-Callback aufgerufen wurde, wennshowDialog
auf „false“ 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 ein neues
LazyColumn
mit den zugehörigen APIsLazyColumnState
undLazyColumnScope
hinzugefügt. Dies dient als Grundlage für die Erstellung anpassbarer Skalierungs- und Morphing-Effekte mit Wear Compose. (Ib3b22) - Wir haben eine indexierte Version von
itemsIndexed
inLazyColumnScope
als Teil der neuenLazyColumn
API 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)- Wir haben Unterstützung für den Zeichenabstand bei gebogenem Text hinzugefügt. (I3c740)
CurvedLayout.curvedComposable
wurde der ParameterrotationLocked
hinzugefügt, um zu verhindern, dass Komponenten gedreht werden. (I66898)- Die temporäre
LocalUseFallbackRippleImplementation
API aus wear material und wear material3 wurde entfernt (I62282) WearDevices.SQUARE
aus der@WearPreviewDevices
-Multivorschau entfernt (I11c02)
Fehlerkorrekturen
- Bei
SwipeToReveal
werden die angezeigten Elemente jetzt im sichtbaren Bereich des Bildschirms positioniert. Das ist hilfreich, wennSwipeToReveal
in einer Liste verwendet wird, da die Elemente so immer interaktiv sind und nie außerhalb des Bildschirms liegen. (I38929) SwipeToReveal
setzt jetztlastActionType
auf „None“ zurück, wennanimatedTo
abgeschlossen ist. (I59b03)- Die Dokumentation für den neuen Parameter
rotationLocked
aufcurvedComposable
wurde verbessert. (Ifbd57) - Ein Absturz, der beim Übergeben von
NaN
anScalingLazyColumnSnapFlingBehavior
’sperformFling
auftrat, wurde behoben. (Ic13da) - Fehler bei Größenmodifikator für gekrümmtes Layout (I0fedf) behoben
- Wir haben Unterstützung für den in „sp“ angegebenen Buchstabenabstand hinzugefügt. (I9f6e3)
- Wir haben einen Fehler im Material2-Dialogfeld behoben, bei dem der
onDismissRequest
-Callback nicht aufgerufen wurde, wenn das Dialogfeld unsichtbar wurde (I64656). LayoutCoordinates.introducesFrameOfReference
wurde inLayoutCoordinates.introducesMotionFrameOfReference
umbenannt, um den Zweck besser widerzuspiegeln. Die zugehörige Funktion zum Berechnen von Koordinaten basierend auf diesem Flag wurde umbenannt. (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 Schutz gegen Abstürze beim Zugriff auf die globale Einstellung „Bewegung reduzieren“ eingebaut, die 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 Dreheingabe. Es wird empfohlen, die explizite Dreheingabe zu entfernen und das Standardverhalten des Systems zu verwenden. Verwenden Sie bei Bedarf den ParameterrotaryScrollableBehavior
, um das Scroll- oder Snap-Verhalten zu konfigurieren. Für das Snap-Verhalten empfiehlt es sich, das Snap-Verhalten und die Touch-Scrolling-Funktionen mit dem ParameterflingBehavior
anzugeben.Modifier.rotaryScrollable
ist ein neuer Modifikator, der Drehknopfereignisse mit scrollbaren Containern verbindet. So können Nutzer auf ihrem Wear OS-Gerät mit einer Krone oder einer drehbaren Lünette scrollen.SwipeDismissableNavHost
bietet jetzt eine Einblendanimation für In-App-Übergänge.PositionIndicator
wird jetzt standardmäßig angezeigt, wenn ein Bildschirm zum ersten Mal angezeigt wird.
Weitere Änderungen
- Eine vollständigere Liste der Änderungen in Version 1.3.0 finden Sie in den Versionshinweisen zu Beta01.
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 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 und verwenden jetzt „focusTarget“ anstelle von „focusable“, um die Leistung zu verbessern. (Id294b) - Wir haben ein Problem behoben, bei dem die
ProgressIndicator
ihre Ankündigung unterTalkBack
wiederholte. (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 an Screenreader übergebene Grenzbreite für gekrümmten Text erhöht, um Probleme mit dem Abschneiden von Text zu beheben (Id865f).
- Wir haben die Begrenzung des
HorizontalPageIndicator
, das an Screenreader übergeben wurde, eingeschränkt. Zuvor hat der Indikator den gesamten Bildschirm eingenommen (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.
Mit der Version 1.4-beta01 von Compose für Wear OS wird angezeigt, dass diese Version der Bibliothek alle Funktionen enthält und die API gesperrt ist (sofern nicht als experimentell gekennzeichnet). Wear Compose 1.4 enthält die folgenden neuen Funktionen:
- Wir haben
Modifier.rotaryScrollable
hinzugefügt, einen neuen Modifikator, der Dreh-Ereignisse mit scrollbaren Containern verknüpft. So können Nutzer über eine Krone oder eine drehbare Lünette auf ihrem Wear OS-Gerät scrollen. Außerdem unterstützenScalingLazyColumn
undPicker
jetzt standardmäßig die Eingabe über Drehregler. Mit dem ParameterrotaryScrollableBehavior
können Sie das Scroll- oder Snap-Verhalten konfigurieren. Für das Snap-Verhalten wird empfohlen, das Snapping auch für das Touch-Scrolling über den ParameterflingBehavior
bereitzustellen. SwipeDismissableNavHost
bietet jetzt eine Einblendanimation 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 diese mitRadioButton
, um auswählbare statt umschaltbarer Semantik für die Barrierefreiheit bereitzustellen.ListHeader
unterstützt jetzt Höhenanpassungen, wenn Inhalte aufgrund großer Schriftgrößen mehr Höhe benötigen.
Fehlerkorrekturen
- Wir haben einen Fehler behoben, durch den bei bereits ausgewählten auswählbaren Chips „Doppeltippen, um von der gewählten Option zur anderen zu wechseln“ angesagt wurde. (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 neue Rotary API folgendermaßen geändert:
Modifier.rotary
wurde inModifier.rotaryScrollable
umbenannt, dieRotaryBehavior
-Schnittstelle inRotaryScrollableBehavior
und ihre FunktionhandleScrollEvent
inperformScroll
. Außerdem wurdeRotaryScrollableAdapter
inRotaryScrollableLayoutInfoProvider
umbenannt und diescrollableState
-Eigenschaft entfernt. (I0c8a6) - Wir haben zusätzliche Änderungen an der Rotary API vorgenommen:
RotaryScrollableLayoutInfoProvider
wurde inRotarySnapLayoutInfoProvider
umbenannt, da dieser Anbieter nur für die Drehbewegung mit Einrasten erforderlich ist. Außerdem wurde der Typ des ParameterssnapOffset
inRotaryScrollableDefaults.snapBehavior snapOffset
von „Int“ in „Dp“ geändert. (Iddebe) - Wir haben den Parameter
clickInteractionSource
aufSplitSelectableChip
incontainerInteractionSource
umbenannt. (Ia8f84) - Wir haben die Namen der Klick-Callback-Parameter für
SplitSelectableChip
aktualisiert: vononClick
zuonSelectionClick
und vononBodyClick
zuonContainerClick
. (I32237)
Fehlerkorrekturen
- Wir haben das horizontale Padding für
PositionIndicator
auf 2 dp (vorher 5 dp) aktualisiert, um einen Fehler zu beheben, bei dem sich diePositionIndicator
(Scrollleiste) mit scrollbaren Inhalten überschnitten hat. Diese Änderung führt voraussichtlich dazu, dass vorhandene Screenshots, diePositionIndicator
enthalten, nicht mehr funktionieren, da das Padding geändert wurde. (I57472) - Wir haben die Dokumentation für die neue Rotary API verbessert, indem wir die Unterschiede zwischen Drehgeräten mit niedriger und hoher Auflösung beschrieben haben. (I63abe)
- Wir haben eine Ausnahme für den Bereichsüberschreitungsfehler in
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 Dreh-Ereignisse mit scrollbaren Containern verknüpft. So können Nutzer über eine Krone oder eine drehbare Lünette auf ihrem Wear OS-Gerät scrollen. Außerdem unterstützenScalingLazyColumn
und die Auswahl jetzt standardmäßig die Dreheingabe. Es gibt neue Überladungen, die den ParameterrotaryBehavior
enthalten, um die Konfiguration von Scrollen oder Einrasten anzugeben. Wenn der ParameterrotaryBehavior
auf „snap“ gesetzt ist, wird empfohlen, „snap“ auch über den ParameterflingBehavior
für das Scrollen per Touchscreen anzugeben. (I2ef6f) - Die
NestedScroll
-Quellen „Drag“ und „Fling“ werden durchUserInput
undSideEffect
ersetzt, um der erweiterten Definition dieser Quellen Rechnung zu tragen, die jetzt Animationen („Side Effect“) sowie Mausrad und Tastatur („UserInput“) umfasst. (I40579) - Wir haben
SelectableChip
undSplitSelectableChip
hinzugefügt, um die Unterscheidung zwischen Ein/Aus-Schaltflächen wieSwitch/Checkbox
und auswählbaren Steuerelementen wieRadioButton
zu verdeutlichen. Dadurch werden die zuvor hinzugefügten Überladungen vonToggleChip/SplitToggleChip
mitselectionControl
-Parametern 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 Drehreglern hinzugefügt. Dies ist Teil der umfassenderen Bemühungen, das Drehreglerverhalten von Horologist zu AndroidX zu migrieren. (I617d1)
- Wir haben einen internen Entwurf für die Unterstützung von Haptik hinzugefügt. Dies ist Teil der Migration des Drehreglerverhaltens 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
durchScalingLazyColumn
verringert 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. Dieses Attribut sollte mit demRadioButton
-Steuerelement verwendet werden, um auswählbare statt umschaltbarer Semantik für die Barrierefreiheit bereitzustellen (I1d6d9). - Wir haben die Parameternamen für die neue
selectionControl
-Überladung vononSelected
zuonSelect
fürToggleChip
undSplitToggleChip
aktualisiert (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ültigen Modifikator-Aktualisierungen als nötig. Daher wird von ihrer Verwendung abgeraten. Entwickler sollten die MethodeinspectableProperties()
fürModifierNodeElement
implementieren, wenn sie Modifikatorattribute für Tools verfügbar machen möchten. (Ib3236)
Fehlerkorrekturen
- Wir haben einen Dokumentationsfehler für
WearPreview*
-Anmerkungen 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 „Zum Aufdecken wischen“ behoben. Es war möglich, mit einer bestätigten Aktion für ein Element zu interagieren (und sie abzubrechen), indem man mit dem Wischen für ein anderes Element begann.(Ide059)
- Wir haben
ListHeader
aktualisiert, um Höhenanpassungen zu unterstützen, wenn Inhalte aufgrund großer Schriftgrößen mehr Höhe benötigen. (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 Eingangsanimation 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 Einhaltung der Wear-Qualitätsrichtlinien zu erleichtern. Das bedeutet leider, dass Screenshot-Tests auf Bildschirmen, diePositionIndicator
enthalten, aktualisiert werden müssen, daPositionIndicator
zuvor nicht angezeigt wurde. (419cef7)
API-Änderungen
- Wir haben in den Bibliotheken
wear:compose-material
undwear:compose-material3
eine neue Ripple-API hinzugefügt, die die eingestellterememberRipple
ersetzt. Außerdem wird ein temporäresCompositionLocal
,LocalUseFallbackRippleImplementation
hinzugefügt, um die Material-Komponenten auf die Verwendung der verworfenenrememberRipple/RippleTheme
-APIs zurückzusetzen. Diese wird in der nächsten stabilen Version entfernt und ist nur als vorübergehende Migrationshilfe für Fälle gedacht, in denen Sie eine benutzerdefinierteRippleTheme
angeben. Weitere Informationen zur Migration und Hintergrundinformationen zu dieser Änderung finden Sie unter developer.android.com. (af92b21) - Wir haben
ColorScheme
so aktualisiert, dass es unveränderlich ist. Dadurch sind einzelne Farbaktualisierungen weniger effizient, die häufigere Verwendung von Farben jedoch effizienter. Der Grund für diese Änderung ist, dass das Aktualisieren einzelner Farben für die meisten Apps kein Hauptanwendungsfall ist. Das ist weiterhin möglich, aber es wird häufiger neu zusammengesetzt als zuvor. Dadurch wird die Anzahl der Statusabos im gesamten Materialcode deutlich reduziert, was sich auf die Initialisierungs- und Laufzeitkosten von Standardanwendungsfällen auswirkt. (f5c48b7) - Wear-Material- und Wear-Material3-Komponenten, die in ihrer API ein
MutableInteractionSource
verfügbar machen, wurden aktualisiert und machen jetzt ein nullableMutableInteractionSource
verfügbar, das standardmäßig auf „null“ gesetzt ist. Hier gibt es keine semantischen Änderungen: Wenn Sie „null“ übergeben, möchten Sie dasMutableInteractionSource
nicht verschieben. Es wird bei Bedarf innerhalb der Komponente erstellt. Wenn Sie den Wert auf „null“ ändern, kann es sein, dass für einige Komponenten nie einMutableInteractionSource
zugewiesen wird. Außerdem kann es sein, dass für andere Komponenten nur dann eine Instanz erstellt wird, wenn sie benötigt wird. Das verbessert die Leistung dieser Komponenten. Wenn Sie dieMutableInteractionSource
, die Sie an diese Komponenten übergeben, nicht verwenden, sollten Sie stattdessen „null“ übergeben. Es wird auch empfohlen, ähnliche Änderungen in Ihren eigenen Komponenten vorzunehmen. (f8fa920) - Wir haben
rememberExpandableState
aktualisiert, um den maximierten Zustand zu speichern. So wird sichergestellt, dass Daten gespeichert werden, wenn Sie zu einem anderen Bildschirm wechseln, und wiederhergestellt werden, wenn Sie zum ursprünglichen Bildschirm zurückkehren. (5c80095)
Fehlerkorrekturen
- Wir haben die Einstellung
ReduceMotion
so aktualisiert, dass ein Listener verwendet wird, der den Lebenszyklus berücksichtigt. (7c6b122) - Wir haben den Listener von
TouchExplorationStateProvider
so aktualisiert, dass er den Lebenszyklus berücksichtigt (be28b01). - Wir haben die Materialcore-Ebene für
CompactButton
entfernt, um die Leistung zu verbessern (25db8e9). - Wir haben
BasicSwipeToDismissBox
robuster gegenüber NaN-Offsets gemacht, um Ausnahmen zu vermeiden (b983739). - Wir haben
BasicSwipeToDismissBox
aktualisiert, damit die Alphawerte im Bereich 0,1 liegen. - Wir haben einen Fehler in den
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
undRadioButton
behoben, sodass Ankündigungen 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 in der Funktion „Zum Aufdecken wischen“ behoben. Es war möglich, mit einer bestätigten Aktion für ein Element zu interagieren (und sie abzubrechen), indem man begann, ein anderes Element zu wischen. (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 EnumerationSwipeToDismissValue
und die ErweiterungsfunktionModifier.edgeSwipeToDismiss
sind jetzt Teil des Paketsandroidx.wear.compose.foundation
anstelle des Paketsandroidx.wear.compose.material
. Mit dieser aktualisierten Architektur können Sie die Verarbeitung von Gesten unabhängig von anderen Designüberlegungen implementieren. Material Design-Arbeitsabläufe, z. B. das Anwenden von Farben aus einem konfigurierten Design, werden separat behandelt. - Mit den Klassen
SwipeToRevealCard
undSwipeToRevealChip
können Sie dierecommended swipe-to-reveal guidance
implementieren. Die KlasseSwipeToRevealSample
zeigt, wie diese Komponenten verwendet werden. Mit Version 1.3.0-alpha02 wurde eine Änderung eingeführt, die dazu führt, dass
Chip
- undToggleChip
-Objekte in der Höhe wachsen, um die vom Nutzer ausgewählte Schriftartskalierung besser zu unterstützen. Dadurch kann es zu Clipping kommen. Um dieses Problem zu beheben, wird für dielarge
-Form fürMaterialTheme
jetzt ein größerer Eckenradius verwendet (26 dp statt 24 dp). Die ObjekteChip
undToggleChip
verwenden diesen neuen Eckenradius, um zu verhindern, dass Inhalte an den Ecken von Chip undToggleChip
abgeschnitten werden.- Die meisten
Chips
undToggleChips
bleiben unverändert, da sie standardmäßig eine Höhe von 52 dp haben.Chip
- undToggleChip
-Objekte, die mehrere Zeilen mit primärem oder sekundärem Labeltext enthalten oder deren Höhe überschrieben wurde, können jedoch dazu führen, dass Screenshot-Tests fehlschlagen.
- Die meisten
Weitere Änderungen
Eine vollständigere Liste der Änderungen in Version 1.3.0 finden Sie in den Versionshinweisen zu Beta01.
Empfehlungen für die Implementierung
- Wenn Nutzer in Ihrer App den Bildschirminhalt schwenken können, z. B. in einer kartenbasierten App, deaktivieren Sie die Wischbewegungserkennung, indem Sie
userSwipeEnabled
im ComposableSwipeDismissableNavHost
auffalse
setzen. Fügen Sie außerdem eine Schaltfläche ein, mit der Nutzer zum vorherigen Bildschirm zurückkehren können. - Wenn Sie Animationen für einen Positionsindikator während des Einblendens und bei Positionsänderungsanimationen in einer Scrollliste deaktivieren möchten, verwenden Sie ein
SnapSpec
-Objekt. - Während Sie darauf warten, dass eine Media-App Inhalte für die Wiedergabe lädt, wird ein leeres
Placeholder
-Composable angezeigt. - Wenn Sie eine Sammlung von einblendbaren Elementen auf Abruf erstellen möchten, sollten 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 Form
MaterialTheme
so aktualisiert, dass sie einen abgerundeten Eckenradius von 26 dp verwendet. Dieser wird jetzt von Chip undToggleChip
verwendet. Diese Änderung ist erforderlich, um Höhenanpassungen zu unterstützen, wenn Inhalte aufgrund großer Schriftgrößen mehr Höhe benötigen. Andernfalls werden einige Textinhalte durch die vorhandene Stadionform abgeschnitten.Abbildung 1: Text an den Ecken abgeschnitten. Abbildung 2: Text wird nicht abgeschnitten. Diese Änderung kann zu Problemen 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 beabsichtigte Wischbewegung in
BasicSwipeToDismissBox
wiederhergestellt. Dies wurde in einer früheren Version so geändert, dass der Folienübergang erfolgt, während der Finger den Bildschirm berührt. (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.
Mit der Version 1.3-beta01 von Compose für Wear OS wird angezeigt, dass diese Version der Bibliothek alle Funktionen enthält und die API gesperrt ist (sofern nicht als experimentell gekennzeichnet). Wear Compose 1.3 enthält die folgenden neuen Funktionen:
SwipeToDismissBoxState
,SwipeToDismissValue
undModifier.edgeSwipeToDismiss
wurden zusammen mit der zugrunde liegenden Implementierung zum Schließen durch Wischen inBasicSwipeToDismissBox
vonandroidx.wear.compose.material
zuandroidx.wear.compose.foundation
migriert. So kann die Gestensteuerung für „Wischen zum Schließen“ unabhängig von Material Design verwendet werden, z. B. überSwipeDismissableNavHost
inandroidx.wear.compose.navigation
.SwipeToDismissBox
ausandroidx.wear.compose.material
sollte weiterhin mit Material Design verwendet werden, da Farben aus demMaterialTheme
abgerufen und die verbleibende Implementierung an dasBasicSwipeToDismissBox
delegiert wird.SwipeDismissableNavHost
unterstützt jetzt einen neuenuserSwipeEnabled
-Parameter, mit dem die Wischbewegungserkennung für Bildschirme deaktiviert werden kann, auf denen sie nicht erforderlich ist.BasicSwipeToDismissBox
bietet eine verbesserte Fokusverwaltung mitHierarchicalFocusCoordinator
.SwipeToReveal
bietet neueSwipeToRevealCard
- undSwipeToRevealChip
-Composables in Material, die den empfohlenen UX-Richtlinien fürCard
undChip
entsprechen. Außerdem wird die sekundäre Aktion unterstützt.DefaultTextStyle
deaktiviert jetzt das Schriftarten-Padding, um die Konsistenz auf der Android-Plattform zu gewährleisten.Chip
undToggleChip
passen ihre Höhe jetzt an Inhalte an, die aufgrund großer Schriftarten für die Barrierefreiheit größer geworden sind.- Für
PositionIndicator
gibt es jetzt individuelle Animationsspezifikationen für das Ein- und Ausblenden sowie für Positionsänderungen. Aus Leistungsgründen empfehlen wir, Einblendungen und Positionsänderungen 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.Placeholder
kann jetzt zurückgesetzt werden, wenn der Inhalt nicht mehr bereit ist. Außerdem gilt die Einstellung „Bewegung reduzieren“ jetzt auch für den Schimmereffekt und die Abwischbewegung aufPlaceholder
.
Bekannte Probleme
PositionIndicator
wird nicht angezeigt, wenn ein Bildschirm zum ersten Mal eingeblendet wird. Wir beabsichtigen, in einer frühen Alphaversion von 1.4 eine Änderung vorzunehmen, sodass das Logo anfangs angezeigt wird, aber ohne Animation.
API-Änderungen
- Wir haben die Foundation-Stufe
SwipeToDismissBox
inBasicSwipeToDismissBox
umbenannt. Dadurch wird die Unterscheidung zwischen der Komponente auf Foundation-Ebene und derSwipeToDismissBox
auf Material-Ebene deutlicher. Letztere ruft Farben ausMaterialTheme
ab, die in Scrims verwendet werden sollen, und delegiert die verbleibende Implementierung anBasicSwipeToDismissBox
. (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 slotbasierte API mit den ComposablesSwipeToRevealPrimaryAction
,SwipeToRevealSecondaryAction
undSwipeToRevealUndoAction
ersetzt. Beispiele für die Verwendung der neuen API finden Sie im Beispielcode. (Ia8943) - Die Animations-Flags
PositionIndicator
wurden durchAnimationSpec
-Parameter ersetzt. Die einzelnen Animationen können deaktiviert werden, indem Siesnap
alsAnimationSpec
übergeben. (I6c523)
Fehlerkorrekturen
- Wir haben einen Fehler behoben, der durch begrenzten gekrümmten Text ausgelöst wurde, wenn die Größe begrenzt ist (I50efe).
- Wir haben einen möglichen NaN-Absturz im Zusammenhang mit
curvedComposable
(I970eb) behoben. - Wir haben die Entfernung der Hervorhebung von Positionsänderungen auf
PositionIndicator
rückgängig gemacht. (Ieb424) - Wir haben die Material-Core-Ebene für das 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 Benutzeroberfläche empfehlen wir, die FlagsshowFadeInAnimation
undshowPositionAnimation
zu deaktivieren, wennPositionIndicator
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-Komponenten
SwipeToDismissBoxState
,SwipeToDismissValue
undedgeSwipeToDismiss
nach der Migration der Funktion „Wischen zum Schließen“ zuwear.compose.foundation
eingestellt. Bitte ersetzen Sie sie durch diewear.compose.foundation
-Entsprechungen. (Iee8c9)
Fehlerkorrekturen
- Wir haben die Baseline-Profile für die Wear Compose Foundation-, Material- und Navigationsbibliotheken aktualisiert. (Idb060)
- Wir haben eine Verhaltensänderung für
PositionIndicator
rückgängig gemacht, die in einem vorherigen CL eingeführt wurde. Dadurch wurdePositionIndicator
animiert, wenn ein Bildschirm zum ersten Mal angezeigt wurde. Wir beabsichtigen, eine ähnliche Änderung in einer frühen 1.4-Alphaversion vorzunehmen, sodass dasPositionIndicator
anfangs ohne Animation angezeigt wird. (I41843) - Wir haben einige Leistungsprobleme in
PositionIndicator
behoben. (I1c654, b/302399827) - Wir haben die Leistung der Standardimplementierung des Touch-Exploration-Statusanbieters optimiert, sodass sie auf
State<Boolean>
statt auf abgeleitetem Status basiert. (Ieec4d) - Wir haben
systemGestureExclusion
-Rechtecke für Android 13 und höher 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
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 Benutzeroberfläche empfehlen wir, die FlagsshowFadeInAnimation
undshowPositionAnimation
zu deaktivieren, wennPositionIndicator
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 zum Einblenden verbessert, indem wir dem primären Aktionstext eine Einblendanimation hinzugefügt und die sekundäre Aktion ausgeblendet bzw. die Symbolskalierung bei vollständiger Wischexpansion geändert haben. (Ib7223)
- Es wird empfohlen, dass Aktionen vom Typ „Zum Aufdecken wischen“ zugänglich sind. Wir haben unseren Beispielen für „Zum Aufdecken wischen“ benutzerdefinierte Bedienungshilfen hinzugefügt. (I42224)
- Wir haben die Leistung von
SwipeToDismissBox
verbessert, unter anderem durch Refactoring, damit die ursprüngliche Logik keine Neuzusammenstellung auslöst. DasSwipeToDismissBox
wird jetzt in voller Bildschirmgröße dargestellt. (Ie0aa2) - Wir haben einen Fehler behoben, durch den die
PositionIndicator
fälschlicherweise verschwunden ist. (I2091a) - Die Leistung von
PositionIndicator
wurde durch die Optimierung von Re-Compositions 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
hinzugefügt (Idf875).
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 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 die 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 Aufdecken wischen“ so angepasst, dass jeweils nur ein Element gewischt werden kann. (I3cd7a)
- Die Dokumentation von
ScalingLazyColumnDefaults
wurde verbessert, um das tatsächliche Verhalten besser abzubilden. (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 Unterstützung für das Rückgängigmachen der sekundären Aktion von
SwipeToReveal
hinzugefügt. (I7a22d)
API-Änderungen
- Fügen Sie
HorizontalPageIndicator
in der Wear Material3-Bibliothek hinzu. (Ifee99) - Das Wear Compose-Vorschautool wurde aktualisiert, um die
androidx.wear.tooling.preview
-Bibliothek zu verwenden. (Ib036e)
Fehlerkorrekturen
- Ein Fehler wurde behoben, bei dem Modifikatoren in runden Schaltflächen 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 Composables in Material hinzugefügt, mit denen
SwipeToReveal
mit Karten und Chips implementiert werden kann. Diese Composables folgen den empfohlenen UX-Richtlinien für die Komponente und erleichtern Entwicklern die Implementierung vonSwipeToReveal
mit den vorhandenen Komponenten in Wear Material. (I7ec65) - Wir haben die
FloatRange
-Annotationen 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 Zuweisung von Strichen zu optimieren. (I5f225, b/288234617) - Wir haben die Sichtbarkeit von Häkchen in deaktivierten Status behoben. (Ib25bf)
- Wir haben
Placeholder
aktualisiert, damit der Platzhalter zurückgesetzt und angezeigt werden kann, wenn sich der Inhalt nicht mehr im Status „Bereit“ befindet. (Ibd820) - Wir haben einige Fehler bei instabilen
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 zum Generieren vonExpandableStates
für Fälle, in denen sie bei Bedarf erstellt werden müssen, nicht unbedingt im Rahmen von@Composable
(Iff9e0). SwipeToDismissBox
wurde vomandroidx.wear.compose.material
-Paket zumandroidx.wear.compose.foundation
-Paket migriert. (I275fb)- Die API-Dateien wurden aktualisiert, um die Unterdrückung der Kompatibilität zu annotieren. (I8e87a, b/287516207)
- Wir haben die Höhenkonstanten für
Chip
,CompactChip
undToggleChip
öffentlich gemacht (Idbfde). - Wir haben die horizontalen und vertikalen Abstände für
Chip
undCompactChip
öffentlich gemacht. (Ieeaf7) - Es wurde eine Funktion hinzugefügt, mit der die Verarbeitung von Wischbewegungen in
SwipeDismissableNavHost
über den neuen ParameteruserSwipeEnabled
deaktiviert werden kann. (Id2a0b, b/230865655) - Wir haben die Wear Compose Navigation-Bibliothek aktualisiert, damit sie die neue
SwipeToDismissBox
aus Wear Compose Foundation verwendet. (I4ff8e)
Fehlerkorrekturen
- Wir haben einen Fehler bei der Z-Reihenfolge behoben, bei dem in
expandedItem
nicht der richtige Inhalt angezeigt wurde, nachdem auf das Verhalten einer Schaltfläche geklickt wurde, wenn sie Schaltflächen enthält. (I1899d, b/289991514) - Fokusbehandlung von
SwipeToDismissBox
(und damitSwipeDismissableNavHost
) mitHierarchicalFocusCoordinator
verbessern (I45362, b/277852486) - Wir haben die Verarbeitung von Gesten in
SwipeableV2
korrigiert . (I89737) - Wir haben die Baseline-Profile für unsere Version 1.2 fertiggestellt. (Id5740)
- Nach der Migration von
SwipeToDismissBox
zu Foundation wird die Material-Implementierung vonSwipeToDismissBox
jetzt an Foundation weitergeleitet und liefert Standardfarbwerte aus dem zugehörigen Theme.(If8451) - Wir haben
ListHeader
Semantik für Überschriften hinzugefügt. (Ic5420) - Die Höhe von
Chip
undToggleChip
wird jetzt bei Bedarf an Inhalte angepasst, die aufgrund großer Schriftarten für die Barrierefreiheit größer geworden sind. (Iaf302) - Ein Fehler in der semantischen Rolle des tippable Bereichs von
SplitToggleChip
wurde behoben, um die Barrierefreiheit zu verbessern. (Ieed3a) - Durch die Einstellung „Bewegung reduzieren“ werden jetzt der Schimmereffekt und die Wischbewegung bei Platzhaltern deaktiviert. (I91046)
Stepper
undInlineSlider
unterstützen jetzt wiederholte Klicks bei langem Drücken, sodass Sie den Wert vonStepper
undInlineSlider
schnell erhöhen oder verringern können, indem Sie die Schaltflächen „+“ oder „–“ gedrückt halten. (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 jetztDefaultTextStyle
, um das Schriftarten-Padding zu deaktivieren und die Konsistenz auf der Android-Plattform zu gewährleisten. Damit wird das Abschneiden von Text bei großen Schriftgrößen behoben. Das kann sich auch auf das Bildschirm-Layout auswirken, sodass Screenshot-Tests aktualisiert werden müssen. Hier sehen wir beispielsweise, dass Text abgeschnitten wird (Ic6a86).

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

- Wir haben
wear.compose.foundation
als API-Abhängigkeit vonwear.compose.material
aktualisiert (I72004, b/285404743). - Wir haben einen Fehler in
SwipeToDismissBox
behoben. Hintergrund- und Inhaltsschlüssel werden jetzt an den „remember“-Block übergeben, sodass neue Modifikatoren erstellt werden, wenn sich der Inhalt oder Hintergrund ändert. (Ib876c, b/280392104) - Wir haben
TimeText
aktualisiert, sodass das Gebietsschema verwendet wird, wenn das Format für die 12- oder 24-Stunden-Zeit ausgewählt wird. (If4a3d) - Wir haben eine Inkonsistenz bei den Standardparametern für
SwipeToDismissBox
contentScrimColor
behoben. (I2d70f) - Wir haben die Bewegungserkennung in
SwipeToReveal
verbessert. (I28fb7)
Bekannte Probleme
- Die Unterstützung von vom Nutzer konfigurierten Schriftgrößen ist eine Bedienungshilfe. Wir wissen, dass mehrzeilige Chips bei großen Schriftgrößen zu abgeschnittenem Text führen können. Daher werden wir den Chip in einer frühen Alphaversion 1.3 aktualisieren, um in diesen Fällen Höhenanpassungen 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
PositionIndicator
fälschlicherweise verschwunden ist. (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 for Wear OS 1.2.0 (weitere Informationen)
- Eine Liste der wichtigsten Änderungen in Wear Compose 1.2 finden Sie in den Versionshinweisen zu Compose for 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 die Skalierung und das Einblenden vonScalingLazyColumn
deaktiviert werden. (I58024)
Fehlerkorrekturen
- Wir haben die Baseline-Profile für die Wear Compose-Grundlage und die Materialbibliotheken aktualisiert(I4725d).
- Wir haben eine Inkonsistenz bei den Standardwerten für die Parameter
SwipeToDismissBox
contentScrimColor
behoben (I2d70f). - Wir haben den Standardwert für
DefaultTextStyle
korrigiert, der für die EinstellungIncludeFontPadding
verwendet wird (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.
Neuerungen in Compose für Wear OS 1.2
Die Version 1.2-beta01 von Compose für Wear OS weist darauf hin, dass diese Version der Bibliothek alle Funktionen enthält und die API gesperrt ist (sofern nicht als experimentell gekennzeichnet). Wear Compose 1.2 enthält die folgenden neuen Funktionen:
expandableItem
undexpandableItems
sind zwei neueFoundation
-Komponenten, mit denen Elemente in einemScalingLazyColumn
maximiert werden können. Verwenden SieexpandableItem
für ein einzelnes minimierbares Element, z. B. Text, bei dem die Anzahl der Zeilen. Verwenden SieexpandableItems
für eine Gruppe von maximierbaren Elementen undexpandableButton
, um das Erstellen einer Schaltfläche zu vereinfachen, die nach dem Maximieren des Inhalts minimiert wird.HierarchicalFocusCoordinator
: Mit diesem experimentellen Composable können Sie Unterbäume der Komposition als „fokusfähig“ oder „nicht fokusfähig“ markieren.Picker
: Die API enthält jetztuserScrollEnabled
, um zu steuern, ob die Auswahl für das Scrollen durch den Nutzer aktiv ist.PickerGroup
: Ein neues Composable zum Verarbeiten mehrerer Auswahlen gleichzeitig. Der Fokus wird mithilfe derHierarchicalFocusCoordinator
API zwischen den Auswahlfeldern verschoben und die automatische Zentrierung von Auswahlfeldelementen wird ermöglicht.Placeholder
: Wir haben die Animationen für „Schimmer“ und „Abwischen“ aktualisiert. Der Wischeffekt wird jetzt sofort angewendet, wenn die Inhalte bereit sind.ScalingLazyColumn
: Wir habenScalingLazyColumn
und zugehörige Klassen vonandroidx.wear.compose.material.ScalingLazyColumn
zuandroidx.wear.compose.foundation.lazy.ScalingLazyColumn
migriert. Bitte aktualisieren Sie die App auf die VersionFoundation.Lazy
.SwipeToReveal
: Wir haben experimentelle Unterstützung für das Wischen zum Aufdecken als Möglichkeit zum Aufrufen sekundärer Aktionen hinzugefügt. Dies ergänzt das bestehende Muster „Langes Drücken“.Stepper
– hat jetzt eine Überladung mit einem zusätzlichenenableRangeSemantics
-Parameter, um das Deaktivieren der Standardbereichssemantik zu ermöglichen.Previews
: Wir haben die folgenden benutzerdefinierten Anmerkungen für die Vorschau von Composables auf Wear-Bildschirmen hinzugefügt:WearPreviewSmallRound
zeigt eine Vorschau des Composables auf einem kleinen, runden Gerät an,WearPreviewLargeRound
auf einem großen runden Gerät undWearPreviewSquare
auf einem quadratischen Gerät. Außerdem die folgenden Annotations für das Folgen und die Vorschau auf mehreren Geräten:WearPreviewFontScales
rendert die Composables auf einem Wear-Gerät mit mehreren Schriftgrößen, währendWearPreviewDevices
die Composables auf verschiedenen Wear-Geräten rendert.- Wir haben Wear Compose ein
DefaultTextStyle
hinzugefügt, das die PropertyPlatformTextStyle.includeFontPadding
standardmäßig auf „true“ setzt (das ist die aktuelle Einstellung). So können wir das standardmäßige Deaktivieren des Schriftarten-Paddings mit den Compose-Bibliotheken in einer frühen Alphaversion 1.3 synchronisieren. Weitere Informationen finden Sie unter 1.2.0-alpha10.
Neue Funktionen
- Wir haben experimentelle Unterstützung für deaktivierte Skalierungs- und Einblendungsanimationen 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. Dies soll unerwartete Abstürze verhindern, die durchIllegalArgumentException
verursacht wurden, wenn 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 Unterstützung für „Wischen zum Aufdecken“ hinzugefügt, um auf sekundäre Aktionen zuzugreifen. Dieses Muster ergänzt das Muster „Langes Drücken“, mit dem Nutzer bisher (andere) sekundäre Aktionen aufrufen konnten. (I60862)
API-Änderungen
- Wir haben
RevealScope
zu Aktions-Composables inSwipeToReveal
hinzugefügt, wodurch der Zugriff auf den Offset ermöglicht wird, an dem zusätzliche Aktionen angezeigt werden. (I3fd56)
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem
ScalingLazyColumn
nach dem Übertragen auf Wear API 33 hängen blieb (Ic4599). - Wir haben einige Leistungsverbesserungen an
PositionIndicator
vorgenommen, um Ruckeln zu reduzieren. (I35e92) - Wir haben einen Fehler in Chip und
CompactChip
behoben, bei dem die semantische Rolle nicht mehr aufRole.Button
festgelegt wurde. (I93f91, b/277326264)
Bekannte Probleme
Wir haben einen Fehler in Android Studio gefunden, der dazu führt, dass die Vorschau nicht gerendert wird, wenn sie mit @WearPreviewDevices und @WearPreviewFontScales annotiert ist. Eine Korrektur ist in Planung. Die anderen Annotations 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 DefaultTextStyle zu Wear Compose hinzugefügt und den vorhandenen Wert PlatformTextStyle.includeFontPadding als „true“ beibehalten. Weitere Informationen finden Sie unter Schriftart-Padding in Compose korrigieren. Wir werden den DefaultTextStyle ändern, um das Schriftarten-Padding in einer frühen Alphaversion 1.3 zu deaktivieren, damit die Android-Plattform einheitlicher wird. Damit werden einige Fälle von Textbeschneidung bei großen Schriftgrößen behoben. Dies kann sich auch auf das Bildschirm-Layout auswirken, sodass Screenshot-Tests aktualisiert werden müssen. Bei großen Schriftgrößen wird der Text beispielsweise abgeschnitten:

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

Die neue Einstellung kann jetzt übernommen werden, indem Sie die Typografie in Ihrem Theme überschreiben. 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
derCurvedModifier
-API hinzufügen, um die Winkelbreite in DP festzulegen (I89a52)
Fehlerkorrekturen
- Wir haben Probleme mit der Barrierefreiheit in unseren Zeitachsendemos(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 der Inhalt maximiert wird. Außerdem haben wir die Beispiele für Expandable-Anzeigen aktualisiert. (Iae309)
Fehlerkorrekturen
- Die maximierbaren Beispiele wurden verbessert, um mehr Möglichkeiten zu zeigen. Die Animation von
expandableItem
wurde so geändert, dass der Inhalt während der Animation zentriert bleibt. (I2f637) ToggleControls
wurde aktualisiert, um zusätzliche Neuzusammenstellungen zu vermeiden, wenn die Farben manuell mit „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 für erweiterbare Elemente (in Version 1.2.0-alpha06 hinzugefügt) von „material“ zu „foundation“ verschoben, da sie keinen sinnvollen Bezug zum
MaterialTheme
hatten. (Ib0525)
Fehlerkorrekturen
- Wir haben einen Absturz behoben, der auf einem Bildschirm mit
PickerGroup
aufgetreten ist. Dazu haben wir dafür gesorgt, dassPickerGroup
den Fokus richtig verarbeitet, wenn kein Picker den Fokus hat. Außerdem wurde die Unterstützung für das Scrollen mit dem RSB in unseren Picker-Demos hinzugefügt. (If8c19) - Wir haben die Übergänge zwischen den Dialogen verbessert. Der Intro-Übergang ist jetzt flüssiger und passt besser zum Outro-Übergang. (Ib5af9)
- Wir haben Wear Compose ein
DefaultTextStyle
hinzugefügt, das die PropertyPlatformTextStyle.includeFontPadding
standardmäßig auf „true“ setzt (das ist die aktuelle Einstellung). So können wir das standardmäßige Deaktivieren des Schriftarten-Padding in Zukunft mit den Compose-Bibliotheken synchronisieren. Weitere Informationen finden Sie unter Fix font padding in Compose. (I2aee8) - Eine
UpsideDownCake
-Vorschaubereitstellung über activity-compose wurde rückgängig gemacht, die die Veröffentlichung von Apps im Google Play Store blockiert 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
CurvedBox
-Komponente hinzu, mit der Komponenten in der gekrümmten Welt übereinander platziert werden. (I29200) - Erweiterbare Elemente hinzugefügt: Zwei neue Komponenten, die entweder eine Gruppe von erweiterbaren Elementen in einem
ScalingLazyColumn
oder ein einzelnes erweiterbares Element wie Text unterstützen, bei dem sich die Anzahl der Zeilen erhöht. (I95dd5) - Wir haben die folgenden benutzerdefinierten Anmerkungen zum Anzeigen von Composables auf Wear-Bildschirmen in der Vorschau hinzugefügt:
WearPreviewSmallRound
zeigt das Composable auf einem kleinen, runden Gerät in der Vorschau an,WearPreviewLargeRound
auf einem großen runden Gerät undWearPreviewSquare
auf einem quadratischen Gerät. Außerdem die folgenden Annotations für das Folgen und die Vorschau auf mehreren Geräten:WearPreviewFontScales
rendert die Composables auf einem Wear-Gerät mit mehreren Schriftgrößen, währendWearPreviewDevices
die Composables auf verschiedenen Wear-Geräten rendert. Um diese Vorschauversionen zu verwenden, benötigen Sie die aktuelle Version von Android Studio (Giraffe Canary 6) oder höher. Wenn diese Anmerkungen nicht Ihren Anforderungen entsprechen, können Sie die Vorschau trotzdem verwenden und sie über Parameter weiter anpassen. (I397ff) - Wir haben
HierarchicalFocusCoordinator
als experimentell markiert, da es aufgrund seiner breiten Anwendbarkeit in die Compose-Kernbibliotheken verschoben werden soll. (I3a768)
Fehlerkorrekturen
- Ein Fehler bei
HierarchicalFocusCoordinator
wurde behoben. Wenn die für den ParameterfocusEnabled
übergebene Lambda-Funktion geändert wird, wird jetzt die neue Funktion verwendet. (Icb353) - Wir haben die Standardfarbe für deaktivierte Inhalte in
Button
,CompactButton
,Chip
,CompactChip
undToggleButton
auf „Hintergrund“ aktualisiert, wenn Primärfarben als Hintergrund verwendet werden. Dadurch wird der Kontrast für eine bessere Barrierefreiheit erhöht. (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, um die Weitergabe der Mindestanforderungen an die Komponente optional zu ermöglichen. Wenn diese Option auf „true“ gesetzt ist, sind die Mindestbeschränkungen, die von der übergeordneten zusammensetzbaren Funktion übergeben werden, fürPickerGroup
zulässig. Wenn auf „false“ gesetzt, werden die Mindestanforderungen fürPickerGroup
zurückgesetzt. (I3e046) - Wir haben der Picker API
animateScrollToOption
hinzugefügt, um die programmatische Animation einer bestimmten Picker-Option (I6fe67) zu unterstützen.
Fehlerkorrekturen
- Wir haben
HorizontalPageIndicator
aktualisiert, um linksläufige Layouts zu unterstützen. (Ia4359) - Screenshot-Tests für das Layout von rechts nach links in
HorizontalPageIndicator
hinzugefügt (I6fbb8) 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
zum gleichzeitigen Verarbeiten mehrerer Auswahlfelder mit der Focus API. Sie steuert den Fokus zwischen den verschiedenen Auswahlfeldern, ermöglicht die automatische Zentrierung der Auswahlfelder basierend auf Parametern und ermöglicht Entwicklern, den Fokus zwischen verschiedenen Auswahlfeldern zu ändern, während die Ereignisse aus der Gruppe verarbeitet werden. Im Talkback-Modus wird der Talkback-Fokus durchPickerGroup
verwaltet, 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
enableRangeSemantics
-Parameter hinzugefügt, um das Deaktivieren der Standardbereichssemantik (Ia61d4) zu ermöglichen.
Fehlerkorrekturen
ScalingLazyColumn
darf in einer horizontal scrollenden Seite verschachtelt werden (Iec3f8, b/266555016)- Verbesserung der Stepper-Kdocs und Bereinigung der
StepperTest
-Tests. (Ic118e) - Die
androidx.navigation
-Abhängigkeit wurde auf Version 2.5.3 aktualisiert (If58ed).
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 zugehörige Klassen) vonandroidx.wear.compose.material.ScalingLazyColumn
zuandrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn
migriert. Hier finden Sie ein Beispiel für die Migration. Diese neue Position entspricht eher der voncompose.foundation.lazy.LazyColumn
und ist natürlicher, da es sich nicht um eine meinungsbasierte Material-Komponente handelt. 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 Modifier
ScrollAway
so aktualisiert, dass erScalingLazyListState
aus Wear ComposeFoundation.Lazy
verwendet. Die Überladung, dieScalingLazyListState
aus Wear Compose Material verwendet hat, ist jetzt veraltet. (Ifc42c) - Wir haben die Dialog-APIs so aktualisiert, dass sie
ScalingLazyListState
anstelle vonFoundation.Lazy
verwenden. Außerdem haben wir die Überladungen verworfen, die MaterialScalingLazyListState
(Ic8960) verwendet haben. - Wir haben die Picker APIs aktualisiert, sodass sie
ScalingParams
ausFoundation.Lazy
verwenden. Außerdem haben wir die Überladungen verworfen, die MaterialScalingParams
verwendet haben. (Idc3d8)
Fehlerkorrekturen
- Wir haben einen Fehler behoben, der unnötige Neuzusammenstellungen in
ScalingLazyListState.centerItemIndex
verursacht hat. Jetzt werden nur noch Updates 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 hinzugefügt (Ie00f9) - Wir haben einige interne
ScalingLazyColumn
-Klassenmethoden in Material aktualisiert, damit sie ihre Entsprechungen ausFoundation.Lazy
verwenden (I38aab). - Wir haben einige Probleme in Picker-Tests behoben und weitere Tests zum Prüfen des Scrollens mit Offset hinzugefügt (I6ac34).
- Wir haben die
ScalingLazyColumn
-Integrationsdemos so migriert, dass sie vonFoundation.Lazy
anstelle von MaterialScalingLazyColumn
(Ic6caa) abhängen. - 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 Leerlauf zu gelangen (z.B. über
waitForIdle
). Dies kann sich auf Tests auswirken, die einzelne Frames von Layoutanimationen bestätigen. (I8ea08, b/222093277) - Der Parameter
minLines
wird zu Wear Text hinzugefügt, um ein einheitliches Verhalten mitBasicText
zu ermöglichen (I24874). CompactChipTapTargetPadding
wurde öffentlich gemacht, damit es in der Dokumentation angezeigt wird (If1e70, b/234119038).
Fehlerkorrekturen
- Multiplattform-Builds für
wear.compose
-Pakete deaktivieren (Iad3d7) - Kdocs für
scrollToOption
korrigieren (I6f9a0) 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 Text-Jittering in der Komponente
Picker
behoben, indem wir die neue Compositing-Strategie vonModifier.graphicsLayer
genutzt haben. (I99302) - Wir haben einen Fehler behoben, der in unserer
DatePicker
-Demo (I660bd) zu Flimmern geführt hat. - Wir haben die Barrierefreiheit für die 12-Stunden-Demo für die Auswahl von Uhrzeit und Datum (I05e12) verbessert.
- Wir haben unsere Demos für die Zeit- und Datumsauswahl aktualisiert, sodass die Auswahlfelder nicht von Änderungen bei RSB 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 Platzhalterfunktion aktualisiert, sodass der „Wipe Off“-Effekt 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 Einblenden und Ausblenden überarbeitet. (I5a7f4)
API-Änderungen
- Wir haben eine
HierarchicalFocusCoordinator
-Composable-Funktion hinzugefügt, mit der Unterbäume der Komposition als „Fokus aktiviert“ oder „Fokus deaktiviert“ markiert werden können.(I827cb) - Wir haben eine neue Property hinzugefügt, mit der die semantische Rolle für
ToggleButton
überschrieben werden kann.(I67132) - Wir haben
TimeTextDefaults.TimeFormat12Hours
aktualisiert, um AM/PM inTimeText
zu entfernen. Dadurch wird der Standardwert vontimeSource
-Parametern in derTimeText
API geändert. (I1eb7f) - Wir haben die Picker API erweitert, um die Barrierefreiheit für Bildschirme mit mehreren Auswahlmöglichkeiten zu verbessern. Es gibt ein neues Attribut
userScrollEnabled
, mit dem gesteuert wird, ob die Auswahl für das Scrollen durch den Nutzer aktiv ist. (I3c3aa)
Fehlerkorrekturen
- Die Standardrahmenstärke für ein
OutlinedButton/OutlinedCompactButton
wurde von 2 dp auf 1 dp geändert, um den endgültigen UX-Spezifikationen zu entsprechen. (Icf84d) - Um den Effekt zu verringern, dass das erste Element, das einer leeren
ScalingLazyColumn
hinzugefügt wird, so aussieht, als würde es an seinen Platz gescrollt, haben wir eine geschätzteautoCentering topPadding
hinzugefügt, wenn der Inhalt leer ist. Bei dieser Änderung wird der erforderliche obere Innenabstand berechnet, indem von einem ersten Element mit einer Höhe von 0 dp ausgegangen wird. BeiScalingLazyListAnchorType.ItemStart
wird der richtige obere Abstand berechnet. BeiScalingLazyListAnchorType.ItemCenter
ist die Berechnung falsch, da die Höhe der Elemente erforderlich ist, um die Größe des Inhalts richtig zu bestimmen. Dies führt zu einem kleinen Scroll-in-Place-Effekt basierend auf der tatsächlichen Höhe der Elemente.(I239a4) - Wir haben den Hintergrund-Scrim, der auf die
SwipeToDismiss
-Animation angewendet wird, an die Wear-Plattform angepasst. (I9003e) - Wir haben die
PositionIndicator
-Verarbeitung vonLazyListState
undScalingLazyListState
für Listenelemente 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 veröffentlicht. Version 1.1.2 enthält diese Commits.
Fehlerkorrekturen
- Wir haben einen Fehler behoben, der unnötige Neuzusammenstellungen in
ScalingLazyListState.centerItemIndex
verursacht hat. Jetzt werden nur noch 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 veröffentlicht. 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 veröffentlicht. Version 1.1.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.0.0
- Stabile Version von Compose for Wear OS 1.1.0 (weitere Informationen)
- Eine Liste der wichtigsten Änderungen in Wear Compose 1.1 finden Sie in den Versionshinweisen zu Compose for Wear OS 1.1 Beta01.
Neue Funktionen
- Wir haben die experimentelle Platzhalterfunktion aktualisiert, sodass der „Wipe Off“-Effekt 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 Einblenden und Ausblenden überarbeitet. (I5a7f4)
Fehlerkorrekturen
- Die Standardrahmenstärke für ein
OutlinedButton/OutlinedCompactButton
wurde von 2 dp auf 1 dp geändert, um den endgültigen UX-Spezifikationen zu entsprechen. (Icf84d) - Um den Effekt zu verringern, dass das erste Element, das einer leeren
ScalingLazyColumn
hinzugefügt wird, so aussieht, als würde es an seinen Platz gescrollt, haben wir eine geschätzteautoCentering topPadding
hinzugefügt, wenn der Inhalt leer ist. Bei dieser Änderung wird der erforderliche obere Innenabstand berechnet, indem von einem ersten Element mit einer Höhe von 0 dp ausgegangen wird. BeiScalingLazyListAnchorType.ItemStart
wird der richtige obere Abstand berechnet. BeiScalingLazyListAnchorType.ItemCenter
ist die Berechnung falsch, da die Höhe der Elemente erforderlich ist, um die Größe des Inhalts richtig zu bestimmen. Dies führt zu einem kleinen Scroll-in-Place-Effekt basierend auf der tatsächlichen Höhe der Elemente.(I239a4) - Wir haben den Hintergrund-Scrim, der auf die
SwipeToDismiss
-Animation angewendet wird, an die Wear-Plattform angepasst.(I9003e) - Wir haben die
PositionIndicator
-Verarbeitung vonLazyListState
undScalingLazyListState
für Listenelemente 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 veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Wir haben Regeln für das Baseline-Profil für
Placeholders
,ScrollAway
,RadioButton
,Switch
,Checkbox
,OutlinedButton
,OutlinedCompactButton
,OutlinedChip
undOutlinedCompactChip
hinzugefügt. (I8249c) - Wir haben einen Fehler in
Modifier.scrollAway
behoben. Wenn der angegebeneitemIndex
ungültig ist (z. B. wenn der Artikelindex außerhalb des gültigen Bereichs liegt), wird derTimeText
jetzt trotzdem angezeigt. (I2137a) - Wir haben die
SwipeToDismissBox
-Animation an die Plattformimplementierung angepasst. Nach der anfänglichen Squeeze-Animation wird der Bildschirm jetzt nach rechts geschoben, sobald das Schließen ausgelöst wurde. (I41d34) - Zur Optimierung haben wir
Modifier.scrollAway
so aktualisiert, dass nurscrollState
innerhalb des Messblocks gelesen wird. So wird der Modifier nicht nach jeder erneuten Messung neu zusammengesetzt. (I4c6f1) - Wir haben der Dokumentation und dem Beispiel für Platzhalter die richtige Reihenfolge für
Modifier.placeholder
undModifier.placeholderShimmer
hinzugefügt, wenn sie auf dasselbe Composable angewendet werden. (Ie96f4, b/256583229) - Die Standardrahmenstärke für ein
OutlinedCompactChip/OutlinedChip
wurde 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 Composables nach Änderungen an den Eingaben nicht aktualisiert wurden. (I49ff6, b/255323197) - Wir haben einige Änderungen an der Benutzeroberfläche der Platzhalter vorgenommen: 1) Der Shimmer-Verlauf ist jetzt 1,5-mal so groß wie der Bildschirm. 2) Der Shimmer-Verlauf wird jetzt mit einer kubischen Bézierkurve animiert. 3) Die Wipe-off-Animation wurde beschleunigt (250 ms). (Id29c1)
- Wir haben einen UI-Fehler im Platzhaltereffekt „WipeOff“ behoben, bei dem Chip- und Kartenhintergründe etwas zu früh ausgeblendet wurden, da die Position der Komponente auf dem Bildschirm nicht berücksichtigt wurde. (I2c7cb)
- Wir haben die Darstellung des Platzhalterhintergrunds aktualisiert, um Farben nach Möglichkeit zusammenzuführen, anstatt sie übereinander zu legen. So wird das Risiko verringert, dass die Alpha-Überblendung der verschiedenen zugeschnittenen Ebenen dazu führt, dass die darunter liegenden Farben an den Rändern des Platzhalterhintergrunds durchscheinen. (I2ea26)
- Wir haben die Berechnung von
ScalingLazyListState.centerItemIndex/centerItemOffset
korrigiert. Wenn sich zwei Artikel auf beiden Seiten der Mittellinie des Viewports befinden, wird der Artikel, der am nächsten ist, alscenterItem
betrachtet. (I30709, b/254257769) - Wir haben einen Fehler in
ScalingLazyListState.layoutInfo.visibleItemsInfo
behoben, der während der Initialisierung vonScalingLazyColumn
zu falschen Offsets geführt hat. Jetzt wird eine leere Liste zurückgegeben, bis alle Listenelemente sichtbar sind und die richtigen Offsets haben. Wenn Sie nachScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty()
suchen, wird bestätigt, dass die Initialisierung vonScalingLazyColumn
abgeschlossen ist und 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 veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.
Neuerungen in Compose für Wear OS 1.1
Mit der Version 1.1.0-beta01 von Compose für Wear OS wurde darauf hingewiesen, dass diese Version der Bibliothek alle Funktionen enthält und die API gesperrt ist.
- Die Version 1.1 von Wear Compose enthält die folgenden neuen Funktionen:
- Auswahltool – Verbesserungen bei der Bedienungshilfe für das Auswahltool, sodass Bildschirme mit mehreren Auswahlmöglichkeiten mit Screenreadern navigiert werden können und die Inhaltsbeschreibung zugänglich ist
- Der Parameter „Picker“
contentDescription
wird jetzt nur für die ausgewählte Picker-Option verwendet und akzeptiert einen String, der null sein kann. Im vorherigen Commit musste eine Zuordnung von der Option zur Inhaltsbeschreibung übergeben werden, aber nur die ausgewählte Option wurde verwendet. - Auswahlelemente sind jetzt immer zentriert ausgerichtet. Damit wird ein Fehler behoben, bei dem das Festlegen von
gradientRatio
auf null die Ausrichtung geändert hat. Chip/ToggleChip
: Die Standardverläufe fürChip/ToggleChip
wurden aktualisiert, um sie an die aktuelle UX-Spezifikation anzupassen.ChipDefaults.gradientBackgroundChipColors
beginnt jetzt bei 50% der Primärfarbe anstatt bei 32,5%.Chip/ToggleChip
– Überladungen zum Ändern von Chip-Formen hinzugefügtChip/Button/ToggleButton
: Für Chips und Schaltflächen wurde ein neuer Stil mit Umrisslinie hinzugefügt. Außerdem gibt es neueOutlinedChip
- undOutlinedButton
-Composables, die einen transparentenChip/Button
mit einem dünnen Rahmen bieten.- Karte: Die Standard-Farbverläufe für Karten wurden aktualisiert, um sie an die aktuelle UX-Spezifikation anzupassen.
CardDefaults.cardBackgroundPainter
beginnt jetzt bei 30% der primären Farbe und endet bei 20% vononSurfaceVariant
(zuvor 20% bis 10% vononSurfaceVariant
).ToggleChip.toggleChipColors
ändert sich von einem linearen Farbverlauf von 75% der Hintergrundfarbe zu 32,5% der primären Farbe zu 0% der Hintergrundfarbe zu 50% der primären Farbe. Button/ToggleButton
: Es wurden Eigenschaften zum Ändern von Schaltflächenformen hinzugefügt.- Design: Wir haben einige der Standardfarben in
MaterialTheme
aktualisiert, um die Barrierefreiheit zu verbessern. Die ursprünglichen Farben hatten nicht genügend Kontrast, sodass Nutzer Schwierigkeiten hatten, Chip-, Karten- und Schaltflächenhintergründe von der Hintergrundfarbe des Designs zu unterscheiden. InlineSlider/Stepper
– Schaltflächenrollen wurden hinzugefügt, damitTalkback
sie als Schaltflächen erkennen kann.- Gerüst –
PositionIndicator
wird jetzt so positioniert und skaliert, 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 Grenzen desPositionIndicator
auf dem Bildschirm. CurvedText/TimeText
:Modifier.scrollAway
wurde hinzugefügt. Damit wird ein Element basierend auf dem Scrollstatus vertikal in den sichtbaren Bereich oder aus dem sichtbaren Bereich gescrollt (mit Überladungen für die Verwendung mitColumn
,LazyColumn
undScalingLazyColumn
).ScrollAway
wird in der Regel verwendet, um einTimeText
aus dem sichtbaren Bereich zu scrollen, 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
–fontWeight
wurde dem Konstruktor und der Kopiermethode fürCurvedTextStyle
hinzugefügt.ToggleControls
: Es wurden animierte Ein/Aus-Schaltflächen fürCheckbox
,Switch
undRadioButton
zur Verwendung mitToggleChip
undSplitToggleChip
hinzugefügt. Diese können anstelle der statischen Symbole verwendet werden, die vonToggleChipDefaults
bereitgestellt werden (switchIcon
,checkboxIcon
undradioIcon
).- Platzhalter – Unterstützung für experimentelle Platzhalter hinzugefügt. Dieser Effekt besteht aus drei verschiedenen visuellen Elementen, die zusammenwirken.
- Erstens ein Platzhalter-Hintergrundpinsel-Effekt, der in Containern wie Chips und Karten verwendet wird, um den normalen Hintergrund zu überzeichnen, während auf das Laden von Inhalten gewartet wird.
- Zweitens ein Modifikator (
Modifier.placeholder()
), um ein Platzhalter-Widget in Stadionform über den geladenen Inhalten zu zeichnen. - Drittens ein Modifikatorgradient/Schimmereffekt (
Modifier.placeholderShimmer()
), der über die anderen Effekte gezeichnet wird, um Nutzern anzuzeigen, dass wir auf das Laden von Daten warten.- Alle diese Effekte sind so konzipiert, dass sie koordiniert und auf orchestrierte Weise ein- und ausgeblendet werden.
- Core Compose-Abhängigkeiten 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 haben einen entsprechend großen und platzierten (aber leeren) Compose-UI-Knoten, der mit ihnen verknüpft ist und den Text als Inhaltsbeschreibung verwendet. (I7af7c, b/210721259)- Fehlerkorrektur für
Picker
beiPickerState.repeatedItems = false
, um eine explizite Einstellung der autoCentering-Parameter für die interneScalingLazyColumn
von Pickers hinzuzufügen, damit die Option mit dem Index 0 in der 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 veröffentlicht. Version 1.1.0-alpha07 enthält diese Commits.
Neue Funktionen
- Wir haben die Unterstützung für experimentelle Platzhalter hinzugefügt. Dieser Effekt besteht aus drei verschiedenen visuellen Elementen, die zusammenwirken. Erstens ein Platzhalter-Hintergrundpinsel-Effekt, der in Containern wie Chips und Karten verwendet wird, um den normalen Hintergrund zu überzeichnen, während auf das Laden von Inhalten gewartet wird. Zweitens ein Modifikator (
Modifier.placeholder()
), um ein Platzhalter-Widget in Stadionform über den geladenen Inhalten zu zeichnen. Drittens ein Modifikatorgradient/Schimmereffekt (Modifier.placeholderShimmer()
), der über die anderen Effekte gezeichnet wird, um Nutzern anzuzeigen, dass wir auf das Laden von Daten warten. Alle diese Effekte sind so konzipiert, dass sie koordiniert und auf orchestrierte Weise ein- und ausgeblendet werden. (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 gebogenen Text angeben.(Iaa1a8),(I72759) - Der Offset-Parameter von
Modifier.scrollAway
wurde auf „Dp“ aktualisiert, um ihn anModifier.offset
anzugleichen (zuvor war er in Pixeln angegeben). Außerdem wurde sie zur Effizienzsteigerung alsLayoutModifier
umgestaltet. (I9f94b) - Im Rahmen der neuen API für Ein/Aus-Schalter haben wir
RadioButton’s circleColor
inringColor
umbenannt. (I28fa9) - Wir haben animierte
Checkbox
-,Switch
- undRadioButton
-Schaltflächen für die Verwendung mitToggleChip
undSplitToggleChip
hinzugefügt. Diese können anstelle der statischen Symbole verwendet werden, die vonToggleChipDefaults
bereitgestellt werden (switchIcon
,checkboxIcon
undradioIcon
). (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 veröffentlicht. Version 1.1.0-alpha06 enthält diese Commits.
Neue Funktionen
- Wir haben
Modifier.scrollAway
hinzugefügt, mit dem ein Element basierend auf dem Scrollstatus vertikal in die Ansicht gescrollt oder aus der Ansicht gescrollt wird (mit Überladungen für die Verwendung mitColumn
,LazyColumn
undScalingLazyColumn
).ScrollAway
wird in der Regel verwendet, um einTimeText
aus der Ansicht zu scrollen, wenn der Nutzer beginnt, eine Liste von Elementen nach oben zu scrollen. (I61766)
Fehlerkorrekturen
- Das
PositionIndicator
wird jetzt so positioniert und skaliert, 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 Grenzen 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 veröffentlicht. Version 1.1.0-alpha05 enthält diese Commits.
Fehlerkorrekturen
InlineSlider
undStepper
wurden Schaltflächenrollen hinzugefügt, damit Talkback sie als Schaltflächen erkennen kann. (Icb46c, b/244260275)- Wir haben die Z-Reihenfolge von Positions- und Seitenindikatoren im Scaffold korrigiert. Die Anzeigen werden jetzt über der Vignette platziert und sind daher nicht verdeckt, wenn 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 veröffentlicht. 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 nicht genügend Kontrast, sodass Nutzer Schwierigkeiten hatten, Chip-, Karten- und Schaltflächenhintergründe von der Hintergrundfarbe des Designs zu unterscheiden. Die aktualisierten Farben sind „surface“ (0xFF202124->0xFF303133), „onPrimary“ (0xFF202124->0xFF303133), „onSecondary“ (0xFF202124->0xFF303133), „primaryVariant“ (0xFF669DF6->0xFF8AB4F8) und „onError“ (0xFF202124->0xFF000000). Die Farbänderungen sind zwar relativ gering, können sich aber auf vorhandene Screenshot-Tests auswirken. (81ab09)
Fehlerkorrekturen
- Ein Logikfehler in
ScalingLazyColumn
wurde behoben, der dazu führen konnte, dass Listen mit einer kleinen (in der Regel genau zwei) Anzahl von Listenelementen nicht 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 veröffentlicht. Version 1.1.0-alpha03 enthält diese Commits.
Neue Funktionen
- Wir haben einen neuen umrissenen Stil für
Chips
undButtons
sowie neueOutlinedChip
- undOutlinedButton
-Composables hinzugefügt, die eine transparenteChip/Button
mit einem dünnen Rahmen bieten. (Id5972)
API-Änderungen
- Überladungen zum Ändern von Schaltflächenformen hinzugefügt (Icccde)
Fehlerkorrekturen
- Wir haben die Größe des Ein/Aus-Schalterbereichs von
ToggleChip
korrigiert, da sie nicht der UX-Spezifikation entsprach. Die UX-Spezifikation sieht einen Abstand von 4 dp zwischen dem Label und einem 24 × 24 dp großen Ein/Aus-Schaltersymbolbereich vor, was einer Gesamtbreite von 28 dp entspricht. Bei der Implementierung wird jedoch fälschlicherweise ein Umschaltbereich von 36 × 24 dp angegeben. Dadurch werden 8 dp des nutzbaren Textlabelbereichs entfernt. HINWEIS: Durch diesen Fehlerbehebungs-Patch wird zusätzlicher Platz für das Textlabel geschaffen. Dies kann sich (positiv) auf das Textlayout für überlaufenden Text auswirken. Wenn Sie Screenshot-Tests 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 veröffentlicht. Version 1.1.0-alpha02 enthält diese Commits.
Neue Funktionen
- Wir haben die Compose for Wear OS-Abhängigkeiten von den Core-Compose-Bibliotheken von Version 1.2.0 auf Version 1.3.0-alpha0X umgestellt.
API-Änderungen
- Überladungen zum Ändern von Chipformen hinzugefügt (I02e87)
Fehlerkorrekturen
- Wir haben die Sichtbarkeit der Vignette beim Einblenden/Ausblenden des Dialogfelds animiert, um sie an die vorhandene Skalierungsanimation anzupassen. (Ida33e)
- Wir haben einen Fehler behoben, der bei einigen Wischvorgängen beim Scrollen zu einer Division durch Null führen 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 veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.
API-Änderungen
- Der Parameter
contentDescription
der Auswahl wird jetzt nur für die ausgewählte Auswahloption verwendet und akzeptiert einen String, der Nullwerte zulässt. Zuvor war es erforderlich, eine Zuordnung von der Option zur Inhaltsbeschreibung zu übergeben, aber nur die ausgewählte Option wurde verwendet. (Ife6a7) - Wir haben die Barrierefreiheit von Picker verbessert, sodass Bildschirme mit mehreren Auswahlmöglichkeiten mit Screenreadern navigiert werden können und die Inhaltsbeschreibung zugänglich ist (I64edb).
Fehlerkorrekturen
- Wir haben die mit der Wear Compose-Bibliothek (I9c694) bereitgestellten Regeln für das Baseline-Profil aktualisiert.
- Wir haben die Richtung des Verlaufs für Chips im Rechts-links-Modus korrigiert. Die Richtung wurde von oben links –> unten rechts zu oben rechts –> unten links geändert. (Ic2e77)
- Wir haben die Standardverläufe für
Chip/ToggleChip/Card
aktualisiert, um sie an die neuesten UX-Spezifikationen anzupassen.ChipDefaults.gradientBackgroundChipColors
beginnt jetzt bei 50% der Primärfarbe anstatt bei 32,5%.CardDefaults.cardBackgroundPainter
wurde aktualisiert und beginnt bei 30% der Primärfarbe und endet bei 20% vononSurfaceVariant
(zuvor 20% bis 10%onSurfaceVariant
).ToggleChip.toggleChipColors
ändert sich von einem linearen Farbverlauf von 75% Hintergrundfarbe zu 32,5% Primärfarbe zu 0% Hintergrundfarbe zu 50% Primärfarbe. (I43bbd) - Wir haben eine Hintergrundfarbe (
MaterialTheme.color.surface
) hinterChip/ToggleChips
mit Verlaufs-Hintergründen hinzugefügt, damit sie auch dann gut sichtbar sind, wenn eine helle Farbe als Hintergrund verwendet wird. (Ibe1a4, b/235937657) - Auswahlelemente sind jetzt immer zentriert ausgerichtet. Damit wird ein Fehler behoben, bei dem das Festlegen von
gradientRatio
auf null die Ausrichtung geändert hat. (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 veröffentlicht. Version 1.0.2 enthält diese Commits.
Fehlerkorrekturen
- Wir haben die Z-Reihenfolge von Positions- und Seitenindikatoren im Scaffold korrigiert. Die Anzeigen werden jetzt über der Vignette platziert und sind daher nicht verdeckt, wenn 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 veröffentlicht. Version 1.0.1 enthält diese Commits.
Fehlerkorrekturen
- Ein Logikfehler in
ScalingLazyColumn
wurde behoben, der dazu führen konnte, dass Listen mit einer kleinen (in der Regel genau zwei) Anzahl von Listenelementen nicht 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 veröffentlicht. Version 1.0.0 enthält diese Commits.
Wichtige Funktionen von Version 1.0.0
- Dies ist die erste stabile Version von Compose für Wear OS (weitere Informationen).
- Compose für Wear OS basiert auf den Compose-Kernbibliotheken und bietet zusätzliche tragbare Komponenten sowie, falls zutreffend, alternative Implementierungen von Compose-Kernkomponenten, die auf Wearables zugeschnitten sind.
- Eine Liste der wichtigsten Komponenten in Wear Compose finden Sie in den Versionshinweisen für Compose for Wear OS Beta01.
Fehlerkorrekturen
- Wir haben die Sichtbarkeit der Vignette beim Einblenden/Ausblenden des Dialogfelds animiert, um sie an die vorhandene Skalierungsanimation anzupassen. (Ida33e)
- Wir haben einen Fehler behoben, der bei einigen Wischvorgängen beim Scrollen zu einer Division durch Null führen 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 veröffentlicht. Version 1.0.0-rc02 enthält diese Commits.
Fehlerkorrekturen
- Wir haben die Richtung des Farbverlaufs für Karten im RTL-Modus (von rechts nach links) korrigiert. Bisher war es oben links –> unten rechts, jetzt ist es oben rechts –> unten links. (Ic2e77)
- Wir haben die Standardverläufe für
Chip/ToggleChip/Card
aktualisiert, um sie an die neuesten UX-Spezifikationen anzupassen.ChipDefaults.gradientBackgroundChipColors
beginnt jetzt bei 50% der Primärfarbe statt bei 32,5%.CardDefaults.cardBackgroundPainter
wurde aktualisiert und beginnt jetzt bei 30% der Primärfarbe 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är zu 0% Oberfläche zu 50% primär. (I43bbd) - Wir haben eine Hintergrundfarbe (
MaterialTheme.color.surface
) hinterChip/ToggleChips
mit Verlaufs-Hintergründen hinzugefügt, damit sie auch dann gut sichtbar sind, wenn eine helle Farbe als Hintergrund verwendet wird. (Ibe1a4, b/235937657) - Wir haben die mit der Wear Compose-Bibliothek (I9c694) bereitgestellten Regeln für das Baseline-Profil aktualisiert.
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 veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.
API-Änderungen
- Schnittstellen in Compose-Bibliotheken werden jetzt mit den Standard-Schnittstellenmethoden von JDK8 erstellt (I5bcf1).
Fehlerkorrekturen
- Wir haben den expliziten Aufruf von
fillMaxWidth()
im Listenheader entfernt, da er nicht erforderlich ist und zu Problemen führen kann, wenn einScalinglazyColumn
eine Mischung ausListHeader()
- undChip()
-Komponenten enthält. Die Breite wird dann tendenziell größer oder kleiner, wennListHeader
-Elemente ein- oder ausgeblendet werden. (I37144, b/235074035) - Wir haben einen Fehler in der
ScalingLazyColumn
behoben, der dazu führen konnte, dass die Listenelemente erst nach dem Scrollen richtig gerendert wurden, wenn das 0. Listenelement groß genug war (einschließlich Padding) (Ic6159, b/234328517). - Wir haben die
ScalingLazyColumn
-Funktion leicht angepasst, wenn Elemente den Bildschirmrand erreichen, um den 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 Innenabstand hinzugefügt, damit die Größe des Tippbereichs mindestens 48 dp hoch ist und den Material-Richtlinien für Bedienungshilfen entspricht. Das kann sich auf alle Layouts auswirken, in denen SieCompactChips
verwenden, da sie zusätzlichen Platz einnehmen. (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 veröffentlicht. Version 1.0.0-beta03 enthält diese Commits.
Neue Funktionen
- Wir haben dafür gesorgt, dass
ScalingLazyColumn
im Modus „Compose@Preview
“ funktioniert. (I3b3b6, b/232947354)
API-Änderungen
- Wir haben den Standardwert für die Eigenschaft
ScalingLazyColumn.horizontalAlignment
von „Start“ inCenterHorizontally
geändert, damit Listenelemente, die nicht die gesamte Breite der Spalte ausfüllen, für maximale Sichtbarkeit ausgerichtet werden. So wechseln Sie zurück zum vorherigen VerhaltenssatzhorizontalAlignment = Alignment.Start
: (I9ed4b)
Bekannte Probleme
- Die Tipp-/Berührungshöhe von „CompactChip“ ist kleiner als in den Material-Richtlinien für Bedienungshilfen angegeben. Dies wird im nächsten Release (15. Juni) korrigiert. Wenn Sie CompactChip verwenden, wirkt sich das auf Ihre Layouts aus, da CompactChips jetzt oben und unten zusätzlichen Abstand haben. Passen Sie Ihre Layouts an und testen Sie sie oder sehen Sie sich die Fehlerkommentare an, um eine Problemumgehung für das bisherige Verhalten zu finden. (b/234332135)
Fehlerkorrekturen
- Neue Demo zum Animieren des Hinzufügens oder Entfernens eines Starttexts in einem
TimeText
. (I16d75) - Tests für
HorizontalPageIndicator.PagesState
hinzufügen (I64ed0) TimeText
wird näher an die UX-Spezifikationen angepasst (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 veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.
Neue Funktionen
- Die Auswahl reagiert jetzt immer auf Scroll-Ereignisse, auch im Nur-Lese-Modus. So müssen Nutzer nicht erst auf eine Auswahl tippen, bevor sie scrollen können. Im schreibgeschützten Modus werden andere Optionen als die aktuell ausgewählte durch ein Shim in
gradientColor
verdeckt. (I72925) - Wir haben das UX-Verhalten von
Chip/ToggleChip/CompactChip/SplitToggleChip
geändert, damitfillMaxWidth
nicht mehr standardmäßig ausgeführt wird. Stattdessen werden sie so groß, dass sie ihren Inhalt aufnehmen können. Wenn Sie das bisherige Verhalten beibehalten möchten, fügen Sie einfachmodifier = Modifier.fillMaxWidth()
(I60a2c, b/232206371) hinzu.
Fehlerkorrekturen
- Der
CurvedTextStyle
-Konstruktor, der einTextStyle
akzeptiert, berücksichtigt jetzt auchfontWeight
. (Dies kann in zukünftigen Überarbeitungen der API dem Konstruktor und den Kopiermethoden hinzugefügt werden.) (Ieebb9) - Verbesserungen beim Wischen am Displayrand. Wenn
Modifier.edgeSwipeToDismiss
verwendet wird und ein Wischen nach links vom Randbereich aus erfolgt, wird das Schließen durch Wischen nicht mehr ausgelöst, wenn sich die Wischrichtung nach rechts ändert. Bisher war es möglich, das Schließen durch Wischen auszulösen, indem man zuerst nach links und dann nach rechts wischte.(I916ea) HorizontalPageIndicator
zeigt jetzt bis zu 6 Seiten auf dem Bildschirm an. Wenn es insgesamt mehr als sechs Seiten gibt, wird links oder rechts eine halb so große Anzeige mit einem sanften Übergang zwischen den Seiten eingeblendet.(I2ac29)- Verbessertes Standardverhalten beim Einrasten auf
ScalingLazyColumn
undPicker
(I49539) - Verbesserungen beim Wischen am Displayrand. Wenn
Modifier.edgeSwipeToDismiss
verwendet wird, wird das Schließen durch Wischen nur ausgelöst, wenn die erste Berührung am Rand erfolgt und nach rechts gewischt wird. Zuvor war es möglich, das Schließen durch Wischen auszulösen, indem man von einem beliebigen Teil des Bildschirms aus wischte, wenn ein Scrollen den Anfang erreichte.(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 veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.
Inhalte von Compose für Wear OS 1.0
Die 1.0.0-beta01
von Compose for Wear OS ist ein wichtiger Meilenstein, da die Bibliothek alle Funktionen bietet und die API gesperrt ist.
Die Wear Compose Material-Komponenten in Version 1.0 umfassen:
- Material-Theme: Wird als Ersatz für
MaterialTheme
in Compose for Mobile verwendet und bietet die Farben, Formen und Typografie zum Erstellen von Komponenten auf Wearables, die die UX-Richtlinien von Wear Material Design sofort implementieren. Button
,CompactButton
undToggleButton
: Die Schaltfläche bietet einen einzelnen Slot für ein Symbol, ein Bild oder einen kurzen Text (maximal 3 Zeichen). Kreisförmig mit 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 kreisförmig mit einer sehr kleinen Hintergrundgröße.CompactButton
hat optional eine transparente Polsterung um den Hintergrund, die den anklickbaren Bereich vergrößert.ToggleButton
ist eine Schaltfläche, die einen einzelnen Slot für beliebige Inhalte (kurzer Text, Symbol oder Bild) bietet und Ein/Aus-Zustände (aktiviert/deaktiviert) mit Farben und verschiedenen Symbolen hat, um anzuzeigen, ob sie aktiviert ist oder nicht.- Karten: Dienen zur Anzeige von Informationen zu Anwendungen, z. B. Benachrichtigungen. Flexibles Design für verschiedene Anwendungsfälle mit
AppCard
undTitleCard
, die unterschiedliche Layouts und Unterstützung für Bilder als Karteninhalte oder Hintergründe bieten. - 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 aktivierten/deaktivierten Zustand und einem zusätzlichen
ToggleControl
-Slot, in dem ein Symbol wie ein Schalter oder ein Optionsfeld angezeigt wird, um den aktivierten Zustand der Komponente zu kennzeichnen. Außerdem hat dasSplitToggleChip
zwei Bereiche, die durch Tippen aktiviert werden können: einen, der angeklickt werden kann, und einen, der umgeschaltet werden kann. - CircularProgressIndicator: Wear Material-Fortschrittsanzeige mit zwei Varianten. Die erste gibt den Anteil der Fertigstellung einer laufenden Aufgabe an und unterstützt eine Lücke auf der kreisförmigen Linie zwischen Start- und Endwinkel. Die zweite zeigt einen unbestimmten Fortschritt für eine nicht angegebene Wartezeit an.
- „curvedText“ ist Teil der DSL zur Beschreibung von
CurvedLayouts
zusammen mitcurvedRow
undcurvedColumn
, um Komponenten auf runden Geräten anzuordnen. Weitere Informationen zuCurvedLayout
undCurvedModifier
finden Sie unten unter „Wear Component Foundation“. Sie spielen eine ähnliche Rolle wie Modifiers in der nicht gekrümmten Welt und ermöglichen die Konfiguration verschiedener Aspekte von Layout, Padding, Verläufen usw. - Dialog, Warnung und Bestätigung: Im Dialog wird ein Vollbilddialogfeld angezeigt, das über allen anderen Inhalten liegt und durch Wischen geschlossen werden kann. Es wird ein einzelner Slot verwendet, der Wear Material-Dialoginhalte wie „Alert“ oder „Confirmation“ enthalten soll. „Alert“ ist ein Dialogfeld mit Meinungsäußerung, das Platzhalter für Symbol, Titel und Nachricht enthält. Es gibt Überladungen für zwei nebeneinander angezeigte negative und positive Schaltflächen oder einen Slot für einen oder mehrere vertikal gestapelte Chips. Bestätigungen sind Dialoginhalte, die eine Nachricht für einen bestimmten Zeitraum anzeigen. Sie hat einen Platzhalter für ein Symbol oder Bild (das animiert sein kann).
- „HorizontalPageIndicator“: Zeigt die horizontale Seitenposition in einer für den Wearable-Formfaktor geeigneten Weise an. Für das gesamte Display konzipiert und zeigt auf runden Geräten einen gebogenen Indikator an. Kann mit dem Accompanist-Seitenbetrachter verwendet werden.
- Symbol: Eine Wear-Implementierung von „Icon“, bei der Farbe und Alpha aus dem Wear Material-Design übernommen werden. Informationen zu klickbaren Symbolen finden Sie unter „Schaltfläche“ oder „Chip“.
- Auswahlfeld: Hier wird eine scrollbare Liste mit Elementen angezeigt, aus denen Sie auswählen können. Standardmäßig werden Elemente in beide Richtungen „unendlich“ wiederholt. Kann im Lesemodus angezeigt werden, um nicht ausgewählte Optionen auszublenden.
- PositionIndicator: Zeigt die Scrollposition oder eine andere Positionsangabe in einer für Wearables geeigneten Form an. Für den Vollbildmodus konzipiert und zeigt auf runden Geräten einen gebogenen Indikator an.
- Scaffold: Implementiert die grundlegende visuelle Layoutstruktur von Wear Material Design. Diese Komponente bietet eine API, mit der mehrere Wear Material-Komponenten (z. B.
TimeText
,PositionIndicator
undVignette
) zusammengestellt werden können, um den Bildschirm zu erstellen. Außerdem wird eine geeignete Layoutstrategie für die Komponenten festgelegt und es werden die erforderlichen Daten erhoben, damit die Komponenten richtig zusammenarbeiten. - „ScalingLazyColumn“: Eine scrollbare Liste mit Skalierungs-/Fischaugeneffekt, die einen wichtigen Teil der Wear Material Design-Sprache bildet. Bietet Skalierungs- und Transparenzeffekte für die Inhaltselemente.
ScalingLazyColumn
ist so konzipiert, dass potenziell große Mengen an Inhaltselementen verarbeitet werden können, die nur bei Bedarf materialisiert und zusammengestellt werden. - Schieberegler: Damit können Nutzer einen Wert aus einem Wertebereich auswählen. Der Auswahlbereich wird als Balken dargestellt, der optional mit Trennzeichen angezeigt werden kann.
- Stepper: Eine Vollbildkomponente, mit der Nutzer einen Wert aus einem Bereich auswählen können. Dazu verwenden sie die Schaltflächen zum Erhöhen und Verringern oben und unten auf dem Bildschirm. In der Mitte befindet sich ein Slot für Text oder ein Chip.
- „SwipeToDismissBox“: Diese Komponente verarbeitet die Wischgeste zum Schließen. Es wird ein einzelner Slot für den Hintergrund (nur während der Wischbewegung angezeigt) und die Vordergrundinhalte verwendet. Kann optional mit der androidx-Navigationsbibliothek kombiniert werden, indem
SwipeDismissableNavHost
verwendet wird (siehe Wear Compose Navigation-Bibliothek unten). - Text: Eine Wear-Implementierung der Compose Material Text-Komponente, bei der Farbe und Alpha aus dem Wear Material-Design übernommen werden.
- „TimeText“: Eine Komponente, mit der oben auf dem Bildschirm die Uhrzeit und der Anwendungsstatus angezeigt werden. Passt sich an die Bildschirmform an, indem auf runden Bildschirmen gebogener Text verwendet wird.
Vignette: Eine Bildschirmbehandlung für die Verwendung im Scaffold, bei der der obere und untere Bildschirmrand verschwommen dargestellt werden, wenn scrollbare Inhalte verwendet werden.
Die folgenden Komponenten sind ebenfalls in Wear Compose Foundation enthalten:
„CurvedLayout“ – Wear Foundation
CurvedLayout
ist ein Layout-Composable, mit dem untergeordnete Elemente in einem Bogen platziert und bei Bedarf gedreht werden. Dies ähnelt einem Zeilenlayout, das in ein Segment eines Kreisrings gekrümmt ist. Der Inhalt vonCurvedLayout
ist keine zusammensetzbare Lambda-Funktion, sondern eine DSL (domänenspezifische Sprache). Alle Elemente in der DSL von „CurvedLayout“ unterstützen einen optionalen Modifikatorparameter, der ausCurvedModifier
erstellt wird.basicCurvedText: ein Element in der
CurvedLayout
-DSL. MitbasicCurvedText
können Entwickler ganz einfach gebogenen Text schreiben, der der Krümmung eines Kreises folgt (normalerweise am Rand eines runden Displays).basicCurvedText
kann nur innerhalb vonCurvedLayout
erstellt werden, um eine optimale Nutzererfahrung zu gewährleisten. So können Sie beispielsweise die Positionierung angeben undCurvedModifiers
verwenden. In den meisten Fällen sollte stattdessen „curvedText“ verwendet werden, da es Material-Theming nutzt.curvedComposable: umschließt normalen zusammensetzbaren Inhalt, damit er mit
CurvedLayout
verwendet werden kann. WenncurvedComposable
mehrere Elemente enthält, werden sie übereinander gezeichnet (wie bei einem Feld). Wenn Sie mehrere Composables entlang einer Kurve platzieren möchten, umschließen Sie jedes mitcurvedComposable
.curvedRow und curvedColumn: Ähnlich wie bei Row und Column können
curvedRow
undcurvedColumn
in einemCurvedLayout
verschachtelt werden, um Elemente nach Bedarf anzuordnen. Für eincurvedRow
können die Richtung des Winkellayouts und die radiale Ausrichtung angegeben werden. Für eincurvedColumn
können die Winkelausrichtung und die radiale Richtung angegeben werden.CurvedModifier: Alle gebogenen Komponenten akzeptieren einen „modifier“-Parameter, der mit
CurvedModifier
erstellt werden kann. „background“, „size“, „weight“ und „padding“ werden unterstützt.Die folgende Komponente ist ebenfalls in Wear Compose Navigation enthalten:
„SwipeDismissableNavHost“: Hier kann in der Compose-Hierarchie eine in sich geschlossene Navigation stattfinden. Die Rückwärtsnavigation erfolgt durch eine Wischbewegung. Der Inhalt wird in einem
SwipeToDismissBox
angezeigt, das die aktuelle Navigationsebene enthält. Bei einer Wischgeste zum Schließen wird die vorherige Navigationsebene (falls vorhanden) im Hintergrund angezeigt.Weitere Informationen zu den einzelnen Alpha-Releases finden Sie in den entsprechenden Versionshinweisen.
API-Änderungen
CurvedModifier.padding*
-Funktionen hinzugefügt Mit diesen Attributen wird zusätzlicher Abstand um eine gekrümmte Komponente herum angegeben. (I4dbb4)- Interne Klasse
CompositionLocal
(I42490) entfernt - Wir haben konstante Werte für die Symbolgrößen
Button
,CompactButton
undToggleButton
als Richtlinie hinzugefügt (I57cab). - Fügen Sie den Parameter „enabled“ zu
AppCard
undTitleCard
hinzu. Sie haben jetzt eine ähnliche API wieandroidx.compose.material
-Karten. Wenn der Parameter auf „false“ gesetzt ist, ist die Karte nicht anklickbar. (Idc48d, b/228869805)
Fehlerkorrekturen
- Der Stepper deaktiviert jetzt die Schaltflächen zum Verringern und Erhöhen, wenn die Unter- bzw. Obergrenze erreicht wurde, und wendet „ContentAlpha.disabled“ auf „iconColor“ an (I4be9f).
- Wir haben um die Picker-Inhalte herum, die mit einem Farbverlauf gezeichnet werden, ein Padding von 1 dp hinzugefügt, um Ruckeln bei Text zu verhindern, das beim Wischen zu sehen ist. (I0b7b9)
- Screenshot-Tests für
PositionIndicator
(I5e8bc) hinzufügen - Weitere Tests für
AppCard
undTitleCard
hinzugefügt (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 veröffentlicht. Version 1.0.0-alpha21 enthält diese Commits.
Neue Funktionen
- Es wurden neue gebogene Modifizierer hinzugefügt, um den Hintergrund eines gebogenen Elements anzugeben:
CurvedModifier.background
,.radialGradientBackground
und.angularGradientBackground
(I8f392) - Es kann ein Überlaufmodus für gekrümmten Text angegeben werden („clip“ / „ellipsis“ / „visible“). (I8e7aa)
- Der Modifikator
CurvedModifier.weight
wurde hinzugefügt, ähnlich dem in Compose. Diese Eigenschaft kann für untergeordnete Elemente von „curvedRow“ und „CurvedLayout“ (für die Breite) sowie 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 der Hintergrund in der gesamten Wear Compose API einheitlich vor der Farbe 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
-abhängig sein und wird übernommen, wenn sie nicht angegeben ist (If0e6a). - Wir haben
autoCenter: Boolean
durchautoCenter: AutoCentringParams
ersetzt, um ein API-Problem mitScalingLazyColumn
zu beheben. (Ia9c90) - Wir haben
iconTintColor
undtoggleControlTintColor
in der gesamten API (Chip/ToggleChip/Dialog/Slider/Stepper/...) iniconColor
undtoggleControlColor
umbenannt, da die Farbe auf den Slot für das Symbol/die Ein-/Aus-Schaltfläche angewendet wird. (Ied238) PageIndicatorStyle
-Enum in Wertklasse umschreiben (I2dc72)- Wir haben einigen Slots in unseren Composables
RowScope/ColumnScope/BoxScope
hinzugefügt, um Entwicklern die Layout-Annahmen zu verdeutlichen. Entwickler können dann 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 AppCard/TitleCard vorgenommen, sodasstimeColor
undappColor
standardmäßig aufcontentColor
festgelegt sind. Diese Eigenschaften können bei Bedarf weiterhin einzeln überschrieben werden. (I26b59) SwipeToDismissBoxState.Companion
-Objekt auf privat gesetzt (I39e84)- Reihenfolge der Parameter für
InlineSlider
undStepper
korrigiert. Eine einfache Änderung zur Einhaltung der API-Richtlinien (I11fec) - Wir haben das Saver-Objekt für
SwipeToDismissBoxState
entfernt, da es nicht verwendet wurde. (Ifb54e) - Wir haben
CompactChip
aktualisiert, damit es der aktuellen UX-Spezifikation entspricht. Das Padding wurde auf horizontal = 12.dp und vertikal = 0.dp reduziert. Die Schriftart für das Label wurde von „button“ zu „caption1“ geändert. Die empfohlenen Symbolgrößen sind 20 × 20 Pixel, wenn sowohl Symbol als auch Label vorhanden sind, und 24 × 24 Pixel für einen kompakten Chip mit Symbol. Für den Anwendungsfall mit nur dem Symbol haben wir auch dafür gesorgt, dass das Symbol zentriert ausgerichtet ist. (Iea2be) - Wir haben
ScalingLazyListLayoutInfo
eine Reihe neuer Felder hinzugefügt, damit Entwickler den Betrag voncontentPadding
undautoCenteringPadding
kennen, der angewendet wurde. Diese können für Entwickler bei der Berechnung von Fling/Scroll (I7577b) nützlich sein. - Wir haben Ein- und Ausblendungen für Dialog implementiert. Es wurde ein
showDialog
-Parameter hinzugefügt und das Dialogfeld steuert jetzt seine eigene Sichtbarkeit. So können Intro- und Outro-Animationen ausgeführt werden, wenn das Dialogfeld ein- oder ausgeblendet wird. Die Outro-Animation wird nicht ausgeführt, wenn der Nutzer den Dialog durch Wischen schließt. Außerdem haben wir dem kürzlich hinzugefügtenSwipeToDismissBox
-Overload einen Standardwert für „state“ hinzugefügt. (I682a0) - Zur besseren Unterstützung von I18N und A11Y haben wir
ToggleChip
undSplitToggleChip
so geändert, dass sie keinen Standardwert mehr für dentoggleControl
-Slot haben. Außerdem haben wirToggleChipDefaults
so geändert, dass die folgenden Methoden jetzt „ImageVector“ anstelle von „Icon“ zurückgeben. Da sie keine @Composables mehr zurückgeben, beginnen sie jetzt mit einem Kleinbuchstaben:SwitchIcon()->switchIcon()
,CheckboxIcon->checkboxIcon()
undRadioIcon()->radioIcon()
. So können Entwickler eigeneIcon()
-Composables mit einem geeignetencontentDescription
-Satz erstellen. (I5bb5b) - Wir haben
SwipeDismissableNavHost
einenSwipeDismissableNavHostState
-Parameter hinzugefügt. Dadurch wird die Verwendung von Wischgesten am Bildschirmrand auf Bildschirmen unterstützt, die als Navigationsziele verwendet werden, daSwipeToDismissBoxState
jetzt angehoben und verwendet werden kann, um sowohlSwipeDismissableNavHostState
als auchModifier.edgeSwipeToDismiss
auf Bildschirmen zu initialisieren, die Wischgesten am Bildschirmrand erfordern. (I819f5, b/228336555)
Fehlerkorrekturen
- Achten Sie darauf, dass gekrümmte Layouts bei Bedarf aktualisiert werden. (Ie8bfa, b/229079150)
- Fehlerkorrektur für https://issuetracker.google.com/issues/226648931 (Ia0a0a, b/226648931)
- Unnötige experimentelle Anmerkungen wurden 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 veröffentlicht. Version 1.0.0-alpha20 enthält diese Commits.
Neue Funktionen
- Fügen Sie den Modifikator
edgeSwipeToDismiss
fürSwipeToDismiss
hinzu. Ermöglicht, dassswipeToDismiss
nur am linken Rand des Darstellungsbereichs aktiv ist. Wird verwendet, wenn die Mitte des Bildschirms horizontales Paging unterstützen muss, z. B. beim 2D-Scrollen einer Karte oder beim horizontalen Wischen zwischen Seiten.(I3fcec, b/200699800)
API-Änderungen
- Basisimplementierung von
CurvedModifiers
. Dadurch wird die Möglichkeit geschaffen, gekrümmte Inhalte anzupassen. Es sind jedoch noch keineCurvedModifiers
verfügbar und die Möglichkeit, benutzerdefinierte Modifikatoren zu erstellen, ist möglicherweise erst später verfügbar. (I9b8df) - Die Dokumentation für
EdgeSwipe
-Modifikatoren und Standardwerte wurde aktualisiert, um das Verständnis zu verbessern .(I6d00d) - Fügen Sie den
PageIndicator
-Slot in das Scaffold ein. Wenn wirPageIndicator
direkt in Scaffold einfügen, können wir dafür sorgen, dass es auf runden Geräten richtig angezeigt wird. (Ia6042) - Entfernen Sie Standardsymbole aus
InlineSlider
- und Stepper-Parametern. So können Entwickler die Anforderungen an die Lokalisierung und Barrierefreiheit besser berücksichtigen. Die Verwendung von Standardsymbolen wurde in Demos und Beispielen gezeigt. (I7e6fd) - Trailing- und Leading-Parameternamen durch „Start“ und „End“ in TimeText ersetzen (Iaac32)
- Wir haben eine
SwipeToDismissBox
-Überladung mit einemonDismissed
-Parameter hinzugefügt, um die gängige Verwendung des Auslösens eines Navigationsereignisses nach Abschluss der Wischbewegung zu unterstützen. (I50353, b/226565726) ExperimentalWearMaterialApi
-Anmerkungen aus derTimeText
-Nutzung entfernt (Ide520)- Wir haben die
ScalingLazyList/Column
-Bereichs- und ‑Informationsschnittstellen als versiegelt markiert, da sie nicht für die Implementierung durch externe Entwickler vorgesehen sind. So können wir in Zukunft neue Elemente hinzufügen, ohne binäre Änderungen vornehmen zu müssen. (I7d99f) - Wir haben dem Picker das neue Attribut
flingBehaviour
und die MethodePickerDefaults.flingBehaviour()
hinzugefügt, um das Fling-Verhalten zu konfigurieren, z. B. um die RSB-Unterstützung hinzuzufügen.PickerState
implementiert jetzt dieScrollableState
-Schnittstelle. (Ib89c7)
Fehlerkorrekturen
- ART-Baseline-Profilregeln für Wear Compose-Bibliotheken aktualisieren ART kann Profilregeln auf Geräten nutzen, um ein bestimmtes Subset der Anwendung vorab zu kompilieren und so die Leistung der Anwendung zu verbessern. Hinweis: Dies hat keine Auswirkungen auf debugfähige Anwendungen. (Iaa8ef)
- Dokumentation verbessern (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 veröffentlicht. Version 1.0.0-alpha19 enthält diese Commits.
API-Änderungen
CurvedRow
wurde inCurvedLayout
umbenannt und als Bereich mit einer DSL neu konzipiert. Mit dieser DSL können komplexere gekrümmte Layouts mit einer Reihe von verschachteltencurvedRow
- undcurvedColumn
-Elementen angegeben werden. Das sind die gekrümmten Layout-Entsprechungen von „Row“ und „Column“. In diesen Layoutelementen können drei Elemente verwendet werden:curvedComposable
(zum Hinzufügen eines beliebigen @Composable),basicCurvedText
(gekrümmter Text der Foundation) undcurvedText
(gekrümmter Text, der das Wear-Material berücksichtigt). (Ib776a)- Machen Sie die Seite für
PositionIndicator
konfigurierbar. Die Position des einfachen PositionIndicator-Elements kann jetzt so konfiguriert werden, dass sie „End“ (layoutrichtungsabhängig), „OppositeRsb“ (berücksichtigt die Bildschirmdrehung, um sich gegenüber der physischen RSB zu positionieren) oder die absoluten Werte „Left“ und „Right“ ist. (I2f1f3) - Für
SwipeToDismissBox
haben wirSwipeDismissTarget
.Original inSwipeToDismissValue.Default
undSwipeDismissTarget.Dismissal
inSwipeToDismissValue.Dismissed
umbenannt. Außerdem haben wirSwipeToDismissBoxDefaults.BackgroundKey
undSwipeToDismissBoxDefaults.ContentKey
inSwipeToDismissKeys.Background
bzw.SwipeToDismissKeys.Content
verschoben. (I47a36) - Wir haben der Auswahl einen schreibgeschützten Modus hinzugefügt, der für Bildschirme mit mehreren Auswahlen gedacht ist, bei denen jeweils nur eine Auswahl bearbeitet werden kann. Wenn die Auswahl schreibgeschützt ist, wird die aktuell ausgewählte Option und ein Label (falls angegeben) angezeigt. (I879de)
SwipeToDismissBoxState
wurde umgestaltet, um den Bereich vonExperimentalWearMaterialApi
aufModifier.swipeable
undSwipeableState
zu beschränken, die jetzt intern verwendet werden.SwipeToDismissBoxState
hat jetzt die MitgliedercurrentValue
,targetValue
,isAnimationRunning
undsnapTo
zur Unterstützung gängiger Anwendungsfälle. Bitte teilen Sie uns mit, wenn Sie weitere Eigenschaften benötigen. Außerdem wurde das Verhalten vonSwipeableState
behoben, wenn der Wisch-Offset innerhalb eines Rundungsfehlers eines Ankers liegt. (I58302)
Fehlerkorrekturen
- Vereinfachter und korrigierter Code, um zu erkennen, ob der Inhalt eines
ScalingLazyColumn
gescrollt werden kann (wird verwendet, um zu entscheiden, ob eine Scrollleiste angezeigt wird oder nicht) (I7bce0) - Ein Fehler bei der Positionsanzeige wurde behoben, der auftrat, wenn sie mit mehr als einem Status verwendet wurde und zwischen den Status gewechselt wurde (I320b5).
- Wir haben die Typografie/Schriftarten des Standarddesigns für Compose for Wear OS an unsere aktuellen UX-Richtlinien angepasst. Die Schriftgrößen für display1 (40.sp) und display2 (34.sp) sind jetzt kleiner als die vorherigen Werte. Außerdem wurden verschiedene kleinere Änderungen an der Zeilenhöhe und dem Zeilenabstand vorgenommen. (Ie3077)
- Wir haben
SwipeToDismissBox
einen Widerstand hinzugefügt, sodass Bewegungen nur beim Wischen zum Schließen und nicht in der entgegengesetzten Richtung erfolgen. (Ifdfb9) - Wir haben einige der Standardparameterwerte für die
CircularProgressIndicator
-Funktionen geändert, um sie an die UX-Richtlinien für Wear Material Design anzupassen. Bei der Version „Spinner/Unbestimmt“ wurden die Größe (40 –> 24 dp), die indicatorColor (primary –> onBackground), die Transparenz von trackColor (30 % –> 10%) und die Strichstärke (4 –> 3 dp) aktualisiert. Bei der Version „Fortschritt/Bestimmt“ wurde die Transparenz von „trackColor“ (30 % –> 10%) aktualisiert. (I659cc) - Wir haben die Standardskalierungsparameter von
ScalingLazyColumn
an die neuesten Wear Material Design-UX-Spezifikationen angepasst. Visuell führt dies dazu, dass Listenelemente näher an der Mitte der Liste skaliert werden, aber am Rand der Liste weniger skaliert werden als zuvor. (Ica8f3) - Einige Anpassungen an
ScalingLazyColumnDefaults.snapFlingBehavior
zur Verbesserung des Endes der Animation (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 veröffentlicht. Version 1.0.0-alpha18 enthält diese Commits.
API-Änderungen
- Mehrere Verbesserungen an PositionIndicator: ShowResult wurde in PositionIndicatorVisibility umbenannt. Einige Leistungsverbesserungen, um Neuberechnungen zu vermeiden, wenn sie nicht erforderlich sind (Iaed9d)
- Die empfohlene Farbgebung für
SplitToggleChip
wurde aktualisiert. „SplitToggleChip“-Komponenten haben jetzt einen einfarbigen Hintergrund, wenn sie aktiviert oder deaktiviert sind. Die Farbe des „ToggleControl“ ist der primäre Hinweis darauf, ob die Komponente aktiviert ist oder nicht. Wir haben ein neuesToggleDefaults.splitToggleChipColors()
hinzugefügt, um das neue Farbschema zu unterstützen. Außerdem haben wir dietoggleChipColors()
-Methoden vereinfacht und die Methode „splitBackgroundOverlayColor“ (I7e66e) entfernt. - Wir haben „unadjustedSize“ zum
ScalingLazyListItemInfo
hinzugefügt, da es aufgrund der Gleitkomma-Arithmetik 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. Sie stellt eine Gesamtzahl von Seiten und eine ausgewählte Seite dar. Kann je nach Form des Geräts linear oder gebogen sein. Außerdem wird die benutzerdefinierte Form von Indikatoren unterstützt, mit der festgelegt wird, wie die einzelnen Indikatoren visuell dargestellt werden. (Iac898) - Wir haben
PickerState
aktualisiert, damit die numberOfOptions aktualisiert werden kann. Dies unterstützt Anwendungsfälle wieDatePicker
, wenn 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) - Blende die
PositionIndicator
aus, wenn es sich um eine Scrollleiste handelt und nicht gescrollt werden kann. (Id0a7f) - Aus Gründen der Konsistenz mit Scaffold wird in unserer Dialogkomponente im Vollbildmodus jetzt ein
PositionIndicator
und einVignette
angezeigt. Außerdem verwenden wir jetztScalingLazyColumn
anstelle vonColumn
. Das bedeutet, dass sich der Dialoginhalt jetzt inScalingLazyListScope
befindet und in der Regel von „item { /* content */ }“ umschlossen werden muss. Der Dialog unterstützt den Parameter „verticalArrangement“ entsprechend. (Idea13) - Wir haben den Namen der
ToggleChip
- undSplitToggleChip
-Eigenschaft „toggleIcon“ in „toggleControl“ geändert, um sie besser an Material Design anzupassen und Designern und Entwicklern die Verwendung der API zu erleichtern. (If5921, b/220129803) - Wir haben der Wear Material Theme Typology den neuen Eintrag „caption3“ hinzugefügt. „Caption3“ ist eine kleine Schriftart, die für sehr lange Texte wie Rechtstexte verwendet wird. (I74b13, b/220128356)
Fehlerkorrekturen
- Die Einrastanimation soll stoppen, wenn wir am Ziel sind. (Idb69d)
- Änderungen in PositionIndicator animieren (I94cb9)
- Aufgrund von UI/UX-Feedback haben wir die automatische Zentrierung
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 Viewports gescrollt werden können. So können Entwickler ein oder zwei Elemente, die nicht scrollbar sind, in die Mitte platzieren. Das bedeutet, dass einScalingLazyColumn
mit autoCenter nicht über dasinitialCenterItemIndex/initialCenterItemScrollOffset
(I22ee2) hinaus gescrollt werden kann. - 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 Abschneiden breiterer
ScalingLazyColumn
-Elemente auf runden Displays zu reduzieren, haben wir das standardmäßige horizontale Content-Padding von 8 auf 10 dp erhöht. (I0d609) - Achten Sie darauf, dass
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 veröffentlicht. 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 benutzerdefinierten Schriftarten und Stilen auf quadratischen Geräten behoben (Iea76e)
TimeText
ScalingLazyListLayoutInfo
hat jetzt die EigenschaftenreverseLayout
,viewportSize
und „Ausrichtung“, die denen vonLazyListLayoutInfo
entsprechen (I4f258, b/217917020).ScalingLazyColumn
hat jetzt eineuserScrollEnabled
-Property, die der vonLazyList
entspricht (I164d0, b/217912513).- Auswahlfelder haben jetzt standardmäßig einen Farbverlauf oben und unten (Iab92a).
Fehlerkorrekturen
- Wir haben
ScalingLazyColumn
so geändert, dass nicht mehr der gesamte verfügbare Platz im übergeordneten Element eingenommen wird. Stattdessen wird die Größe des Containers an die Größe des Inhalts angepasst. Dadurch wird das Verhalten vonLazyColumn
angepasst. Wenn Sie das alte Verhalten wiederherstellen möchten, übergeben SieModifier.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 veröffentlicht. Version 1.0.0-alpha16 enthält diese Commits.
Neue Funktionen
- Fügen Sie
CircularProgressIndicator
hinzu. Fortschrittsanzeigen geben die Dauer eines Vorgangs oder eine nicht näher bestimmte Wartezeit an. Unterstützt einen Ausschnitt für TimeText oder andere Komponenten, wenn der Vollbildmodus verwendet wird. (Iab8da)
API-Änderungen
- Auswahlfelder haben jetzt einen
flingBehavior
-Parameter. Der Standardwert sorgt dafür, dass sie beim Scrollen/Wischen an der nächstgelegenen Option einrasten. (I09000) - Zusätzliche Integer-API für InlineSlider und Stepper (I1b5d6)
Fehlerkorrekturen
- Wir haben den Standardwert für „initialCenterItemIndex“ für
ScalingLazyListState
von 0 in 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. So wird standardmäßig ein besserer visueller Effekt erzielt, da der Großteil des Darstellungsbereichs mit Listenelementen gefüllt wird. (I0c623, b/217344252) - Wir haben den Standardwert für
ScalingLazyColumn
aufextraPadding
reduziert, damit genügend Listenelemente zur Verfügung stehen, aus denen ausgewählt werden kann (auch wenn einige von ihnen in der Größe reduziert werden), und zwar von 10% auf 5%. So wird vermieden, dass zusätzliche Listenelemente erstellt werden, die möglicherweise nicht im sichtbaren Bereich angezeigt werden. Wenn nicht standardmäßige „scalingParams“ verwendet werden (z. B. eine extremere Skalierung), kann der Entwickler das zusätzliche Padding mitviewportVerticalOffsetResolver
anpassen. (I76be4) - Problem mit TimeText auf mehreren Zeilen auf quadratischem Gerät behoben (Ibd3fb)
- Wir haben
ScalingLazyColumn
so geändert, dass nicht mehr der gesamte verfügbare Platz im übergeordneten Element eingenommen wird. Stattdessen wird die Größe des Containers an die Größe des Inhalts angepasst. Dadurch wird das Verhalten vonLazyColumn
angepasst. Wenn Sie das alte Verhalten wiederherstellen möchten, übergeben SieModifier.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 veröffentlicht. Version 1.0.0-alpha15 enthält diese Commits.
API-Änderungen
- Wir haben der
ScalingLazyColumn
die neue PropertyautoCentering
hinzugefügt. Wenn „true“ (Standardeinstellung), kann für alle Elemente, einschließlich des ersten und letzten, gescrollt werden, sodass sie in der Mitte des Listen-Viewports sichtbar sind. Wenn Sie die automatische Zentrierung verwenden, sollten Sie die vertikale Inhaltsauffüllung auf 0 dp festlegen. Wenn sowohl „autoCentering“ als auch „verticalContentPadding“ angegeben werden, wird vor dem ersten und nach dem letzten Listenelement zusätzlicher Platz eingefügt, sodass sie noch weiter gescrollt werden können. (I2a282, b/214922490) - Wir haben eine
Dialog
-Komponente hinzugefügt, mit der für jedes Composable ein Vollbilddialogfeld ausgelöst werden kann, das über anderen Inhalten angezeigt wird. Wenn das Dialogfeld angezeigt wird, kann es durch Wischen geschlossen werden. Während der Wischbewegung werden die Inhalte des übergeordneten Elements im Hintergrund angezeigt. Der Dialoginhalt sollteAlert
oderConfirmation
sein (umbenannt von den früheren KomponentenAlertDialog
undConfirmationDialog
).Alert
,Confirmation
undDialog
befinden sich alle im Paketandroidx.wear.compose.material.dialog
. „Benachrichtigung“ und „Bestätigung“ können als Navigationsziele verwendet werden. Außerdem wurde ColumnScope bei Bedarf zu den Parametern „Alert“ und „Confirmation“ hinzugefügt. (Ia9014) - Wir haben
onSurfaceVariant2
aus den Material-Designfarben für Compose für WearOS entfernt und die Verwendung in der Bibliothek durchonSurfaceVariant
ersetzt. (Icd592) - Es wurde eine Methode zum programmatischen Auswählen einer Option für das
PickerState
hinzugefügt. Die anfänglich ausgewählte Option kann jetzt auch beim Erstellen einesPickerState
angegeben werden. (I92bdf) - Wir haben die Möglichkeit hinzugefügt, das Wischverhalten von
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 drehbarem Seitenschalter 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 veröffentlicht. 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 anfängliche Listenelement und den Offset festlegen können.Im Rahmen dieser Änderung haben wir auch die ScalingLazyList so angepasst, dass sie sich am Mittelpunkt des Darstellungsbereichs der ScalingLazyList orientiert und nicht am Anfang.
Der
ScalingLazyList
wurde die neue PropertyanchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter
hinzugefügt, mit der gesteuert werden kann, ob der Mittelpunkt (ScalingLazyListAnchorType.ItemCenter
) oderEdge
(ScalingLazyListAnchorType.ItemStart
) an der Mittellinie des Viewports ausgerichtet werden soll.Daher haben sich
ScalingLazyListItemInfo.offset
undScalingLazyListItemInfo.adjustedOffset
geändert. Sie geben jetzt den Offset des Elements in Bezug auf die Position des Listenelements und denanchorType
der Liste an. Für einScalingLazyColumn
mitanchorType
vonItemCenter
und einem Listenelement, das mit seinem Mittelpunkt auf der Mittellinie des Viewports positioniert ist, wäre der Offset0
.Die neuen Methoden sind
scrollTo
,animatedScrollTo
,centerItemIndex
undcenterItemOffset
. (I61b61)Wir haben
SwipeDismissableNavHost
einen Handler für die Schaltfläche „Zurück“ hinzugefügt, sodass durch Drücken der Schaltfläche „Zurück“ zur vorherigen Ebene in der Navigationshierarchie gewechselt wird. (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 veröffentlicht. Version 1.0.0-alpha13 enthält diese Commits.
API-Änderungen
- Wir haben
RangeIcons
intern gemacht (wird intern vonInlineSlider
undStepper
referenziert). (I927ec)
Fehlerkorrekturen
Es wurde ein Problem behoben, bei dem
SwipeDismissableNavHost
ein Ziel der Compose-Hierarchie hinzufügte, bevor es denCREATED
-Lebenszyklusstatus erreicht hatte, was zu einemIllegalStateException
führte. Diese Korrektur war eine Voraussetzung für die Aktualisierung der Abhängigkeit vonnavigation-compose
auf2.4.0-beta02
und höher. (I40a2b, b/207328687)Es wurde eine Drawables-Enum-Klasse zum Abrufen von Drawable-Ressourcen in der Wear Compose-Bibliothek hinzugefügt, sodass keine Reflektion mehr erforderlich ist. Ein Fehler wurde behoben, bei dem Bibliotheks-Drawables entfernt wurden, wenn
minifyEnabled=true
odershrinkResources=true
verwendet wurde. (Ib2a98)Tests für
Stepper
in Wear Compose hinzugefügt (I2d03a)Es wurden Beispiele für
SwipeDismissableNavHost
in Wear Compose Navigation 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 veröffentlicht. Version 1.0.0-alpha12 enthält diese Commits.
Neue Funktionen
Wir haben eine Stepper-Komponente hinzugefügt, mit der Nutzer eine Auswahl aus einem Wertebereich treffen können. Der Stepper ist ein Vollbild-Steuerelement mit Schaltflächen zum Erhöhen und Verringern oben und unten sowie einem Slot in der Mitte, in dem entweder ein Chip oder Text angezeigt wird. Die Schaltflächensymbole können bei Bedarf angepasst werden. (I625fe)
Wir haben zwei neue Composables zum Anzeigen von Dialogfeldern 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 Entscheidungen oder b) vertikal gestapelte Chips oder Umschalt-Chips für flexiblere Entscheidungen an. ConfirmationDialog zeigt eine Bestätigung mit einem Zeitlimit an. Dieser einfache Dialog hat Slots für einen Titel und ein (animiertes) Symbol. (Ic2cf8)
API-Änderungen
- Einheiten (Millisekunden) für vorgeschlagene Werte für die Dialogdauer hinzugefügt. (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 veröffentlicht. Version 1.0.0-alpha11 enthält diese Commits.
Neue Funktionen
- Wir haben eine Auswahlkomponente hinzugefügt, mit der Nutzer ein Element aus einer scrollenden Liste auswählen können. Standardmäßig wird die Liste der auswählbaren Elemente in beide Richtungen „unendlich“ wiederholt, um den Eindruck eines rotierenden Zylinders zu erwecken, der von der Seite betrachtet wird. In späteren Versionen werden zwei Funktionen hinzugefügt: das Einrasten auf einem Wert nach einem Wischen/Fling und das Hinzufügen einer Funktion zu PickerState zum Festlegen/Scrollen zum aktuellen Wert. (I6461b)
API-Änderungen
- Es wurden ein ScalingLazyItemScope und einige neue Modifikatoren (fillParentMaxSize, fillParentMaxWidth, fillParentMaxHeight) hinzugefügt, damit die Größe von Listenelementen auf der Grundlage der Größe des übergeordneten Containers festgelegt werden kann. Elemente können so eingestellt werden, dass sie die gesamte Größe des übergeordneten Elements oder nur einen Teil davon ausfüllen. Dadurch werden Funktionen verfügbar gemacht, die bereits in LazyRow/Column (I4612f) verfügbar sind.
- ScalingLazyColumn wurde so erweitert, dass Elemente einen Schlüssel haben können. Außerdem wurden Convenience-Methoden hinzugefügt, mit denen Elemente aus Arrays und Listen hinzugefügt werden können. (Ic1f89)
Fehlerkorrekturen
- Zusätzliche Beispiele für TimeText (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 veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.
Neue Funktionen
InlineSlider für Wear Compose hinzugefügt. Mit InlineSlider können Nutzer einen Wert 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 Makrobenchmark hat jetzt einen
minSdkVersion
von23
. (If2655)
Fehlerkorrekturen
- Übergangsbehandlung in SwipeDismissableNavHost in einem SideEffect aktualisieren (I04994, b/202863359)
- Übergangsbehandlung in SwipeDismissableNavHost aktualisieren (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 veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.
Neue Funktionen
- Wir haben die Developer Preview von Compose für Wear OS eingeführt. In unserem Blogpost werden die wichtigsten Composables vorgestellt und es gibt Links zu weiteren Ressourcen, die Ihnen den Einstieg erleichtern.
API-Änderungen
- Wir haben die Unterstützung für Entwickler hinzugefügt, damit sie alle Farben im Wear Material Design-Farbdesign anpassen können. (I4759b, b/199754668)
Fehlerkorrekturen
- Beispiele für SwipeToDismissBox hinzugefügt, die den Status beibehalten (Ibaffe)
- In der KDoc-Dokumentation für CurvedText, TimeText und SwipeToDismissBox wurden Links zu Anleitungen auf developer.android.com hinzugefügt. (I399d4)
- SwipeDismissableNavHost löst jetzt einen Fehler aus, wenn kein aktuelles Ziel vorhanden ist. Das weist darauf hin, dass der NavGraph nicht mit der Hilfsfunktion „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 veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.
API-Änderungen
- Wir haben die
body
-Attribute von AppCard und TitleCard incontent
umbenannt und sie ans Ende der Attributliste verschoben, damit sie als nachgestellte Lambda-Funktion bereitgestellt werden können. Außerdem wurdebodyColor
incontentColor
umbenannt, um die Konsistenz mit den neuen Slot-Namen zu wahren. (I57e78)
Fehlerkorrekturen
- Es wurden Links zu developer.android.com-Leitfäden aus KDocs für die Komponenten „Schaltfläche“, „Karte“, „Chip“, „Design“, „Positionsanzeige“ und „Skalierbare Lazy Column“ hinzugefügt. (I22428)
- Problem behoben, bei dem WearOS SwipeToDismissBox manchmal keine Wischbewegungen verarbeitet hat. (I9387e)
- Beispiele für Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, ToggleChip und SplitToggleChip 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 veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.
Neue Funktionen
- Wir haben in Material eine CurvedText-Komponente hinzugefügt, mit der Entwickler ganz einfach gebogenen Text schreiben können, der der Krümmung eines Kreises folgt (normalerweise am Rand eines runden Displays). (I19593)
API-Änderungen
- Tests für TimeText (Idfead) hinzugefügt
- ArcPaddingValues in eine Schnittstelle umwandeln. (Iecd4c)
- Animation für „SwipeToDismissBox“ hinzugefügt (I9ad1b)
- Der API „SwipeToDismissBox“ wurde der Parameter „hasBackground“ hinzugefügt, damit die Wischbewegung deaktiviert werden kann, wenn keine Hintergrundinhalte angezeigt werden. (I313d8)
rememberNavController()
akzeptiert jetzt eine optionale Gruppe vonNavigator
-Instanzen, die dem zurückgegebenenNavController
hinzugefügt werden, um optionale Navigatoren wie die aus Accompanist Navigation Material besser zu unterstützen. (I4619e)- Verweise auf NamedNavArgument aus navigation-common und entferne die Kopie aus wear.compose.navigation. (I43af6)
Fehlerkorrekturen
- Die Instabilität des CurvedRow-Tests auf kleineren Geräten wurde behoben. (If7941)
- Mögliches Flackern in CurvedRow bei Inhaltsaktualisierungen behoben und dafür gesorgt, dass die gekrümmte Zeile neu gemessen wird (Ie4e06)
- ChipDefaults.gradientBackgroundChipColors() wurde entsprechend den Änderungen der UX-Spezifikation 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 aktuellen UX-Spezifikationen für Wear Material Design entsprechen. Wenn sie ausgewählt sind, haben ToggleChips jetzt einen Farbverlaufshintergrund von MaterialTheme.color.surface @ 0% Alpha (oben links) bis MaterialTheme.color.primary @ 32% Alpha (unten rechts) über einem Hintergrund von MaterialTheme.color.surface @ 75% Alpha. Dadurch ist der Unterschied zwischen ausgewählt und nicht ausgewählt beim ToggleChip weniger deutlich. (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 veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.
Neue Funktionen
- Wir haben ein Composable für die Anwendung auf oberster Ebene hinzugefügt, das eine Struktur für die Verarbeitung der Position von PositionIndicators (z. B. Scroll oder Volume), einen Bereich oben auf dem Bildschirm für die Anzeige der Uhrzeit und des Anwendungsstatus sowie eine Vignette zum Weichzeichnen des oberen und unteren Bildschirmrands für scrollbare Inhalte bietet. Im Hauptbereich des Gerüsts werden die Inhalte der Anwendung platziert. (I5e0bf)
- TimeText-Implementierung für Wear Compose hinzugefügt (I5654c)
Wear Compose Navigation Library
Wir haben die erste Version der Wear Compose Navigation-Bibliothek hinzugefügt, die die Integration zwischen den Wear Compose- und Androidx Navigation-Bibliotheken ermöglicht. Sie bietet eine einfache Möglichkeit, zwischen @Composable-Funktionen als Ziele in Ihrer Anwendung zu wechseln.
Diese erste Version bietet Folgendes:
- Eine
SwipeDismissableNavHost
-Composable, die einen Navigationsgraphen hostet und die Rückwärtsnavigation über Wischbewegungen ermöglicht. NavGraphBuilder.composable
-Erweiterung zur Unterstützung beim Erstellen von NavigationsdiagrammenrememberSwipeDismissableNavController()
, um das Hoisting des Status zu ermöglichen
- 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") } } }
Wear Compose Navigation ist als separate Bibliothek verpackt, sodass einfache Wear Compose-Anwendungen, die ihre eigene Navigation implementieren, nicht von der AndroidX Navigation-Bibliothek abhängig sein müssen.
API-Änderungen
SwipeDismissableNavHost
wurde aktualisiert, umrememberSaveable
zu unterstützen. Dazu wurde die Schlüsselidentität für Hintergrund und Inhalt (I746fd) festgelegt.- 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 die Unterstützung für reverseLayout hinzugefügt. Dadurch kann die Richtung des Scrollens und des Layouts umgekehrt werden (I9e2fc).
- Die Methoden
performGesture
undGestureScope
wurden verworfen und durchperformTouchInput
undTouchInjectionScope
ersetzt. (Ia5f3f, b/190493367) - Wir haben VignetteValue in VignettePosition und VignetteValue.Both in VignettePosition.TopAndBottom umbenannt. (I57ad7)
- Wir haben ScalingLazyColumnState in ScalingLazyListState, ScalingLazyColumnItemInfo in ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo in ScalingLazyListLayoutInfo und ScalingLazyColumnScope in ScalingLazyListScope umbenannt, falls wir uns entscheiden, in Zukunft eine ScalingLazyRow-Implementierung hinzuzufügen. (I22734)
Fehlerkorrekturen
- Die Dokumentation zu „CompactChip“ 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 der Titelkarte wurde von 8 dp auf 2 dp reduziert.
- Die Schriftart des TitleCard-Headers wurde von „body“ in „title3“ geändert.
- Der Farbverlauf des Kartenhintergrunds wurde geändert, damit der Hintergrund dunkler wirkt.
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 veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.
API-Änderungen
- ArcPaddingValues als @Stable markieren (I57deb)
- ScalingLazyColumnState implementiert jetzt die ScrollableState-Schnittstelle, sodass Entwickler programmatisch auf die Komponente zugreifen können, um sie zu scrollen. (I47dbc)
Fehlerkorrekturen
- Wir haben den Abstand zwischen Symbol und Text in Chip und ToggleChip verringert, um sie an die Aktualisierungen der UX-Spezifikation 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 veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.
Neue Funktionen
- Es wurde ein SwipeToDismissBox- und ein swipeable-Modifier hinzugefügt, mit denen die Wischgeste zum Schließen von links nach rechts unterstützt werden kann. Obwohl unabhängig von Navigationskomponenten, wird dies voraussichtlich verwendet, um einen Bildschirm zu verlassen und zu einem anderen zu navigieren. Es wurden Integrationstests hinzugefügt, um das Schließen durch Wischen zu demonstrieren. (I7bbaa)
- Wir haben der Klasse „ScalingLazyColumnState“ die Schnittstellen „ScalingLazyColumnItemInfo“ und „ScalingLazyColumnLayoutInfo“ hinzugefügt, damit Entwickler die tatsächlichen Positionen und Größen von Elementen in der „ScalingLazyColumn“ nach der Skalierung kennen. Außerdem haben wir einen Fehler bei der Berechnung der Skalierung behoben, wenn für die ScalingLazyColumn das Padding für den oberen Rand angewendet wurde. (I27c07)
API-Änderungen
- Fügen Sie die Klasse „CurvedTextStyle“ hinzu, um Optionen für die Formatierung von gebogenem Text festzulegen. Ähnlich wie „TextStyle“, unterstützt aber nur „color“, „fontSize“ und „background“. In Zukunft werden weitere Formatierungsoptionen hinzugefügt. (I96ac3)
- Wir haben der Klasse „ScalingLazyColumnState“ die Schnittstellen „ScalingLazyColumnItemInfo“ und „ScalingLazyColumnLayoutInfo“ hinzugefügt, damit Entwickler die tatsächlichen Positionen und Größen von Elementen in der „ScalingLazyColumn“ nach der Skalierung kennen. Außerdem haben wir einen Fehler bei der Berechnung der Skalierung behoben, wenn für die ScalingLazyColumn das Padding für den oberen Rand angewendet wurde. (I27c07)
@ExperimentalWearMaterialApi
wurde zurSwipeDismissTarget
-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 veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.
API-Änderungen
- Die Komponente „CurvedText“ wurde hinzugefügt. Mit ihr können Entwickler ganz einfach Text schreiben, der der Krümmung eines Kreises folgt (in der Regel am Rand eines runden Displays). (Id1267)
- Wir haben
CardDefaults.imageBackgroundPainter()
inCardDefaults.imageWithScrimBackgroundPainter()
umbenannt, um deutlich zu machen, dass das Hintergrundbild mit einem Scrim überzogen wird. (I53206) - Die Komponente „ScalingLazyColumn“ wurde hinzugefügt. Sie bietet eine Listenkomponente für Wear Material, die eine Fisheye-Ansicht ermöglicht. Die Listeninhalte werden kleiner und transparenter, je weiter sie sich zum Rand der Komponente hin bewegen. (I7070c)
Fehlerkorrekturen
- Wir haben die Standardfarbe des Inhalts „appName“ in „AppCard“ aufgrund einer Aktualisierung der UX-Spezifikation geändert. Die Standardfarbe für den App-Namen ist jetzt
MaterialTheme.colors.onSurfaceVariant
. Außerdem wurde eine fehlende Parameterdokumentationsbeschreibung für den Titelslot 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 veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
Neue Funktionen
- Der Klasse „CurvedRow“ wurde eine neue Klasse hinzugefügt, um Composables in einem Bogen anzuordnen (I29941).
- Es wurde ein neuer Kartentyp für die Verwendung in Anwendungen (TitleCard) hinzugefügt. Außerdem werden jetzt Bilder als Hintergrund für Karten unterstützt, um deren 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“ für Composables hinzufügen, die in einem Bogen angeordnet sind (I29941)
- Es wurde ein neuer Kartentyp für die Verwendung in Anwendungen (TitleCard) hinzugefügt. Außerdem werden jetzt Bilder als Hintergrund für Karten unterstützt, um deren Inhalt hervorzuheben (I53b0f).
- Den ToggleChipDefaults wurden Umschaltsymbole (Kästchen, Schalter und Optionsfelder) hinzugefügt, um die Konfiguration von ToggleChip und SplitToggleChips zu vereinfachen (I7b639).
- Das Start- und End-Content-Padding für Chips wurde aktualisiert, sodass es unabhängig davon, ob ein Symbol vorhanden ist oder nicht, immer 14 dp beträgt. Zuvor waren es 12 dp, wenn ein Symbol vorhanden war, und 14 dp, wenn nicht. (I34c86)
Fehlerkorrekturen
- Tests für CurvedRow hinzufügen (I93cdb)
- Wear Compose-Abhängigkeiten an Compose 1.0.0-rc01 binden (Ie6bc9)
- Die Verarbeitung des Renderns von Hintergrundbildern in Karten und Chips wurde geändert. Das Bild wird jetzt zugeschnitten und nicht mehr gestreckt, um die Bildproportionen beizubehalten. (I29b41)
- Es wurden weitere Demos und Integrationstests für Button und ToggleButton hinzugefügt. (5e27ed2)
- Es wurden weitere Chip-Tests 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 veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.
Neue Funktionen
Wear Compose ist eine auf Kotlin und Compose basierende Bibliothek, die Wear Material Design unterstützt, eine Erweiterung von Material Design für WearOS-Wearables. Diese erste Alphaversion enthält frühe, funktionale Implementierungen der folgenden Elemente:
- Material-Theme: Konfiguriert die Farben, Typografie und Formen einheitlich für alle Komponenten, die aus dieser Bibliothek verwendet werden.
- Chip, CompactChip: Chips sind stadionförmig. Es gibt Varianten, die Symbole, Labels und sekundäre Labels enthalten können.
- – „ToggleChip“, „SplitToggleChip“: spezielle Arten von Chips, die einen Slot für ein Symbol zum Umschalten zwischen zwei Zuständen wie ein Optionsfeld oder ein Kästchen enthalten. Außerdem hat der SplitToggleChip zwei Bereiche, die angetippt werden können: einen, der angeklickt werden kann, und einen, der umgeschaltet werden kann.
- Button, CompactButton: Schaltflächen sind kreisförmig und haben einen einzelnen Inhaltsbereich für ein Symbol oder minimalen Text (maximal 3 Zeichen).
- ToggleButton: Eine Schaltfläche, mit der eine Aktion aktiviert oder deaktiviert wird. Sie hat einen einzelnen Slot für ein Symbol oder minimalen Text (maximal 3 Zeichen).
- Karte, AppCard: rechteckig mit abgerundeten Ecken und Slots für Inhalte wie App-Symbol, Uhrzeit, Titel und Text.
In zukünftigen Versionen wird das Widget-Set erweitert und es werden Wear Material Design-Auswahlfelder, ‑Schieberegler, ‑Listen, ‑Seitenindikatoren, ‑Dialogfelder, ‑Scrollleistenindikatoren, ‑Benachrichtigungen und mehr unterstützt.
Außerdem werden andere Wearable-spezifische Funktionen wie gekrümmte Layouts und Text sowie Gerüste unterstützt, um Entwicklern die Entwicklung von Wearable-Apps und ‑Overlays zu erleichtern.
Wear Compose Material wurde nach denselben Prinzipien wie Compose Material entwickelt, ist aber für Wearables vorgesehen. Die Wear Compose Material-Bibliothek sollte anstelle der Compose Material-Bibliothek verwendet werden, wenn Sie für ein Wearable entwickeln.
Die beiden „Material“-Bibliotheken sollten sich gegenseitig ausschließen und nicht in derselben App verwendet werden. Wenn Entwickler die Compose Material-Bibliothek in ihre Abhängigkeiten aufnehmen, deutet das darauf hin, dass entweder a) Komponenten in der Wear Compose Material-Bibliothek fehlen. Bitte teilen Sie uns mit, was Sie benötigen, oder b) eine Komponente verwendet wird, die wir für die Verwendung auf einem Wearable nicht empfehlen.