Wear Compose

  
Sie können Jetpack Compose-Anwendungen für Wear OS-Geräte schreiben, indem Sie Funktionen zur Unterstützung verschiedener Gerätegrößen und Navigationsgesten bereitstellen.
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.

Neues Problem erstellen

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 und DatePicker 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 einem EdgeButton 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 benutzerdefinierte TransformationSpecs 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 und SwipeToReveal 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 und ScreenScaffold aufgetreten ist. (I946e3)
  • Eine Race-Bedingung wurde behoben, die dazu führen konnte, dass Platzhalteranimationen angehalten wurden. (I53530)
  • Die Leistung von HorizontalPageIndicator und VerticalPageIndicator 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. Die OpenOnPhoneDialogDefaults wurden aktualisiert, um den Parameter iconContentDescription und contentDescription aus icon() zu entfernen. Außerdem hat ConfirmationDialogDefaults jetzt Modifikatorparameter für die Composables SuccessIcon und FailureIcon. (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 von SwipeToReveal wiederherzustellen, wenn die Aktivität oder der Prozess neu erstellt wird. Die Funktion rememberRevealState 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 Status Revealing 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 in RevealState.currentValue gemeldet wurde, wenn hasPartiallyRevealedState auf „false“ gesetzt war. (I9c7cf)
  • SwipeToReveal-Rückgängig-Schaltflächen sind jetzt standardmäßig ButtonDefaults.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 von ScrollProgress 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 und TextToggleButton 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 und ScreenScaffold wird die Struktur des Bildschirms festgelegt und die Animationen von ScrollIndicator und TimeText 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 und SwitchButton 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 ein EdgeButton.
  • 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 und DatePicker werden unterstützt. Außerdem können Sie die Komponenten „Auswahlfeld“ und PickerGroup 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 und AnimatedPage koordinieren HorizontalPageIndicator- und VerticalPagerIndicator-Animationen. HorizontalPager und VerticalPager 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 und VerticalPager 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 in Modifier.hierarchicalFocusGroup umbenannt und der Callback-Parameter wurde entfernt. Die Überladung von Modifier.hierarchicalFocusRequester mit einem FocusRequester-Parameter wurde entfernt. Es wurde ein neues CompositionLocal, 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 der SwipeToReveal-APIs in Wear Compose Material und Wear Compose Material3 eingestellt. Ersetzen Sie Wear Foundation-Importe SwipeToReveal 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 von androidx.wear.compose.foundation zu androidx.wear.compose.material3 ändern. (I640e6)
  • Die Wear Compose Material3-API SwipeToReveal wurde aktualisiert: Der zusammensetzbaren Funktion SwipeToReveal wurden die Parameter primaryAction, onFullSwipe, secondaryAction, undoPrimaryAction, undoSecondaryAction und hasPartiallyRevealedState hinzugefügt. Die Möglichkeit, positionalThreshold und animationSpec über RevealState anzupassen, wurde entfernt. lastActionType, revealThreshold und die Breite wurden aus RevealState entfernt. Der RevealState-Konstruktor akzeptiert jetzt RevealDirection anstelle von Ankern. Die Funktionen createRevealAnchors, „anchors“ und bidirectionalAnchors wurden entfernt. Die SwipeToRevealScope-Funktionen primaryAction, secondaryAction, undoPrimaryAction und undoSecondaryAction wurden in PrimaryActionButton, SecondaryActionButton und UndoActionButton umbenannt und in zusammensetzbare Funktionen umgewandelt. RevealActionType wurde als intern gekennzeichnet. (I885d0)
  • Die SwipeToReveal API wurde weiter aktualisiert: onFullSwipe wurde in onSwipePrimaryAction umbenannt, SwipeToRevealNonAnchoredSample wurde umbenannt, um die Verwendung des Parameters hasPartiallyRevealedState 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 aus SwipeToRevealDefaults entfernt und der Wertparameter in den Konstruktoren RevealValue und RevealDirection wurde privat gemacht. (I465ce)

Fehlerkorrekturen

  • Die Verarbeitung von ScreenScaffold-EdgeButton wurde korrigiert, sodass die EdgeButton nach dem Entfernen eines TransformingLazyColumn-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 und disabledContainerPainter containerColor und disabledContainerColor überschreiben (I4a453).
  • Eine Änderung an TimeText in der vorherigen Version, bei der BroadcastReceiver 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 letzte contentDescription-Lambda-Funktion zu merken. (Icb5b1).
  • Die Textstile in TimePicker und DatePicker wurden aktualisiert, sodass Schriftartänderungen nicht mehr zu einer Kürzung führen. (I26194).
  • Bei ListHeader und ListSubHeader 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ür EdgeButton-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 Foundation SwipeToReveal wurden in das Material-Paket verschoben, z.B. RevealValue, RevealDirection, RevealActionType, RevealState, rememberRevealState. Entwickler sollten die Importe dieser Klassen und Funktionen von androidx.wear.compose.foundation zu androidx.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, indem content oder dem umschließenden Composable ein Modifier.hierarchicalFocus(function()) hinzugefügt wird.
    • ActiveFocusListener { if (it) focusRequester.requestFocus() } kann durch Hinzufügen von Modifier.hierarchicalFocusRequester(focusRequester) ersetzt werden
    • Für andere, seltenere Verwendungen von ActiveFocusListener kann der neue Parameter für Modifier.hierarchicalFocus verwendet werden.
    • focusRequester(rememberActiveFocusRequester()) kann durch hierarchicalFocusRequester() ersetzt werden
    • val focusRequester = rememberActiveFocusRequester() kann durch remember { FocusRequester() } ersetzt und Modifier.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 und SwipeDismissableNavHost (nur für API 35 und niedriger für SwipeDismissableNavHost). (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 von ScrollInfoProvider 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ür gestureInclusion wurde verbessert, sodass Gesten nur ignoriert werden, wenn der Status der Komponente „Covered“ ist. (I7e3d6)
  • Für SwipeToReveal wurde bidirectionalGestureInclusion zu einem Wert anstelle einer Funktion gemacht und @FloatRange wurde dem Parameter edgeZoneFraction in gestureInclusion 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-Klasse PagerState wurde als Basisklasse entfernt und die Attribute currentPage, currentPageOffsetFraction und pageCount wurden hinzugefügt. Die GestureInclusion-Schnittstelle wurde aktualisiert und die Methode wurde in ignoreGestureStart umbenannt. (I4ae07)
  • Fügen Sie requireOffset zu SwipeToDismissBoxState hinzu, um den empfohlenen Weg zum Abrufen eines Offsets von SwipeToDismissBoxState 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. Bei CurvedText wird die Inhaltsbeschreibung weiterhin standardmäßig auf den Text festgelegt, bei timeTextCurvedText und timeTextSeparator werden die Inhalte jedoch nicht mehr vorgelesen. (I4b568)
  • Die Standardbehandlung von Wischbewegungen in HorizontalPager wurde in PagerDefaults.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 dem rotaryScrollable-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 Foundation SwipeToReveal besteht nun darin, das Wischen zu unterbinden, wenn die Geste am Rand beginnt. Das Standardverhalten von Material3 SwipeToReveal besteht nun darin, das Wischen zu unterbinden, wenn die Geste am Rand beginnt und SwipeDirection 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 in HorizontalPager ersetzt. Stattdessen wurde der neue Parameter gestureInclusion eingeführt, mit dem das erforderliche Verhalten zum Schließen durch Wischen erreicht werden kann. gestureInclusion akzeptiert eine Instanz von GestureInclusion, 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 benutzerdefinierte GestureInclusion-Instanz (siehe PagerDefaults.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 stattdessen Modifier.fillMaxSize() hinzu, um dieses Verhalten zu erzielen. (I9d3aa)
  • Wir haben createAnchors in der Swipe-to-Reveal API(If5999) in createRevealAnchors 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 in RevealDirection umbenannt. (I7472f)
  • Wir haben die Signatur des Parameters positionalThreshold der Funktion rememberRevealState von SwipeToReveal geändert. (I29c0a)
  • Wir haben den neuen Parameter overscrollEffect zu ScalingLazyColumn, TransformingLazyColumn und ScreenScaffold hinzugefügt. (I0cee8)
  • Bei Verwendung von PagerDefaults#snapFlingBehaviour wurde der Parameter pagerSnapDistance durch den Int-Parameter maxFlingPages 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 Foundation PagerScope. (I9195b)
  • Wir haben Unterstützung für lineHeight bei gebogenem Text (I1c936) hinzugefügt.
  • Wir haben initialAnchorItemIndex und initialAnchorItemOffset zu TransformingLazyColumnState und rememberTransformingLazyColumnState hinzugefügt, damit die anfängliche Scrollposition in TransformationLazyColumn angegeben werden kann. (I0a0d5)
  • runWithTimingDisabled wird zugunsten von runWithMeasurementDisabled eingestellt, da das Verhalten dort deutlicher beschrieben wird: Alle Messwerte werden pausiert. Außerdem wird die MicrobenchmarkScope-Superklasse verfügbar gemacht, da die runWithMeasurementDisabled-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ür TransformingLazyColumnItemScrollProgress zu vermeiden. (I0835d)

Fehlerkorrekturen

  • Kdoc für CurvedTextStyle verbessern (Id45e3)
  • Wir haben SwipeableV2 (Teil der SwipeToReveal-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 in TransformingLazyColumn 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, dass PredictiveBackNavHost 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 eines ReduceMotion-Objekts zurück. Die ReduceMotion-Schnittstelle wurde eingestellt. Bisherige Aufrufe wie LocalReduceMotion.current.enabled() können durch LocalReduceMotion.current ersetzt werden (I4937f).
  • In PagerDefaults wurde snapAnimationSpec in SnapAnimationSpec 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 neue Modifier.animateItem haben. (Iecb9c)
  • TransformingLazyColumn stellt jetzt Werte für beforeContentPadding und afterContentPadding bereit. (Iccd5f)
  • TransformingLazyColumn bietet jetzt die lokale Komposition LocalTransformingLazyColumnItemScope, die Komponenten (z. B. Card und Button in Material3) verwenden können, um sich automatisch zu verändern, wenn sie in einem TransformingLazyColumn platziert werden. Anrufer können das automatische Morphen mit dem neuen TransformExclusion-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 35 PredictiveBackHandler 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ür PagerState vereinfacht, indem wir den Parameter orientation entfernt haben, der nicht mehr benötigt wird. Das neue Verhalten ist, dass TimeText 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 die LazyColumn-Aliasse von Wear (die an TransformingLazyColumn weitergeleitet wurden) und verwenden stattdessen den neuen Namen TransformingLazyColumn. Außerdem haben wir die height-Property von TransformingLazyColumnVisibleItemInfo entfernt. Verwenden Sie stattdessen measuredHeight. (I0ea1e)
  • Wir haben die PagerDefaults.snapFlingBehavior snapAnimationSpec von einer Tween zu einer Spring-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, damit focusTargetWithSemantics 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ür TransformingLazyColumn 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 auf TransformingLazyColumnState hinzugefügt, damit das Scrollen zu einem Element animiert werden kann. (I4097d)
  • Wir haben requestScrollTo auf TransformingLazyColumnState hinzugefügt, um das Scrollen auf die nächste Messung zu verschieben. (I20a5e)
  • Wir haben Unterstützung für contentPadding in TransformingLazyColumn 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ür TransformingLazyColumn erfasst jetzt das erste Element korrekt. (I1e4a3)
  • TransformingLazyColumnState speichert jetzt seinen Status (anchorItemIndex und anchorItemScrollOffset). (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 in TransformingLazyColumn umbenannt, damit der Unterschied zur Compose Foundation LazyColumn 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 jetzt scrollToItem. (I507b3)
  • @ExperimentalWearFoundationApi aus der SwipeToReveal 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, um canScrollForward und canScrollBackward 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- und VerticalPager-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 die key und contentType des Clients über layoutItems 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 unserem ScreenScaffold hinzugefügt und eine Implementierung von ScrollInfoProvider für LazyColumnState hinzugefügt. (Ib8d29)
  • Wir haben viewportSize zu LazyColumnLayoutInfo hinzugefügt. (I4187f)

Fehlerkorrekturen

  • Wir haben einen Fehler behoben, sodass das Drehen zum Scrollen in ScalingLazyColumn jetzt deaktiviert ist, wenn das Flag userScrollEnabled auf false 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 der onDismissRequest-Callback aufgerufen wurde, wenn showDialog auf „false“ gesetzt war. In einigen Fällen wurde onDismissRequest 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 APIs LazyColumnState und LazyColumnScope 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 in LazyColumnScope als Teil der neuen LazyColumn 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 Parameter rotationLocked 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, wenn SwipeToReveal in einer Liste verwendet wird, da die Elemente so immer interaktiv sind und nie außerhalb des Bildschirms liegen. (I38929)
  • SwipeToReveal setzt jetzt lastActionType auf „None“ zurück, wenn animatedTo abgeschlossen ist. (I59b03)
  • Die Dokumentation für den neuen Parameter rotationLocked auf curvedComposable wurde verbessert. (Ifbd57)
  • Ein Absturz, der beim Übergeben von NaN an ScalingLazyColumnSnapFlingBehavior’s performFling 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 in LayoutCoordinates.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 und Picker 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 Parameter rotaryScrollableBehavior, 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 Parameter flingBehavior 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

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 unter TalkBack 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ützen ScalingLazyColumn und Picker jetzt standardmäßig die Eingabe über Drehregler. Mit dem Parameter rotaryScrollableBehavior 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 Parameter flingBehavior 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 und SplitSelectableChip wurden als Variante von ToggleChip hinzugefügt. Verwenden Sie diese mit RadioButton, 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 in Modifier.rotaryScrollable umbenannt, die RotaryBehavior-Schnittstelle in RotaryScrollableBehavior und ihre Funktion handleScrollEvent in performScroll. Außerdem wurde RotaryScrollableAdapter in RotaryScrollableLayoutInfoProvider umbenannt und die scrollableState-Eigenschaft entfernt. (I0c8a6)
  • Wir haben zusätzliche Änderungen an der Rotary API vorgenommen: RotaryScrollableLayoutInfoProvider wurde in RotarySnapLayoutInfoProvider umbenannt, da dieser Anbieter nur für die Drehbewegung mit Einrasten erforderlich ist. Außerdem wurde der Typ des Parameters snapOffset in RotaryScrollableDefaults.snapBehavior snapOffset von „Int“ in „Dp“ geändert. (Iddebe)
  • Wir haben den Parameter clickInteractionSource auf SplitSelectableChip in containerInteractionSource umbenannt. (Ia8f84)
  • Wir haben die Namen der Klick-Callback-Parameter für SplitSelectableChip aktualisiert: von onClick zu onSelectionClick und von onBodyClick zu onContainerClick. (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 die PositionIndicator (Scrollleiste) mit scrollbaren Inhalten überschnitten hat. Diese Änderung führt voraussichtlich dazu, dass vorhandene Screenshots, die PositionIndicator 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ützen ScalingLazyColumn und die Auswahl jetzt standardmäßig die Dreheingabe. Es gibt neue Überladungen, die den Parameter rotaryBehavior enthalten, um die Konfiguration von Scrollen oder Einrasten anzugeben. Wenn der Parameter rotaryBehavior auf „snap“ gesetzt ist, wird empfohlen, „snap“ auch über den Parameter flingBehavior für das Scrollen per Touchscreen anzugeben. (I2ef6f)
  • Die NestedScroll-Quellen „Drag“ und „Fling“ werden durch UserInput und SideEffect 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 und SplitSelectableChip hinzugefügt, um die Unterscheidung zwischen Ein/Aus-Schaltflächen wie Switch/Checkbox und auswählbaren Steuerelementen wie RadioButton zu verdeutlichen. Dadurch werden die zuvor hinzugefügten Überladungen von ToggleChip/SplitToggleChip mit selectionControl-Parametern ersetzt. (Ia0217)
  • Der Sichtbarkeitsmodifikator von IndeterminateStrokeWidth in ProgressIndicatorDefaults 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 und initialCenterItemScrollOffset von ScalingLazyListState öffentlich gemacht. (I0c616)
  • Wir haben die FullScreenStrokeWidth von ProgressIndicatorDefaults öffentlich gemacht. (Ibea23)

Fehlerkorrekturen

  • Wir haben die Leistung von PositionIndicator verbessert, indem wir die Anzahl der Aufrufe von layoutInfo durch ScalingLazyColumn 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 und SplitToggleChip hinzugefügt, die anstelle des Parameters toggleControl den Parameter selectionControl verwendet. Dieses Attribut sollte mit dem RadioButton-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 von onSelected zu onSelect für ToggleChip und SplitToggleChip 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 Methode inspectableProperties() für ModifierNodeElement 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, die PositionIndicator enthalten, aktualisiert werden müssen, da PositionIndicator zuvor nicht angezeigt wurde. (419cef7)

API-Änderungen

  • Wir haben in den Bibliotheken wear:compose-material und wear:compose-material3 eine neue Ripple-API hinzugefügt, die die eingestellte rememberRipple ersetzt. Außerdem wird ein temporäres CompositionLocal, LocalUseFallbackRippleImplementation hinzugefügt, um die Material-Komponenten auf die Verwendung der verworfenen rememberRipple/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 benutzerdefinierte RippleTheme 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 nullable MutableInteractionSource verfügbar, das standardmäßig auf „null“ gesetzt ist. Hier gibt es keine semantischen Änderungen: Wenn Sie „null“ übergeben, möchten Sie das MutableInteractionSource 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 ein MutableInteractionSource 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 die MutableInteractionSource, 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 und RadioButton 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 Enumeration SwipeToDismissValue und die Erweiterungsfunktion Modifier.edgeSwipeToDismiss sind jetzt Teil des Pakets androidx.wear.compose.foundation anstelle des Pakets androidx.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 und SwipeToRevealChip können Sie die recommended swipe-to-reveal guidance implementieren. Die Klasse SwipeToRevealSample zeigt, wie diese Komponenten verwendet werden.
  • Mit Version 1.3.0-alpha02 wurde eine Änderung eingeführt, die dazu führt, dass Chip- und ToggleChip-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 die large-Form für MaterialTheme jetzt ein größerer Eckenradius verwendet (26 dp statt 24 dp). Die Objekte Chip und ToggleChip verwenden diesen neuen Eckenradius, um zu verhindern, dass Inhalte an den Ecken von Chip und ToggleChip abgeschnitten werden.

    • Die meisten Chips und ToggleChips bleiben unverändert, da sie standardmäßig eine Höhe von 52 dp haben. Chip- und ToggleChip-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.

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 Composable SwipeDismissableNavHost auf false 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 und ToggleChip 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.

    Text an Ecken abgeschnitten
    Abbildung 1: Text an den Ecken abgeschnitten.
    Text nicht 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 und Modifier.edgeSwipeToDismiss wurden zusammen mit der zugrunde liegenden Implementierung zum Schließen durch Wischen in BasicSwipeToDismissBox von androidx.wear.compose.material zu androidx.wear.compose.foundation migriert. So kann die Gestensteuerung für „Wischen zum Schließen“ unabhängig von Material Design verwendet werden, z. B. über SwipeDismissableNavHost in androidx.wear.compose.navigation. SwipeToDismissBox aus androidx.wear.compose.material sollte weiterhin mit Material Design verwendet werden, da Farben aus dem MaterialTheme abgerufen und die verbleibende Implementierung an das BasicSwipeToDismissBox delegiert wird.
  • SwipeDismissableNavHost unterstützt jetzt einen neuen userSwipeEnabled-Parameter, mit dem die Wischbewegungserkennung für Bildschirme deaktiviert werden kann, auf denen sie nicht erforderlich ist.
  • BasicSwipeToDismissBox bietet eine verbesserte Fokusverwaltung mit HierarchicalFocusCoordinator.
  • SwipeToReveal bietet neue SwipeToRevealCard- und SwipeToRevealChip-Composables in Material, die den empfohlenen UX-Richtlinien für Card und Chip 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 und ToggleChip 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 auf Placeholder.

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 in BasicSwipeToDismissBox umbenannt. Dadurch wird die Unterscheidung zwischen der Komponente auf Foundation-Ebene und der SwipeToDismissBox auf Material-Ebene deutlicher. Letztere ruft Farben aus MaterialTheme ab, die in Scrims verwendet werden sollen, und delegiert die verbleibende Implementierung an BasicSwipeToDismissBox. (Ibecfc)
  • Wir haben rememberExpandableStateMapping als experimentell gekennzeichnet und die Leistung von expandableItem verbessert. (I5f6bc)
  • Wir haben die SwipeToRevealAction-Klasse in den Material SwipeToReveal Card- und Chip-APIs durch eine slotbasierte API mit den Composables SwipeToRevealPrimaryAction, SwipeToRevealSecondaryAction und SwipeToRevealUndoAction ersetzt. Beispiele für die Verwendung der neuen API finden Sie im Beispielcode. (Ia8943)
  • Die Animations-Flags PositionIndicator wurden durch AnimationSpec-Parameter ersetzt. Die einzelnen Animationen können deaktiviert werden, indem Sie snap als AnimationSpec ü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 und showPositionAnimation. 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 Flags showFadeInAnimation und showPositionAnimation zu deaktivieren, wenn PositionIndicator mit einer scrollbaren Liste verwendet wird. Wenn PositionIndicator 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 und edgeSwipeToDismiss nach der Migration der Funktion „Wischen zum Schließen“ zu wear.compose.foundation eingestellt. Bitte ersetzen Sie sie durch die wear.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 wurde PositionIndicator animiert, wenn ein Bildschirm zum ersten Mal angezeigt wurde. Wir beabsichtigen, eine ähnliche Änderung in einer frühen 1.4-Alphaversion vorzunehmen, sodass das PositionIndicator 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 und showPositionAnimation. 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 Flags showFadeInAnimation und showPositionAnimation zu deaktivieren, wenn PositionIndicator mit einer scrollbaren Liste verwendet wird. Wenn PositionIndicator 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. Das SwipeToDismissBox 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 und positionChange) 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 mit SwipeToReveal hinzugefügt. (I95774, b/293444286)
  • Wir haben Beispiele für die Materialien SwipeToRevealChip und SwipeToRevealCard 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 von SwipeToReveal 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 in onGloballyPositioned() verschoben. (Ic90f1)
  • Wir verwenden jetzt drawWithCache in PositionIndicator, ProgressIndicator und SelectionControls, 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 von ExpandableStates für Fälle, in denen sie bei Bedarf erstellt werden müssen, nicht unbedingt im Rahmen von @Composable (Iff9e0).
  • SwipeToDismissBox wurde vom androidx.wear.compose.material-Paket zum androidx.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 und ToggleChip öffentlich gemacht (Idbfde).
  • Wir haben die horizontalen und vertikalen Abstände für Chip und CompactChip öffentlich gemacht. (Ieeaf7)
  • Es wurde eine Funktion hinzugefügt, mit der die Verarbeitung von Wischbewegungen in SwipeDismissableNavHost über den neuen Parameter userSwipeEnabled 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 damit SwipeDismissableNavHost) mit HierarchicalFocusCoordinator 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 von SwipeToDismissBox 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 und ToggleChip 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 und InlineSlider unterstützen jetzt wiederholte Klicks bei langem Drücken, sodass Sie den Wert von Stepper und InlineSlider 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 und 1.2.0-alpha10 angekündigt, ändern wir jetzt DefaultTextStyle, 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).
Text wird bei großer Schriftgröße abgeschnitten
Abbildung 1: Text abgeschnitten.
  • Wenn das Schriftarten-Padding deaktiviert ist, ist es nicht mehr vorhanden:
Text wird bei großer Schriftgröße nicht abgeschnitten
Abbildung 2: Text wird nicht abgeschnitten.
  • Wir haben wear.compose.foundation als API-Abhängigkeit von wear.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

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 von ScalingLazyColumn 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 Einstellung IncludeFontPadding 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 und expandableItems sind zwei neue Foundation-Komponenten, mit denen Elemente in einem ScalingLazyColumn maximiert werden können. Verwenden Sie expandableItem für ein einzelnes minimierbares Element, z. B. Text, bei dem die Anzahl der Zeilen. Verwenden Sie expandableItems für eine Gruppe von maximierbaren Elementen und expandableButton, 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 jetzt userScrollEnabled, 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 der HierarchicalFocusCoordinator 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 haben ScalingLazyColumn und zugehörige Klassen von androidx.wear.compose.material.ScalingLazyColumn zu androidx.wear.compose.foundation.lazy.ScalingLazyColumn migriert. Bitte aktualisieren Sie die App auf die Version Foundation.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ätzlichen enableRangeSemantics-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 und WearPreviewSquare 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ährend WearPreviewDevices die Composables auf verschiedenen Wear-Geräten rendert.
  • Wir haben Wear Compose ein DefaultTextStyle hinzugefügt, das die Property PlatformTextStyle.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 in CurvedSize.kt (Iab75c)
  • SwipeDismissableNavHost protokolliert jetzt eine Warnung mit möglichen Ursachen für einen leeren Backstack. Dies soll unerwartete Abstürze verhindern, die durch IllegalArgumentException 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 in SwipeToReveal 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 auf Role.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:

Text wird bei großer Schriftgröße abgeschnitten
Abbildung 1: Text abgeschnitten.
  • Wenn das Schriftarten-Padding deaktiviert ist, ist es nicht mehr vorhanden:
Text wird bei großer Schriftgröße nicht abgeschnitten
Abbildung 2: Text wird nicht abgeschnitten.

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 der CurvedModifier-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 in ExpandableState 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, dass PickerGroup 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 Property PlatformTextStyle.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 und WearPreviewSquare 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ährend WearPreviewDevices 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 Parameter focusEnabled ü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 und ToggleButton 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ür PickerGroup zulässig. Wenn auf „false“ gesetzt, werden die Mindestanforderungen für PickerGroup 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, die TestNavHostController 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 durch PickerGroup 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) von androidx.wear.compose.material.ScalingLazyColumn zu andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn migriert. Hier finden Sie ein Beispiel für die Migration. Diese neue Position entspricht eher der von compose.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 Material ScalingLazyColumn ausgerichtet sind, wurden eingestellt. Bitte aktualisieren Sie auf Foundation.Lazy ScalingLazyColumn. Außerdem wurde ScalingLazyListLayoutInfo das Feld anchorType hinzugefügt. (I29d95)
  • ScalingLazyColumn wurde im Wear Compose Material-Paket (I16d34) als veraltet markiert.
  • Wir haben den Modifier ScrollAway so aktualisiert, dass er ScalingLazyListState aus Wear Compose Foundation.Lazy verwendet. Die Überladung, die ScalingLazyListState aus Wear Compose Material verwendet hat, ist jetzt veraltet. (Ifc42c)
  • Wir haben die Dialog-APIs so aktualisiert, dass sie ScalingLazyListState anstelle von Foundation.Lazy verwenden. Außerdem haben wir die Überladungen verworfen, die Material ScalingLazyListState (Ic8960) verwendet haben.
  • Wir haben die Picker APIs aktualisiert, sodass sie ScalingParams aus Foundation.Lazy verwenden. Außerdem haben wir die Überladungen verworfen, die Material ScalingParams 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 aus Foundation.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 von Foundation.Lazy anstelle von Material ScalingLazyColumn (Ic6caa) abhängen.
  • Wir haben unserer DatePicker-Demo (I961cd) optionale fromDate/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 mit BasicText 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, um rememberUpdatedState zu verwenden, damit der Status aktualisiert wird, wenn die onContentReady-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 von Modifier.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 in TimeText zu entfernen. Dadurch wird der Standardwert von timeSource-Parametern in der TimeText 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ätzte autoCentering 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. Bei ScalingLazyListAnchorType.ItemStart wird der richtige obere Abstand berechnet. Bei ScalingLazyListAnchorType.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 von LazyListState und ScalingLazyListState 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, um rememberUpdatedState zu verwenden, damit der Status aktualisiert wird, wenn die onContentReady-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

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ätzte autoCentering 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. Bei ScalingLazyListAnchorType.ItemStart wird der richtige obere Abstand berechnet. Bei ScalingLazyListAnchorType.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 von LazyListState und ScalingLazyListState 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 und OutlinedCompactChip hinzugefügt. (I8249c)
  • Wir haben einen Fehler in Modifier.scrollAway behoben. Wenn der angegebene itemIndex ungültig ist (z. B. wenn der Artikelindex außerhalb des gültigen Bereichs liegt), wird der TimeText 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 nur scrollState 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 und Modifier.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, als centerItem betrachtet. (I30709, b/254257769)
  • Wir haben einen Fehler in ScalingLazyListState.layoutInfo.visibleItemsInfo behoben, der während der Initialisierung von ScalingLazyColumn 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 nach ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty() suchen, wird bestätigt, dass die Initialisierung von ScalingLazyColumn 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ür Chip/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ügt
    • Chip/Button/ToggleButton: Für Chips und Schaltflächen wurde ein neuer Stil mit Umrisslinie hinzugefügt. Außerdem gibt es neue OutlinedChip- und OutlinedButton-Composables, die einen transparenten Chip/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% von onSurfaceVariant (zuvor 20% bis 10% von onSurfaceVariant). 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, damit Talkback 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 des PositionIndicator 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 mit Column, LazyColumn und ScalingLazyColumn). ScrollAway wird in der Regel verwendet, um ein TimeText aus dem sichtbaren Bereich zu scrollen, wenn der Nutzer beginnt, eine Liste von Elementen nach oben zu scrollen.
    • CurvedText/TimeText: Unterstützung für fontFamily, fontStyle und fontSynthesis in CurvedTextStyle hinzugefügt, nutzbar auf curvedText und basicCurvedText
    • CurvedText/TimeText – fontWeight wurde dem Konstruktor und der Kopiermethode für CurvedTextStyle hinzugefügt.
    • ToggleControls: Es wurden animierte Ein/Aus-Schaltflächen für Checkbox, Switch und RadioButton zur Verwendung mit ToggleChip und SplitToggleChip hinzugefügt. Diese können anstelle der statischen Symbole verwendet werden, die von ToggleChipDefaults bereitgestellt werden (switchIcon, checkboxIcon und radioIcon).
    • 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 und fontSynthesis) können jetzt direkt als Parameter von curvedText (Idc422) angegeben werden.

