Wear Compose

  
Schreiben von Jetpack Compose-Anwendungen für Wearable-Geräte durch Bereitstellung von Funktionen zur Unterstützung von Wearable-spezifischen Geräten, Größen, Formen und Navigationsgesten
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alpharelease
3. April 2024 1.3.1 - - 1.4.0-alpha06

Abhängigkeiten deklarieren

Zum Hinzufügen einer Abhängigkeit von Wear musst du deinem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

Fügen Sie der Datei build.gradle für Ihre Anwendung oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:

Groovig

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.3.1"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material:1.3.1"

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation "androidx.wear.compose:compose-navigation:1.3.1"

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.3.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.3.1")

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material:1.3.1")

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation("androidx.wear.compose:compose-navigation:1.3.1")
    
    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.3.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

Dein Feedback hilft uns, Jetpack zu verbessern. Lassen Sie uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie eine neue erstellen. Durch Klicken auf die Stern-Schaltfläche können Sie zu einem vorhandenen Problem abstimmen.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Wear Compose Material3 Version 1.0

Version 1.0.0-alpha20

3. April 2024

androidx.wear.compose:compose-material3:1.0.0-alpha20 wird freigegeben. Version 1.0.0-alpha20 enthält diese Commits.

Fehlerkorrekturen

  • Wir haben die Alphas im „gedrückten“ und fokussierten Zustand für den Kontrast angepasst. (I59f0a)
  • Aufgrund der neuesten Änderungen an Typografiestilen und Zeilenhöhen haben wir die Abstände zwischen primären und sekundären Labels in Button, ToggleButton und RadioButton hinzugefügt. (I2c0ba)

Version 1.0.0-alpha19

6. März 2024

androidx.wear.compose:compose-material3:1.0.0-alpha19 wird freigegeben. Version 1.0.0-alpha19 enthält diese Commits.

API-Änderungen

  • Wir haben „TimeText“ zur Material3-Bibliothek von Wear Compose hinzugefügt. Diese Komponente zeigt die aktuelle Uhrzeit und zusätzliche Statusangaben oben auf dem Bildschirm an. Die neue, prägnante Material3 API vermeidet Duplikate von linearen und gebogenen Inhalten. (I4d7c3)
  • Wir haben die Parameternamen für RadioButton von onSelected zu onSelect geändert. (I1a971)
  • Tokenisieren Sie RadioButton und SplitRadioButton und refaktorieren Sie die vorhandenen Methoden, um die Anzahl der CompositionLocal-Lookups zu reduzieren. Fügen Sie dazu im Cache gespeicherte Instanzen von Farben hinzu und legen Sie die Methoden RadioButtonColors und SplitRadioButtonColors intern fest. (I02b33)

Version 1.0.0-alpha18

21. Februar 2024

androidx.wear.compose:compose-material3:1.0.0-alpha18 wird freigegeben. Version 1.0.0-alpha18 enthält diese Commits.

API-Änderungen

  • Wir haben das Standardmuster für CardColors, ToggleButtonColors und SplitToggleButtonColors überarbeitet, indem wir intern im Cache gespeicherte Instanzen erstellt und die Nutzung von CompositionLocal reduziert haben. (If3fec)

Version 1.0.0-alpha17

7. Februar 2024

androidx.wear.compose:compose-material3:1.0.0-alpha17 wird freigegeben. Version 1.0.0-alpha17 enthält diese Commits.

API-Änderungen

  • Wir haben die Button API so aktualisiert, dass standardmäßig buttonColors verwendet wird. Das doppelte filledButtonColors wurde entfernt. (I4fe3b)
  • Wir haben die Standardmuster für ButtonColors, IconButtonColors und TextButtonColors überarbeitet, indem wir intern eine im Cache gespeicherte Instanz erstellt und die Nutzung von CompositionLocal reduziert haben. (I5f51c)
  • Wir haben den Aufwand von rememberUpdatedState in komponentenspezifischen Farbklassen entfernt und Zugriffsmethoden innerhalb von Farbklassen als intern gekennzeichnet. (If6571)

Fehlerkorrekturen

  • Modifier.minimumInteractiveComponentSize wurde aktualisiert und verwendet nun Modifier.node. (Iba6b7)

Version 1.0.0-alpha16

24. Januar 2024

androidx.wear.compose:compose-material3:1.0.0-alpha16 wird freigegeben. Version 1.0.0-alpha16 enthält diese Commits.

Neue Funktionen

  • Wir haben CompactButton hinzugefügt, das dieselben ausgefüllten, ausgefüllten Tonwerte und umrissenen Farben wie für die Schaltfläche verwenden kann.(I05df0)

API-Änderungen

  • Wir haben RadioButton/SplitRadioButton als Container für Auswahlsteuerelemente hinzugefügt, z. B. die Funksteuerung. Sie unterscheidet sich insofern vom vorhandenen ToggleButton, als RadioButton auswählbar ist (und in einer Auswahlgruppe ausgeführt wird), während ToggleButton ein- und ausgeschaltet ist und unabhängig ist. (I61275)
  • Wir entfernen LocalContentAlpha aus der Wear Compose Material3-Bibliothek, um die Einheitlichkeit mit der Compose Material3-Bibliothek zu vereinheitlichen. (I49a0a)
  • „Wear Material“- und „Wear Material3“-Komponenten, durch die in der API ein MutableInteractionSource verfügbar gemacht wird, wurden aktualisiert, sodass jetzt eine MutableInteractionSource verfügbar ist, die Nullwerte zulässt und standardmäßig auf null gesetzt ist. Hier gibt es keine semantischen Änderungen: Wenn Sie null übergeben, bedeutet das, dass das MutableInteractionSource nicht angezogen werden soll. Es wird bei Bedarf innerhalb der Komponente erstellt. Wenn Sie den Wert auf null ändern, können einige Komponenten niemals eine MutableInteractionSource zuweisen. Andere Komponenten können eine Instanz nur bei Bedarf verzögert erstellen, was die Leistung dieser Komponenten verbessert. Wenn Sie MutableInteractionSource nicht verwenden, das Sie an diese Komponenten übergeben, empfiehlt es sich, stattdessen null zu übergeben. Es wird auch empfohlen, ähnliche Änderungen an Ihren eigenen Komponenten vorzunehmen. (Ib90fc, b/298048146)
  • In den Bibliotheken wear:compose-material und wear:compose-material3 wird eine neue Ripple API hinzugefügt, die das eingestellte rememberRipple ersetzt. Außerdem wird ein temporäres CompositionLocal (LocalUseFallbackRippleImplementation) hinzugefügt, um Material-Komponenten auf die verworfenen rememberRipple/RippleTheme APIs zurückzusetzen. Diese wird in der nächsten stabilen Version entfernt und ist nur als vorübergehende Migrationshilfe gedacht, wenn du eine benutzerdefinierte RippleTheme angibst. Informationen zur Migration und weitere Hintergrundinformationen zu dieser Änderung findest du unter developer.android.com. (af92b21)
  • Wir haben kleinere Verbesserungen an der HorizontalPageIndicator API und ihrer Dokumentation vorgenommen. (I60efc)
  • Wir haben ColorScheme aktualisiert, sodass sie unveränderlich ist. Dadurch werden einzelne Farbaktualisierungen weniger effizient, aber die gängige Verwendung von Farben wird effizienter. Der Grund für diese Änderung ist, dass die Aktualisierung einzelner Farben bei den meisten Apps nicht mehr hauptsächlich verwendet werden würde. Dies ist immer noch möglich, aber es wird sich stärker neu zusammensetzen als zuvor, was wiederum die Anzahl der staatlichen Abonnements über den gesamten materiellen Code erheblich reduziert und sich auf die Initialisierungs- und Laufzeitkosten für mehr Standardanwendungsfälle auswirkt. (Ibc2d6)
  • Die APIs ToggleButton und SplitToggleButton wurden aktualisiert, damit deaktivierte Farben angepasst werden können. Darüber hinaus werden Material Design-Tokens jetzt für Farb- und Typografiewerte verwendet. (If087c)
  • Die Hintergrundfarben des Schaltflächenbilds wurden aktualisiert, sodass jetzt Material Design-Tokens verwendet werden. (Iba215)
  • Die Komponenten „Checkbox“, „Switch“ und „RadioButton“ sind jetzt nur noch schreibgeschützt. Die Klickbehandlung wurde entfernt. Diese Komponenten werden voraussichtlich in (Split)ToggleButton verwendet, wo der Klick verarbeitet wird. Die Komponenten sind jetzt deutlicher als reine Anzeigeelemente gekennzeichnet und nicht für die eigenständige Verwendung unter Wear vorgesehen. (I2322e)

Fehlerkorrekturen

  • Wir haben in Wear Compose Material 3 Tokens für Bewegungswerte für die Dauer und Easings hinzugefügt. (I437cd)
  • Wir haben einen Fehler in ToggleButton, SplitToggleButton, Checkbox, Switch und RadioButton behoben, sodass Ankündigungen für Bedienungshilfen nicht wiederholt werden (bisher wurden semantische Rollen dupliziert). (ICA281)
  • Wir haben die Materialcore-Ebene für CompactButton entfernt, um die Leistung zu verbessern. (7902858)

Version 1.0.0-alpha15

15. November 2023

androidx.wear.compose:compose-material3:1.0.0-alpha15 wird freigegeben. Version 1.0.0-alpha15 enthält diese Commits.

API-Änderungen

  • Die Grundebene SwipeToDismissBox wurde in BasicSwipeToDismissBox umbenannt. Dadurch kann zwischen der Grundebene und der Material3-Ebene SwipeToDismissBox unterschieden werden. Letzterer ruft die Farben aus dem MaterialTheme ab, die in Gitternetzen verwendet werden sollen, und delegiert die verbleibende Implementierung an die BasicSwipeToDismissBox. (Ibecfc)

Fehlerkorrekturen

  • Wir haben die Ebene mit dem Materialkern für die Material3-Schaltfläche entfernt, um die Leistung zu verbessern. (I55555)

Version 1.0.0-alpha14

18. Oktober 2023

androidx.wear.compose:compose-material3:1.0.0-alpha14 wird freigegeben. Version 1.0.0-alpha14 enthält diese Commits.

API-Änderungen

  • Wir haben den indicatorStyle-Parameter aus dem Material3-HorizontalPageIndicator entfernt. Er wird stattdessen der Bildschirmform des Geräts (linear oder rund) zugewiesen. (I83728)
  • Wir haben die Farben für SplitToggleButton von denen für ToggleButton getrennt, indem wir eine neue SplitToggleButtonColors-Klasse hinzugefügt haben. (I78bee)

Version 1.0.0-alpha13

4. Oktober 2023

androidx.wear.compose:compose-material3:1.0.0-alpha13 wird freigegeben. Version 1.0.0-alpha13 enthält diese Commits.

API-Änderungen

  • Wir haben TitleCard ein optionales Untertitelfeld hinzugefügt. (Ifc45a)
  • Wir haben Material Design-Farbtokens für TextButton hinzugefügt. (I769dc)

Version 1.0.0-alpha12

20. September 2023

androidx.wear.compose:compose-material3:1.0.0-alpha12 wird freigegeben. Version 1.0.0-alpha12 enthält diese Commits.

API-Änderungen

  • Wir haben IconButton aktualisiert, sodass nun Material Design-Tokens verwendet werden. (I3f137)
  • Wir haben IconToggleButton aktualisiert, sodass nun Material Design-Tokens verwendet werden. (I7d263)
  • Wir haben die Konstruktoren von CheckboxColors, RadioButtonColors und SwitchColors veröffentlicht. (I82b73)

Version 1.0.0-alpha11

6. September 2023

androidx.wear.compose:compose-material3:1.0.0-alpha11 wird freigegeben. Version 1.0.0-alpha11 enthält diese Commits.

Fehlerkorrekturen

  • Wir haben die Typografie für Material3-Karten zu TitleMedium aktualisiert. (I597bd)
  • Wir haben die Typografie und Ausrichtung für Material3 ListHeader und ListSubheader aktualisiert. (Ib5ceb)

Version 1.0.0-alpha10

23. August 2023

androidx.wear.compose:compose-material3:1.0.0-alpha10 wird freigegeben. Version 1.0.0-alpha10 enthält diese Commits.

Neue Funktionen

  • Füge „HorizontalPageIndicator“ in die Wear Material3-Mediathek ein. (Ifee99)

API-Änderungen

  • Aktualisieren Sie den Schaltflächencode, um Material3-Designtokens zu verwenden. (I92fe4)
  • Sie deklarieren Wear Material 3 Stepper und Slider APIs als experimentell, da die Details der Benutzeroberfläche noch nicht fertiggestellt sind. (I84d54)
  • Wir haben die Größen „ExtraSmall“ aus den runden TextButton und TextToggleButton entfernt, da diese Größe nur für IconButton gilt. (Ibc7d5)

Fehlerkorrekturen

  • Wir haben die Richtlinien zur Typografie für TextToggleButton aktualisiert, um LabelLarge für LargeButtonSize (Ib10fa) zu verwenden
  • Wir haben die Richtlinien zur Typografie für TextButton aktualisiert, um LabelLarge für LargeButtonSize (I8f3a7) zu verwenden
  • Wir haben die Mindestberührungszielgruppe für die Karte für Barrierefreiheit auf 48 dp festgelegt. (Ieb9b1)
  • Demo für AppCard mit Bild hinzufügen, AppCard mit Hintergrunddemo entfernen (Id735f)
  • Ein Fehler in runden Schaltflächen wurde behoben, bei dem Modifikatoren nicht richtig verkettet waren. (I5e162)

Version 1.0.0-alpha09

9. August 2023

androidx.wear.compose:compose-material3:1.0.0-alpha09 wird freigegeben. Version 1.0.0-alpha09 enthält diese Commits.

Neue Funktionen

  • Wir haben ToggleButton für Material3 (I6bed6) hinzugefügt

API-Änderungen

  • Wir haben die Annotation FloatRange als API-Einschränkungen aktiviert , wie zuvor in den Kommentaren angegeben. (Icb401)
  • Wir haben die Typografie für Wear Material3 aktualisiert, um den aktuellen Material3-Richtlinien zu entsprechen. (I1bad6)

Fehlerkorrekturen

  • Wir haben die Farben für Button, IconButton und TextButton im Einklang mit dem Material3-Design aktualisiert. (Ib2495)
  • Die Sichtbarkeit von Kästchenmarkierungen bei deaktivierten Status wurde korrigiert. (Ib25bf)

Version 1.0.0-alpha08

26. Juli 2023

androidx.wear.compose:compose-material3:1.0.0-alpha08 wird freigegeben. Version 1.0.0-alpha08 enthält diese Commits.

Neue Funktionen

  • Wir haben die folgenden Auswahleinstellungen für Material3 hinzugefügt: Switch, Checkbox, RadioButton. (Ib918c)
  • Wir haben IconToggleButton und TextToggleButton zu Material3 hinzugefügt, einer kreisförmigen Ein/Aus-Schaltfläche mit einer einzelnen Fläche für Symbol bzw. Text. Für verschiedene Größen von ToggleButton empfehlen wir die Verwendung von Modifier.touchTargetAwareSize mit den Größen der entsprechenden Ein-/Aus-Schaltflächen. (I9f015)
  • Wir haben ListHeader und ListSubheader zu unseren Material3-Komponenten hinzugefügt. (Ibaefe)
  • Wir haben Material3 SwipeToDismissBox hinzugefügt, das die neue Foundation SwipeToDismissBox aufruft und Standardfarbwerte aus dem Design bereitstellt. (I275fb)
  • Wir haben Material3 InlineSlider zu Wear Compose hinzugefügt. Nutzende können damit eine Auswahl aus einem Bereich von Werten treffen. Der Auswahlbereich wird als Balken zwischen dem Mindest- und Höchstwert des Bereichs angezeigt, aus dem Nutzer einen einzelnen Wert auswählen können. InlineSlider eignet sich ideal zum Anpassen von Einstellungen wie Lautstärke oder Helligkeit. (I7085f)

API-Änderungen

  • Wir haben das Design von „Formen“ in Wear Material 3 aktualisiert und verwenden nun RoundedCornerShape anstelle von „Form“. (Idb133)
  • Wir haben die Höhenkonstanten für Button öffentlich gemacht (Idbfde).
  • Aktualisierte API-Dateien, um die Kompatibilitätsunterdrückung zu erklären (I8e87a, b/287516207)
  • Wir haben InlineSliderColors in Wear Compose Material 3 aktualisiert und enthalten nun öffentliche Konstruktor- und öffentliche Properties. (I6b632)
  • Wir haben alle Farbklassen in Wear Compose Material 3 aktualisiert und enthalten nun öffentliche Konstruktoren und öffentliche Properties. (I17702)
  • Wir haben die Konstanten für horizontale und vertikale Abstände für Schaltflächen öffentlich gemacht. (Ieeaf7)

Fehlerkorrekturen

  • Bei Bedarf wird die Höhe der Schaltfläche jetzt an Inhalte angepasst, die aufgrund der großen Schriftgröße gewachsen sind, um bei Bedarf Barrierefreiheit zu ermöglichen (Iaf302).
  • Wir haben eine Reihe von Schaltflächen-Demos aktualisiert, um Probleme mit der Barrierefreiheit zu beheben. (I61ce9)
  • 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.0.0-alpha07

21. Juni 2023

androidx.wear.compose:compose-material3:1.0.0-alpha07 wird freigegeben. Version 1.0.0-alpha07 enthält diese Commits.

Neue Funktionen

  • Wir haben der Material 3-Bibliothek von Compose für Wear OS die Komponente „Stepper“ hinzugefügt. Sie ist ähnlich wie die vorherige Material-Version, berücksichtigt jedoch vom Entwicklerfeedback standardmäßig die Bereichssemantik. In den Fällen, in denen eine Bereichssemantik erforderlich ist, wird Modifier.rangeSemantics bereitgestellt. IC39fD
  • Wir haben curvedText zur Material 3-Bibliothek von Compose für Wear OS hinzugefügt. (Ia8ae3)

Fehlerkorrekturen

  • wear.compose.foundation wurde zu einer API-Abhängigkeit von wear.compose.material3 aktualisiert (I72004, b/285404743).

Version 1.0.0-alpha06

7. Juni 2023

androidx.wear.compose:compose-material3:1.0.0-alpha06 wird freigegeben. Version 1.0.0-alpha06 enthält diese Commits.

Fehlerkorrekturen

  • Wir haben TextButton aktualisiert, damit die Erweiterungsfunktion „toDisabledColor“ für korrekte deaktivierte Alphawerte verwendet wird. (I814c8)

Version 1.0.0-alpha05

24. Mai 2023

androidx.wear.compose:compose-material3:1.0.0-alpha05 wird freigegeben. Version 1.0.0-alpha05 enthält diese Commits.

Neue Funktionen

  • Material3 wurde um TextButton ergänzt, einer runden Schaltfläche mit einer einzigen Fläche für Text. Für verschiedene Größen von TextButton empfehlen wir die Verwendung von Modifier.touchTargetAwareSize und ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize und LargeButtonSizeIcon in TextButtonDefaults. Das standardmäßige TextButton hat keinen Rahmen und einen transparenten Hintergrund für Aktionen mit geringer Betonung. Verwenden Sie für Aktionen, die eine hohe Betonung erfordern, filledTextButtonColors. Für eine mittlere Betonung, umrissene TextButton, setzen Sie den Rahmen auf ButtonDefaults.outlinedButtonBorder. Für einen Mittelweg zwischen umrissen und ausgefüllten Elementen verwenden Sie filledTonalTextButtonColors. (I667e4)
  • Wir haben Card, OutlinedCard, AppCard und TitleCard zur Wear Compose-Material3-Bibliothek hinzugefügt. AppCard und TitleCard können auch wie umrissen mithilfe von CardDefaults.outlinedCardColors und CardDefaults.outlinedCardBorder dargestellt werden(I80e72).

API-Änderungen

  • Wir haben den Parameter „Button label“ an das Ende verschoben, um die nachgestellte Lambda-Syntax zu unterstützen, und den Parameter „role“ wurde entfernt, da er mit Modifier.semantics überschrieben werden kann. ButtonColors-Konstruktoren sind jetzt öffentlich. (Ie1b6d)

Version 1.0.0-alpha04

10. Mai 2023

androidx.wear.compose:compose-material3:1.0.0-alpha04 wird freigegeben. Version 1.0.0-alpha04 enthält diese Commits.

Neue Funktionen

  • Material3 wurde um IconButton ergänzt, einer runden Schaltfläche mit einer einzigen Fläche für Symbol/Bild. Es gibt vier Varianten: IconButton, FilledIconButton, FilledTonalIconButton und OutlinedIconButton. Für verschiedene Größen von IconButton empfehlen wir die Verwendung von Modifier.touchTargetAwareSize und ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize und LargeButtonSizeIcon in IconButtonDefaults. Wir stellen auch IconButtonDefaults.iconSizeFor bereit, um die empfohlene Symbolgröße für eine bestimmte Schaltflächengröße zu bestimmen. (I721d4)

Version 1.0.0-alpha03

19. April 2023

androidx.wear.compose:compose-material3:1.0.0-alpha03 wird freigegeben. Version 1.0.0-alpha03 enthält diese Commits.

API-Änderungen

  • Wir haben die Material 3-Schaltfläche-Komponente hinzugefügt – unsere stadionförmige Schaltfläche, die in der Wear Compose-Material-Bibliothek früher als Chip bezeichnet wurde (sie wurde in „Button“ umbenannt, damit sie mit der Compose-Material 3-Bibliothek vereinheitlicht wird). Die Standardschaltfläche hat einen ausgefüllten Hintergrund und es gibt verschiedene Schaltflächenvarianten für FilledTonal (unauffälliger Hintergrund), Umriss (transparent mit schmalem Rahmen) und "Child" (transparenter Hintergrund ohne Rahmen, wird für zusätzliche Aktionen mit der geringsten Auffälligkeit verwendet). Runde Schaltflächen für einfache Symbol- und Textinhalte werden in einer zukünftigen Version folgen.(Ia6942)

Version 1.0.0-alpha02

5. April 2023

androidx.wear.compose:compose-material3:1.0.0-alpha02 wird freigegeben. Version 1.0.0-alpha02 enthält diese Commits.

Fehlerkorrekturen

  • Wir haben Wear Compose Material 3 ein DefaultTextStyle hinzugefügt, das PlatformTextStyle.includeFontPadding standardmäßig auf „true“ (die aktuelle Einstellung) setzt. So können wir in Zukunft das standardmäßige Deaktivieren des Schriftabstands mit den Bibliotheken im Tool „Compose“ synchronisieren. Weitere Informationen finden Sie im Hilfeartikel Probleme mit dem Textabstand in der Funktion „Hintergrund“ beheben. (I7e461)

Version 1.0.0-alpha01

22. März 2023

androidx.wear.compose:compose-material3:1.0.0-alpha01 wird freigegeben. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Material 3 ist die nächste Weiterentwicklung von Material Design und umfasst aktualisierte Themen und neu gestaltete Komponenten. Material 3 in Wear Compose ist mit der Material 3 Compose-Bibliothek auf Android kompatibel. Diese erste Alphaversion enthält frühe, funktionale Implementierungen für Folgendes:

    • Material Theme – Konfiguriert das Farbschema, die Typografie und die Formen in den Komponenten der Bibliothek einheitlich. Beim Design von Material3 wurden die Farben überarbeitet, um einen barrierefreien Kontrast zu ermöglichen. (I84005)
    • Text/Symbol – Bausteine für Wear Compose-Apps (I8e06a)
  • Wir werden Wear Material (androidx.wear.compose:compose-material) und Wear Material 3 (androidx.wear.compose:compose-material3) parallel weiter entwickeln. In zukünftigen Material 3-Versionen wird das Widget-Set um weitere bekannte Komponenten von Compose für Wear OS erweitert, z. B. Schaltflächen, Auswahlelemente und Schieberegler.

  • Die Bibliotheken „Wear Material“ und „Wear Material 3“ schließen sich gegenseitig aus und sollten nicht in derselben App kombiniert werden, da sie sich auf unterschiedliche Themen beziehen, was zu unerwarteten Inkonsistenzen führen würde.

Version 1.4

Version 1.4.0-alpha06

3. April 2024

androidx.wear.compose:compose-*:1.4.0-alpha06 wird freigegeben. Version 1.4.0-alpha06 enthält diese Commits.

Fehlerkorrekturen

  • Im Rahmen der Migration von Horologist zur Migration des Rotary-Verhaltens auf AndroidX haben wir einen internen Entwurf der Drehunterstützung hinzugefügt. (I617d1)
  • Im Rahmen der umfassenden Migration von Horologist zur Migration des Rotary-Verhaltens auf AndroidX haben wir einen internen Entwurf zur Unterstützung des haptischen Feedbacks hinzugefügt. (I5568a)

Version 1.4.0-alpha05

20. März 2024

androidx.wear.compose:compose-*:1.4.0-alpha05 wird freigegeben. Version 1.4.0-alpha05 enthält diese Commits.

API-Änderungen

  • Die Properties initialCenterItemIndex und initialCenterItemScrollOffset von ScalingLazyListState wurden veröffentlicht. (I0c616)
  • Wir haben FullScreenStrokeWidth von ProgressIndicatorDefaults veröffentlicht. (Ibea23)

Fehlerkorrekturen

  • Wir haben die Leistung von PositionIndicator verbessert, indem wir die Anzahl der Aufrufe von ScalingLazyColumn auf layoutInfo verringert haben. (Idc83d)

Version 1.4.0-alpha04

6. März 2024

androidx.wear.compose:compose-*:1.4.0-alpha04 wird freigegeben. Version 1.4.0-alpha04 enthält diese Commits.

API-Änderungen

  • Wir haben eine neue Überlastung für ToggleChip und SplitToggleChip hinzugefügt, die einen selectionControl-Parameter anstelle des toggleControl-Parameters annimmt. Sollte mit dem Steuerelement RadioButton verwendet werden, um eine auswählbare Semantik anstelle einer umschaltbaren Semantik für Bedienungshilfen bereitzustellen (I1d6d9)
  • Wir haben die Parameternamen für die neue selectionControl-Überlastung von onSelected auf 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 freigegeben. Version 1.4.0-alpha03 enthält diese Commits.

API-Änderungen

  • Der Wrapper Modifier.inspectable wurde verworfen. Da diese API mehr Entwertungen Ihres Modifizierers als nötig erstellt, wird davon abgeraten. Entwicklern wird empfohlen, die Methode inspectableProperties() für ModifierNodeElement zu implementieren, wenn sie Modifikatoreigenschaften für Tools zur Verfügung stellen möchten. (Ib3236)

Fehlerkorrekturen

  • Ein Dokumentationsfehler für WearPreview*-Annotationen wurde behoben. (Id526d)

Version 1.4.0-alpha02

7. Februar 2024

androidx.wear.compose:compose-*:1.4.0-alpha02 wird freigegeben. Version 1.4.0-alpha02 enthält diese Commits.

Fehlerkorrekturen

  • Wir haben einen Fehler behoben, bei dem eine durch Wischen zum Reveal ausgelöste Aktion mit einer für ein Element festgelegten Aktion interagiert (und abgebrochen) konnte, indem mit dem Wischen eines anderen Elements begonnen wurde.(Ide059)
  • Wir haben die ListHeader aktualisiert, um Höhenanpassungen zu unterstützen, wenn Inhalte eine höhere Höhe für große Schriftgrößen benötigen. (I7290c, b/251166127)

Version 1.4.0-alpha01

24. Januar 2024

androidx.wear.compose:compose-*:1.4.0-alpha01 wird freigegeben. Version 1.4.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Wir haben SwipeDismissableNavHost eine Eintragsanimation für In-App-Übergänge hinzugefügt.(cfeb79a)
  • PositionIndicator wird jetzt standardmäßig angezeigt, wenn zum ersten Mal ein Bildschirm aufgerufen wird. Diese Änderung wurde eingeführt, um die Qualitätsrichtlinien für Wear OS zu erfüllen. Dies bedeutet leider, dass Screenshot-Tests auf Bildschirmen mit PositionIndicator aktualisiert werden müssen, da die PositionIndicator zuvor nicht angezeigt worden wären. 419cef7

API-Änderungen

  • Wir haben den Bibliotheken wear:compose-material und wear:compose-material3 eine neue Ripple API hinzugefügt, die das eingestellte rememberRipple ersetzt. Außerdem wird ein temporäres CompositionLocal (LocalUseFallbackRippleImplementation) hinzugefügt, um Material-Komponenten auf die verworfenen rememberRipple/RippleTheme APIs zurückzusetzen. Diese wird in der nächsten stabilen Version entfernt und ist nur als vorübergehende Migrationshilfe gedacht, wenn du eine benutzerdefinierte RippleTheme angibst. Informationen zur Migration und weitere Hintergrundinformationen zu dieser Änderung findest du unter developer.android.com. (af92b21)
  • Wir haben ColorScheme aktualisiert, sodass sie unveränderlich ist. Dadurch werden einzelne Farbaktualisierungen weniger effizient, aber die gängige Verwendung von Farben wird effizienter. Der Grund für diese Änderung ist, dass die Aktualisierung einzelner Farben bei den meisten Apps nicht mehr hauptsächlich verwendet werden würde. Dies ist immer noch möglich, aber es wird sich stärker neu zusammensetzen als zuvor, was wiederum die Anzahl der staatlichen Abonnements über den gesamten wesentlichen Code erheblich reduziert und sich auf die Initialisierungs- und Laufzeitkosten für mehr Standardanwendungsfälle auswirkt. f5c48b7
  • Wear Material- und Wear-Material3-Komponenten, die ein MutableInteractionSource in ihrer API freigeben, wurden aktualisiert, sodass jetzt ein MutableInteractionSource verfügbar ist, für den Nullwerte zulässig sind, der standardmäßig auf null gesetzt ist. Hier gibt es keine semantischen Änderungen: Wenn Sie null übergeben, bedeutet das, dass das MutableInteractionSource nicht angezogen werden soll. Es wird bei Bedarf innerhalb der Komponente erstellt. Wenn Sie den Wert auf null ändern, können einige Komponenten niemals eine MutableInteractionSource zuweisen. Andere Komponenten können eine Instanz nur bei Bedarf verzögert erstellen, was die Leistung dieser Komponenten verbessert. Wenn Sie MutableInteractionSource nicht verwenden, das Sie an diese Komponenten übergeben, empfiehlt es sich, stattdessen null zu übergeben. Es wird auch empfohlen, ähnliche Änderungen an Ihren eigenen Komponenten vorzunehmen. (f8fa920)
  • rememberExpandableState wurde aktualisiert, um den maximierbaren Status zu speichern. Dadurch wird sichergestellt, dass die Daten beim Wechseln zu einem anderen Bildschirm gespeichert und beim Zurückkehren zum ursprünglichen Bildschirm wiederhergestellt werden. (5c80095)

Fehlerkorrekturen

  • Die Einstellung ReduceMotion wurde aktualisiert, sodass ein Lebenszyklussensitiver Listener verwendet wird. 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).
  • BasicSwipeToDismissBox wurde gegenüber NaN-Offsets robuster gemacht, um Ausnahmen zu vermeiden (b983739).
  • Wir haben BasicSwipeToDismissBox aktualisiert, damit Alphawerte im Bereich 0,1 liegen
  • Wir haben einen Fehler in ToggleButton, SplitToggleButton, Checkbox, Switch und RadioButton behoben, sodass Ankündigungen für Bedienungshilfen nicht wiederholt werden (bisher wurden semantische Rollen dupliziert) (d11eeb7)

Version 1.3

Version 1.3.1

3. April 2024

androidx.wear.compose:compose-*:1.3.1 wird freigegeben. Version 1.3.1 enthält diese Commits.

Fehlerkorrekturen

  • Wir haben einen Fehler behoben, bei dem eine durch Wischen zum Reveal ausgelöste Aktion durch Wischen eines anderen Elements mit einer ausgewählten Aktion interagiert (und abgebrochen) konnte. (ID059)

Version 1.3.0

24. Januar 2024

androidx.wear.compose:compose-*:1.3.0 wird freigegeben. Version 1.3.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.2.0

  • Die Klasse SwipeToDismissBoxState, die Aufzählung SwipeToDismissValue und die Erweiterungsfunktion Modifier.edgeSwipeToDismiss sind jetzt alle Teil des Pakets androidx.wear.compose.foundation, nicht mehr Teil des Pakets androidx.wear.compose.material. Mit dieser aktualisierten Architektur können Sie die Gestenhandhabung unabhängig von anderen Designüberlegungen implementieren. Material Design-Workflows wie das Anwenden von Farben aus einem konfigurierten Design werden separat verarbeitet.
  • Mit den Klassen SwipeToRevealCard und SwipeToRevealChip können Sie recommended swipe-to-reveal guidance implementieren. Die Klasse SwipeToRevealSample zeigt, wie diese Komponenten verwendet werden.
  • In Version 1.3.0-alpha02 wurde eine Änderung eingeführt, durch die die Höhe der Objekte Chip und ToggleChip erhöht wird, um die vom Nutzer ausgewählte Schriftskalierung zu unterstützen. Dies kann zu Überschneidungen führen. Um dieses Problem zu beheben, wird für die Form large für MaterialTheme jetzt ein größerer Eckenradius verwendet (26 dp statt 24 dp). Für Chip- und ToggleChip-Objekte wird dieser neue Eckenradius verwendet, damit Inhalte an den Ecken von Chip und ToggleChip nicht abgeschnitten werden.

    • Die meisten Chips und ToggleChips bleiben aufgrund ihrer Standardhöhe von 52 dp unverändert. 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 nicht funktionieren.

Weitere Änderungen

Eine vollständigere Liste der Änderungen in Version 1.3.0 finden Sie in den Versionshinweisen zu Betaversion01.

Empfehlungen für die Implementierung

  • Wenn Ihre App es Nutzern ermöglicht, den Inhalt des Bildschirms zu schwenken, z. B. in einer kartenbasierten App, deaktivieren Sie die Wischhandhabung, indem Sie userSwipeEnabled in der zusammensetzbaren Funktion SwipeDismissableNavHost auf false setzen und eine Schaltfläche einfügen, über die Nutzer zum vorherigen Bildschirm wechseln können.
  • Verwenden Sie ein SnapSpec-Objekt, um Animationen für eine Positionsanzeige bei Animationen zum Einblenden oder Ändern der Position in einer Scrollliste zu deaktivieren.
  • Während du darauf wartest, dass eine Medien-App die Inhalte zur Wiedergabe lädt, wird eine leere zusammensetzbare Funktion Placeholder angezeigt.
  • Wenn Sie bei Bedarf eine Sammlung von maximierbaren Elementen erstellen möchten, können Sie die experimentelle Klasse ExpandableStateMapping verwenden.

Version 1.3.0-rc01

10. Januar 2024

androidx.wear.compose:compose-*:1.3.0-rc01 wird freigegeben. Version 1.3.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • Wir haben die große Form „MaterialTheme“ so aktualisiert, dass ein abgerundeter Eckenradius von 26 dp verwendet wird. Sie wird jetzt von Chip und ToggleChip verwendet. Diese Änderung ist erforderlich, um Höhenanpassungen zu unterstützen, wenn Inhalte eine höhere Höhe für große Schriftgrößen erfordern. Andernfalls werden durch die vorhandene Stadionform Teile des Textinhalts abgeschnitten.

    Text an den Ecken abgeschnitten
    Abbildung 1: An den Ecken abgeschnittener Text
    Text nicht abgeschnitten
    Abbildung 2: Text nicht abgeschnitten

    Diese Änderung kann zu Fehlern bei Screenshot-Tests führen. (I2e6ae)

Version 1.3.0-beta02

13. Dezember 2023

androidx.wear.compose:compose-*:1.3.0-beta02 wird freigegeben. Version 1.3.0-beta02 enthält diese Commits.

Fehlerkorrekturen

  • Die beabsichtigte Wischbewegung wurde in BasicSwipeToDismissBox wiederhergestellt. In einer früheren Version wurde diese Änderung so vorgenommen, dass der Schiebeteil des Übergangs erfolgte, während der Finger den Bildschirm berührte. (Id8e76)

Version 1.3.0-beta01

15. November 2023

androidx.wear.compose:compose-*:1.3.0-beta01 wird freigegeben. Version 1.3.0-beta01 enthält diese Commits.

Mit Version 1.3 Beta 01 von Compose für Wear OS wird angegeben, dass diese Version der Bibliothek vollständig funktionsfähig ist und die API gesperrt ist (sofern sie nicht als experimentell gekennzeichnet ist). Wear Compose 1.3 bietet die folgenden neuen Funktionen:

  • SwipeToDismissBoxState, SwipeToDismissValue und Modifier.edgeSwipeToDismiss wurden von androidx.wear.compose.material zu androidx.wear.compose.foundation migriert, zusammen mit der zugrunde liegenden Implementierung des Wischens zum Schließen in BasicSwipeToDismissBox. Dadurch kann die Gestenhandhabung für das Schließen durch Wischen unabhängig von Material Design verwendet werden, z. B. über die SwipeDismissableNavHost in androidx.wear.compose.navigation. SwipeToDismissBox aus androidx.wear.compose.material wird weiterhin für die Verwendung mit Material Design empfohlen, da Farben aus der MaterialTheme abgerufen und dann die verbleibende Implementierung an BasicSwipeToDismissBox delegiert wird.
  • SwipeDismissableNavHost unterstützt jetzt einen neuen userSwipeEnabled-Parameter, mit dem die Wischhandhabung für Bildschirme deaktiviert werden kann, auf denen sie nicht benötigt wird.
  • BasicSwipeToDismissBox hat die Fokusbehandlung mit HierarchicalFocusCoordinator verbessert.
  • SwipeToReveal hat neue zusammensetzbare Funktionen (SwipeToRevealCard und SwipeToRevealChip) in Material, die den empfohlenen UX-Richtlinien für Card und Chip entsprechen. Außerdem kann die sekundäre Aktion rückgängig gemacht werden.
  • DefaultTextStyle deaktiviert jetzt den Schriftabstand, damit er auf der Android-Plattform einheitlich ist.
  • Chip und ToggleChip passen jetzt ihre Höhe an Inhalte an, die aufgrund der großen Schriftgröße gewachsen sind, um die Barrierefreiheit zu verbessern
  • PositionIndicator verfügt jetzt über individuelle Spezifikationen für die Ein- und Ausblendungs- und Positionswechsel-Animationen. Aus Leistungsgründen empfehlen wir, das Einblenden und die Positionsänderung zu deaktivieren, wenn sie mit scrollbaren Listen verwendet werden.
  • ExpandableStateMapping bietet eine neue Möglichkeit, ExpandableStates zu generieren, wenn sie on demand und nicht unbedingt mit einem @Composable-Bereich erstellt werden müssen.
  • In Placeholder kann jetzt zurückgesetzt werden, wenn die Inhalte nicht mehr bereit sind. Außerdem wird die Einstellung „Bewegung reduzieren“ jetzt auf den Schimmereffekt und die Wischbewegungen auf Placeholder angewendet.

Bekannte Probleme

  • PositionIndicator wird anfangs nicht angezeigt, wenn zum ersten Mal ein Bildschirm aufgerufen wird. Wir beabsichtigen, eine Änderung in einer frühen Alphaversion von 1.4 vorzunehmen, damit sie anfangs zu sehen sein wird, jedoch ohne Animation.

API-Änderungen

  • Die Grundebene SwipeToDismissBox wurde in BasicSwipeToDismissBox umbenannt. Dadurch kann zwischen der Grundebene und der Materialebene SwipeToDismissBox deutlicher unterschieden werden. Letzterer ruft die Farben aus dem MaterialTheme ab, die in Gitternetzen verwendet werden sollen, und delegiert die verbleibende Implementierung an die BasicSwipeToDismissBox. (Ibecfc)
  • rememberExpandableStateMapping wurde als experimentell gekennzeichnet und die Leistung von expandableItem wurde verbessert. (I5f6bc)
  • Wir haben die Klasse SwipeToRevealAction in der Material SwipeToReveal Card und den Chip APIs durch eine Slot-basierte API mit den zusammensetzbaren Funktionen SwipeToRevealPrimaryAction, SwipeToRevealSecondaryAction und SwipeToRevealUndoAction ersetzt. Im Beispielcode finden Sie Beispiele zur Verwendung der neuen API. (Ia8943)
  • Die Animations-Flags PositionIndicator wurden durch AnimationSpec-Parameter ersetzt. Die einzelnen Animationen können deaktiviert werden, indem snap als AnimationSpec übergeben wird. (I6c523)

Fehlerkorrekturen

  • Wir haben einen Fehler behoben, der durch begrenzt gebogenen Text bei begrenzter Größe ausgelöst wurde (I50efe).
  • Wir haben einen potenziellen NaN-Absturz im Zusammenhang mit curvedComposable (I970eb) behoben
  • Wir haben die Entfernung der Highlight-Animation bei Positionsänderungen auf PositionIndicator rückgängig gemacht. (Ieb424)
  • Wir haben die Materialkernschicht für Material-Chip entfernt, um die Leistung zu verbessern. (If2dcb)

Version 1.3.0-alpha08

18. Oktober 2023

androidx.wear.compose:compose-*:1.3.0-alpha08 wird freigegeben. Version 1.3.0-alpha08 enthält diese Commits.