Fehlerkorrekturen

  • curveText und basicCurvedText 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 bei PickerState.repeatedItems = false, um eine explizite Einstellung der autoCentering-Parameter für die interne ScalingLazyColumn 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 und fontSynthesis in CurvedTextStyle hinzugefügt, nutzbar auf curvedText und basicCurvedText. 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 an Modifier.offset anzugleichen (zuvor war er in Pixeln angegeben). Außerdem wurde sie zur Effizienzsteigerung als LayoutModifier umgestaltet. (I9f94b)
  • Im Rahmen der neuen API für Ein/Aus-Schalter haben wir RadioButton’s circleColor in ringColor umbenannt. (I28fa9)
  • Wir haben animierte Checkbox-, Switch- und RadioButton-Schaltflächen für die Verwendung mit ToggleChip und SplitToggleChip hinzugefügt. Diese können anstelle der statischen Symbole verwendet werden, die von ToggleChipDefaults bereitgestellt werden (switchIcon, checkboxIcon und radioIcon). (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 mit Column, LazyColumn und ScalingLazyColumn). ScrollAway wird in der Regel verwendet, um ein TimeText 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 des PositionIndicator 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 und Stepper 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 und Buttons sowie neue OutlinedChip- und OutlinedButton-Composables hinzugefügt, die eine transparente Chip/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 mit ToggleChips 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% von onSurfaceVariant (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) hinter Chip/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% von onSurfaceVariant (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) hinter Chip/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 ein ScalinglazyColumn eine Mischung aus ListHeader()- und Chip()-Komponenten enthält. Die Breite wird dann tendenziell größer oder kleiner, wenn ListHeader-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 Werte CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f) –> neue Werte CubicBezierEasing(0.3f, 0f, 0.7f, 1f). Wenn Sie das alte Verhalten beibehalten möchten, können Sie die scalingParams von ScalingLazyColumn (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 Sie CompactChips 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“ in CenterHorizontally 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 Verhaltenssatz horizontalAlignment = 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, damit fillMaxWidth 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 einfach modifier = Modifier.fillMaxWidth()(I60a2c, b/232206371) hinzu.

Fehlerkorrekturen

  • Der CurvedTextStyle-Konstruktor, der ein TextStyle akzeptiert, berücksichtigt jetzt auch fontWeight. (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 und Picker (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 und ToggleButton: 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 und TitleCard, 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 das SplitToggleChip 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 mit curvedRow und curvedColumn, um Komponenten auf runden Geräten anzuordnen. Weitere Informationen zu CurvedLayout und CurvedModifier 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 und Vignette) 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 von CurvedLayout ist keine zusammensetzbare Lambda-Funktion, sondern eine DSL (domänenspezifische Sprache). Alle Elemente in der DSL von „CurvedLayout“ unterstützen einen optionalen Modifikatorparameter, der aus CurvedModifier erstellt wird.

  • basicCurvedText: ein Element in der CurvedLayout-DSL. Mit basicCurvedText 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 von CurvedLayout erstellt werden, um eine optimale Nutzererfahrung zu gewährleisten. So können Sie beispielsweise die Positionierung angeben und CurvedModifiers 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. Wenn curvedComposable 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 mit curvedComposable.

  • curvedRow und curvedColumn: Ähnlich wie bei Row und Column können curvedRow und curvedColumn in einem CurvedLayout verschachtelt werden, um Elemente nach Bedarf anzuordnen. Für ein curvedRow können die Richtung des Winkellayouts und die radiale Ausrichtung angegeben werden. Für ein curvedColumn 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 und ToggleButton als Richtlinie hinzugefügt (I57cab).
  • Fügen Sie den Parameter „enabled“ zu AppCard und TitleCard hinzu. Sie haben jetzt eine ähnliche API wie androidx.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 und TitleCard 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 jetzt LayoutDirection-abhängig sein und wird übernommen, wenn sie nicht angegeben ist (If0e6a).
  • Wir haben autoCenter: Boolean durch autoCenter: AutoCentringParams ersetzt, um ein API-Problem mit ScalingLazyColumn zu beheben. (Ia9c90)
  • Wir haben iconTintColor und toggleControlTintColor in der gesamten API (Chip/ToggleChip/Dialog/Slider/Stepper/...) in iconColor und toggleControlColor 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, sodass timeColor und appColor standardmäßig auf contentColor 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 und Stepper 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 von contentPadding und autoCenteringPadding 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ügten SwipeToDismissBox-Overload einen Standardwert für „state“ hinzugefügt. (I682a0)
  • Zur besseren Unterstützung von I18N und A11Y haben wir ToggleChip und SplitToggleChip so geändert, dass sie keinen Standardwert mehr für den toggleControl-Slot haben. Außerdem haben wir ToggleChipDefaults 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() und RadioIcon()->radioIcon(). So können Entwickler eigene Icon()-Composables mit einem geeigneten contentDescription-Satz erstellen. (I5bb5b)
  • Wir haben SwipeDismissableNavHost einen SwipeDismissableNavHostState-Parameter hinzugefügt. Dadurch wird die Verwendung von Wischgesten am Bildschirmrand auf Bildschirmen unterstützt, die als Navigationsziele verwendet werden, da SwipeToDismissBoxState jetzt angehoben und verwendet werden kann, um sowohl SwipeDismissableNavHostState als auch Modifier.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ür SwipeToDismiss hinzu. Ermöglicht, dass swipeToDismiss 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 keine CurvedModifiers 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 wir PageIndicator 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 einem onDismissed-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 der TimeText-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 Methode PickerDefaults.flingBehaviour() hinzugefügt, um das Fling-Verhalten zu konfigurieren, z. B. um die RSB-Unterstützung hinzuzufügen. PickerState implementiert jetzt die ScrollableState-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 in CurvedLayout umbenannt und als Bereich mit einer DSL neu konzipiert. Mit dieser DSL können komplexere gekrümmte Layouts mit einer Reihe von verschachtelten curvedRow- und curvedColumn-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) und curvedText (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 wir SwipeDismissTarget.Original in SwipeToDismissValue.Default und SwipeDismissTarget.Dismissal in SwipeToDismissValue.Dismissed umbenannt. Außerdem haben wir SwipeToDismissBoxDefaults.BackgroundKey und SwipeToDismissBoxDefaults.ContentKey in SwipeToDismissKeys.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 von ExperimentalWearMaterialApi auf Modifier.swipeable und SwipeableState zu beschränken, die jetzt intern verwendet werden. SwipeToDismissBoxState hat jetzt die Mitglieder currentValue, targetValue, isAnimationRunning und snapTo zur Unterstützung gängiger Anwendungsfälle. Bitte teilen Sie uns mit, wenn Sie weitere Eigenschaften benötigen. Außerdem wurde das Verhalten von SwipeableState 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 neues ToggleDefaults.splitToggleChipColors() hinzugefügt, um das neue Farbschema zu unterstützen. Außerdem haben wir die toggleChipColors()-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 wie DatePicker, 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 ein Vignette angezeigt. Außerdem verwenden wir jetzt ScalingLazyColumn anstelle von Column. Das bedeutet, dass sich der Dialoginhalt jetzt in ScalingLazyListScope 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- und SplitToggleChip-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 Index ScalingLazyListState.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 ein ScalingLazyColumn mit autoCenter nicht über das initialCenterItemIndex/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 Sie flingBehavior = 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 Eigenschaften reverseLayout, viewportSize und „Ausrichtung“, die denen von LazyListLayoutInfo entsprechen (I4f258, b/217917020).
  • ScalingLazyColumn hat jetzt eine userScrollEnabled-Property, die der von LazyList 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 von LazyColumn angepasst. Wenn Sie das alte Verhalten wiederherstellen möchten, übergeben Sie Modifier.fillMaxWidth()/width()/widthIn() an ScalingLazyColumn (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 mit ScalingLazyListState.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 auf extraPadding 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 mit viewportVerticalOffsetResolver 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 von LazyColumn angepasst. Wenn Sie das alte Verhalten wiederherstellen möchten, übergeben Sie Modifier.fillMaxSize() an ScalingLazyColumn. 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 Property autoCentering 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 sollte Alert oder Confirmation sein (umbenannt von den früheren Komponenten AlertDialog und ConfirmationDialog). Alert, Confirmation und Dialog befinden sich alle im Paket androidx.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 durch onSurfaceVariant 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 eines PickerState angegeben werden. (I92bdf)
  • Wir haben die Möglichkeit hinzugefügt, das Wischverhalten von ScalingLazyColumn anzupassen. (I1ad2e, b/208842968)
  • Wir haben NavController.currentBackStackEntryAsState() der Wear.Compose.Navigation-Mediathek hinzugefügt. (If9028, b/212739653)
  • Modifier.onRotaryScrollEvent() und Modifier.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 Property anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter hinzugefügt, mit der gesteuert werden kann, ob der Mittelpunkt (ScalingLazyListAnchorType.ItemCenter) oder Edge (ScalingLazyListAnchorType.ItemStart) an der Mittellinie des Viewports ausgerichtet werden soll.

    Daher haben sich ScalingLazyListItemInfo.offset und ScalingLazyListItemInfo.adjustedOffset geändert. Sie geben jetzt den Offset des Elements in Bezug auf die Position des Listenelements und den anchorType der Liste an. Für ein ScalingLazyColumn mit anchorType von ItemCenter und einem Listenelement, das mit seinem Mittelpunkt auf der Mittellinie des Viewports positioniert ist, wäre der Offset 0.

    Die neuen Methoden sind scrollTo, animatedScrollTo, centerItemIndex und centerItemOffset. (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 von InlineSlider und Stepper referenziert). (I927ec)

Fehlerkorrekturen

  • Es wurde ein Problem behoben, bei dem SwipeDismissableNavHost ein Ziel der Compose-Hierarchie hinzufügte, bevor es den CREATED-Lebenszyklusstatus erreicht hatte, was zu einem IllegalStateException führte. Diese Korrektur war eine Voraussetzung für die Aktualisierung der Abhängigkeit von navigation-compose auf 2.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 oder shrinkResources=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 von 23. (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 in content umbenannt und sie ans Ende der Attributliste verschoben, damit sie als nachgestellte Lambda-Funktion bereitgestellt werden können. Außerdem wurde bodyColor in contentColor 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 von Navigator-Instanzen, die dem zurückgegebenen NavController 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 Navigationsdiagrammen
    • rememberSwipeDismissableNavController(), um das Hoisting des Status zu ermöglichen
  • 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, um rememberSaveable 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 und GestureScope wurden verworfen und durch performTouchInput und TouchInjectionScope 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)
    1. Der Abstand zwischen Titel und Text auf der Titelkarte wurde von 8 dp auf 2 dp reduziert.
    2. Die Schriftart des TitleCard-Headers wurde von „body“ in „title3“ geändert.
    3. 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 zur SwipeDismissTarget-Enumeration hinzugefügt, die Teil der SwipeToDismissBox 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() in CardDefaults.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.