API-Änderungen

  • Wir haben PositionIndicator-Überlastungen einzelne Flags hinzugefügt, um verschiedene Animationen zu steuern: showFadeInAnimation, showFadeOutAnimation und showPositionAnimation. Die vorherige API wurde eingestellt und leitet Aufrufe an die neue weiter. Wenn PositionIndicator mit einer scrollbaren Liste verwendet wird, empfehlen wir aus Leistungsgründen und aus Gründen der UX-Einheitlichkeit, die Flags showFadeInAnimation und showPositionAnimation zu deaktivieren. Wenn PositionIndicator als eigenständiges Signal verwendet wird, z. B. für die Lautstärkeänderung, empfehlen wir, alle drei Animationen zu aktivieren. (I44294)
  • Nach der Migration der Funktion „Zum Schließen wischen“ zu wear.compose.foundation haben wir Material SwipeToDismissBoxState, SwipeToDismissValue und edgeSwipeToDismiss eingestellt. Bitte durch wear.compose.foundation-Entsprechungen ersetzen. (Iee8c9)

Fehlerkorrekturen

  • Wir haben die Basisprofile für das Fundament, Material und die Navigationsbibliotheken aktualisiert. (Idb060)
  • Wir haben eine Verhaltensänderung für PositionIndicator rückgängig gemacht, die in einer vorherigen Änderungsliste eingeführt wurde, sodass PositionIndicator beim ersten Anzeigen eines Bildschirms animiert war. Wir beabsichtigen eine ähnliche Änderung in einer frühen Alphaversion von 1.4, sodass PositionIndicator zunächst angezeigt wird, jedoch ohne Animation. (I41843)
  • Wir haben einige Leistungsprobleme in PositionIndicator behoben. (I1c654, b/302399827)
  • Die Leistung der Standardimplementierung des Anbieters der Touchscreen-Erkundung wurde so optimiert, dass auf State<Boolean> und nicht auf dem abgeleiteten Status zurückgegriffen wird. (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 freigegeben. 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 wurde eingestellt und leitet Aufrufe an die neue weiter. Wenn PositionIndicator mit einer scrollbaren Liste verwendet wird, empfehlen wir aus Leistungsgründen und aus Gründen der UX-Einheitlichkeit, die Flags showFadeInAnimation und showPositionAnimation zu deaktivieren. Wenn PositionIndicator als eigenständiges Signal verwendet wird, z. B. für die Lautstärkeänderung, empfehlen wir, alle drei Animationen zu aktivieren. (Ia2d63)

Fehlerkorrekturen

  • Wir haben Verbesserungen an der Wischgeste vorgenommen, um Bewegungen anzuzeigen. Wir haben dem primären Aktionstext eine Überblendungsanimation hinzugefügt und die sekundäre Aktion ausgeblendet bzw. die Symbolskalierung bei vollständiger Wischbewegung geändert. (Ib7223)
  • Wir empfehlen, Aktionen beim Wischen zum Anzeigen zugänglich zu machen. Außerdem haben wir benutzerdefinierte Bedienungshilfen zu unseren „Wischen zum Anzeigen“-Beispielen hinzugefügt. (I42224)
  • Wir haben die Leistung von SwipeToDismissBox verbessert. Dazu gehört auch eine Refaktorierung, damit die ursprüngliche Logik keine Neuzusammensetzung auslöst. SwipeToDismissBox wird jetzt im Vollbildmodus gezeichnet. (Ie0aa2)
  • Ein Fehler, durch den das PositionIndicator fälschlicherweise verschwunden ist, wurde behoben. (I2091a)
  • Leistung von PositionIndicator durch Optimierung von Neuzusammensetzungen verbessert. In der Folge wurden neue Flags zur Steuerung der Animationen (fadeIn, fadeOut und positionChange) hinzugefügt (siehe API-Änderungen) (Ifac7d).
  • Wir haben MicroBenchmark-Tests für PositionIndicator (Idf875) hinzugefügt.

Version 1.3.0-alpha06

20. September 2023

androidx.wear.compose:compose-*:1.3.0-alpha06 wird freigegeben. Version 1.3.0-alpha06 enthält diese Commits.

Fehlerkorrekturen

  • Modifier.edgeSwipeToDismiss wird jetzt mit SwipeToReveal unterstützt. (I95774, b/293444286)
  • Wir haben Beispiele für Material SwipeToRevealChip und SwipeToRevealCard hinzugefügt. (Ieb974)
  • Wir haben die Basisprofile für die Bibliotheken „Wear Compose Foundation“ und „Material“ aktualisiert. (I1dd1f)

Version 1.3.0-alpha05

6. September 2023

androidx.wear.compose:compose-*:1.3.0-alpha05 wird freigegeben. Version 1.3.0-alpha05 enthält diese Commits.

Fehlerkorrekturen

  • Wir haben die Funktion „Zum Anzeigen wischen“ hinzugefügt, sodass jeweils nur ein Element gezogen werden kann. (I3cd7a)
  • Die Dokumentation von ScalingLazyColumnDefaults wurde verbessert, um sie besser an das tatsächliche Verhalten anzupassen. (I886d3)

Version 1.3.0-alpha04

23. August 2023

androidx.wear.compose:compose-*:1.3.0-alpha04 wird freigegeben. Version 1.3.0-alpha04 enthält diese Commits.

Neue Funktionen

  • Für die sekundäre Aktion von SwipeToReveal kann die Aktion rückgängig gemacht werden. (I7a22d)

API-Änderungen

  • Füge „HorizontalPageIndicator“ in die Wear Material3-Mediathek ein. (Ifee99)
  • Die Vorschautools für Wear Compose wurden so aktualisiert, dass die androidx.wear.tooling.preview-Bibliothek verwendet werden kann. (Ib036e)

Fehlerkorrekturen

  • Ein Fehler in runden Schaltflächen wurde behoben, bei dem Modifikatoren nicht richtig verkettet waren. (I5e162)

Version 1.3.0-alpha03

9. August 2023

androidx.wear.compose:compose-*:1.3.0-alpha03 wird freigegeben. Version 1.3.0-alpha03 enthält diese Commits.

API-Änderungen

  • Wir haben zwei neue zusammensetzbare Funktionen in „Material“ hinzugefügt, um SwipeToReveal mit Kacheln und Chips zu implementieren. Diese zusammensetzbaren Funktionen 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 den Kommentaren erwähnt wurden. (Icb401)

Fehlerkorrekturen

  • Die anfängliche Scroll-Logik von ScalingLazyColumn wurde innerhalb von onGloballyPositioned() verschoben. (Ic90f1)
  • Wir verwenden jetzt drawWithCache in PositionIndicator, ProgressIndicator und SelectionControls, um die Strichzuordnungen zu optimieren. (I5f225, b/288234617)
  • Die Sichtbarkeit von Kästchenmarkierungen bei deaktivierten Status wurde korrigiert. (Ib25bf)
  • Wir haben Placeholder aktualisiert, um das Zurücksetzen so zu ermöglichen, dass der Platzhalter angezeigt wird, wenn der Inhalt nicht mehr den Status „Bereit“ hat. (ibd820)
  • Wir haben Fehler in unzuverlässigen Placeholder-Tests behoben (Idb560)

Version 1.3.0-alpha02

26. Juli 2023

androidx.wear.compose:compose-*:1.3.0-alpha02 wird freigegeben. Version 1.3.0-alpha02 enthält diese Commits.

API-Änderungen

  • Wir haben ExpandableStateMapping bereitgestellt, eine neue Möglichkeit zum Generieren von ExpandableStates für Fälle, in denen sie bei Bedarf erstellt werden müssen, nicht unbedingt im Bereich @Composable (Iff9e0).
  • SwipeToDismissBox wurde von androidx.wear.compose.material zum Paket androidx.wear.compose.foundation migriert. (I275fb)
  • Die API-Dateien wurden aktualisiert, um die Kompatibilitätsunterdrückung zu erklären. (I8e87a, b/287516207)
  • Wir haben die Höhenkonstanten für Chip, CompactChip und ToggleChip veröffentlicht (Idbfde).
  • Wir haben die horizontalen und vertikalen Abstände für Chip und CompactChip öffentlich gemacht. (Ieeaf7)
  • Es wurde eine Funktion zum Deaktivieren der Wischhandhabung in SwipeDismissableNavHost über den neuen Parameter userSwipeEnabled hinzugefügt. (Id2a0b, b/230865655)
  • Wir haben die Wear Compose-Navigationsbibliothek aktualisiert, um das neue SwipeToDismissBox der Wear Compose Foundation zu verwenden. (I4ff8e)

Fehlerkorrekturen

  • Wir haben einen Fehler bei der Z-Reihenfolge behoben, bei dem in expandedItem nach dem Klicken auf eine Schaltfläche nicht der richtige Inhalt angezeigt wurde, wenn eine Schaltfläche mit entsprechenden Schaltflächen versehen war. (I1899d, b/289991514)
  • Verbessern Sie die Fokusbehandlung von SwipeToDismissBox (und damit SwipeDismissableNavHost) mithilfe von HierarchicalFocusCoordinator (I45362, b/277852486)
  • Die Gestenhandhabung in SwipeableV2 wurde korrigiert . (I89737)
  • Wir haben die Basisprofile für unsere Version 1.2 fertiggestellt. (Id5740)
  • Nach der Migration von SwipeToDismissBox zu „Foundation“ leitet die Material-SwipeToDismissBox-Implementierung nun an Foundation weiter und stellt Standardfarbwerte aus dem Design bereit.(If8451)
  • ListHeader wurde eine Überschriftensemantik hinzugefügt. (Ic5420)
  • Chip und ToggleChip passen jetzt bei Bedarf ihre Höhe an Inhalte an, die aufgrund großer Schriftarten größer wurden. (Iaf302)
  • Ein Fehler in der semantischen Rolle des antippbaren Bereichs von SplitToggleChip im Hinblick auf die Barrierefreiheit wurde behoben. (Ieed3a)
  • Mit der Einstellung „Bewegung reduzieren“ werden jetzt der Schimmereffekt und die Wischbewegung auf Platzhaltern deaktiviert. (I91046)
  • Stepper und InlineSlider unterstützen jetzt wiederholte Klicks bei langem Drücken. Du kannst die Werte für Stepper und InlineSlider also schnell erhöhen oder verringern, indem du die Schaltflächen „+“ oder „-“ gedrückt hältst. (I27359)

Version 1.3.0-alpha01

21. Juni 2023

androidx.wear.compose:compose-*:1.3.0-alpha01 wird freigegeben. 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 nun DefaultTextStyle, um den Schriftabstand zu deaktivieren, damit er auf der Android-Plattform einheitlich ist. Dadurch werden einige Fälle von Text-Clipping mit großen Schriftgrößen behoben und es kann sich auch auf Bildschirmlayouts auswirken, sodass Screenshot-Tests aktualisiert werden müssen. Hier sehen Sie beispielsweise Text-Clipping (Ic6a86).
Text mit großer Schrift abgeschnitten
Abbildung 1: Text abgeschnitten
  • Sie ist nicht mehr vorhanden, wenn der Textabstand deaktiviert ist:
Text nicht mit großer Schrift abgeschnitten
Abbildung 2: Text nicht abgeschnitten
  • Wir haben wear.compose.foundation aktualisiert und sind nun eine API-Abhängigkeit von wear.compose.material (I72004, b/285404743).
  • Wir haben einen Fehler in SwipeToDismissBox behoben. Die Tasten für Hintergrund und Inhalt werden jetzt an den Speicherblock übergeben, sodass neue Modifikatoren erstellt werden, wenn sich der Inhalt oder Hintergrund ändert. (Ib876c, b/280392104)
  • Wir haben TimeText aktualisiert, sodass bei der Auswahl des 12- oder 24-Stunden-Formats die Sprache verwendet wird. (If4a3d)
  • Wir haben eine Inkonsistenz der SwipeToDismissBox contentScrimColor-Standardparameter behoben. (I2d70f)
  • Wir haben die Bewegungsbehandlung in SwipeToReveal verbessert. (I28fb7)

Bekannte Probleme

  • Die Unterstützung von von Nutzern konfigurierten Schriftgrößen ist eine Anforderung für die Barrierefreiheit. Wir wissen, dass mehrzeilige Chips bei der Darstellung mit großen Schriftgrößen zu Textausschnitten führen können. Deshalb aktualisieren wir den Chip in einer frühen Alphaversion von 1.3, um in diesen Fällen die Höhe anzupassen.

Version 1.2

Version 1.2.1

18. Oktober 2023

androidx.wear.compose:compose-*:1.2.1 wird freigegeben. Version 1.2.1 enthält diese Commits.

Fehlerkorrekturen

  • Ein Fehler wurde behoben, bei dem das PositionIndicator fälschlicherweise verschwunden ist. 7a167f

Version 1.2.0

9. August 2023

androidx.wear.compose:compose-*:1.2.0 wird freigegeben. 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 freigegeben. Version 1.2.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • Wir haben die Basisprofile 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 freigegeben. Version 1.2.0-beta02 enthält diese Commits.

Neue Funktionen

  • Wir haben die neue experimentelle Variable LocalReduceMotion CompositionLocal hinzugefügt, die Skalierung und Ausblenden auf ScalingLazyColumn deaktiviert. (I58024)

Fehlerkorrekturen

  • Wir haben die Basisprofile für das Fundament und die Materialbibliotheken aktualisiert(I4725d).
  • Wir haben eine Inkonsistenz in den Standardwerten für SwipeToDismissBox-contentScrimColor-Parameter (I2d70f) behoben.
  • Wir haben den Standardwert von DefaultTextStyle für die Einstellung IncludeFontPadding (I737ed) korrigiert.

Version 1.2.0-beta01

24. Mai 2023

androidx.wear.compose:compose-*:1.2.0-beta01 wird freigegeben. Version 1.2.0-beta01 enthält diese Commits.

Funktionen von Compose für Wear OS 1.2

Mit dem Release 1.2 Beta01 von Compose für Wear OS wird angegeben, dass diese Version der Bibliothek vollständig funktionsfähig ist und die API gesperrt ist (sofern sie nicht als experimentell gekennzeichnet ist). Wear Compose 1.2 bietet folgende neue Funktionen:

  • expandableItem und expandableItems sind zwei neue Foundation-Komponenten, die Expandable-Elemente innerhalb einer ScalingLazyColumn unterstützen. Verwenden Sie expandableItem für ein einzelnes maximierbares Element, z. B. Text mit der 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 dieser experimentellen zusammensetzbaren Funktion können Unterstrukturen der Komposition als „Fokus aktiviert“ oder „Fokus deaktiviert“ gekennzeichnet werden.
  • Picker: Die API enthält jetzt userScrollEnabled, um zu steuern, ob die Auswahl zum Scrollen durch den Nutzer aktiviert werden kann.
  • PickerGroup: eine neue zusammensetzbare Funktion, mit der mehrere Auswahlelemente zusammen verarbeitet werden können. Sie verwaltet den Fokus zwischen den Auswahlelementen mithilfe der HierarchicalFocusCoordinator API und ermöglicht die automatische Zentrierung von Auswahlelementen.
  • Placeholder: Wir haben Änderungen an den „Schimmern“- und „Wischen“-Animationen vorgenommen. Der Effekt „Auswischen“ wird jetzt sofort angewendet, wenn der Inhalt bereit ist.
  • ScalingLazyColumn: Wir haben ScalingLazyColumn und die zugehörigen Kurse von androidx.wear.compose.material.ScalingLazyColumn zu androidx.wear.compose.foundation.lazy.ScalingLazyColumn migriert. Führe eine Aktualisierung durch, um die Foundation.Lazy-Version zu verwenden.
  • SwipeToReveal: Wir haben experimentelle Unterstützung für das Wischen zum Anzeigen hinzugefügt, um auf sekundäre Aktionen zuzugreifen und das bestehende Muster für langes Drücken zu ergänzen.
  • Stepper – hat jetzt eine Überlastung mit einem zusätzlichen enableRangeSemantics-Parameter, um das Deaktivieren der Standardbereichssemantik zu vereinfachen.
  • Previews: Wir haben die folgenden benutzerdefinierten Anmerkungen für die Vorschau zusammensetzbarer Funktionen auf Wear-Bildschirmen hinzugefügt: WearPreviewSmallRound zeigt eine Vorschau der zusammensetzbaren Funktion auf einem kleinen, runden Gerät an, WearPreviewLargeRound zeigt eine Vorschau der zusammensetzbaren Funktion auf einem großen runden Gerät an; WearPreviewSquare zeigt eine Vorschau der zusammensetzbaren Funktion auf einem quadratischen Gerät an. Außerdem gibt es die folgenden Anmerkungen und Anmerkungen in mehreren Vorschauen: WearPreviewFontScales zeigt eine Vorschau der zusammensetzbaren Funktionen auf einem Wear-Gerät mit mehreren Schriftgrößen an, während WearPreviewDevices eine Vorschau der zusammensetzbaren Funktionen auf verschiedenen Wear-Geräten anzeigt.
  • Wir haben Wear Compose ein DefaultTextStyle hinzugefügt, das die PlatformTextStyle.includeFontPadding-Eigenschaft auf „true“ setzt (das ist die aktuelle Einstellung). Auf diese Weise können wir das standardmäßige Deaktivieren des Textabstands mit den Compose-Bibliotheken in einer frühen Alphaversion von 1.3 synchronisieren. Weitere Informationen finden Sie unter 1.2.0-alpha10.

Neue Funktionen

  • Wir haben experimentelle Unterstützung für deaktivierte Skalierung und verblassende Animationen 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. Dadurch werden unerwartete Abstürze vermieden, die durch IllegalArgumentException verursacht werden, das ausgelöst wurde, 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 freigegeben. Version 1.2.0-alpha10 enthält diese Commits.

Neue Funktionen

  • Wir unterstützen jetzt „Zum Aufdecken wischen“, um auf sekundäre Aktionen zuzugreifen. Dieses Muster ergänzt das Muster „Langes Drücken“, also die bestehende Art und Weise, wie Nutzende (unterschiedliche) sekundäre Aktionen erkennen können. (I60862)

API-Änderungen

  • Wir haben den zusammensetzbaren Funktionen für Aktionen in SwipeToReveal RevealScope hinzugefügt. Dadurch erhalten Sie Zugriff auf den Offset, bei dem zusätzliche Aktionen angezeigt werden. (I3fd56)

Fehlerkorrekturen

  • Problem behoben, bei dem ScalingLazyColumn nach dem Schlieren in Wear API 33 hängen geblieben ist (Ic4599)
  • Wir haben einige Leistungsverbesserungen an PositionIndicator vorgenommen, um Verzögerungen zu reduzieren. (I35e92)
  • Wir haben einen Fehler in dem Chip und in 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 zu einem Fehler beim Rendern der Vorschau führt, wenn er mit @WearPreviewDevice und @WearPreviewFontScales gekennzeichnet ist. Eine Korrektur ist demnächst geplant. Bitte beachte, dass die anderen Wear-Vorschauanmerkungen in Android Studio Giraffe 2022.3.1 und höher wie vorgesehen funktionieren.

  • In Version 1.2.0-alpha07 wurde „DefaultTextStyle“ zu Wear Compose hinzugefügt und der bestehende Wert für „PlatformTextStyle.includeFontPadding“ auf „true“ beibehalten. Informationen zum Hintergrund finden Sie unter Korrektur der Schriftabstände in Compose. Wir werden den DefaultTextStyle ändern, um in einer frühen Alphaversion 1.3 den Schriftabstand zu deaktivieren, damit er auf der gesamten Android-Plattform einheitlich ist. Dadurch werden einige Fälle von Textclips mit großen Schriftgrößen behoben und es kann sich auch auf Bildschirmlayouts auswirken, sodass Screenshot-Tests aktualisiert werden müssen. Bei großen Schriftgrößen sehen wir hier Textclips:

Text mit großer Schrift abgeschnitten
Abbildung 1: Text abgeschnitten
  • Sie ist nicht mehr vorhanden, wenn der Textabstand deaktiviert ist:
Text nicht mit großer Schrift abgeschnitten
Abbildung 2: Text nicht abgeschnitten

Sie können die neue Einstellung jetzt übernehmen, indem Sie die Typografie in Ihrem Design überschreiben. Weitere Informationen finden Sie hier.

Version 1.2.0-alpha09

19. April 2023

androidx.wear.compose:compose-*:1.2.0-alpha09 wird freigegeben. Version 1.2.0-alpha09 enthält diese Commits.

API-Änderungen

  • Fügen Sie angularSizeDp zur CurvedModifier API hinzu, um die Winkelbreite in DP festzulegen (I89a52)

Fehlerkorrekturen

  • In den Demos zur Zeitauswahl(Id0eb7) wurden Probleme mit den Bedienungshilfen behoben.

Version 1.2.0-alpha08

5. April 2023

androidx.wear.compose:compose-*:1.2.0-alpha08 wird freigegeben. Version 1.2.0-alpha08 enthält diese Commits.

API-Änderungen

  • ExpandableItemsState wurde 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 aufzuzeigen. Die Animation von expandableItem wurde geändert, damit der Inhalt in der Animation in der Mitte bleibt. (I2f637)
  • ToggleControls wurde aktualisiert, um zusätzliche Neuzusammensetzungen zu vermeiden, wenn die Farben über die Option „Status“ manuell animiert werden. (I5d319)

Version 1.2.0-alpha07

22. März 2023

androidx.wear.compose:compose-*:1.2.0-alpha07 wird freigegeben. Version 1.2.0-alpha07 enthält diese Commits.

API-Änderungen

  • Wir haben die in 1.2.0-alpha06 hinzugefügten Expandable-Artikelkomponenten vom Material- zur Grundstruktur verschoben, da sie keinen aussagekräftigen Verweis auf die MaterialTheme hatten. (Ib0525)

Fehlerkorrekturen

  • Wir haben einen Absturz behoben, der auf einem Bildschirm mit PickerGroup aufgetreten ist. Dabei wurde dafür gesorgt, dass PickerGroup den Fokus korrekt verarbeitet, wenn kein Picker im Fokus ist. In unseren Auswahldemos wird jetzt auch RSB-Scrolling unterstützt. (If8c19)
  • Wir haben die Dialogübergänge verbessert. Der Übergang des Intros läuft jetzt flüssiger, wie er zum Outro-Übergang passt. (Ib5af9)
  • Wir haben Wear Compose ein DefaultTextStyle hinzugefügt, das die PlatformTextStyle.includeFontPadding-Eigenschaft auf „true“ setzt (das ist die aktuelle Einstellung). Auf diese Weise können wir das standardmäßige Deaktivieren des Schriftabstands in Zukunft mit den Bibliotheken in „Compose“ synchronisieren. Informationen zum Hintergrund finden Sie unter Korrektur der Schriftabstände in der Funktion „Schreiben“. (I2aee8)
  • Eine Abhängigkeit von der Vorschau von UpsideDownCake über activity-compose, das die Veröffentlichung von Apps im Google Play Store blockiert hat, wurde rückgängig gemacht. (I6443d)

Version 1.2.0-alpha06

8. März 2023

androidx.wear.compose:compose-*:1.2.0-alpha06 wird freigegeben. Version 1.2.0-alpha06 enthält diese Commits.

API-Änderungen

  • Fügen Sie die Komponente CurvedBox hinzu. Damit werden die Komponenten in der kurvenreichen Welt übereinander platziert. (I29200)
  • Erweiterbare Elemente wurden hinzugefügt – zwei neue Komponenten zur Unterstützung einer Gruppe maximierbarer Elemente in einem ScalingLazyColumn oder einem maximierbaren Element wie Text, bei dem die Anzahl der Zeilen erweitert wird. (I95dd5)
  • Wir haben die folgenden benutzerdefinierten Anmerkungen für die Vorschau zusammensetzbarer Funktionen auf Wear-Bildschirmen hinzugefügt: WearPreviewSmallRound zeigt eine Vorschau der zusammensetzbaren Funktion auf einem kleinen, runden Gerät an; WearPreviewLargeRound zeigt eine Vorschau der zusammensetzbaren Funktion auf einem großen runden Gerät an; WearPreviewSquare zeigt eine Vorschau der zusammensetzbaren Funktion auf einem quadratischen Gerät an. Außerdem gibt es die folgenden Anmerkungen und Anmerkungen in mehreren Vorschauen: WearPreviewFontScales zeigt eine Vorschau der zusammensetzbaren Funktionen auf einem Wear-Gerät mit mehreren Schriftgrößen an, während WearPreviewDevices eine Vorschau der zusammensetzbaren Funktionen auf verschiedenen Wear-Geräten anzeigt. Wenn Sie diese Vorschauen verwenden möchten, benötigen Sie die neueste Version von Android Studio (Giraffe Canary 6) oder höher. Sollten diese Anmerkungen nicht Ihren Zweck erfüllen, kann die Vorabversion dennoch verwendet werden und unterstützt weitere Anpassungen über Parameter. (I397ff)
  • Wir haben HierarchicalFocusCoordinator als experimentell gekennzeichnet, da es aufgrund seiner weiten Gültigkeit derzeit als Kandidat für den Wechsel in die Hauptbibliotheken für das Zusammenstellen eingestuft wird. (I3a768)

Fehlerkorrekturen

  • Ein Fehler in HierarchicalFocusCoordinator wurde behoben, bei dem die für den focusEnabled-Parameter übergebene Lambda-Funktion geändert wurde. Wir verwenden jetzt das neue Lambda korrekt. (Icb353)
  • Wir haben die standardmäßig deaktivierte Inhaltsfarbe in „Hintergrund“ geändert, wenn Primärfarben als Hintergrund in Button, CompactButton, Chip, CompactChip und ToggleButton verwendet werden. Dadurch wird der Kontrast für die Barrierefreiheit verbessert. (I527cc)

Version 1.2.0-alpha05

22. Februar 2023

androidx.wear.compose:compose-*:1.2.0-alpha05 wird freigegeben. Version 1.2.0-alpha05 enthält diese Commits.

API-Änderungen

  • Die PickerGroup API wurde aktualisiert, damit die Mindesteinschränkungen optional an die zusammensetzbare Funktion weitergegeben werden können. Wenn der Wert auf „true“ gesetzt ist, sind die von der übergeordneten zusammensetzbaren Funktion übergebenen Mindesteinschränkungen für die PickerGroup zulässig. Wenn der Wert auf „false“ gesetzt ist, setzt PickerGroup die Mindesteinschränkungen zurück. (I3e046)
  • Wir haben der Picker API animateScrollToOption hinzugefügt, um programmatische Animationen für eine bestimmte Auswahloption zu unterstützen (I6fe67).

Fehlerkorrekturen

  • Wir haben HorizontalPageIndicator aktualisiert, um von rechts nach links ausgerichtete Layouts zu unterstützen. (Ia4359)
  • Screenshot-Tests für rechtsläufiges Layout in HorizontalPageIndicator (I6fbb8) hinzugefügt
  • Zusätzliche Tests zu SwipeDismissableNavHostTest hinzugefügt, die TestNavHostController verwenden (I61d54)

Version 1.2.0-alpha04

8. Februar 2023

androidx.wear.compose:compose-*:1.2.0-alpha04 wird freigegeben. Version 1.2.0-alpha04 enthält diese Commits.

Neue Funktionen

  • PickerGroup für die gemeinsame Verarbeitung mehrerer Auswahlelemente mithilfe der Focus API Sie steuert den Fokus zwischen den verschiedenen Auswahlelementen, ermöglicht die automatische Zentrierung der Auswahl anhand von Parametern und ermöglicht es Entwicklern, den Fokus zwischen verschiedenen Auswahlelementen zu ändern, während die Ereignisse aus der Gruppe verarbeitet werden. Im TalkBack-Modus verwaltet das PickerGroup den TalkBack-Fokus, indem der Fokus auf die ausgewählte Auswahl aus der Gruppe verschoben wird. (I60840)

API-Änderungen

  • Wir haben dem Stepper eine Überlastung mit einem zusätzlichen enableRangeSemantics-Parameter hinzugefügt, um die Deaktivierung der Standardbereichssemantik (Ia61d4) zu vereinfachen.

Fehlerkorrekturen

  • Zulassen, dass ScalingLazyColumn auf einer horizontal scrollbaren Seite verschachtelt wird (Iec3f8, b/266555016)
  • Verbesserung von Stepperkdocs und StepperTest-Tests zur Bereinigung. (Ic118e)
  • Aktualisierung der androidx.navigation-Abhängigkeit auf Version 2.5.3 (If58ed)

Version 1.2.0-alpha03

25. Januar 2023

androidx.wear.compose:compose-*:1.2.0-alpha03 wird freigegeben. Version 1.2.0-alpha03 enthält diese Commits.

API-Änderungen

  • Wir haben ScalingLazyColumn und die zugehörigen Klassen von androidx.wear.compose.material.ScalingLazyColumn zu andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn migriert. Informationen zur Migration finden Sie in diesem Beispiel. Dieser neue Ort entspricht eher dem von compose.foundation.lazy.LazyColumn und ist natürlicher, da es sich nicht um eine bestimmte Material-Komponente handelt. Diese Änderung erfolgt nun in Vorbereitung auf eine neue Material3-Bibliothek, an der wir parallel zur bestehenden 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. Aktualisieren Sie sie auf Foundation.Lazy ScalingLazyColumn. Zusätzlich wurde ScalingLazyListLayoutInfo das Feld „anchorType“ hinzugefügt. (I29d95)
  • ScalingLazyColumn wurde im Wear Compose Material-Paket (I16d34) als verworfen markiert
  • Wir haben den ScrollAway-Modifikator aktualisiert, sodass ScalingLazyListState aus Wear Compose-Foundation.Lazy verwendet wird. Die Überlastung, die ScalingLazyListState durch Wear Compose-Material verursachte, wurde eingestellt. (Ifc42c)
  • Wir haben die Dialog APIs aktualisiert, um ScalingLazyListState von Foundation.Lazy zu verwenden, und die Überlastungen eingestellt, die Material ScalingLazyListState (Ic8960) verwendet haben.
  • Wir haben die Picker APIs aktualisiert, um ScalingParams von Foundation.Lazy zu verwenden, und die Überlastungen eingestellt, die Material ScalingParams verwendet haben. (Idc3d8)

Fehlerkorrekturen

  • Wir haben einen Fehler behoben, der unnötige Neuzusammensetzungen in ScalingLazyListState.centerItemIndex verursachte. Wir haben dafür gesorgt, dass Updates nur übertragen werden, wenn sich der Wert tatsächlich ändert (Ia9f38).
  • Wir haben die Leistung von SwipeToDismissBox (I3933b) verbessert
  • Benchmark-Tests für ScalingLazyColumn in Wear Compose Foundation (Ie00f9) hinzugefügt
  • Wir haben einige interne ScalingLazyColumn-Klassenmethoden in Material aktualisiert, sodass ihre Entsprechungen aus Foundation.Lazy (I38aab) verwendet werden
  • Wir haben einige Probleme in den Auswahltests behoben und weitere Tests für das Scrollen mit Offset hinzugefügt (I6ac34).
  • Wir haben die ScalingLazyColumn-Integrationsdemos so migriert, dass sie von Foundation.Lazy anstelle von Material ScalingLazyColumn (Ic6caa) abhängig sind.
  • 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 freigegeben. Version 1.2.0-alpha02 enthält diese Commits.

API-Änderungen

  • In den Tests der Android Compose-UI werden jetzt Layoutkarten für jeden Frame ausgeführt, wenn Frames in den Leerlauf versetzt werden (z.B. über waitForIdle). Dies kann sich auf Tests auswirken, die auf einzelne Frames von Layoutanimationen zugreifen. (I8ea08, b/222093277)
  • Der Parameter minLines wird Wear Text hinzugefügt, um ein konsistentes Verhalten mit BasicText (I24874) zu gewährleisten.
  • CompactChipTapTargetPadding wurde veröffentlicht, sodass sie in der Dokumentation angezeigt wird (If1e70, b/234119038)

Fehlerkorrekturen

  • Plattformübergreifende Builds für wear.compose-Pakete deaktivieren (Iad3d7)
  • Kdocs für scrollToOption korrigieren (I6f9a0)
  • PlaceholderState.rememberPlaceholderState() wurde aktualisiert, um rememberUpdatedState zu verwenden, sodass der Status aktualisiert wird, wenn das Lambda-Element onContentReady aktualisiert wird. (I02635, b/260343754)
  • Wir haben ein Problem mit Textjitter in der Komponente „Picker“ behoben, indem wir die neue Erstellungsstrategie von Modifier.graphicsLayer nutzen. (I99302)
  • Wir haben einen Fehler behoben, der in unserer DatePicker-Demo (I660bd) zu Flackern führte.
  • Wir haben die Barrierefreiheit der Demos zur 12-Stunden-Zeit- und Datumsauswahl verbessert (I05e12).
  • Wir haben unsere Demos zur Uhrzeit- und Datumsauswahl aktualisiert, damit die Auswahl nicht von RSB-Änderungen beeinflusst wird, wenn sie nicht ausgewählt sind (I4aecb).

Version 1.2.0-alpha01

7. Dezember 2022

androidx.wear.compose:compose-*:1.2.0-alpha01 wird freigegeben. Version 1.2.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Wir haben die experimentelle Platzhalterfunktion aktualisiert, sodass der Effekt „Wischen aus“ sofort angewendet wird, wenn der Inhalt bereit ist, anstatt auf den Beginn der nächsten Animationsschleife zu warten. Wir haben auch einige Aktualisierungen an den Schimmer- und Wischeffekt-Animationen vorgenommen. (I5a7f4)

API-Änderungen

  • Wir haben eine HierarchicalFocusCoordinatorzusammensetzbare Funktion hinzugefügt, mit der Unterstrukturen der Komposition als aktiviert oder deaktiviert gekennzeichnet werden können.(I827cb)
  • Es wurde ein neues Attribut hinzugefügt, um die semantische Rolle für ToggleButton zu überschreiben.(I67132)
  • Wir haben TimeTextDefaults.TimeFormat12Hours aktualisiert, um AM/PM in TimeText zu entfernen. Dadurch wird der Standardwert der timeSource-Parameter in der TimeText API geändert. (I1eb7f)
  • Wir haben die Picker API erweitert, um die Barrierefreiheit auf Bildschirmen mit der Mehrfachauswahl zu verbessern. Mit der neuen Eigenschaft userScrollEnabled lässt sich steuern, ob die Auswahl beim Scrollen durch den Nutzer aktiv ist. (I3c3aa)

Fehlerkorrekturen

  • Wir haben die Standardrahmenbreite für ein OutlinedButton/OutlinedCompactButton von 2 dp zu 1 dp geändert, um den endgültigen UX-Spezifikationen zu entsprechen. (ICF84d)
  • Um zu verhindern, dass das erste Element, das einem leeren ScalingLazyColumn hinzugefügt wird, an eine bestimmte Stelle gescrollt wird, haben wir schätzungsweise autoCentering topPadding hinzugefügt, wenn der Inhalt leer ist. Mit dieser Änderung wird der erforderliche obere Abstand berechnet, indem ein anfängliches Element mit einer Höhe von 0, dp angenommen wird. Für ScalingLazyListAnchorType.ItemStart wird damit der korrekte obere Abstand berechnet. Für ScalingLazyListAnchorType.ItemCenter ist diese Berechnung falsch, da die Höhe der Elemente erforderlich ist, um die Größe des Inhalts korrekt anzupassen, was zu einem kleinen Scroll-in-Place-Effekt auf Grundlage der tatsächlichen Höhe der Elemente führt.(I239a4)
  • Wir haben die Hintergrundabdeckung der SwipeToDismiss-Animation aktualisiert, damit sie zur Wear-Plattform passt. (I9003e)
  • Wir haben die PositionIndicator-Verarbeitung von LazyListState und ScalingLazyListState für Listenelemente mit der Größe 0 korrigiert, um Fehler der Kategorie „dividieren durch null“ 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 wurden veröffentlicht. Version 1.1.2 enthält diese Commits.

Fehlerkorrekturen

  • Wir haben einen Fehler behoben, der unnötige Neuzusammensetzungen in ScalingLazyListState.centerItemIndex verursachte. Wir haben dafür gesorgt, dass Updates nur übertragen werden, 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 wurden veröffentlicht. Version 1.1.1 enthält diese Commits.

Fehlerkorrekturen

  • PlaceholderState.rememberPlaceholderState() wurde aktualisiert, um rememberUpdatedState zu verwenden, sodass der Status aktualisiert wird, wenn das Lambda-Element onContentReady aktualisiert 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 wurden 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 Effekt „Wischen aus“ sofort angewendet wird, wenn der Inhalt bereit ist, anstatt auf den Beginn der nächsten Animationsschleife zu warten. Wir haben auch einige Aktualisierungen an den Schimmer- und Wischeffekt-Animationen vorgenommen. (I5a7f4)

Fehlerkorrekturen

  • Wir haben die Standardrahmenbreite für ein OutlinedButton/OutlinedCompactButton von 2 dp zu 1 dp geändert, um den endgültigen UX-Spezifikationen zu entsprechen. (ICF84d)
  • Um zu verhindern, dass das erste Element, das einem leeren ScalingLazyColumn hinzugefügt wird, an eine bestimmte Stelle gescrollt wird, haben wir schätzungsweise autoCentering topPadding hinzugefügt, wenn der Inhalt leer ist. Mit dieser Änderung wird der erforderliche obere Abstand berechnet, indem ein anfängliches Element mit einer Höhe von 0, dp angenommen wird. Für ScalingLazyListAnchorType.ItemStart wird damit der korrekte obere Abstand berechnet. Für ScalingLazyListAnchorType.ItemCenter ist diese Berechnung falsch, da die Höhe der Elemente erforderlich ist, um die Größe des Inhalts korrekt anzupassen, was zu einem kleinen Scroll-in-Place-Effekt auf Grundlage der tatsächlichen Höhe der Elemente führt.(I239a4)
  • Wir haben das Hintergrundgitter für die SwipeToDismiss-Animation aktualisiert, damit es zur Wear-Plattform passt.(I9003e)
  • Wir haben die PositionIndicator-Verarbeitung von LazyListState und ScalingLazyListState für Listenelemente mit der Größe 0 korrigiert, um Fehler der Kategorie „dividieren durch null“ 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 wurden veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • Es wurden grundlegende Profilregeln 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 Elementindex außerhalb des Bereichs liegt), wird TimeText jetzt weiterhin angezeigt. (I2137a)
  • Wir haben die Animation „SwipeToDismissBox“ an die Plattformimplementierung angepasst. Nach der anfänglichen Animation beim Drücken gleitet der Bildschirm nach rechts, sobald die Option ausgelöst wurde. (I41d34)
  • Zur Optimierung haben wir Modifier.scrollAway so aktualisiert, dass nur scrollState im Messwertblock gelesen wird. So wird der Modifikator nicht nach jeder Neumessung neu zusammengesetzt. I4c6f1
  • Wir haben Platzhaltern eine Dokumentation und ein Beispiel hinzugefügt, um die korrekte Reihenfolge von Modifier.placeholder und Modifier.placeholderShimmer zu zeigen, wenn sie auf dieselbe zusammensetzbare Funktion angewendet werden. (Ie96f4, b/256583229)
  • Wir haben die Standardrahmenbreite für ein OutlinedCompactChip/OutlinedChip von 2 dp zu 1 dp geändert, um den endgültigen UX-Spezifikationen zu entsprechen. (Ib3d8e)
  • Wir haben einen Fehler in rememberPickerState behoben, durch den aktualisierte Eingaben nicht gespeichert wurden, sodass zusammensetzbare Funktionen nach Änderungen an den Eingaben nicht aktualisiert wurden. (I49ff6, b/255323197)
  • Wir haben einige Aktualisierungen der Benutzeroberfläche an den Platzhaltern vorgenommen: 1) Ändern des Schimmer-Farbverlaufs auf das 1, 5-Fache der Bildschirmgröße, 2) Hinzufügen von Easing (kubische Bézier-Rate) für den Schimmerfortschritt und 3) Beschleunigung der Wischanimation (250 ms). (Id29c1)
  • Wir haben einen Fehler in der Benutzeroberfläche des wipeOff-Effekts für Platzhalter behoben, bei dem Chip- und Kartenhintergründe etwas früher entfernt wurden, da die Position der Komponente auf dem Bildschirm nicht berücksichtigt wurde. (I2c7cb)
  • Wir haben die Platzhalter-Hintergrundzeichnung aktualisiert, um Farben zusammenzuführen, anstatt sie nach Möglichkeit übereinander zu legen. So verringern wir das Risiko, dass die verschiedenen zugeschnittenen Ebenen in Alpha-Phasen übergehen, sodass die zugrunde liegenden Farben an den Rändern des Platzhalterhintergrunds nicht durchscheinen. (I2ea26)
  • Wir haben die Berechnung von ScalingLazyListState.centerItemIndex/centerItemOffset korrigiert. Wenn sich zwei Elemente auf beiden Seiten der Mittellinie des Darstellungsbereichs befinden, wird das am nächsten liegende Element als centerItem betrachtet. (I30709, b/254257769)
  • Wir haben einen Fehler in ScalingLazyListState.layoutInfo.visibleItemsInfo behoben, der während der Initialisierung von ScalingLazyColumn falsche Offsets meldet. Jetzt wird eine leere Liste zurückgegeben, bis alle Listenelemente sichtbar sind und die richtigen Offsets haben. Die Prüfung auf ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty() bestätigt, dass die Initialisierung von ScalingLazyColumn abgeschlossen ist und die Elemente sichtbar sind. (I3a3b8)

Version 1.1.0-beta01

24. Oktober 2022

androidx.wear.compose:compose-foundation:1.1.0-beta01, androidx.wear.compose:compose-material:1.1.0-beta01 und androidx.wear.compose:compose-navigation:1.1.0-beta01 wurden veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.

Funktionen von Compose für Wear OS 1.1

In der Betaversion 1.1.0 von Compose für Wear OS wurde angegeben, dass dieser Release der Bibliothek vollständig ist und die API gesperrt ist.

  • Wear Compose 1.1 enthält die folgenden neuen Funktionen:
    • Auswahl: Verbesserungen der Bedienungshilfen für die Auswahl, sodass Screenreader mit mehreren Auswahlmöglichkeiten navigieren können und die Inhaltsbeschreibung barrierefrei ist
    • Der Auswahl-contentDescription-Parameter wird jetzt nur für die ausgewählte Auswahloption verwendet und verwendet einen String, für den Nullwerte zulässig sind. Im vorherigen Commit war es erforderlich, eine Zuordnung von der Option zur Inhaltsbeschreibung zu übergeben, aber nur die ausgewählte Option wurde verwendet.
    • Picker-Elemente sind jetzt immer zentriert. Ein Fehler beim Festlegen von gradientRatio auf null hatte eine Nebenwirkung, die dazu führte, dass sich die Ausrichtung änderte.
    • Chip/ToggleChip: Wir haben die Standardverläufe für Chip/ToggleChip aktualisiert, damit sie den neuesten UX-Spezifikationen entsprechen. ChipDefaults.gradientBackgroundChipColors wurde aktualisiert, sodass nun 50% des primären Farbverlaufs anstelle von 32,5 % verwendet werden.
    • Chip/ToggleChip – Überlastung beim Ändern der Chipformen hinzugefügt
    • Chip/Button/ToggleButton: Es wurde ein neuer umrissener Stil für Chips und Schaltflächen sowie die neuen zusammensetzbaren Funktionen OutlinedChip und OutlinedButton hinzugefügt, die eine transparente Chip/Button mit schmalem Rahmen bieten.
    • Karte: Die Standardverläufe für Karten wurden aktualisiert, damit sie den neuesten UX-Spezifikationen entsprechen. CardDefaults.cardBackgroundPainter wurde aktualisiert, sodass sie bei 30% der primären Größe und bei 20% von onSurfaceVariant endet (vorher 20% auf 10% onSurfaceVariant). ToggleChip.toggleChipColors ändert sich von einem linearen Farbverlauf von 75% der Oberfläche zu 0% der primären Oberfläche zu 0% der primären Oberfläche zu 50% der primären Oberfläche.
    • Button/ToggleButton: Eigenschaften zum Ändern von Schaltflächenformen hinzugefügt.
    • Design: Einige Standardfarben in MaterialTheme wurden aktualisiert, um die Barrierefreiheit zu verbessern, da die Originalfarben keinen ausreichenden Kontrast hatten. Dadurch konnten Nutzer die Hintergründe von Chips/Karten/Schaltflächen nicht von der Hintergrundfarbe des Designs unterscheiden.
    • InlineSlider/Stepper: Es wurden Schaltflächenrollen hinzugefügt, damit Talkback sie als Schaltflächen erkennen kann.
    • Gerüst – PositionIndicator wird jetzt so positioniert und angepasst, dass es nur den benötigten Platz einnimmt. Das ist beispielsweise nützlich, wenn semantische Informationen hinzugefügt werden, werden in TalkBack jetzt die korrekten Grenzen des PositionIndicator auf dem Bildschirm angezeigt.
    • CurvedText/TimeText: Modifier.scrollAway wurde hinzugefügt. Damit wird ein Element basierend auf dem Scrollstatus vertikal in den Bildschirm verschoben oder aus dem sichtbaren Bereich herausgeschoben (mit Überlastungen für Column, LazyColumn und ScalingLazyColumn). ScrollAway wird in der Regel verwendet, um eine TimeText aus dem sichtbaren Bereich zu scrollen, wenn der Nutzer beginnt, eine Liste mit Elementen nach oben zu scrollen.
    • CurvedText/TimeText – Zusätzlicher Support für fontFamily, fontStyle und fontSynthesis in CurvedTextStyle, verwendbar für curvedText und basicCurvedText
    • CurvedText/TimeTextfontWeight dem Konstruktor und der Kopiermethode für CurvedTextStyle hinzugefügt
    • ToggleControls: Animierte Steuerelemente für Checkbox, Switch und RadioButton zur Verwendung mit ToggleChip und SplitToggleChip wurden 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 wurde hinzugefügt. Es gibt drei verschiedene visuelle Effekte, die zusammenwirken.
    • Erstens ein Platzhalter-Pinseleffekt für den Hintergrund, der in Containern wie Chips und Karten verwendet wird, um den normalen Hintergrund zu überlagern, während er auf das Laden von Inhalten wartet.
    • Zweitens einen Modifikator (Modifier.placeholder()), mit dem ein stadionförmiges Platzhalter-Widget über dem geladenen Inhalt gezeichnet wird.
    • Drittens ein Modifikator-Farbverlauf/Schimmer-Effekt (Modifier.placeholderShimmer()), der die anderen Effekte überlagert, um Nutzern anzuzeigen, dass wir auf das Laden von Daten warten.
      • Alle diese Effekte sind so konzipiert, dass sie aufeinander abgestimmt sind, schimmern und wieder verschwinden.
  • Abhängigkeiten von Core Compose von 1.2 auf 1.3 aktualisiert

API-Änderungen

  • Schriftartparameter (fontFamily, fontWeight, fontStyle und fontSynthesis) können jetzt direkt als Parameter von curvedText (Idc422) angegeben werden.

Fehlerkorrekturen

  • curveText und basicCurvedText funktionieren jetzt korrekt mit TalkBack (sie haben einen korrekt formatierten und platzierten (aber leeren) Erstellungs-UI-Knoten, wobei der Text als Inhaltsbeschreibung verwendet wird) (I7af7c, b/210721259)
  • Fehlerkorrektur für Picker, wenn PickerState.repeatedItems = false eine explizite Einstellung von Parametern zur automatischen Zentrierung für das interne ScalingLazyColumn der Auswahl hinzugefügt hat, um sicherzustellen, dass die Null-Option in die Mitte der Ansicht gescrollt werden kann. (I8a4d7)

Version 1.1.0-alpha07

5. Oktober 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha07, androidx.wear.compose:compose-material:1.1.0-alpha07 und androidx.wear.compose:compose-navigation:1.1.0-alpha07 wurden veröffentlicht. Version 1.1.0-alpha07 enthält diese Commits.

Neue Funktionen

  • Wir haben die Unterstützung für experimentelle Platzhalter hinzugefügt. Es gibt drei verschiedene visuelle Effekte, die zusammenwirken. Erstens ein Platzhalter-Pinseleffekt für den Hintergrund, der in Containern wie Chips und Karten verwendet wird, um den normalen Hintergrund zu überlagern, während er auf das Laden von Inhalten wartet. Zweitens einen Modifikator (Modifier.placeholder()), mit dem ein stadionförmiges Platzhalter-Widget über dem geladenen Inhalt gezeichnet wird. Drittens ein Modifikator-Farbverlauf/Schimmer-Effekt (Modifier.placeholderShimmer()), der die anderen Effekte überlagert, um Nutzern anzuzeigen, dass wir auf das Laden von Daten warten. Alle diese Effekte sind so konzipiert, dass sie aufeinander abgestimmt sind, schimmern und wieder verschwinden. (I3c339)

API-Änderungen

  • Unterstützung für fontWeight, fontFamily, fontStyle und fontSynthesis in CurvedTextStyle hinzugefügt, die für curvedText und basicCurvedText verwendet werden können. Diese Parameter können verwendet werden, um die Schriftart und den Stil für den gebogenen Text anzugeben (Iaa1a8),(I72759).
  • Für Konsistenz mit Modifier.offset wurde der Offset-Parameter von Modifier.scrollAway auf Dp aktualisiert (bisher in Pixel). Außerdem wurde für mehr Effizienz als LayoutModifier refaktoriert. (I9f94b)
  • Im Rahmen der neuen Ein/Aus-Schaltfläche für Steuerelemente haben wir RadioButton’s circleColor in ringColor umbenannt. (I28fa9)
  • 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). (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 wurden 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 ein- oder ausgeblendet wird (mit Überlastungen für Column, LazyColumn und ScalingLazyColumn). ScrollAway wird normalerweise verwendet, um ein TimeText aus dem Sichtfeld zu scrollen, wenn der Nutzer beginnt, eine Liste mit Elementen nach oben zu scrollen. (I61766)

Fehlerkorrekturen

  • Das PositionIndicator-Element wird jetzt positioniert und entsprechend seiner Größe angepasst, sodass es nur den benötigten Platz einnimmt. Das ist beispielsweise nützlich, wenn semantische Informationen hinzugefügt werden, werden in TalkBack jetzt die korrekten Grenzen des PositionIndicator auf dem Bildschirm angezeigt. (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 wurden veröffentlicht. Version 1.1.0-alpha05 enthält diese Commits.

Fehlerkorrekturen

  • Zu InlineSlider und Stepper wurden Schaltflächenrollen hinzugefügt, damit TalkBack sie als Schaltflächen erkennen kann. (Icb46c, b/244260275)
  • Wir haben die Z-Reihenfolge der Positions- und Seitenanzeigen im Grundgerüst korrigiert. Die Anzeigen befinden sich nun über der Vignette und werden nicht durch die Vignette verdeckt, falls vorhanden. (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 wurden veröffentlicht. Version 1.1.0-alpha04 enthält diese Commits.

API-Änderungen

  • Wir haben einige der Standardfarben des MaterialTheme-Elements aktualisiert, um die Barrierefreiheit zu verbessern, da die Originalfarben nicht ausreichend Kontrast hatten, wodurch Nutzer die Hintergründe von Chips/Karten/Schaltflächen nicht mehr von der Hintergrundfarbe des Designs unterscheiden konnten. Die aktualisierten Farben sind Oberflächen(0xFF202124->0xFF303133), onPrimary(0xFF202124->0xFF303133), onSecondary(0xFF202124->0xFF303133), primaryVariant(0xFF669DF0>02FF0x0>00x0x4>00x024 und onPrimary(0xFF20124)). Die relativ subtilen Farbänderungen können sich auf vorhandene Screenshot-Tests auswirken. (81ab09)

Fehlerkorrekturen

  • Behebung eines Logikfehlers in ScalingLazyColumn, der dazu führen konnte, dass Listen mit einer kleinen (in der Regel genau 2) Anzahl von Listenelementen die Initialisierung nicht abschließen und dadurch transparent sind. (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 wurden 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 die neuen zusammensetzbaren Funktionen OutlinedChip und OutlinedButton hinzugefügt, die eine transparente Chip/Button mit einem dünnen Rahmen bieten. (Id5972)

API-Änderungen

  • Überlastungen für das Ändern von Schaltflächenformen (Icccde) hinzugefügt

Fehlerkorrekturen

  • Wir haben die Größe des Ein-/Aus-Steuerelementbereichs von ToggleChip korrigiert, da er nicht den UX-Spezifikationen entsprach. In den UX-Spezifikationen ist ein Abstand zwischen dem Label und einem 24 x 24 dp breiten Ein-/Aus-Steuerelement mit einer Breite von insgesamt 28 dp erforderlich. Bei der Implementierung wird jedoch fälschlicherweise der Steuerbereich „36x24.dp“ zugewiesen. Dadurch werden 8 dp nutzbarer Textlabelbereich weggenommen. HINWEIS: Diese Fehlerkorrektur bietet mehr Platz für das Textlabel und kann sich dadurch (positiv) auf das Textlayout für überlaufenden Text auswirken. Wenn du Screenshot-Tests hast, einschließlich ToggleChips, 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 wurden veröffentlicht. Version 1.1.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Wir haben die Abhängigkeiten von Compose für Wear OS von den Compose-Kernbibliotheken von Version 1.2.0 auf 1.3.0-alpha0X umgestellt

API-Änderungen

  • Überlastungen beim Ändern der Chipformen hinzugefügt (I02e87)

Fehlerkorrekturen

  • Wir haben die Sichtbarkeit der Vignette beim Ein-/Ausblenden des Dialogfelds animiert, um der vorhandenen Skalierungsanimation zu entsprechen. (Ida33e)
  • Wir haben einen Fehler behoben, bei dem beim Scrollen bei einem Ziehvorgang eine Division durch Null möglich war. (I86cb6)
  • Ein Fehler in ChipDefaults.childChipColor() wurde behoben, durch den die deaktivierte Hintergrundfarbe vollständig transparent war. (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 wurden veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.

API-Änderungen

  • Der contentDescription-Parameter der Auswahl wird jetzt nur für die ausgewählte Auswahloption verwendet und verwendet einen String, für den Nullwerte zulässig sind. Bisher war es erforderlich, eine Zuordnung von der Option zur Inhaltsbeschreibung zu übergeben, aber nur die ausgewählte Option wurde verwendet. (Ife6a7)
  • Wir haben die Bedienungshilfen des Picker verbessert, sodass Screenreader mit mehreren Auswahlmöglichkeiten navigieren können und die Inhaltsbeschreibung barrierefrei ist (I64edb).

Fehlerkorrekturen

  • Wir haben die Basisprofilregeln aktualisiert, die in der Wear Compose-Bibliothek enthalten sind (I9c694).
  • Wir haben die Richtung des Farbverlaufs für Chips von rechts nach links korrigiert. War oben links->unten rechts, jetzt oben rechts->unten links. (Ic2e77)
  • Wir haben die Standardverläufe für Chip/ToggleChip/Card aktualisiert, damit sie den aktuellen UX-Spezifikationen entsprechen. ChipDefaults.gradientBackgroundChipColors wurde aktualisiert, sodass nun 50% der primären Farbwerte anstelle von 32,5 % verwendet werden. CardDefaults.cardBackgroundPainter wurde aktualisiert, sodass sie von 30 % der primären Oberfläche und bei 20 % der primären Oberfläche onSurfaceVariant beginnt (vorher 20 % bis 10 % onSurfaceVariant). ToggleChip.toggleChipColors ändert sich von einem linearen Farbverlauf von 75 % zu 32,5 % der Primäroberfläche. (I43bbd)
  • Wir haben hinter Chip/ToggleChips eine Hintergrundfarbe (MaterialTheme.color.surface) mit Hintergründen mit Farbverlauf hinzugefügt, damit sie im unwahrscheinlichen Fall, dass eine helle Farbe dahinter verwendet wird, richtig sichtbar sind. (Ibe1a4, b/235937657)
  • Picker-Elemente sind jetzt immer zentriert. Ein Fehler beim Festlegen von gradientRatio auf null hatte eine Nebenwirkung, die dazu führte, dass sich die Ausrichtung änderte. (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 wurden veröffentlicht. Version 1.0.2 enthält diese Commits.

Fehlerkorrekturen

  • Wir haben die Z-Reihenfolge der Positions- und Seitenanzeigen im Grundgerüst korrigiert. Die Anzeigen befinden sich nun über der Vignette und werden nicht durch die Vignette verdeckt, falls vorhanden. (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 wurden veröffentlicht. Version 1.0.1 enthält diese Commits.

Fehlerkorrekturen

  • Behebung eines Logikfehlers in ScalingLazyColumn, der dazu führen konnte, dass Listen mit einer kleinen (in der Regel genau 2) Anzahl von Listenelementen die Initialisierung nicht abschließen und dadurch transparent sind. 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 wurden veröffentlicht. Version 1.0.0 enthält diese Commits.

Hauptfunktionen von Version 1.0.0

  • Dies ist die erste stabile Version von Compose für Wear OS. Weitere Informationen
  • Compose für Wear OS baut auf den Compose-Kernbibliotheken auf. Diese bieten zusätzliche Wearable-spezifische Komponenten und gegebenenfalls alternative Implementierungen von Compose-Hauptkomponenten, die auf Wearable-Geräte zugeschnitten sind.
  • Eine Liste der Hauptkomponenten von Wear Compose finden Sie in den Versionshinweisen zu Compose for Wear OS Beta01.

Fehlerkorrekturen

  • Wir haben die Sichtbarkeit der Vignette beim Ein-/Ausblenden des Dialogfelds animiert, um der vorhandenen Skalierungsanimation zu entsprechen. (Ida33e)
  • Wir haben einen Fehler behoben, bei dem beim Scrollen bei einem Ziehvorgang eine Division durch Null möglich war. (I86cb6)
  • Ein Fehler in ChipDefaults.childChipColor() wurde behoben, durch den die deaktivierte Hintergrundfarbe vollständig transparent war. (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 wurden veröffentlicht. Version 1.0.0-rc02 enthält diese Commits.

Fehlerkorrekturen

  • Wir haben die Richtung des Farbverlaufs für Karten im RTL-Modus (Rechts-nach-links) korrigiert. Sie war oben links->unten rechts und jetzt oben rechts->unten links. (Ic2e77)
  • Wir haben die Standardverläufe für Chip/ToggleChip/Card so aktualisiert, dass sie den neuesten UX-Spezifikationen entsprechen. ChipDefaults.gradientBackgroundChipColors wurde aktualisiert, sodass nun von 50% der primären Farbe anstelle von 32,5 % der Farbverlauf verwendet wird. CardDefaults.cardBackgroundPainter wurde so geändert, dass sie bei 30% der primären Ausrichtung beginnt und bei 20% von onSurfaceVariant endet (vorher 20% auf 10% aufSurfaceVariant). ToggleChip.toggleChipColors ändert sich von einem linearen Farbverlauf von 75% der Oberfläche zu 32,5% der primären Oberfläche zu 0% der Fläche zu 50% der primären Oberfläche. (I43bbd)
  • Wir haben hinter Chip/ToggleChips eine Hintergrundfarbe (MaterialTheme.color.surface) mit Hintergründen mit Farbverlauf hinzugefügt, damit sie im unwahrscheinlichen Fall, dass eine helle Farbe dahinter verwendet wird, richtig sichtbar sind. (Ibe1a4, b/235937657)
  • Wir haben die Basisprofilregeln aktualisiert, die in der Wear Compose-Bibliothek enthalten sind (I9c694).

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 wurden veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.

API-Änderungen

  • Schnittstellen in compose-Bibliotheken werden jetzt mit den jdk8-Standardschnittstellenmethoden (I5bcf1) erstellt.

Fehlerkorrekturen

  • Wir haben den expliziten Aufruf von fillMaxWidth() im Listenheader entfernt, da er nicht benötigt wird und zu Problemen führen kann, wenn eine ScalinglazyColumn eine Mischung aus ListHeader()- und Chip()-Komponenten enthält, da die Breite tendenziell zu-/verkleinert wird, wenn ListHeader-Elemente herunter- oder ausgeblendet werden. (I37144, b/235074035)
  • Wir haben einen Fehler im ScalingLazyColumn behoben, der dazu führen konnte, dass die Listenelemente erst nach dem Scrollen korrekt dargestellt wurden, wenn der 0. Listeneintrag groß genug war (einschließlich Abstand). (Ic6159, b/234328517)
  • Wir haben das Easing „ScalingLazyColumn“ geringfügig angepasst, wenn Elemente den Bildschirmrand erreichen, um den aktualisierten UX-Spezifikationen zu entsprechen. Alte Werte CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f) -> neue Werte CubicBezierEasing(0.3f, 0f, 0.7f, 1f) Um das alte Verhalten beizubehalten, können Sie den scalingParams von ScalingLazyColumn (Ie375c) überschreiben.
  • Wir haben einen Innenrand für CompactChip hinzugefügt, um sicherzustellen, dass die Größe des Tippziels mindestens 48 dp hoch ist und die Richtlinien für die Barrierefreiheit von Material eingehalten werden. Dies kann sich auf alle Layouts auswirken, die Sie mit CompactChips verwenden, da diese zusätzlichen Platz benötigen. (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 wurden veröffentlicht. Version 1.0.0-beta03 enthält diese Commits.

Neue Funktionen

  • ScalingLazyColumn funktioniert jetzt im Modus „Schreiben“ @Preview. (I3b3b6, b/232947354)

API-Änderungen

  • Wir haben den Standardwert für die Eigenschaft ScalingLazyColumn.horizontalAlignment von „Start“ in „CenterHorizontally“ geändert, damit Listenelemente, die nicht die gesamte Spaltenbreite einnehmen, für eine maximale Sichtbarkeit ausgerichtet werden. Wenn du zum vorherigen Verhalten zurückkehren möchtest, lege horizontalAlignment = Alignment.Start fest.(I9ed4b)

Bekannte Probleme

  • Die Tipp- bzw. Berührungshöhe von CompactChip ist kleiner als die Richtlinien für die Barrierefreiheit von Material. Dies wird in der nächsten Version (15. Juni) korrigiert. Wenn Sie CompactChip verwenden, wirkt sich dies auf Ihre Layouts aus, da CompactChips jetzt einen zusätzlichen Abstand oben und unten haben. Passen und testen Sie Ihre Layouts oder sehen Sie sich die Fehlerkommentare an, um das bestehende Verhalten zu umgehen. (b/234332135)

Fehlerkorrekturen

  • Neue Demo zum Animieren des Hinzufügens oder Entfernens eines Starttexts zu einem TimeText. (I16d75)
  • Tests für HorizontalPageIndicator.PagesState (I64ed0) hinzufügen
  • TimeText wird näher an die UX-Spezifikationen aktualisiert (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 wurden veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.

Neue Funktionen

  • Die Auswahl reagiert jetzt auch im Lesemodus immer auf Scroll-Ereignisse. So müssen Nutzende nicht erst durch Tippen eine Auswahl auswählen, bevor sie scrollen können. Im Lesemodus werden andere Optionen als die derzeit ausgewählten durch einen Shim in gradientColor verdeckt. (I72925)
  • Wir haben das UX-Verhalten von Chip/ToggleChip/CompactChip/SplitToggleChip geändert, sodass fillMaxWidth nicht mehr standardmäßig ausgeführt wird. Stattdessen wachsen sie, um sich an ihren Inhalt anzupassen. Um das vorherige Verhalten beizubehalten, fügen Sie einfach modifier = Modifier.fillMaxWidth()(I60a2c, b/232206371) hinzu.

Fehlerkorrekturen

  • Der CurvedTextStyle-Konstruktor, der TextStyle verwendet, respektiert jetzt auch fontWeight. (Dies kann in zukünftigen API-Versionen zum Konstruktor und den Kopiermethoden hinzugefügt werden.) (Ieebb9)
  • Verbesserungen beim Wischen am Rand. Wenn Modifier.edgeSwipeToDismiss verwendet wird und ein Wischen nach links vom Randbereich ausgelöst wird, wird kein Wischen zum Schließen mehr ausgelöst, wenn sich die Wischrichtung nach rechts ändert. Bisher war es möglich, durch Wischen nach links und dann nach rechts zu schließen.(I916ea)
  • HorizontalPageIndicator zeigt jetzt bis zu sechs Seiten auf dem Bildschirm an. Wenn es insgesamt mehr als sechs Seiten gibt, wird links oder rechts ein Hinweis in halber Größe mit einem sanften Übergang zwischen den Seiten angezeigt.(I2ac29)
  • Verbessertes Standardverhalten für das Andocken unter ScalingLazyColumn und Picker (I49539)
  • Verbesserungen beim Wischen am Rand. Bei Verwendung von Modifier.edgeSwipeToDismiss wird „Zum Schließen wischen“ nur dann ausgelöst, wenn die erste Berührung am Rand landet und nach rechts gewischt wurde. Bisher war es möglich, durch Wischen von einem beliebigen Teil des Bildschirms aus eine Wischbewegung zum Schließen auszulösen, wenn das 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 wurden veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.

Funktionen von Compose für Wear OS 1.0

Die 1.0.0-beta01 von Compose für Wear OS markiert einen wichtigen Meilenstein, da die Bibliothek vollständig funktionsfähig und die API gesperrt ist.

Zu den Wear Compose Material-Komponenten in der Version 1.0 gehören:

  • Material Theme – wird als Ersatz für MaterialTheme in Compose für Mobilgeräte verwendet und stellt die Farben, Formen und Typografie für die Erstellung von Komponenten auf Wearables bereit, die die UX-Richtlinien für Wear Material Design von Anfang an implementieren.
  • Button, CompactButton und ToggleButton: Die Schaltfläche bietet eine einzige Anzeigenfläche für ein Symbol, ein Bild oder einen kurzen Text (max. 3 Zeichen). Rund mit empfohlenen Größen für Standardschaltflächen sowie große und kleine Schaltflächen. CompactButton bietet eine einzelne Fläche für beliebige Inhalte (Symbol, Bild oder Text) und hat eine kreisförmige Form und einen besonders kleinen Hintergrund. CompactButton hat einen optionalen transparenten Abstand um den Hintergrund, der den anklickbaren Bereich vergrößert. ToggleButton ist eine Schaltfläche, die auf einer einzigen Fläche für beliebige Inhalte (kurzer Text, Symbol oder Bild) und einen Ein-/Aus-Status (aktiviert/nicht aktiviert) mit Farbe und verschiedenen Symbolen bietet, die anzeigen, ob ein Häkchen gesetzt ist oder nicht
  • Karten: zum Anzeigen von Informationen zu Anwendungen, z. B. Benachrichtigungen. Flexibles Design für verschiedene Anwendungsfälle, wobei AppCard und TitleCard unterschiedliche Layouts und Unterstützung für Bilder als Karteninhalt oder Hintergründe bieten.
  • Chips – stadionförmige Komponenten, ähnlich wie Schaltflächen, aber mit einer größeren Fläche und mehreren Fächern für Beschriftungen, sekundäre Beschriftungen und Symbole. In verschiedenen Größen und mit Unterstützung für Bilder als Hintergründe
  • SwitchChips und SplitToggleChips – ein Chip mit aktiviertem/nicht aktiviertem Status und dem Hinzufügen einer ToggleControl-Fläche, um ein Symbol wie einen Schalter oder ein Optionsfeld anzuzeigen, um den aktivierten bzw. deaktivierten Status der Komponente anzuzeigen. Außerdem hat SplitToggleChip zwei antippbare Bereiche, einen anklickbar und einen antippbar.
  • CircularProgressIndicator – Fortschrittsanzeige für Wear-Material mit zwei Variationen. Die erste drückt den Anteil der Erledigung einer laufenden Aufgabe aus und unterstützt eine Lücke in der kreisförmigen Spur zwischen Start- und Endwinkel. Die zweite gibt einen unbestimmten Fortschritt für eine nicht angegebene Wartezeit an.
  • CurdText – ist Teil der DSL zur Beschreibung von CurvedLayouts sowie curvedRow und curvedColumn, um Komponenten um kreisförmige Geräte anzuordnen. Weitere Informationen zu CurvedLayout und CurvedModifier finden Sie unten im Abschnitt „Wear Component Foundation“. Diese Funktion hat in der nicht gekrümmten Welt eine ähnliche Rolle wie die Modifikatoren und ermöglicht die Konfiguration verschiedener Aspekte von Layout, Innenabständen, Farbverläufen usw.
  • Dialogfeld, Warnung und Bestätigung: Das Dialogfeld zeigt ein Dialogfeld im Vollbildmodus an, das über anderen Inhalt gelegt wird. Es ist möglich, die Meldung durch Wischen zu schließen. Es wird ein einzelner Slot benötigt, bei dem es sich erwartungsgemäß um Inhalte des Dialogfelds „Wear Material“ wie „Warnung“ oder „Bestätigung“ handelt. „Benachrichtigung“ ist ein Dialog mit Flächen für Symbol, Titel und Nachricht. Sie hat Überlasten für entweder zwei negative und positive Schaltflächen, die nebeneinander angezeigt werden, oder einen Slot für einen oder mehrere vertikal gestapelte Chips. Die Bestätigung bezieht sich auf vorgeschlagene Dialoginhalte, die eine Nachricht für einen bestimmten Zeitraum anzeigen. Es hat eine Fläche für ein Symbol oder ein Bild (das animiert sein kann).
  • HorizontalPageIndicator: Zeigt die horizontale Seitenposition auf eine für den Wearable-Formfaktor geeignete Form an. Für den Vollbildmodus und eine gebogene Anzeige auf runden Geräten. Kann mit dem Viewer der Seite „Begleitperson“ verwendet werden.
  • Symbol: Eine Wear-Implementierung von Icon, die Farbe und Alpha aus dem Wear-Material-Design übernimmt. Ein anklickbares Symbol ist unter „Schaltfläche“ oder „Chip“ verfügbar.
  • Auswahl - zeigt eine scrollbare Liste von Elementen an, aus denen ausgewählt werden kann. Standardmäßig werden Elemente "unendlich" in beide Richtungen wiederholt. Kann im Lesemodus angezeigt werden, um nicht ausgewählte Optionen auszublenden.
  • PositionIndicator: Zeigt die Scrollposition oder andere Positionsangaben in einer für den Wearable-Formfaktor geeigneten Form an. Für den Vollbildmodus entwickelt, mit gebogener Anzeige auf runden Geräten.
  • Gerüst – implementiert die grundlegende visuelle Layoutstruktur für Wear Material Design. Diese Komponente stellt eine API zum Kombinieren mehrerer Wear Material-Komponenten (z. B. TimeText, PositionIndicator und Vignette) bereit, mit denen der Bildschirm konstruiert wird. Dabei wird eine angemessene Layoutstrategie für sie sichergestellt und die erforderlichen Daten erfasst, damit diese Komponenten einwandfrei zusammenwirken.
  • ScalingLazyColumn – eine Skalierungs-/Fischaugenlistenkomponente zum Scrollen, die einen wichtigen Bestandteil der Wear Material Design-Sprache bildet. Bietet Skalierungs- und Transparenzeffekte auf die Inhaltselemente. ScalingLazyColumn ist darauf ausgelegt, eine potenziell große Anzahl von Inhaltselementen zu verarbeiten, die nur bei Bedarf materialisiert und zusammengesetzt werden.
  • Schieberegler – ermöglicht Nutzern, eine Auswahl aus einem Wertebereich zu treffen. Der Auswahlbereich wird als Balken dargestellt, der optional mit Trennzeichen dargestellt werden kann.
  • Stepper – eine Vollbildkomponente, mit der Nutzer eine Auswahl aus einem Bereich von Werten treffen können. Dazu verwenden sie Schaltflächen zum Vergrößern/Verkleinern oben und unten auf dem Bildschirm und mit einer Fläche für Text oder Chips in der Mitte.
  • SwipeToSchließenBox: Führt die Wischgeste zum Schließen aus. Für den Hintergrund (wird nur bei einer Wischgeste angezeigt) und den Inhalt im Vordergrund wird eine einzelne Fläche benötigt. Kann optional mithilfe von SwipeDismissableNavHost mit der Androidx-Navigationsbibliothek kombiniert werden (siehe Wear Compose-Navigation unten).
  • Text: Eine Wear-Implementierung der Komponente „Compose Material Text“, bei der Farbe und Alphaversion des Wear-Material-Designs verwendet werden.
  • TimeText – eine Komponente zur Anzeige von Uhrzeit und Anwendungsstatus oben auf dem Bildschirm Passt sich an die Bildschirmform an, indem gekrümmter Text auf runden Bildschirmen verwendet wird.
  • Vignettierung: eine Bildschirmdarstellung für die Verwendung im Gerüst, bei der der obere und untere Teil des Bildschirms verschwimmt, wenn scrollbare Inhalte verwendet werden.

  • Die folgenden Komponenten sind ebenfalls in Wear Compose Foundation enthalten:

  • CurvedLayout – Wear Foundation CurvedLayout ist eine Layout-Zusammensetzbarkeit, bei der die untergeordneten Elemente in einem Bogen platziert werden und nach Bedarf gedreht werden. Dies ähnelt einem Zeilenlayout, das in einem Segment eines Rings gekrümmt ist. Beachte, dass der Inhalt einer CurvedLayout keine zusammensetzbare Lambda-Funktion, sondern eine DSL (domainspezifische Sprache) ist. Alle Elemente in der DSL des CurvedLayouts unterstützen einen optionalen Modifikatorparameter, der aus CurvedModifier erstellt wurde.

  • baseCurvedText – ein Element in CurvedLayout-DSL, basicCurvedText, mit dem Entwickler einfach gebogenen Text schreiben können, der der Krümmung eines Kreises folgt (normalerweise am Rand eines kreisförmigen Bildschirms). basicCurvedText darf nur innerhalb der CurvedLayout erstellt werden, um eine optimale Nutzererfahrung zu gewährleisten. Dazu gehört z. B. die Möglichkeit, die Positionierung festzulegen und CurvedModifiers zu verwenden. In den meisten Fällen sollte stattdessen CurdText verwendet werden, da er Material-Design verwendet.

  • CurddComposable – umschließt normalen zusammensetzbaren Inhalt, sodass er mit CurvedLayout verwendet werden kann. Wenn curvedComposable mehrere Elemente enthält, werden diese übereinander gezeichnet (wie bei einem Kasten). Wenn Sie mehrere zusammensetzbare Funktionen entlang einer Kurve platzieren möchten, umschließen Sie sie jeweils mit curvedComposable.

  • CurdRow und CurvedColumn – ähnlich wie Row und Column können curvedRow und curvedColumn innerhalb eines CurvedLayout-Elements verschachtelt werden, um Elemente nach Bedarf anzuordnen. Für curvedRow können die eckige Layoutrichtung und die radiale Ausrichtung angegeben werden. Für curvedColumn können die Winkelausrichtung und die radiale Richtung angegeben werden.

  • CurvedModifier: Alle gebogenen Komponenten akzeptieren einen Modifikatorparameter, der mit CurvedModifier erstellt werden kann: Hintergrund, Größe, Gewicht und Innenabstände werden unterstützt.

  • Die folgende Komponente ist ebenfalls in der Wear Compose-Navigation enthalten:

  • SwipeCloseableNavHost – bietet einen Platz in der Erstellungshierarchie für eine eigenständige Navigation, wobei die Rückwärtsnavigation durch Wischgesten ermöglicht wird. Inhalte werden in einem SwipeToDismissBox mit der aktuellen Navigationsebene angezeigt. Während einer Wischgeste zum Schließen wird die vorherige Navigationsebene (falls vorhanden) im Hintergrund angezeigt.

  • Weitere Informationen zu den bereitgestellten Alphaversionen finden Sie in den vorherigen Versionshinweisen.

API-Änderungen

  • CurvedModifier.padding*-Funktionen wurden hinzugefügt. Damit wird zusätzlicher Raum angegeben, der um eine gebogene Komponente herum hinzugefügt werden soll. (I4dbb4)
  • Interne Klasse CompositionLocal (I42490) entfernt
  • Wir haben zur Orientierung konstante Werte für die Symbolgrößen Button, CompactButton und ToggleButton hinzugefügt (I57cab).
  • Fügen Sie AppCard und TitleCard einen aktivierten Parameter hinzu. Jetzt haben sie eine ähnliche API wie androidx.compose.material Cards. Ist der Parameter auf „false“ gesetzt, kann die Karte nicht angeklickt werden. (Idc48d, b/228869805)

Fehlerkorrekturen

  • Durch den Stepper werden jetzt die Schaltflächen zum Verringern und Erhöhen deaktiviert, wenn die Unter-/Obergrenzen erreicht wurden. Außerdem wird ContentAlpha.disabled auf die Symbolfarbe angewendet (I4be9f).
  • Wir haben einen Abstand von 1 dp um Picker-Inhalte hinzugefügt, wenn mit einem Farbverlauf gezeichnet wird, um Jitter auf Text beim Wischen zu vermeiden. (I0b7b9)
  • Screenshot-Tests für PositionIndicator (I5e8bc) hinzufügen
  • Weitere Tests für AppCard und TitleCard hinzufügen (I85391, b/228869805)

Version 1.0.0-alpha21

20. April 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha21, androidx.wear.compose:compose-material:1.0.0-alpha21 und androidx.wear.compose:compose-navigation:1.0.0-alpha21 wurden veröffentlicht. Version 1.0.0-alpha21 enthält diese Commits.

Neue Funktionen

  • Neue Modifikatoren für gekrümmte Elemente hinzugefügt, um den Hintergrund eines gebogenen Elements anzugeben: CurvedModifier.background, .radialGradientBackground und .angularGradientBackground (I8f392)
  • Angabe des Überlaufmodus für gebogenen Text (Ausschnitt/Auslassungspunkte/sichtbar) zulassen. (I8e7aa)
  • Der CurvedModifier.weight-Modifikator wurde hinzugefügt, ähnlich dem in „Schreiben“. Dies kann für die untergeordneten Elemente von CurvedRow und CurvedLayout (für die Breite) und den untergeordneten Elementen 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 gebogenen Elements anzugeben. (I623c7)

API-Änderungen

  • Parameter neu anordnen, um sicherzustellen, dass der Hintergrund in der Wear Compose API einheitlich ist (I43208)
  • Die Parameter im Uhrzeigersinn und die insideOut wurden entfernt und bei neuen Klassen durch ausdrucksstärkere Konstanten ersetzt. Die Richtung des gebogenen Layouts kann jetzt LayoutDirection berücksichtigen und wird übernommen, wenn keine Angabe erfolgt (If0e6a)
  • Wir haben autoCenter: Boolean durch autoCenter: AutoCentringParams ersetzt, um ein API-Problem mit der 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 die Symbol-/ToggleControl-Fläche angewendet wird. (Ied238)
  • PageIndicatorStyle-Enum in Wertklasse umschreiben (I2dc72)
  • Wir haben einigen der Anzeigenflächen in unseren zusammensetzbaren Funktionen RowScope/ColumnScope/BoxScope hinzugefügt, um Entwicklern zu zeigen, von welchen Annahmen das Layout ausgeht. So können Entwickler für einige Anzeigenflächeninhalte zusätzliche Modifikatoren verwenden und müssen keine zusätzlichen Layoutelemente zur Verfügung stellen. Außerdem haben wir einige kleinere Aktualisierungen an den Farben von AppCard/TitleCard vorgenommen, sodass timeColor und appColor standardmäßig auf contentColor gesetzt sind. Diese Eigenschaften können bei Bedarf immer noch einzeln überschrieben werden. (I26b59)
  • SwipeToDismissBoxState.Companion-Objekt wurde auf „privat“ gesetzt (I39e84)
  • Korrigieren Sie die Reihenfolge der Parameter für InlineSlider und Stepper. Einfache Änderung aufgrund der API-Richtlinien (I11fec)
  • Wir haben das Saver-Objekt für SwipeToDismissBoxState entfernt, da es nicht verwendet wurde. (Ifb54e)
  • Wir haben CompactChip aktualisiert und an die aktuelle UX-Spezifikation angepasst. Der Abstand wurde auf horizontal = 12 dp und vertikal = 0 dp reduziert. Die Schriftart für das Label wurde von „button“ zu „caption1“ geändert. Die empfohlene Symbolgröße ist 20 x 20, wenn sowohl Symbol als auch Label vorhanden sind, und 24 x 24 für einen kompakten Symbolchip. Außerdem wurde darauf geachtet, dass das Symbol zentriert ist. (IEA2BE)
  • Wir haben ScalingLazyListLayoutInfo eine Reihe neuer Felder hinzugefügt, damit Entwickler sehen können, wie viel contentPadding und autoCenteringPadding angewendet wurden. Diese können für Entwickler nützlich sein, wenn sie das Ziehen/Scrollen berechnen (I7577b).
  • Wir haben Ein- und Ausgangsübergänge für den Dialog implementiert. Der Parameter showDialog wurde hinzugefügt und das Dialogfeld steuert jetzt seine eigene Sichtbarkeit. Dadurch kann Dialog die Intro- und Outro-Animationen ausführen, wenn das Dialogfeld ein- bzw. ausgeblendet wird. Hinweis: Die Outro-Animation wird nicht ausgeführt, wenn der Nutzer das Dialogfeld durch Wischen zum Schließen verlässt. Außerdem haben wir in der kürzlich hinzugefügten SwipeToDismissBox-Überlastung 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 für den toggleControl-Slot mehr haben. Außerdem haben wir ToggleChipDefaults geändert, sodass die folgenden Methoden jetzt ImageVector anstelle von Icon zurückgeben (beachten Sie, dass @Composables nicht mehr zurückgegeben werden, wurde aber zu Kleinschreibung geändert), SwitchIcon()->switchIcon(), CheckboxIcon->checkboxIcon() und RadioIcon()->radioIcon(). Dadurch können und ermutigt werden Entwickler, eigene zusammensetzbare Funktionen von Icon() mit einem geeigneten contentDescription-Satz zu erstellen. (I5bb5b)
  • SwipeDismissableNavHost wurde der Parameter SwipeDismissableNavHostState hinzugefügt. Dies unterstützt das Wischen über den Rand bei Bildschirmen, die als Navigationsziele verwendet werden, da SwipeToDismissBoxState jetzt angehoben werden kann und zum Initialisieren von SwipeDismissableNavHostState und Modifier.edgeSwipeToDismiss auf Bildschirmen verwendet werden kann, bei denen das Wischen über den Rand erforderlich ist. (I819f5, b/228336555)

Fehlerkorrekturen

  • Gebogene Layouts sollten bei Bedarf aktualisiert werden. (Ie8bfa, b/229079150)
  • Fehlerkorrektur für https://issuetracker.google.com/issues/226648931 (Ia0a0a, b/226648931)
  • Unnötige experimentelle Anmerkungen entfernt (I88d7e)

Version 1.0.0-alpha20

6. April 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha20, androidx.wear.compose:compose-material:1.0.0-alpha20 und androidx.wear.compose:compose-navigation:1.0.0-alpha20 wurden veröffentlicht. Version 1.0.0-alpha20 enthält diese Commits.

Neue Funktionen

  • edgeSwipeToDismiss-Modifikator für SwipeToDismiss hinzufügen. Lässt zu, dass swipeToDismiss nur am linken Rand des Darstellungsbereichs aktiv ist. Wird verwendet, wenn die Mitte des Bildschirms horizontales Paging unterstützen muss, z. B. das 2D-Scrollen einer Karte oder horizontales Wischen zwischen Seiten.(I3fcec, b/200699800)

API-Änderungen

  • Basisimplementierung von CurvedModifiers; bietet die Möglichkeit, Kurveninhalte anzupassen (aber noch keine CurvedModifiers und die Möglichkeit zum Erstellen benutzerdefinierter Modifikatoren wird später verfügbar sein) (I9b8df)
  • Die Dokumentation zu EdgeSwipemodifier und die Standardwerte wurden zum besseren Verständnis aktualisiert (I6d00d).
  • Fügen Sie dem Scaffold PageIndicator Slot hinzu. Wenn du PageIndicator direkt in das Scaffold einfügst, wird es auf runden Geräten korrekt angezeigt. (Ia6042)
  • Entfernen Sie die Standardsymbole aus den InlineSlider- und Stepper-Parametern. So können Entwickler besser auf die Anforderungen an Lokalisierung und Barrierefreiheit achten. Die Verwendung von Standardsymbolen wurde in Demos und Beispielen gezeigt. (I7e6fd)
  • Namen von nachgestellten und vorangestellten Parametern durch Start und Ende in TimeText (Iaac32) ersetzen
  • Wir haben eine SwipeToDismissBox-Überlastung mit einem onDismissed-Parameter hinzugefügt, um die allgemeine Verwendung des Auslösens eines Navigationsereignisses zu unterstützen, wenn die Wischgeste abgeschlossen ist. (I50353, b/226565726)
  • ExperimentalWearMaterialApi-Annotationen wurden aus der TimeText-Nutzung entfernt (Ide520)
  • Wir haben den Umfang und die Infooberflächen von ScalingLazyList/Column als versiegelt gekennzeichnet, da sie nicht für externe Entwickler vorgesehen sind. So können wir in Zukunft neue Mitglieder hinzufügen, ohne dass binäre Änderungen vorgenommen werden. (I7d99f)
  • Wir haben der Auswahl eine neue flingBehaviour-Eigenschaft und eine PickerDefaults.flingBehaviour()-Methode hinzugefügt, um die Konfiguration des Weiterleitungsverhaltens zu ermöglichen, z. B. das Hinzufügen der RSB-Unterstützung. PickerState implementiert jetzt die ScrollableState-Schnittstelle. (Ib89c7)

Fehlerkorrekturen

  • Die Basisprofilregeln von Android Runtime (ART) für Wear Compose-Bibliotheken aktualisieren. ART kann Profilregeln auf Geräten nutzen, um vorab eine bestimmte Teilmenge der Anwendung zu kompilieren und so die Leistung der Anwendung zu verbessern. Dies hat keine Auswirkungen auf Anwendungen, die debuggen werden können. (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 wurden veröffentlicht. Version 1.0.0-alpha19 enthält diese Commits.

API-Änderungen

  • CurvedRow wurde in CurvedLayout umbenannt und in einen Bereich mit DSL umgearbeitet. Mit dieser DSL können komplexere gebogene Layouts mithilfe einer Reihe verschachtelter curvedRow und curvedColumn angegeben werden. Dies sind die Entsprechungen des gebogenen Layouts für Zeile und Spalte. Innerhalb dieser Layout-Elemente können drei Elemente verwendet werden: curvedComposable (um @Composable-Elemente hinzuzufügen), basicCurvedText (gekrümmter Text der Stiftung) und curvedText (gekrümmter Text für Wear-Material). (Ib776a)
  • Legen Sie die Seite für das PositionIndicator konfigurierbar fest. Die grundlegende Position des PositionIndicator-Elements kann nun als End (auf Richtungsausrichtung des Layouts), als GegenüberRsb (berücksichtigt die Bildschirmdrehung, um sich gegenüber dem physischen RSB zu positionieren) oder als absolute Werte für Links und Rechts konfiguriert werden. 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 nach SwipeToDismissKeys.Background (SwipeToDismissKeys.Content) verschoben. (I47a36)
  • Wir haben der Auswahl einen schreibgeschützten Modus für Bildschirme mit mehreren Pickern hinzugefügt, bei denen jeweils nur ein Picker bearbeitet werden kann. Wenn die Auswahl schreibgeschützt ist, werden die aktuell ausgewählte Option und ein Label angezeigt, falls eine angegeben wurde. (I879de)
  • SwipeToDismissBoxState wurde refaktoriert, um den Bereich von ExperimentalWearMaterialApi auf Modifier.swipeable und SwipeableState zu beschränken. Diese werden jetzt intern verwendet. SwipeToDismissBoxState hat jetzt currentValue-, targetValue-, isAnimationRunning- und snapTo-Mitglieder, um häufige Anwendungsfälle zu unterstützen. Teilen Sie uns bitte mit, wenn Sie weitere Properties benötigen. Das Verhalten von SwipeableState in Fällen, bei denen der Wisch-Offset innerhalb eines Rundungsfehlers eines Ankers liegt, wurde ebenfalls korrigiert. (I58302)

Fehlerkorrekturen

  • Vereinfachter und fester Code, um zu erkennen, ob der Inhalt eines ScalingLazyColumn gescrollt werden kann (wird verwendet, um zu entscheiden, ob eine Bildlaufleiste angezeigt wird oder nicht) (I7bce0)
  • Ein Fehler bei der Positionsanzeige wurde behoben, wenn die Positionsanzeige mit mehr als einem Status verwendet wurde und zwischen diesen gewechselt wurde (I320b5).
  • Wir haben die Standardtypografie/-schrift von „Compose“ für Wear OS aktualisiert, um sie an unsere neuesten UX-Richtlinien anzupassen. Hinweis: display1 (40.sp) und display2 (34.sp) sind jetzt kleiner als ihre vorherigen Werte. Außerdem wurden verschiedene kleinere Aktualisierungen der Zeilenhöhe und des Zeilenabstands vorgenommen. (Ie3077)
  • Wir haben einen Widerstand zu SwipeToDismissBox hinzugefügt, sodass Bewegungen nur dann stattfinden, wenn zum Schließen ein Wischen erfolgt, und nicht in die entgegengesetzte Richtung. (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. Für die Spinner-/Indeterminant-Version wurden die Größe (40->24.dp), IndicatorColor (primary->onBackground), die trackColor-Transparenz (30%-> 10%) und die Strichbreite (4-> 3 dp) aktualisiert. Für die Version Progress/Determinate (Fortschritt/Determinate-Version) wurde die trackColor-Transparenz (30%-> 10%) aktualisiert. (I659cc)
  • Wir haben die Standard-Skalierungsparameter der ScalingLazyColumn-Inline an die neuesten UX-Spezifikationen für Wear Material Design angepasst. Dies führt dazu, dass Listenelemente beginnend näher an der Listenmitte liegen, am Listenrand aber weniger skaliert werden als zuvor. (Ica8f3)
  • Einige Anpassungen an ScalingLazyColumnDefaults.snapFlingBehavior, um das Ende der Animation zu verbessern (If3260)

Version 1.0.0-alpha18

9. März 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha18, androidx.wear.compose:compose-material:1.0.0-alpha18 und androidx.wear.compose:compose-navigation:1.0.0-alpha18 wurden veröffentlicht. Version 1.0.0-alpha18 enthält diese Commits.

API-Änderungen

  • Es wurden mehrere Verbesserungen an „PositionIndicator“ vorgenommen: „ShowResult“ umbenannte die Bezeichnung „PositionIndicatorSichtbarkeit“. Einige Leistungsverbesserungen, um Neuberechnungen zu vermeiden, wenn sie nicht benötigt werden (Iaed9d)
  • Die empfohlene Farbe für SplitToggleChip wurde aktualisiert. SplitToggleChips haben jetzt einen einfarbigen Hintergrund, wenn sie aktiviert oder deaktiviert sind. Die Farbe des SwitchControl ist der primäre Hinweis darauf, ob die Komponente aktiviert ist oder nicht. Zur Unterstützung des neuen Farbschemas wurde ein neues ToggleDefaults.splitToggleChipColors() hinzugefügt. Außerdem haben wir die toggleChipColors()-Methoden vereinfacht, sodass „splitBackgroundOverlayColor“ entfernt wurde (I7e66e).
  • Wir haben „ScalingLazyListItemInfo“ „uncustomSize“ hinzugefügt, da es aufgrund der Genauigkeit der Gleitkommazahlen nicht sicher ist, die ursprüngliche Elementgröße mit der skalierten Größe und dem Skalierungsfaktor zu berechnen. (I54657, b/221079441)
  • HorizontalPageIndicator hinzufügen. Es steht für die Gesamtzahl der Seiten und eine ausgewählte Seite. Sie kann je nach Form des Geräts linear oder gebogen sein. Außerdem wird die Form eines benutzerdefinierten Indikators unterstützt, mit dem definiert wird, wie jeder Indikator visuell dargestellt wird. (Iac898)
  • Wir haben PickerState aktualisiert, damit „numberOfOptions“ aktualisiert werden kann. Dies unterstützt Anwendungsfälle wie DatePicker, bei denen sich die Anzahl der Tage des Monats je nach ausgewähltem Monat ändert. Der Konstruktorparameter für PickerState wurde entsprechend in „initialNumberOfOptions“ geändert. (Iad066)
  • PositionIndicator ausblenden, wenn es sich um eine Bildlaufleiste handelt und nicht scrollen kann. (Id0a7f)
  • Für mehr Konsistenz mit dem Scaffold werden in unserer Vollbild-Dialog-Komponente jetzt PositionIndicator und Vignette angezeigt. Außerdem verwenden wir jetzt ScalingLazyColumn anstelle von Column, was bedeutet, dass sich der Inhalt des Dialogfelds jetzt in ScalingLazyListScope befindet und normalerweise vom Element { /* content */ } umschlossen sein muss. Das Dialogfeld unterstützt den Parameter verticalArrangement entsprechend. (Idee 13)
  • Wir haben den Namen ToggleChip und SplitToggleChip zwischen „switchIcon“ und „switchControl“ geändert. Damit er sich besser an Material Design angleicht, um Designern und Entwicklern die Navigation in der API zu erleichtern. (If5921, b/220129803)
  • Wir haben dem „Wear Material Theme Typology“-Design einen neuen Eintrag hinzugefügt.Caption3 ist eine kleine Schriftart, die für besonders lange Texte verwendet wird, z. B. für rechtliche Texte. (I74b13, b/220128356)

Fehlerkorrekturen

  • Die Andockanimation stoppen, wenn wir da sind. (Idb69d)
  • Animieren Sie Änderungen in PositionIndicator. (I94cb9)
  • Aufgrund des Feedbacks zur Benutzeroberfläche und der Nutzererfahrung haben wir die automatische Zentrierung für ScalingLazyColumn geändert. Jetzt ist nur noch genügend Platz vorhanden, damit für die Elemente mit dem Index ScalingLazyListState.initialCenterItemIndex oder höher vollständig bis zur Mitte des Darstellungsbereichs gescrollt werden kann. Auf diese Weise können Entwickler ein oder zwei Elemente zum Element anfänglich in der Mitte platzieren, die nicht in die Mitte gescrollt werden können. Das bedeutet, dass ein ScalingLazyColumn mit automatischer Zentrierung nicht über initialCenterItemIndex/initialCenterItemScrollOffset scrollen kann (I22ee2).
  • Wir haben eine Demo für eine Datumsauswahl hinzugefügt und einen Fehler in PickerState behoben, bei dem die „initialSelectedOption“ erst angewendet wurde, wenn die Auswahl angezeigt wurde. (Id0d7e)
  • Um das Abschneiden breiterer ScalingLazyColumn-Elemente auf runden Bildschirmen zu reduzieren, haben wir den standardmäßigen horizontalen Inhaltsabstand von 8 auf 10 dp erhöht. (I0d609)
  • Achte darauf, dass beim Scrollen die PositionIndicator 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 wurden veröffentlicht. Version 1.0.0-alpha17 enthält diese Commits.

Neue Funktionen

  • Die Snap-Unterstützung kann mit ScalingLazyColumn verwendet werden. 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 konnte. (Ie5552)

API-Änderungen

  • Problem mit TimeText benutzerdefinierten Schriftarten und Stilen auf quadratischem Gerät beheben (Iea76e)
  • ScalingLazyListLayoutInfo hat jetzt reverseLayout, viewportSize und die Ausrichtungseigenschaften, die mit denen von LazyListLayoutInfo übereinstimmen (I4f258, b/217917020)
  • ScalingLazyColumn hat jetzt eine userScrollEnabled-Property, die mit der von LazyList übereinstimmt (I164d0, b/217912513)
  • Die Auswahlelemente haben jetzt standardmäßig einen Farbverlauf oben und unten (Iab92a).

Fehlerkorrekturen

  • Wir haben ScalingLazyColumn geändert, sodass es nicht mehr gierig den gesamten Bereich in seinem übergeordneten Element füllt. Stattdessen wird die Größe aus der Größe des Inhalts ermittelt. Dies entspricht dem Verhalten von LazyColumn. 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 wird, 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 wurden veröffentlicht. Version 1.0.0-alpha16 enthält diese Commits.

Neue Funktionen

  • CircularProgressIndicator hinzufügen. Fortschrittsanzeigen geben die Länge eines Prozesses oder eine nicht angegebene Wartezeit an. Unterstützt eine Lücke (Cutout) für TimeText oder andere Komponenten, wenn sie im Vollbildmodus verwendet werden. (Iab8da)

API-Änderungen

  • Die Auswahlelemente haben jetzt einen flingBehavior-Parameter. Der Standardwert sorgt dafür, dass sie beim Scrollen/Wischen an die nächstgelegene Option angreifen. (I09000)
  • Zusätzliche Integer API für InlineSlider und Stepper (I1b5d6)

Fehlerkorrekturen

  • Der Standardwert für „initialCenterItemIndex“ für ScalingLazyListState wurde von 0 -> 1 geändert. Das bedeutet, dass das zweite Listenelement (Index == 1) bei der Initialisierung in der Mitte des Darstellungsbereichs platziert und das erste Element (Index = 0) davor platziert wird, sofern es bei der Zustandskonstruktion nicht mit ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =) überschrieben wird. Dies ermöglicht einen besseren visuellen Standardeffekt, da der Großteil des Darstellungsbereichs mit Listenelementen gefüllt ist. (I0c623, b/217344252)
  • Wir haben die ScalingLazyColumn-Standardeinstellung extraPadding, die bereitgestellt wird, von 10% auf 5 % reduziert, damit genügend Listenelemente zum Zeichnen vorhanden sind (auch wenn wir einige von ihnen verkleinern). So vermeiden Sie es, zusätzliche Listenelemente zu erstellen, die möglicherweise nicht im Darstellungsbereich angezeigt werden. Wenn nicht standardmäßige Skalierungsparameter verwendet werden (z. B. eine extremere Skalierung), kann der Entwickler mit viewportVerticalOffsetResolver einen zusätzlichen Abstand anpassen. (I76be4)
  • Problem mit TimeText in mehreren Zeilen auf quadratischem Gerät beheben (Ibd3fb)
  • Wir haben ScalingLazyColumn geändert, sodass es nicht mehr gierig den gesamten Bereich in seinem übergeordneten Element füllt. Stattdessen wird die Größe aus der Größe des Inhalts ermittelt. Dadurch entspricht sie dem Verhalten von LazyColumn. 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 berücksichtigt. (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 wurden veröffentlicht. Version 1.0.0-alpha15 enthält diese Commits.

API-Änderungen

  • Wir haben dem ScalingLazyColumn die neue Eigenschaft autoCentering hinzugefügt. Ist dieser Wert „true“ (Standardeinstellung), können alle Elemente, einschließlich des ersten und letzten Elements, gescrollt werden, sodass sie in der Mitte des Darstellungsbereichs der Liste sichtbar sind. Hinweis: Wenn Sie die automatische Zentrierung verwenden, sollten Sie den vertikalen Inhaltsabstand wahrscheinlich auf 0.dp festlegen. Wenn sowohl die automatische Zentrierung als auch der vertikale Inhaltsabstand angegeben sind, haben beide zusätzlichen Platz vor dem ersten und nach den letzten Listenelementen für das Weiterscrollen. (I2a282, b/214922490)
  • Wir haben eine Dialog-Komponente hinzugefügt, mit der jede zusammensetzbare Funktion ein Vollbild-Dialogfeld auslösen kann, das über anderen Inhalten liegt. Wenn das Dialogfeld angezeigt wird, unterstützt es die Wischgeste zum Schließen und zeigt während der Wischgeste die Inhalte des übergeordneten Elements im Hintergrund an. Der Dialoginhalt muss Alert oder Confirmation sein (umbenannt von den früheren Komponenten AlertDialog und ConfirmationDialog). Alert, Confirmation und Dialog sind alle im androidx.wear.compose.material.dialog-Paket. Warnung und Bestätigung können als Navigationsziele verwendet werden. Außerdem wurde ColumnScope nach Bedarf zu Benachrichtigungs- und Bestätigungsparametern hinzugefügt. (Ia9014)
  • Wir haben „onSurfaceVariant2“ aus „Compose for Wear OS Material Theme Colors“ entfernt und die Verwendung in der Bibliothek durch „onSurfaceVariant“ ersetzt. (Icd592)
  • Es wurde eine Methode zur programmatischen Auswahl einer Option in PickerState hinzugefügt. Die ursprünglich ausgewählte Option kann jetzt auch beim Erstellen einer PickerState angegeben werden. (I92bdf)
  • Das FLing-Verhalten von ScalingLazyColumn kann jetzt angepasst werden. (I1ad2e, b/208842968)
  • Wir haben „NavController.currentBackStackEntryAsState()“ der Bibliothek „Wear.Compose.Navigation“ hinzugefügt. (If9028, b/212739653)
  • Modifier.onRotaryScrollEvent() und Modifier.onPreRotaryScrollEvent() für Wear-Geräte mit rotierender Taste an der Seite 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 wurden 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 Listeneinträgen steuern sowie das anfängliche Listenelement und den Versatz festlegen können.

    Im Rahmen dieser Änderung haben wir auch die ScalingLazyList so geändert, dass sie am Mittelpunkt des Darstellungsbereichs von ScalingLazyList und nicht am Anfang des Darstellungsbereichs ausgerichtet ist.

    ScalingLazyList wurde die neue Eigenschaft anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter hinzugefügt, mit der Sie festlegen können, ob der Mittelpunkt (ScalingLazyListAnchorType.ItemCenter) oder Edge (ScalingLazyListAnchorType.ItemStart) an der Mittellinie des Darstellungsbereichs ausgerichtet werden soll.

    Daher haben sich ScalingLazyListItemInfo.offset und ScalingLazyListItemInfo.adjustedOffset geändert. Sie spiegeln jetzt den Versatz des Elements in Bezug auf die Position des Listenelements und die anchorType der Liste wider. Beispiel: Bei einem ScalingLazyColumn mit anchorType von ItemCenter und einem Listenelement, dessen Mittelpunkt in der Mittellinie des Darstellungsbereichs positioniert ist, beträgt der Versatz 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 Zurück-Taste zur vorherigen Ebene in der Navigationshierarchie navigiert 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 wurden veröffentlicht. Version 1.0.0-alpha13 enthält diese Commits.

API-Änderungen

  • Wir haben RangeIcons intern festgelegt (intern von InlineSlider und Stepper referenziert). (I927ec)

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem SwipeDismissableNavHost der Erstellungshierarchie ein Ziel hinzufügte, bevor es den Lebenszyklusstatus CREATED erreicht hatte, was zu einem IllegalStateException führte. Diese Fehlerbehebung war eine Voraussetzung für das Aktualisieren 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 Reflexion mehr erforderlich ist. Dadurch wurde ein Fehler behoben, bei dem Bibliotheks-Drawables bei minifyEnabled=true oder shrinkResources=true entfernt wurden. (Ib2a98)

  • Tests für Stepper in Wear Compose (I2d03a) hinzugefügt

  • In der Wear Compose-Navigation wurden Beispiele für SwipeDismissableNavHost hinzugefügt. (I85f06)

Version 1.0.0-alpha12

1. Dezember 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha12, androidx.wear.compose:compose-material:1.0.0-alpha12 und androidx.wear.compose:compose-navigation:1.0.0-alpha12 wurden 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 Steuerelement im Vollbildmodus mit Schaltflächen zum Erhöhen und Verringern oben und unten sowie einer Stelle in der Mitte (für die entweder ein Chip oder ein Text vorgesehen ist). Die Schaltflächensymbole können bei Bedarf angepasst werden. (I625fe)

  • Wir haben zwei neue zusammensetzbare Funktionen 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 Auswahlmöglichkeiten oder b) vertikal gestapelte Chips oder Ein/Aus-Chips für flexiblere Auswahl an. ConfirmationDialog zeigt eine Bestätigung mit einem Zeitlimit an. Dieser einfache Dialog verfügt über Flächen für einen Titel und ein (animiertes) Symbol. (Ic2cf8)

API-Änderungen

  • Fügen Sie den vorgeschlagenen Werten für die Dauer des Dialogfelds Einheiten (Millisekunden) hinzu. (I09b48)

Version 1.0.0-alpha11

17. November 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha11, androidx.wear.compose:compose-material:1.0.0-alpha11 und androidx.wear.compose:compose-navigation:1.0.0-alpha11 wurden veröffentlicht. Version 1.0.0-alpha11 enthält diese Commits.

Neue Funktionen

  • Wir haben eine Auswahlkomponente hinzugefügt, mit der Nutzende ein Element aus einer scrollbaren Liste auswählen können. Standardmäßig wird die Liste der auswählbaren Elemente unendlich in beide Richtungen wiederholt, um den Eindruck eines rotierenden Zylinders zu vermitteln, der von der Seite betrachtet wird. In späteren Versionen werden zwei Funktionen hinzugefügt: das Andocken an einen Wert nach Wischen/Fingern und Hinzufügen einer Funktion zu PickerState, um zum aktuellen Wert zu setzen bzw. zu scrollen. (I6461b)

API-Änderungen

  • Es wurde ein ScalingLazyItemScope und einige neue Modifikatoren für „fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight“ hinzugefügt, damit die Größe von Listenelementen basierend auf der Größe des übergeordneten Containers angepasst werden kann. Elemente können so festgelegt werden, dass sie die gesamte Größe des übergeordneten Elements oder einen Teil davon ausfüllen. Dadurch werden Funktionen verfügbar gemacht, die bereits in LazyRow/Column (I4612f) verfügbar sind.
  • ScalingLazyColumn unterstützt jetzt, dass Elemente einen Schlüssel haben können. Es wurden auch praktische Methoden hinzugefügt, um das Hinzufügen von Elementen aus Arrays und Listen zu ermöglichen. (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 wurden veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.

Neue Funktionen

  • Ein InlineSlider für die Funktion zum Verfassen von Nachrichten wurde hinzugefügt. Mit InlineSlider können Nutzer eine Auswahl aus einem Wertebereich treffen. Der Auswahlbereich wird als Balken zwischen dem Mindest- und Höchstwert des Bereichs angezeigt, aus dem Nutzer einen einzelnen Wert auswählen können. (If0148)

  • Sieh dir das neue WearOS-Codelab zu Compose für an.

API-Änderungen

  • MacroBenchmark hat jetzt einen minSdkVersion von 23. (If2655)

Fehlerkorrekturen

  • Aktualisierung der Übergangsbehandlung in SwipeDismissableNavHost in einem SideEffect (I04994, b/202863359)
  • Verarbeitung des Übergangs 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 wurden veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.

Neue Funktionen

  • Wir haben die Entwicklervorschau von Compose für Wear OS eingeführt. In unserem Blogpost finden Sie die wichtigsten zusammensetzbaren Funktionen sowie Links zu weiteren Ressourcen für deren Verwendung.

API-Änderungen

  • Entwickler können jetzt alle Farben des Farbdesigns von Wear Material Design anpassen. (I4759b, b/199754668)

Fehlerkorrekturen

  • SwipeToCloseBox-Beispiele hinzugefügt, die den Status beibehalten (Ibaffe)
  • Wir haben Links zu developer.android.com-Leitfäden von KDocs für CurvedText, TimeText und SwipeToDismissBox hinzugefügt. (I399d4)
  • „SwipeCloseableNavHost“ wird jetzt ausgelöst, wenn kein aktuelles Ziel vorhanden ist. Dies bedeutet, dass NavGraph nicht mit der Dienstprogrammfunktion „wear.compose.navigation.composable“ erstellt wurde (I91403).
  • Zusätzliche Dokumentation und Beispiele für die Verwendung von Zeitquellen in TimeText (I4f6f0) hinzugefügt

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 wurden veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.

API-Änderungen

  • Wir haben die „body“-Eigenschaften von AppCard und Titelkarte in „content“ umbenannt und an das Ende der Unterkunftsliste verschoben, damit sie als nachgestelltes Lambda angegeben werden können. Außerdem wurde bodyColor in contentColor umbenannt, um den neuen Slotnamen zu entsprechen. (I57e78)

Fehlerkorrekturen

  • Es wurden Links zu developer.android.com-Leitfäden von KDocs für Schaltflächen, Karten, Chips, Designs, Positionsindikatoren und Skalierungskomponenten von Lazy-Spalten hinzugefügt. (I22428)
  • Fehler bei WearOS-Wischbewegungen (WischenToVerwerfen) lassen sich manchmal nicht beheben, wenn Wischbewegungen nicht funktionieren. (I9387e)
  • Beispiele für Button, CompactButton, Chip, CompactChip, AppCard, Titelkarte, ToggleButton, SwitchChip und SplitToggleChip (Iddc15) wurden hinzugefügt.
  • Es wurden MicroBenchmark-Leistungstests für Card, Chip, SwitchChip, 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 wurden veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.

Neue Funktionen

  • Eine CurvedText-Komponente in Material wurde hinzugefügt. Diese Komponente ermöglicht es Entwicklern, einfach gebogenen Text zu schreiben, der der Krümmung eines Kreises folgt (normalerweise am Rand eines runden Bildschirms). (I19593)

API-Änderungen

  • Tests für TimeText (Idfead) hinzugefügt
  • Wandeln Sie ArcPaddingValues in eine Schnittstelle um. (Iecd4c)
  • Animation zu SwipeToDismissBox (I9ad1b) hinzugefügt
  • Der Parameter SwipeToCloseBox API wurde hinzugefügt, sodass die Wischgeste deaktiviert werden kann, wenn keine Hintergrundinhalte angezeigt werden. (I313d8)
  • rememberNavController() verwendet jetzt einen optionalen Satz von Navigator-Instanzen, die dem zurückgegebenen NavController hinzugefügt werden, um optionale Navigatoren, z. B. aus Accompanist Navigation Material, besser zu unterstützen. (I4619e)
  • Verweisen Sie auf „NamedNavArgument“ aus „navigation-common“ und entfernen Sie die Kopie aus „wear.compose.navigation“. (I43af6)

Fehlerkorrekturen

  • CurvedRow-Testfehler auf kleineren Geräten behoben. (If7941)
  • Mögliches Flackern in CurvedRow wurde behoben, wenn der Inhalt aktualisiert wurde. Dadurch wird sichergestellt, dass die gebogene Zeile neu gemessen wird (Ie4e06).
  • „ChipDefaults.flavorBackgroundChipColors()“ wurde gemäß Änderungen an den UX-Spezifikationen aktualisiert. Der Farbverlauf beginnt jetzt mit „MaterialTheme.colors.primary“ bei „Alpha“ bei 32,5% und endet mit „MaterialTheme.colors.surface“ mit „Alpha“ bei 0% über einem Hintergrund von „MaterialTheme.colors.surface“ mit einem Alphawert von 75 %. (Id1548)
  • Wir haben die Farben der Ein-/Aus-Schaltflächen im ausgewählten Status aktualisiert, damit sie den aktuellen Richtlinien für Wear Material Design-UX-Spezifikationen entsprechen. Bei Auswahl von „UmschaltChips“ wird jetzt ein Farbverlaufshintergrund von „MaterialTheme.color.surface“ bei 0% Alpha, oben links bis „MaterialTheme.color.primary“ zu 32% Alpha, unten rechts und der Hintergrund „MaterialTheme.color.surface zu 75% Alpha“ angezeigt. Dies führt zu einem subtileren Unterschied zwischen aktiviertem und deaktiviertem Chip (Schalter-Chip). (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 wurden veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.

Neue Funktionen

  • Wir haben Scaffold, eine zusammensetzbare Funktion auf oberster Ebene, hinzugefügt, die eine Struktur zur Handhabung von PositionIndicators (z. B. Scroll- oder Volume-Position) und einen Bereich am oberen Bildschirmrand zur Anzeige der Uhrzeit und des App-Status bietet. Außerdem wird eine Vignette unterstützt, mit der der obere und untere Rand des Bildschirms bei scrollbarem Inhalt unkenntlich gemacht werden kann. Der Hauptbereich des Scaffold ist der Bereich, in dem die Anwendungsinhalte platziert werden. (I5e0bf)
  • TimeText-Implementierung für Wear Compose (I5654c) hinzugefügt

Wear Compose-Navigationsbibliothek

  • Wir haben den ersten Release der Wear Compose-Navigationsbibliothek hinzugefügt, die die Integration der Wear Compose- und der Androidx-Navigationsbibliotheken ermöglicht. Sie ermöglicht eine einfache Navigation zwischen @Composable-Funktionen als Ziele in Ihrer Anwendung.

  • Diese erste Version bietet Folgendes:

    • Eine zusammensetzbare Funktion (SwipeDismissableNavHost), die eine Navigationsgrafik hostet und die Rückwärtsnavigation über Wischgesten ermöglicht
    • NavGraphBuilder.composable-Erweiterung zur Unterstützung beim Erstellen von Navigationsdiagrammen
    • rememberSwipeDismissableNavController(), um den Windenstatus zuzulassen
  • Anwendungsbeispiel, bei dem 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 WearCompose-Anwendungen, die ihre eigene handgesteuerte Navigation implementieren, nicht von der Androidx-Navigationsbibliothek abhängig sind.

API-Änderungen

  • SwipeDismissableNavHost wurde aktualisiert, um rememberSaveable durch Festlegen der Schlüsselidentität für Hintergrund und Inhalte (I746fd) zu unterstützen.
  • Wir haben einen PositionIndicator-Adapter hinzugefügt, der LazyListState (I21b88) verarbeiten kann.
  • „SwipeToDismissBox“ wurde aktualisiert, um ConfirmSaveable zu unterstützen (Ie728b).
  • Wir haben ReverseLayout-Unterstützung für ScalingLazyColumn hinzugefügt. Dadurch können Sie die Scroll- und Layoutrichtung umkehren (I9e2fc).
  • performGesture und GestureScope wurden verworfen und durch performTouchInput und TouchInjectionScope ersetzt. (Ia5f3f, b/190493367)
  • Wir haben „VignetteValue“ in „VignettePosition“ und in „VignetteValue.2“ in „VignettePosition.TopAndBottom“ umbenannt. (I57ad7)
  • Wir haben ScalingLazyColumnState in ScalingLazyListState, ScalingLazyColumnItemInfo in ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo in ScalingLazyListLayoutInfo und ScalingLazyColumnScope in ScalingLazyListScope für den Fall, dass wir uns später entscheiden, eine ScalingLazyRow-Implementierung hinzuzufügen, geändert. (I22734)

Fehlerkorrekturen

  • Die CompactChip-Dokumentation wurde aktualisiert, um zu beschreiben, was passiert, wenn weder ein Symbol noch ein Label angegeben wird. (I4ba88)
  • Wir haben einige Anpassungen an den Komponenten der Wear-Karte vorgenommen. (I6b3d0)
    1. Abstand zwischen Titel und Text der Titelkarte von 8 dp auf 2 dp reduziert
    2. Schriftart der Titelkarte in der Kopfzeile wurde von body in title3 geändert.
    3. Der Farbverlauf des Kartenhintergrunds wurde geändert, sodass er dunkler erscheint.

Version 1.0.0-alpha05

1. September 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha05 und androidx.wear.compose:compose-material:1.0.0-alpha05 werden veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.

API-Änderungen

  • ArcPaddingValues als @Stable markieren (I57deb)
  • ScalingLazyColumnState implementiert jetzt die ScrollableState-Oberfläche, mit der Entwickler programmatischen Zugriff zum Scrollen durch die Komponente erhalten. I47dbc

Fehlerkorrekturen

  • Wir haben den Abstand zwischen Symbol und Text im Chip und zum Ein/Aus-Chip reduziert, um sie an die aktualisierten UX-Spezifikationen anzupassen (I83802).

Version 1.0.0-alpha04

18. August 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha04 und androidx.wear.compose:compose-material:1.0.0-alpha04 werden veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.

Neue Funktionen

  • Es wurden eine SwipeToDismissBox und ein Modifikator zum Wischen hinzugefügt, mit dem eine Wischgeste zum Schließen von links nach rechts unterstützt werden kann. Obwohl diese Funktion unabhängig von den Navigationskomponenten ist, wird erwartet, dass sie dazu dient, einen Bildschirm zu verlassen und zu einem anderen zu wechseln. Es wurden Integrationstests für die Demo „Zum Schließen durch Wischen“ hinzugefügt. (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 ScalingLazyColumn nach Anwendung der Skalierung kennen können. Außerdem haben wir einen Fehler in Bezug auf die Berechnung der Skalierung behoben, wenn die Inhaltsauffüllung vom Typ "top" auf die ScalingLazyColumn angewendet wird. (I27c07)

API-Änderungen

  • Fügen Sie die Klasse „CurvedTextStyle“ hinzu, um Optionen für gebogene Textstile anzugeben. Ähnlich wie TextStyle, unterstützt aber jetzt nur noch Farbe, Schriftgröße und Hintergrund. In Zukunft werden weitere Stiloptionen hinzugefügt. (I96ac3)
  • Wir haben der Klasse „ScalingLazyColumnState“ die Schnittstellen „ScalingLazyColumnItemInfo“ und „ScalingLazyColumnLayoutInfo“ hinzugefügt, damit Entwickler die tatsächlichen Positionen und Größen von Elementen in ScalingLazyColumn nach Anwendung der Skalierung kennen können. Außerdem haben wir einen Fehler in Bezug auf die Berechnung der Skalierung behoben, wenn die Inhaltsauffüllung vom Typ "top" auf die ScalingLazyColumn angewendet wird. (I27c07)
  • @ExperimentalWearMaterialApi wurde der Aufzählung SwipeDismissTarget hinzugefügt, die Teil der SwipeToDismissBox API ist. (I48b5e)

Fehlerkorrekturen

  • Testmaterial für SwipeToDismissBox hinzugefügt (I9febc)

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

  • CurvedText-Komponente hinzugefügt, mit der Entwickler auf einfache Weise Text schreiben können, der der Krümmung eines Kreises folgt (normalerweise am Rand eines kreisförmigen Bildschirms) (Id1267)
  • Wir haben CardDefaults.imageBackgroundPainter() in CardDefaults.imageWithScrimBackgroundPainter() umbenannt, um zu verdeutlichen, dass das Hintergrundbild mit einem Gitter überlagert wurde. (I53206)
  • Hinzufügen der ScalingLazyColumn-Komponente, die eine Listenkomponente für Wear-Material bereitstellt, die eine Fischaugenansicht bietet, wobei die Listeninhalte verkleinert und transparent werden, wenn sie zum Rand der Komponente skaliert werden. (I7070c)

Fehlerkorrekturen

  • Als Reaktion auf ein Update der UX-Spezifikationen haben wir die Standardfarbe des appName-Inhalts in AppCard geändert. Die Standardfarbe für „appName“ ist jetzt MaterialTheme.colors.onSurfaceVariant. Außerdem wurde eine fehlende Parameterdokumentation für die Titelfläche 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

  • Die neue Klasse CurvedRow wurde für das Layout von zusammensetzbaren Funktionen in einem Bogen hinzugefügt (I29941).
  • Es wurde ein neuer Kartentyp zur Verwendung in Anwendungen hinzugefügt (TitleCard). Außerdem wird jetzt die Unterstützung von Bildern als Hintergrund für Karten hinzugefügt, um den Inhalt hervorzuheben (I53b0f).

API-Änderungen

  • Unterstützung für die radiale Ausrichtung in CurvedRow hinzufügen (ähnlich der vertikalen Ausrichtung in einer Zeile) (Id9de5)
  • Die neue CurvedRow-Klasse für das Layout von zusammensetzbaren Funktionen in einem Bogen hinzufügen (I29941)
  • Es wurde ein neuer Kartentyp zur Verwendung in Anwendungen hinzugefügt (TitleCard). Außerdem wird jetzt die Unterstützung von Bildern als Hintergrund für Karten hinzugefügt, um den Inhalt hervorzuheben (I53b0f).
  • Ein-/Aus-Schaltflächen (Kästchen, Schalter und Optionsfelder) wurden zu „SwitchChipDefaults“ hinzugefügt, um Entwicklern die Konfiguration von SwitchChip und SplitToggleChips zu erleichtern (I7b639).
  • Der Abstand zwischen Start- und Endinhalt für Chips wurde so aktualisiert, dass er einheitlich 14 dp beträgt, unabhängig davon, ob auf dem Chip ein Symbol vorhanden ist (zuvor 12 dp, wenn ein Symbol vorhanden ist, und 14 dp, wenn nicht). (I34c86)

Fehlerkorrekturen

  • Tests für CurvedRow (I93cdb) hinzufügen
  • Wear Compose-Abhängigkeiten mit Compose 1.0.0-rc01 verknüpfen (Ie6bc9)
  • Die Darstellung des Hintergrundbilds in Kacheln und Chips wurde so geändert, dass das Bild zugeschnitten und nicht gestreckt wird, um die Proportionen des Bildes beizubehalten. (I29b41)
  • Es wurden weitere Demos und Integrationstests für Schaltfläche und Ein/Aus-Schaltfläche hinzugefügt. (5e27ed2)
  • Es wurden weitere Chiptests hinzugefügt, um die Inhaltsfarben von „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 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 für Folgendes:

  • „Material Theme“: Konfiguriert die Farben, Typografie und Formen in den in dieser Bibliothek verwendeten Komponenten einheitlich.
  • Chip, CompactChip – Chips sind stadionform und können für Symbole, Beschriftungen und sekundäre Beschriftungen verwendet werden.
  • – SwitchChip, SplitToggleChip – eine spezielle Art von Chip, der einen Steckplatz für ein Ein-/Aus-Symbol mit zwei Status enthält, z. B. ein Optionsfeld oder ein Kästchen. Der SplitToggleChip hat außerdem zwei antippbare Bereiche, einen anklickbar und einen antippbar.
  • Schaltfläche, CompactButton: Schaltflächen sind kreisförmig geformt und haben eine einzelne Fläche für ein Symbol oder minimalen Text (maximal 3 Zeichen).
  • Ein/Aus-Schaltfläche: Eine Schaltfläche, mit der eine Aktion aktiviert oder deaktiviert werden kann, mit einer einzelnen Fläche für Symbol oder minimaler Text (maximal 3 Zeichen).
  • Karte, AppCard – ein rechteckiges Format mit abgerundeten Ecken, die Flächen für Inhalte wie App-Symbol, Zeit, Titel und Text bieten.

In zukünftigen Versionen wird das Widget-Set um Unterstützung für Material Design-Auswahlen, Schieberegler, Listen, Seitenindikatoren, Dialoge, Scroll-RSB-Indikatoren, Toasts und mehr erweitert.

Darüber hinaus werden weitere Wearable-spezifische Funktionen wie gebogene Layouts und Text sowie ein Gerüst unterstützt, mit dem Entwickler ganz einfach Wearable-Apps/Overlays erstellen können.

Wear Compose Material wurde nach den gleichen Prinzipien wie Compose Material entwickelt, ist aber auf Wearables ausgerichtet. Bei der Entwicklung für ein Wearable-Gerät sollte anstelle der Compose Material-Bibliothek die Wear Compose Material-Bibliothek verwendet werden.

Die beiden „Material“-Bibliotheken sollten sich gegenseitig ausschließen und dürfen nicht in derselben App verwendet werden. Wenn Entwickler die Compose Material-Bibliothek in ihre Abhängigkeiten einbeziehen, würde dies bedeuten, dass a) Komponenten in der Wear Compose-Materialbibliothek fehlen, teile uns bitte mit, was du benötigst, oder b) eine Komponente verwenden, die wir nicht für die Verwendung auf einem Wearable-Gerät empfehlen.