Material zusammenstellen
androidx.compose.material
androidx.compose.material.icons
(Siehe API-Referenzdokumentation für alle Erstellungspakete)
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpha-Release |
---|---|---|---|---|
4. September 2024 | 1.7.0 | - | - | 1.8.0-alpha01 |
Struktur
Compose besteht aus sieben Maven-Gruppen-IDs innerhalb von androidx
. Jede Gruppe
enthält eine ausgewählte Teilmenge von Funktionen, jede mit ihren eigenen Release-Sätzen
Notizen.
In dieser Tabelle werden die Gruppen und Links zu den einzelnen Versionshinweisen erläutert.
Gruppe | Beschreibung |
---|---|
compose.animation: | Animationen in den Jetpack Compose-Anwendungen erstellen, um die User Experience zu bereichern |
compose.compiler | @Composable-Funktionen transformieren und Optimierungen mit einem Kotlin-Compiler-Plug-in aktivieren. |
compose.foundation | Schreiben Sie Jetpack Compose-Anwendungen mit gebrauchsfertigen Bausteinen und erweitern Sie die Grundlage für den Aufbau Ihrer eigenen Designsysteme. |
compose.material | Jetpack Compose-UIs mit einsatzbereiten Material Design-Komponenten erstellen Dies ist der übergeordnete Einstiegspunkt von Compose. Hier werden Komponenten bereitgestellt, die den unter www.material.io beschriebenen Komponenten entsprechen. |
compose.material3 einfügen | Jetpack Compose-UIs mit Material Design 3 Components erstellen, der nächsten Entwicklung des Material Design Material 3 enthält aktualisierte Designs und Komponenten sowie Funktionen zur Personalisierung von Material You wie dynamische Farben. Das Produkt wurde so entwickelt, dass es zum visuellen Stil und zur System-UI von Android 12 passt. |
compose.runtime | Grundlegende Bausteine des Programmiermodells und der Statusverwaltung von Compose sowie die zentrale Laufzeit für das Compose-Compiler-Plug-in. |
compose.ui | Grundlegende Komponenten der Benutzeroberfläche zum Schreiben von E-Mails, die für die Interaktion mit dem Gerät erforderlich sind, darunter Layout, Zeichnen und Eingabe |
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von Compose hinzufügen möchten, müssen Sie das Maven-Repository von Google zu Ihrem Projekt arbeiten. Maven-Repository von Google lesen .
Fügen Sie der Datei build.gradle
die Abhängigkeiten für die Artefakte hinzu, die Sie benötigen
Ihre App oder Ihr Modul:
Cool
dependencies { implementation "androidx.compose.material:material:1.7.1" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material:material:1.7.1") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Dein Feedback hilft uns, Jetpack zu verbessern. Teilen Sie uns mit, wenn Sie neue Ausgaben entdecken oder zur Verbesserung dieser Bibliothek. In der bestehende Probleme in dieser Bibliothek, bevor Sie eine neue erstellen. So können Sie für ein vorhandenes Problem abstimmen: indem Sie auf die Sternschaltfläche klicken.
Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung. .
Version 1.8
Version 1.8.0-alpha01
4. September 2024
androidx.compose.material:material-*:1.8.0-alpha01
wurde veröffentlicht. Version 1.8.0-alpha01 enthält diese Commits.
API-Änderungen
- Neuer
NavGraphBuilder.bottomSheet
-Builder zum Erstellen einer unteren Tabelle mit sicheren Argumenten hinzugefügt (I28589, I777db, b/351858980)
Version 1.7
Version 1.7.0
4. September 2024
androidx.compose.material:material-*:1.7.0
wurde veröffentlicht. Version 1.7.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.6.0
- Materialkomponenten wurden migriert, um die neuen Ripple-APIs zu verwenden und nicht mehr
RippleTheme
abzufragen. - Materialkomponenten, für die bisher ein
MutableInteractionSource
akzeptiert wurde und die Standardeinstellung aufremember { MutableInteractionSource() }
festgelegt wurde, akzeptieren jetztMutableInteractionSource
, für die Nullwerte zulässig sind, und werden stattdessen auf null gesetzt. Wenn Sie nicht hochziehen undMutableInteractionSource
verwenden, muss null übergeben werden. Dadurch können einige Komponenten eine Instanz nur bei Bedarf langsam erstellen, was die Leistung verbessert. Es wird auch empfohlen, ähnliche Änderungen an Ihren eigenen Komponenten vorzunehmen. BottomDrawer
,ModalBottomSheet
,BackdropScaffold
und das standardmäßige Bottomsheet wurden zur stabilen API hochgestuft.
Version 1.7.0-rc01
21. August 2024
androidx.compose.material:material-*:1.7.0-rc01
wurde veröffentlicht. Version 1.7.0-rc01 enthält diese Commits.
Version 1.7.0-beta07
7. August 2024
androidx.compose.material:material-*:1.7.0-beta07
wurde veröffentlicht. Version 1.7.0-beta07 enthält diese Commits.
Version 1.7.0-beta06
24. Juli 2024
androidx.compose.material:material-*:1.7.0-beta06
wurde veröffentlicht. Version 1.7.0-beta06 enthält diese Commits.
Version 1.7.0-beta05
10. Juli 2024
androidx.compose.material:material-*:1.7.0-beta05
wurde veröffentlicht. Version 1.7.0-beta05 enthält diese Commits.
Version 1.7.0-beta04
26. Juni 2024
androidx.compose.material:material-*:1.7.0-beta04
wurde veröffentlicht. Version 1.7.0-beta04 enthält diese Commits.
Version 1.7.0-beta03
12. Juni 2024
androidx.compose.material:material-*:1.7.0-beta03
wurde veröffentlicht. Version 1.7.0-beta03 enthält diese Commits.
Version 1.7.0-beta02
29. Mai 2024
androidx.compose.material:material-*:1.7.0-beta02
wurde veröffentlicht. Version 1.7.0-beta02 enthält diese Commits.
API-Änderungen
- Update API zum Gestalten der Links:
TextLinkStyles
wurde inTextStyle
verschoben undTextDefaults
aus Material entfernt (I5477b)
Version 1.7.0-beta01
14. Mai 2024
androidx.compose.material:material-*:1.7.0-beta01
wurde veröffentlicht. Version 1.7.0-beta01 enthält diese Commits.
API-Änderungen
- Die API zum Abrufen von Links zu Material-Themen in Text wurde aktualisiert. Insbesondere wurden die Methoden aus dem
TextDefaults
zum Erstellen von themenbezogenenLinkAnnotations
und zum Parsen von HTML mit themenbezogenen Links entfernt. Stattdessen wurde eineTextLinkStyles
-Klasse hinzugefügt, die es ermöglicht, die Links als Parameter für die zusammensetzbare Text-Funktion zu gestalten. (I31b93)
Version 1.7.0-alpha08
1. Mai 2024
androidx.compose.material:material-*:1.7.0-alpha08
wurde veröffentlicht. Version 1.7.0-alpha08 enthält diese Commits.
API-Änderungen
- Fehlerbehebung:
backgroundColor
wird nicht aufTextFieldDecorationBox
undOutlinedTextFieldDecorationBox
angewendet. Für Dekorationskästen kann jetzt einshape
-Parameter verwendet werden. (I371c2, b/307694651) RippleConfiguration#isEnabled
wurde entfernt undLocalRippleConfiguration
kann jetzt Nullwerte enthalten. Wenn Sie eine Verbreitung deaktivieren möchten, geben Sienull
anLocalRippleConfiguration
an, anstattRippleConfiguration
mitisEnabled = false
anzugeben. (I22725)- Neben dem normalen Stil mit dem Mauszeiger und dem Fokus haben Textlinks auch eine Stiloption, bei der der Text gedrückt gehalten wird.
TextDefaults
-Methoden haben jeweils einpressedStyle
-Argument, um dies zu unterstützen. (IC473f, b/139312671)
Fehlerkorrekturen
- Der obere Abstand von
OutlinedTextField
für das Label berücksichtigt jetzt die Schriftgröße des Systems. (Idc781)
Version 1.7.0-alpha07
17. April 2024
androidx.compose.material:material-*:1.7.0-alpha07
wurde veröffentlicht. Version 1.7.0-alpha07 enthält diese Commits.
API-Änderungen
- Die Stiloption für Textlinks wurde neben der normalen Gestaltung auch gedrückt, wenn der Mauszeiger darauf bewegt wurde und der Text hervorgehoben wurde. (I5f864, b/139312671)
- Es wurde ein
TextDefaults
-Objekt hinzugefügt, das Methoden zum Erstellen einerLinkAnnotation
und zum Parsen von HTML-getaggten Strings enthält, dieMaterialTheme
auf die Links anwenden. (I98532, b/139312671)
Version 1.7.0-alpha06
3. April 2024
androidx.compose.material:material-*:1.7.0-alpha06
wurde veröffentlicht. Version 1.7.0-alpha06 enthält diese Commits.
Mitteilung
androidx.compose.material
verlangt nicht mehr, dieselbe Version jedes Artefakts zu verwenden, ist diese Maven-Gruppe. Nutzer können Versionen von Compose Foundation Library (Ie5fba) mischen und abgleichen
API-Änderungen
- Weitere Standardeinstellungen für
ModalDrawer
undBottomDrawer
wurden in das ObjektDrawerDefaults
verschoben. (Ib5b2e)
Version 1.7.0-alpha05
20. März 2024
androidx.compose.material:material-*:1.7.0-alpha05
wurde veröffentlicht. Version 1.7.0-alpha05 enthält diese Commits.
API-Änderungen
- Das Flag
ScaffoldSubcomposeInMeasureFix
wurde entfernt. (I67363)
Version 1.7.0-alpha04
6. März 2024
androidx.compose.material:material-*:1.7.0-alpha04
wurde veröffentlicht. Version 1.7.0-alpha04 enthält diese Commits.
Neue Funktionen
- Es wurde ein neues
androidx.compose.material:material-navigation
-Artefakt hinzugefügt, das jetzt unten Tabellenblätter als Ziele unterstützt, wenn Navigation Compose verwendet wird. Sie ersetzt die Bibliothek „Accompanist Navigation Material“. (d65d57, b/180247978)
Version 1.7.0-alpha03
21. Februar 2024
androidx.compose.material:material-*:1.7.0-alpha03
wurde veröffentlicht. Version 1.7.0-alpha03 enthält diese Commits.
API-Änderungen
BottomDrawer
wurde von der experimentellen Version auf die stabile Version hochgestuft.BottomDrawerState
zeigt den Fortschritt jetzt als Funktion an, mit der Sie den Fortschritt zwischen bestimmten Zielen abfragen können. MitBottomDrawerState
kann jetzt die Animationsspezifikation angepasst werden undconfirmStateChange
ist keine nachgestellte Lambda-Funktion mehr. (I9c029, b/261423850)BackdropScaffold
wurde von der experimentellen Version auf die stabile Version hochgestuft. Die Animationsspezifikation ist jetzt gemäß den Richtlinien einetween
-Spezifikation. DersnackbarHost
-Parameter vonBackdropScaffold
ist nicht mehr der letzte Parameter, um Verwechslungen mit nachgestellten Lambdas zu vermeiden.BackdropScaffoldState
stellt eineprogress(from, to)
API zur Abfrage des Fortschritts zwischen Ankern bereit. (I73f48, b/261423218)- Die am unteren Rand befindliche Standardblätter wurden von experimenteller auf stabile Version hochgestuft. Verworfene Konstruktoren wurden entfernt. Die Animationsspezifikation ist jetzt eine Spezifikation für Tweens, die den Richtlinien entspricht. (I3c1a8, b/278692145, b/261409034)
- Modale Blätter am unteren Rand wurden von experimentell zu stabil hochgestuft. Verworfene Konstruktoren wurden entfernt. Die Animationsspezifikation ist jetzt gemäß den Richtlinien eine
tween
-Spezifikation. (Ic53f4, b/278692145, b/266780235, b/261409034)
Fehlerkorrekturen
BackdropScaffold
konnte in bestimmten Szenarien in Kombination mitLookaheadScope
abstürzen. Dieses Problem wurde behoben. (I51396)- Die Unterzusammensetzung in
BottomSheetScaffold
wurde zur Leistungsverbesserung entfernt.BottomSheetScaffold
wurde in bestimmten Szenarien in Verbindung mitLookaheadScope
abgestürzt. Dieses Problem wurde behoben. (I2f90c) - Unterzusammensetzung innerhalb von
ModalBottomSheetLayout
wurde entfernt, wodurch die Leistung verbessert wird. (I7a025)
Version 1.7.0-alpha02
7. Februar 2024
androidx.compose.material:material-*:1.7.0-alpha02
wurde veröffentlicht. Version 1.7.0-alpha02 enthält diese Commits.
Version 1.7.0-alpha01
24. Januar 2024
androidx.compose.material:material-*:1.7.0-alpha01
wurde veröffentlicht. Version 1.7.0-alpha01 enthält diese Commits.
Änderungen im Verhalten
- Materialkomponenten wurden migriert, um die neuen Ripple-APIs zu verwenden und nicht mehr
RippleTheme
abzufragen.
API-Änderungen
rememberRipple
undRippleTheme
wurden aus Material-Ripple entfernt. Neue Ripple- undRippleConfiguration
-APIs wurden den Material- und anderen Designsystembibliotheken hinzugefügt.Materialkomponenten, für die bisher ein
MutableInteractionSource
akzeptiert wurde und standardmäßig{ MutableInteractionSource() }
gespeichert wurde, akzeptieren jetztMutableInteractionSource
, für die Nullwerte zulässig sind, und werden stattdessen auf null gesetzt. Wenn Sie nicht hochziehen undMutableInteractionSource
verwenden, muss null übergeben werden. Dadurch können einige Komponenten eine Instanz nur bei Bedarf langsam erstellen, was die Leistung verbessert. Es wird auch empfohlen, ähnliche Änderungen an Ihren eigenen Komponenten vorzunehmen.
Version 1.6
Version 1.6.8
12. Juni 2024
androidx.compose.material:material-*:1.6.8
wurde veröffentlicht. Version 1.6.8 enthält diese Commits.
Version 1.6.7
1. Mai 2024
androidx.compose.material:material-*:1.6.7
wurde veröffentlicht. Version 1.6.7 enthält diese Commits.
Version 1.6.6
17. April 2024
androidx.compose.material:material-*:1.6.6
wurde veröffentlicht. Keine Änderungen seit dem letzten Release.
Version 1.6.5
3. April 2024
androidx.compose.material:material-*:1.6.5
wurde veröffentlicht. Version 1.6.5 enthält diese Commits.
Version 1.6.4
20. März 2024
androidx.compose.material:material-*:1.6.4
wurde veröffentlicht. Version 1.6.4 enthält diese Commits.
Version 1.6.3
6. März 2024
androidx.compose.material:material-*:1.6.3
wurde veröffentlicht. Version 1.6.3 enthält diese Commits.
Fehlerkorrekturen
- Korrigieren Sie die Regression in
ExposedDropdownMenu
, damit sie wieder fokussierbar ist. (c0e0ed, b/323694447)
Version 1.6.2
21. Februar 2024
androidx.compose.material:material-*:1.6.2
wurde veröffentlicht. Version 1.6.2 enthält diese Commits.
Version 1.6.1
7. Februar 2024
androidx.compose.material:material-*:1.6.1
wurde veröffentlicht. Version 1.6.1 enthält diese Commits.
Version 1.6.0
24. Januar 2024
androidx.compose.material:material-*:1.6.0
wurde veröffentlicht. Version 1.6.0 enthält diese Commits.
Version 1.6.0-rc01
10. Januar 2024
androidx.compose.material:material-*:1.6.0-rc01
wurde veröffentlicht. Version 1.6.0-rc01 enthält diese Commits.
Version 1.6.0-beta03
13. Dezember 2023
androidx.compose.material:material-*:1.6.0-beta03
wurde veröffentlicht. Version 1.6.0-beta03 enthält diese Commits.
Version 1.6.0-beta02
29. November 2023
androidx.compose.material:material-*:1.6.0-beta02
wurde veröffentlicht. Version 1.6.0-beta02 enthält diese Commits.
Version 1.6.0-beta01
15. November 2023
androidx.compose.material:material-*:1.6.0-beta01
wurde veröffentlicht. Version 1.6.0-beta01 enthält diese Commits.
Version 1.6.0-alpha08
18. Oktober 2023
androidx.compose.material:material-*:1.6.0-alpha08
wurde veröffentlicht. Version 1.6.0-alpha08 enthält diese Commits.
API-Änderungen
- Verwerfen Sie eine
materialIcon
-Funktion zugunsten ihrer Überlast, die einenautoMirror
-Parameter verwendet. (Ia338d)
Fehlerkorrekturen - Die Höhe des Navigationselements bei großen Inhalten automatisch erhöhen. (0c4ecc, b/272336962)
Version 1.6.0-alpha07
4. Oktober 2023
androidx.compose.material:material-*:1.6.0-alpha07
wurde veröffentlicht. Version 1.6.0-alpha07 enthält diese Commits.
- Abhängigkeitsaktualisierungen
Version 1.6.0-alpha06
20. September 2023
androidx.compose.material:material-*:1.6.0-alpha06
wurde veröffentlicht. Version 1.6.0-alpha06 enthält diese Commits.
Wichtige Änderungen des Verhaltens
- Funktionen für die Leiste wurden von
BottomSheetScaffold
entfernt. Fassen SieBottomSheetScaffold
in einer zusammensetzbaren Funktion in der Leiste zusammen, um die vorherige Funktionalität zu nutzen. Ein Beispiel findest du unterBottomSheetScaffoldWithDrawerSample
. (I1dcc8)
API-Änderungen
- Es wurde ein temporäres Flag eingeführt, um zu steuern, ob die untergeordneten Elemente von Scaffold während der Messung oder während des Placements analysiert werden sollen. Standardmäßig wird dies bei der Messung erfasst. Wenn Sie Probleme mit dem neuen Verhalten haben, melden Sie dies bitte. (If6e3b)
Version 1.6.0-alpha05
6. September 2023
androidx.compose.material:material-*:1.6.0-alpha05
wurde veröffentlicht. Version 1.6.0-alpha05 enthält diese Commits.
Neue Funktionen
- Automatisch gespiegelte Symbole beim Rendern in linksläufigen Layouts werden jetzt unterstützt. Symbole in den Modulen mit Material-Symbolen-Kern und Material-Symbolen bieten jetzt zusätzliche Symbolsätze zur Unterstützung der automatischen Spiegelung, wenn das Symbol dies zulässt. Die neuen Sets haben das Präfix
Icons.AutoMirrored.Filled...
usw. und enthalten Symbole, die in RTL-Layouts automatisch gespiegelt werden. In der Liste der Materialsymbole finden Sie eine Liste der Symbole, die automatisch gespiegelt werden können und sollten.
API-Änderungen
- Automatisch gespiegelte Symbole beim Rendern in linksläufigen Layouts werden jetzt unterstützt. Symbole in den Modulen mit Material-Symbolen-Kern und Material-Symbolen bieten jetzt zusätzliche Symbolsätze zur Unterstützung der automatischen Spiegelung, wenn das Symbol dies zulässt. Die neuen Sets haben das Präfix
Icons.AutoMirrored.Filled...
usw. und enthalten Symbole, die in RTL-Layouts automatisch gespiegelt werden. In der Liste der Materialsymbole finden Sie eine Liste der Symbole, die automatisch gespiegelt werden können und sollten. Die zuvor bereitgestellten Symboleigenschaften für diese Symbole sind jetzt als veraltet gekennzeichnet und bieten einen Vorschlag zum Ersetzen von Blöcken, um die Migration zu vereinfachen. Falls Sie keine besondere Handhabung der Spiegelung von Symbolen bei RTL haben, empfehlen wir die Migration zu den neuen Symbolen. Beispielsweise sollteIcons.Filled.ArrowBack
inIcons.AutoMirrored.Filled.ArrowBack
refaktoriert werden. (I4b511)
Version 1.6.0-alpha04
23. August 2023
androidx.compose.material:material-*:1.6.0-alpha04
wurde veröffentlicht. Version 1.6.0-alpha04 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem einige Komponenten, die
Subcomposition
(z.B.BottomSheetScaffold
) in einem Scaffold in einemLookaheadScope
verwenden, zu früh versuchten, ihre Größe zu lesen. (If2c5d) - Die
offset
-Berechnung vonDropdownMenu
wurde so korrigiert, dass der x-Versatz ausschließlich von der lokalen Layoutrichtung abhängt und der y-Versatz nicht mehr umgekehrt wird, wenn sich das Menü unten auf dem Bildschirm befindet. (Iccc74, b/294103942) - Das Layout von
BottomSheetScaffold
wurde optimiert und ein potenzielles Problem mitBottomSheetScaffold
inLookaheadLayout
behoben. (Ic0afa)
Version 1.6.0-alpha03
9. August 2023
androidx.compose.material:material-*:1.6.0-alpha03
wurde veröffentlicht. Version 1.6.0-alpha03 enthält diese Commits.
API-Änderungen
- Material2-Komponenten haben jetzt eine separate API, um
windowInsets
zu übergeben, um Edge-to-Edge-Funktionen in Android zu unterstützen. Im Gegensatz zu material3-Komponenten unterstützen material2-Komponenten standardmäßig keine Einsätze. Der Wert muss manuell übergeben werden. Orientieren Sie sich dabei an den entsprechenden Beispielen. (I655e8)
Version 1.6.0-alpha02
26. Juli 2023
androidx.compose.material:material-*:1.6.0-alpha02
wurde veröffentlicht. Version 1.6.0-alpha02 enthält diese Commits.
API-Änderungen
- Wir verschieben die Dichteabhängigkeit auf die Komponentenebene. Dies gilt für die folgenden Komponenten:
SwipeToDismiss
und tabellenbasierte Komponenten. Verwenden Sie die neue Überlastung, bei der die Dichte ein Parameter ist. (I1846e) - Zusätzliche Anmerkungen zur Angabe zulässiger Eingaben für zusammensetzbare Funktionen (I51109)
- API-Dateien wurden aktualisiert, um mit Anmerkungen zur Unterdrückung der Kompatibilität zu versehen (I8e87a, b/287516207)
- Neue Startausrichtung für
FabPosition
hinzugefügt (Ib7aea, b/170592777) TextFieldColorsWithIcons
in Material 2 wurde zugunsten vonTextFieldColors
eingestellt. Überschreiben Sie beim Überschreiben vonleadingIconColor
odertrailingIconColor
auch die Überlast mitinteractionSource
. (Id57ed, b/199377790)
Version 1.6.0-alpha01
21. Juni 2023
androidx.compose.material:material-*:1.6.0-alpha01
wurde veröffentlicht. Version 1.6.0-alpha01 enthält diese Commits.
Änderungen im Verhalten
includeFontPadding
ist in der Material 2-Typografie jetzt standardmäßig auffalse
gesetzt. Der Standardstil für die Zeilenhöhe wurde ebenfalls inTrim.None
undAlignment.Center
geändert und explizitelineHeight
(in sp) wurden denTextStyle
s vonTypography
hinzugefügt. Wenn Sie diese Werte anpassen möchten, lesen Sie die API-Dokumentation. Im Blogpost finden Sie eine ausführliche Erläuterung dieser Änderungen. (Icabc3, I3f801, I04c03)
API-Änderungen
- Die
Swipeable
APIs von Material wurden eingestellt. Sehen Sie sich dieAnchoredDraggable
APIs von Foundation an, die für einfache und komplexe Anwendungsfälle optimiert sind. (I732e0)
Fehlerkorrekturen
- Für
BottomSheetState
,ModalBottomSheetState
undBottomDrawerState
ist jetzt eine „progress“-Eigenschaft verfügbar, die den Fortschritt zwischen dem aktuellen (berechneten) Anker und dem in der Wischrichtung nächstgelegenen Anker angibt. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)
Version 1.5
Version 1.5.4
18. Oktober 2023
androidx.compose.material:material-*:1.5.4
wurde veröffentlicht. Version 1.5.4 enthält diese Commits.
Version 1.5.3
4. Oktober 2023
androidx.compose.material:material-*:1.5.3
wurde veröffentlicht. An dieser Version wurden keine Änderungen vorgenommen
Version 1.5.2
27. September 2023
androidx.compose.material:material-*:1.5.2
wurde veröffentlicht. Version 1.5.2 enthält diese Commits.
Version 1.5.1
6. September 2023
androidx.compose.material:material-*:1.5.1
wurde ohne Änderungen freigegeben. Version 1.5.1 enthält diese Commits.
Version 1.5.0
9. August 2023
androidx.compose.material:material-*:1.5.0
wurde veröffentlicht. Version 1.5.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.4.0
API-Änderungen
- Änderungen an den Swipeable1-APIs in
BottomSheetScaffold
wurden übernommen. Der ParameterconfirmStateChange
vonBottomSheetState
wurde inconfirmValueChange
umbenannt.progress
wird jetzt als Gleitkommawert angezeigt.animateTo
undsnapTo
sind intern. Verwende stattdessenexpand()
undcollapse()
.direction
undoverflow
wurden entfernt. „offset
“ wurde durch „requireOffset()
“ ersetzt. I323b4 - Kennzeichne die Funktion
snapTo
in Drawer als nicht experimentelle API. (Ib9c18, b/261425368) - Ein Farbparameter der Spurverfolgung für kreisförmige Fortschrittsanzeigen und ein Strichkappenparameter für kreisförmige und lineare Fortschrittsanzeigen wurden hinzugefügt. (Ie668c, b/216325962, b/222964817)
ModalBottomSheetState
,ModalBottomSheetState.Saver
undconfirmStateChange
vonrememberModalBottomSheetState
wurden inconfirmValueChange
umbenannt. (Ib48d1)Modifier.minimumInteractiveComponentSize
hinzufügen. Damit kann eine Größe von mindestens 48 dp reserviert werden, um Berührungsinteraktionen zu unterscheiden, wenn das Element kleiner ist. (I33f58, b/258495559)- Die Swipe-APIs wurden in
ModalBottomSheetLayout
geändert. "animateTo" vonModalBottomSheetState
verwendet keinenanimationSpec
-Parameter mehr und der eingeblendete Offset kann jetzt Nullwerte enthalten. Verwenden SierequireOffset
, um den Offset anzufordern. (Ia2e79) - Annotation
@JvmDefaultWithCompatibility
hinzufügen (I8f206) - In den
animateTo
vonModalDrawer. DrawerState
wurden Änderungen an den Swipe-APIs durch die Methoden zum Öffnen und Schließen ersetzt und der Offset kann jetzt mit Nullen erreicht werden. Verwenden SierequireOffset
, um den Offset anzufordern. (I3de9e) - Leisten und Tabellen wurden aktualisiert, um das Drücken korrekt zu verzögern, falls Gesten zu Scroll-Ereignissen werden können.
- Der Parameter
minLines
wurde zu material und material3 Text,TextField
undOutlinedTextField
hinzugefügt. Damit kann die Mindesthöhe der Komponente in Bezug auf die Anzahl der Zeilen festgelegt werden (I4af1d).
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem
pullRefresh
keine Geschwindigkeit verbraucht hat, wodurch Overscroll angezeigt wurde. Außerdem wurde die API-Signatur der Lambda-FunktiononRelease
inModifier.pullRefresh
geändert, um eine Gleitkommazahl für die genutzte Geschwindigkeit zurückzugeben (I7db65, b/266874741). - Für
BottomSheetState
,ModalBottomSheetState
undBottomDrawerState
ist jetzt eine „progress“-Eigenschaft verfügbar, die den Fortschritt zwischen dem aktuellen (berechneten) Anker und dem in der Wischrichtung nächstgelegenen Anker angibt. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861) - Die Aktion „
AlertDialog
“ zum Schließen wurde korrigiert, die jetzt unterhalb der Bestätigungsaktion angezeigt wurde, wenn die Aktionen übereinander gestapelt wurden, damit sie in die Breite des Dialogfelds passen. Durch diese Korrektur wird die Implementierung an die Material Design-Spezifikation angepasst. (I029de, b/235454277) BottomSheetScaffold
nimmt nicht mehr am verschachtelten Scrollen teil, wenngesturesEnabled
auf „false“ gesetzt ist. (I634f3, b/215403277)- Ein Fehler wurde behoben, bei dem
BottomSheetScaffold
abstürzte, wenn für Slots leere Inhalte bereitgestellt wurden. (Ib24a5, b/235588730) PullRefreshIndicator
abfangende Klicks/Zeigerereignisse wurde korrigiert. (2494256, b/271777421)- Ein Problem wurde behoben, bei dem
ModalBottomSheetLayout
bei einer Änderung der Ausrichtung in einem Grenzfall abstürzte. Layout-Animationen (z.B.Modifier.animateContentSize
) im/im Tabellenblattinhalt funktionieren jetzt reibungslos. (I2f981, b/266780234)
Version 1.5.0-rc01
26. Juli 2023
androidx.compose.material:material-*:1.5.0-rc01
wurde veröffentlicht. Version 1.5.0-rc01 enthält diese Commits.
Version 1.5.0-beta03
28. Juni 2023
androidx.compose.material:material-*:1.5.0-beta03
wurde veröffentlicht. Version 1.5.0-beta03 enthält diese Commits.
Fehlerkorrekturen
- Für
BottomSheetState
,ModalBottomSheetState
undBottomDrawerState
ist jetzt eine „progress“-Eigenschaft verfügbar, die den Fortschritt zwischen dem aktuellen (berechneten) Anker und dem in der Wischrichtung nächstgelegenen Anker angibt. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)
Version 1.5.0-beta02
7. Juni 2023
androidx.compose.material:material-*:1.5.0-beta02
wurde veröffentlicht. Version 1.5.0-beta02 enthält diese Commits.
Version 1.5.0-beta01
24. Mai 2023
androidx.compose.material:material-*:1.5.0-beta01
wurde veröffentlicht. Version 1.5.0-beta01 enthält diese Commits.
API-Änderungen
- Der Offset von
DrawerState
undBottomDrawerState
kann nicht mehr als Nullwerte festgelegt werden. Stattdessen wirdFloat.NaN
zurückgegeben, um anzuzeigen, dass der Offset nicht vorhanden ist. (Ie9855) - Es wurde eine Option hinzugefügt, um eine
ScrollState
zu übergeben, wenn einDropdownMenu
oder einExposedDropdownMenu
konstruiert wird, um den vertikalen Scrollstatus der angezeigten Menüelemente zu steuern. (Idb009, b/185304441) - Unterstützung für das Aktivieren/Deaktivieren der
ModalBottomSheetLayout
-Geste hinzufügen, damit Nutzer diese für mehr Funktionen am unteren Rand konfigurieren können (I40af0) BasicText
wurde ein Farbparameter hinzugefügt, um eine effiziente Animierung oder Festlegung der Textfarbe zu ermöglichen. (Iffd88, b/246961787)- Semantikeigenschaft „
isContainer
“ wird in „isTraversalGroup
“ umbenannt (I121f6)
Fehlerkorrekturen
- Die Aktion „
AlertDialog
“ zum Schließen wurde korrigiert, die jetzt unterhalb der Bestätigungsaktion angezeigt wurde, wenn die Aktionen übereinander gestapelt wurden, damit sie in die Breite des Dialogfelds passen. Dadurch wird die Implementierung an die Material Design-Spezifikation angepasst. (I029de, b/235454277)
Version 1.5.0-alpha04
10. Mai 2023
androidx.compose.material:material-*:1.5.0-alpha04
wurde veröffentlicht. Version 1.5.0-alpha04 enthält diese Commits.
API-Änderungen
- Wir verschieben die Dichteabhängigkeit auf die Komponentenebene. Dies gilt für die folgenden Komponenten:
BottomDrawer
,ModalBottomSheetLayout
,BottomSheetScaffold
,Switch
undModalDrawer
. Verwenden Sie die neue Überlastung, bei der die Dichte ein Parameter ist. (I8fbd8)
Version 1.5.0-alpha03
19. April 2023
androidx.compose.material:material-*:1.5.0-alpha03
wurde veröffentlicht. Version 1.5.0-alpha03 enthält diese Commits.
API-Änderungen
- Aktualisiere
BottomDrawer
-Interna, um die neuenSwipeableV2
APIs zu verwenden. Aus diesem Grund werden fürBottomDrawerState
jetzt nur APIs auf Klassenebene definiert und keine Methoden/Eigenschaften vonSwipeableState
übernommen. Wir verwenden eine Komposition mit einer internenSwipeableV2State
. „Offset“ ist jetzt eine Gleitkommaeigenschaft, für die Nullwerte zulässig sind. Der aktuelle Wert und der Zielwert durch Wischen können weiterhin über die Eigenschaften „currentValue“ und „targetValue“ aufgerufen werden. Die Methoden der vorherigen Klasse, wie „open/expand/close“ und Attribute wieisOpen/isClosed
, werden weiterhin unterstützt. (Iad40c, b/178529942, b/220676296)
Fehlerkorrekturen
- Aktualisierte interne Struktur der Switch-Komponente. Der Schalter zeigt jetzt beim Ziehen eine Vorschau des nächstgelegenen (Zielstatus) an. (Id90d4)
- Animierter Tabellenblattinhalt (z.B.
Modifier.animateContentSize
auf Tabellenblattinhalt) inBottomSheetScaffold
wurde optimiert und funktioniert jetzt reibungslos. (Ia913c, b/270518202, b/254446195) BottomSheetScaffold
nimmt nicht mehr am verschachtelten Scrollen teil, wenngesturesEnabled
auffalse
gesetzt ist. (I634f3, b/215403277)
Version 1.5.0-alpha02
5. April 2023
androidx.compose.material:material-*:1.5.0-alpha02
wurde veröffentlicht. Version 1.5.0-alpha02 enthält diese Commits.
Fehlerkorrekturen
- Ein Fehler wurde behoben, bei dem
BottomSheetScaffold
abstürzte, wenn für Slots leere Inhalte bereitgestellt wurden. (Ib24a5, b/235588730) - Das Problem mit
PullRefreshIndicator
abfangenden Klicks / Zeigerereignissen wurde behoben (2494256, b/271777421).
Version 1.5.0-alpha01
22. März 2023
androidx.compose.material:material-*:1.5.0-alpha01
wurde veröffentlicht. Version 1.5.0-alpha01 enthält diese Commits.
Fehlerkorrekturen
- Fügen Sie ein Reflow-Beispiel für eine Chipgruppe hinzu. Aktualisieren Sie den horizontalen Abstand zwischen untergeordneten Chips im einzeiligen Chipgruppenbeispiel, um den Spezifikationen zu entsprechen. (I3b155)
- Ein Problem wurde behoben, bei dem
ModalBottomSheetLayout
bei einer Änderung der Ausrichtung in einem Grenzfall abstürzte. Layout-Animationen (z.B.Modifier.animateContentSize
) im/im Tabellenblattinhalt funktionieren jetzt reibungslos. (I2f981, b/266780234)
Version 1.4
Version 1.4.3
3. Mai 2023
androidx.compose.material:material-*:1.4.3
wird ohne Änderungen veröffentlicht (nur ein Versionsumlauf).
Version 1.4.2
19. April 2023
androidx.compose.material:material-*:1.4.2
wurde veröffentlicht. Version 1.4.2 enthält diese Commits.
Version 1.4.1
5. April 2023
androidx.compose.material:material-*:1.4.1
wurde veröffentlicht. Version 1.4.1 enthält diese Commits.
Version 1.4.0
22. März 2023
androidx.compose.material:material-*:1.4.0
wurde veröffentlicht. Version 1.4.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.3.0
API-Änderungen
Modifier.minimumInteractiveComponentSize
hinzufügen. Damit kann eine Größe von mindestens 48 dp reserviert werden, um Berührungsinteraktionen zu unterscheiden, wenn das Element kleiner ist. (I33f58, b/258495559)- Die Swipe-APIs wurden in
ModalDrawer
geändert. DieanimateTo
vonDrawerState
wurde durch die Methoden „open“ und „close“ ersetzt und der Offset kann jetzt mit Nullen erreicht werden. Verwenden SierequireOffset
, um den Offset anzufordern. (I3de9e) - Der Parameter
minLines
wurde zu material und material3 Text,TextField
undOutlinedTextField
hinzugefügt. Damit kann die Mindesthöhe der Komponente in Bezug auf die Anzahl der Zeilen festgelegt werden (I4af1d). - Der Parameter
minLines
wurde zuBasicText
undBasicTextField
hinzugefügt. Hier kann die Mindesthöhe der zusammensetzbaren Funktionen in Bezug auf die Anzahl der Zeilen festgelegt werden (I24294, b/122476634).
Version 1.4.0-rc01
8. März 2023
androidx.compose.material:material-*:1.4.0-rc01
wurde ohne Änderungen freigegeben. Version 1.4.0-rc01 enthält diese Commits.
Version 1.4.0-beta02
22. Februar 2023
androidx.compose.material:material-*:1.4.0-beta02
wurde veröffentlicht. Version 1.4.0-beta02 enthält diese Commits.
API-Änderungen
- Die Swipe-APIs wurden in
BottomSheetScaffold
geändert. Der ParameterconfirmStateChange
vonBottomSheetState
wurde inconfirmValueChange
umbenannt.progress
wird jetzt als Gleitkommawert angezeigt.animateTo
undsnapTo
sind intern. Verwende stattdessenexpand()
undcollapse()
.direction
undoverflow
wurden entfernt. „offset
“ wurde durch „requireOffset()
“ ersetzt. (I323b4)
Fehlerkorrekturen
- Semantische Rollen wurden aus anklickbaren und auswählbaren Oberflächen entfernt und Komponenten aktualisiert, mit denen Rollen mithilfe von „modifizierer.semantik“ festgelegt wurden (Ibb4ba).
- Kleineres Update für die erweiterten Material-Symbole, durch die die ausgefüllten Symbole
desktop_mac
,directions
undkitchen
optimiert werden. (I65f5e)
Version 1.4.0-beta01
8. Februar 2023
androidx.compose.material:material-*:1.4.0-beta01
wurde veröffentlicht. Version 1.4.0-beta01 enthält diese Commits.
API-Änderungen
- Es wurde ein Problem behoben, bei dem
pullRefresh
keine Geschwindigkeit verbraucht hat, wodurch Overscroll angezeigt wurde. Außerdem wurde die API-Signatur der Lambda-FunktiononRelease
inModifier.pullRefresh
geändert, um eine Gleitkommazahl für die genutzte Geschwindigkeit zurückzugeben (I7db65, b/266874741). - Property-Getter
LocalMinimuTouchTargetEnforcement
wiederhergestellt, als veraltet markiert und zuLocalMinimumInteractiveComponentEnforcement
weitergeleitet. (I60dd5)
Version 1.4.0-alpha05
25. Januar 2023
androidx.compose.material:material-*:1.4.0-alpha05
wurde veröffentlicht. Version 1.4.0-alpha05 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem der
ModalBottomSheetLayout's HalfExpanded
-Status falsch berechnet wurde und das Tabellenblatt scheinbar unverankert zu sein schien. (I8c615, b/265610459) - Es wurde ein Fehler in
ModalBottomSheetLayout
behoben, bei dem das Tabellenblatt unter bestimmten Umständen abgestürzt ist, wenn vom ausgeblendeten in einen sichtbaren Zustand gewechselt wurde. (Ia9265, b/265444789)
Version 1.4.0-alpha04
11. Januar 2023
androidx.compose.material:material-*:1.4.0-alpha04
wurde veröffentlicht. Version 1.4.0-alpha04 enthält diese Commits.
API-Änderungen
- In der
IsContainer
-Semantikeigenschaft auf Oberflächen hinzugefügt. Diese Eigenschaft wird in einer späteren Änderung verwendet, mit der die Durchquerungsreihenfolge basierend auf der semantischen Bedeutung von Elementen wie Oberflächen festgelegt wird. (I63379) - Kennzeichne die Funktion
snapTo
in Drawer als nicht experimentelle API. (Ib9c18, b/261425368) - Ein Farbparameter der Spurverfolgung für kreisförmige Fortschrittsanzeigen und ein Strichkappenparameter für kreisförmige und lineare Fortschrittsanzeigen wurden hinzugefügt. (Ie668c, b/216325962, b/222964817)
ModalBottomSheetState
,ModalBottomSheetState.Saver
undconfirmStateChange
vonrememberModalBottomSheetState
wurden inconfirmValueChange
umbenannt. (Ib48d1)- Höhere Null-Zulässigkeit für Rückgaben von nicht mehr unterstützten Funktionen (Ibf7b0)
Modifier.minimumInteractiveComponentSize
hinzufügen. Damit kann eine Größe von mindestens 48 dp reserviert werden, um Berührungsinteraktionen zu unterscheiden, wenn das Element kleiner ist. (I33f58, b/258495559)- Die Swipe-APIs wurden in
ModalBottomSheetLayout
geändert.animateTo
vonModalBottomSheetState
verwendet keinenanimationSpec
-Parameter mehr und die bereitgestelltenoffset
sind jetzt Nullwerte zulässig. Verwenden SierequireOffset
, um dieoffset
erforderlich zu machen. (Ia2e79)
Fehlerkorrekturen
- Das Tabellenblatt eines
ModalBottomSheetLayout
-Tabellenblatts ist jetzt maximal 640 dp breit. (I71a4f, b/234927577) - Es wurde ein Problem behoben, bei dem
rememberPullRefreshState
refreshThreshold
undrefreshingOffset
nicht im Laufe der Zeit aktualisiert hat. (Ifed10, b/263159832) - Der Fortschritt der Fortschrittsanzeigen ist jetzt korrekt auf den erwarteten Bereich begrenzt. (I8a7eb, b/262262727)
- Wenn
ModalBottomSheetState
noch keine Anker empfangen hat, wirdcurrentValue
ohne Animation aktualisiert, wennsnapTo
oderanimateTo
aufgerufen wird, anstatt eine Ausnahme auszulösen. (I2c91b) - Der aktivierte Status in der
FilterChip
-Implementierung von Material 2 wurde korrigiert. (Id326a, b/261329817) - Es wurde ein Fehler behoben, bei dem
ModalBottomSheetLayout
beim Wechsel vom Hoch- ins Querformat abstürzte, wenn esHalfExpanded
war. Achten Sie darauf, dass Sie die richtigeinitialValue
übergeben, z. B. durch Prüfen der Konfiguration. (Ie8df7, b/182882364) ModalBottomSheetLayout
stürzte ab, wenn der Tabellenblattinhalt leer war. Dieses Problem wurde behoben.ModalBottomSheetLayout
lässt jetzt leere Tabellenblätter zu. Ist das Tabellenblatt leer, hat es nur den Status „Ausgeblendet“. (IC2288, b/200980998, b/216693030)
Bekanntes Problem
- Beim Aktualisieren von
androidx.compose.foundation:1.4.0-alpha03
aufandroidx.compose.foundation:1.4.0-alpha04
kann einjava.lang.NoSuchFieldError
-Fehler auftreten. Das Problem wurde an dieser Stelle gemeldet. Eine Korrektur wurde gesendet, die mit dem nächsten Update für das Schreiben von Änderungen verfügbar ist. Um das Problem zu umgehen, aktualisieren Sie Ihreandroidx.compose.material
- undandroidx.compose.material3
-Bibliotheken auf die neueste Version(1.1.0-alpha04) oder führen Sie ein Downgrade vonandroidx.compose.foundation
auf 1.4.0-alpha03 durch.
Version 1.4.0-alpha03
7. Dezember 2022
androidx.compose.material:material-*:1.4.0-alpha03
wurde veröffentlicht. Version 1.4.0-alpha03 enthält diese Commits.
API-Änderungen
- Annotation
@JvmDefaultWithCompatibility
hinzufügen (I8f206) - Es wurden Änderungen an den
Swipeable
APIs inModalDrawer
übernommen. DieanimateTo
vonDrawerState
wurde durch die Methodenopen
undclose
ersetzt und der Offset kann jetzt mit Nullen erreicht werden. Verwenden SierequireOffset
, um den Offset anzufordern. (I3de9e) - Es wurde eine Modifier-API hinzugefügt, um Scroll-Informationen von Ancestors abzufragen. (I2ba9d, b/203141462)
- Wird in
Clickable
verwendet, um Interaktionen beim Drücken korrekt zu verzögern, wenn Gesten zu Scroll-Ereignissen werden können. - Das Problem, dass
Clickables
bei Verwendung innerhalb vonScrollable ViewGroup
die Ripples nicht korrekt verzögerte, wurde behoben. - Leisten und Tabellen wurden aktualisiert, um das Drücken korrekt zu verzögern, falls Gesten zu Scroll-Ereignissen werden können.
Fehlerkorrekturen
PullRefreshIndicator
konnte nach dem Aufrufen vononRefresh
hängen bleiben, wenn der Aktualisierungsstatus nicht in „true“ geändert wurde. Dieses Problem wurde behoben. (Ie2416, b/248274004)
Aktualisierung der Abhängigkeiten
- Die Erstellung der Benutzeroberfläche und das Zusammenstellen von Material hängen jetzt vom Lifecycle 2.5.1 ab. (I05ab0, b/258038814)
Version 1.4.0-alpha02
9. November 2022
androidx.compose.material:material-*:1.4.0-alpha02
wurde veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.
API-Änderungen
awaitFirstDown
undwaitForUpOrCancellation
akzeptieren jetztPointerEventPass
für mehr Flexibilität. (I7579a, b/212091796)- Der Parameter
minLines
wurde zu material und material3 Text,TextField
undOutlinedTextField
hinzugefügt. Damit kann die Mindesthöhe der Komponente in Bezug auf die Anzahl der Zeilen festgelegt werden (I4af1d). - Der Parameter
minLines
wurde zuBasicTex
t undBasicTextField
hinzugefügt. Damit kann die Mindesthöhe dieser zusammensetzbaren Funktionen in Bezug auf Anzahl der Linien (I24294, b/122476634)
Version 1.4.0-alpha01
24. Oktober 2022
androidx.compose.material:material-*:1.4.0-alpha01
wurde veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.
API-Änderungen
- Die neue Methode
awaitEachGesture()
für Bewegungsdetektoren wurde hinzugefügt. Sie funktioniert ähnlich wieforEachGesture()
, aber die Loop-over-Gesten erfolgen vollständig innerhalb vonAwaitPointerEventScope
, sodass Ereignisse zwischen Iterationen nicht verloren gehen können. forEachGesture()
wurde zugunsten vonawaitEachGesture()
eingestellt, weil dadurch Ereignisse zwischen Gesten verloren gehen können. (Iffc3f, b/251260206)
Version 1.3
Version 1.3.1
9. November 2022
androidx.compose.material:material-*:1.3.1
wurde veröffentlicht. Version 1.3.1 enthält diese Commits.
Version 1.3.0
24. Oktober 2022
androidx.compose.material:material-*:1.3.0
wurde veröffentlicht. Version 1.3.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.2.0
Änderung des Verhaltens
- Die maximal unterstützte Höhe in Dialogfeldern und Pop-ups wurde auf 8 dp reduziert.
API-Änderungen
- Fügen Sie in „Compose“ die Komponente „Zum Aktualisieren nach unten ziehen“ hinzu (I29168).
- Ändern Sie den Parameternamen in RangeSlider von Werten in Wert (I3b79a).
Version 1.3.0-rc01
5. Oktober 2022
androidx.compose.material:material-*:1.3.0-rc01
wurde veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.
Version 1.3.0-beta03
21. September 2022
androidx.compose.material:material-*:1.3.0-beta03
wurde veröffentlicht. Version 1.3.0-beta03 enthält diese Commits.
API-Änderungen
- Komponente „Zum Aktualisieren nach unten ziehen“ zum Editor hinzufügen (I29168)
Version 1.3.0-beta02
7. September 2022
androidx.compose.material:material-*:1.3.0-beta02
wurde veröffentlicht. Version 1.3.0-beta02 enthält diese Commits.
Keine Änderungen seit 1.3.0-beta01
Version 1.3.0-beta01
24. August 2022
androidx.compose.material:material-*:1.3.0-beta01
wurde veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.
Änderung des Verhaltens
Die maximal unterstützte Höhe in Dialogfeldern und Pop-ups wurde auf 8 dp reduziert.
Die maximal unterstützte Höhe für Dialogfelder und Pop-ups zum Schreiben wurde von 30 dp auf 8 dp reduziert. Diese Änderung betrifft sowohl benutzerdefinierte Dialogfelder als auch benutzerdefinierte Dialogfelder und Pop-ups der Benutzeroberfläche. Mit dieser Änderung soll ein Fehler in Bezug auf die Bedienungshilfen bei Android-Versionen unter S minimiert und sichergestellt werden, dass Bedienungshilfen in diesen Fenstern mit dem Inhalt des Dialogfelds oder Pop-ups interagieren können.
Sie sind nur von dieser Änderung betroffen, wenn Sie eine benutzerdefinierte Dialog- oder Pop-up-Implementierung mit einer Höhe von mehr als 8 dp erstellen. Ziehen Sie in Erwägung, die Höhe Ihres Dialogfelds oder Pop-ups zu verringern. Wenn Sie dieses neue Verhalten deaktivieren möchten, können Sie Ihr eigenes Dialogfeld oder Pop-up mit der gewünschten Höhe festlegen. Dies wird nicht empfohlen, da die Barrierefreiheit beeinträchtigt werden könnte und der Entwickler dafür sorgt, dass der untere Teil des Dialogfelds oder Pop-ups interaktiv und für Bedienungshilfen lesbar ist.
Version 1.3.0-alpha03
10. August 2022
androidx.compose.material:material-*:1.3.0-alpha03
wurde veröffentlicht. Version 1.3.0-alpha03 enthält diese Commits.
Version 1.3.0-alpha02
27. Juli 2022
androidx.compose.material:material-*:1.3.0-alpha02
wurde veröffentlicht. Version 1.3.0-alpha02 enthält diese Commits.
Externer Beitrag
- Problem
AnimatedVisibility
mitFloatingActionButton
in Scaffold beheben (I3a0ae, b/224005027)
Version 1.3.0-alpha01
29. Juni 2022
androidx.compose.material:material-*:1.3.0-alpha01
wurde veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.
API-Änderungen
- Parameternamen in
RangeSlider
von Werten in Wert ändern (I3b79a)
Fehlerkorrekturen
- Aktualisiere das Badge-Beispiel, um eine aussagekräftigere Inhaltsbeschreibung hinzuzufügen. (I10b9d)
Version 1.2
Version 1.2.1
10. August 2022
androidx.compose.material:material-*:1.2.1
wurde veröffentlicht. Version 1.2.1 enthält diese Commits.
Version 1.2.0
27. Juli 2022
androidx.compose.material:material-*:1.2.0
wurde veröffentlicht. Version 1.2.0 enthält diese Commits.
Version 1.2.0-rc03
29. Juni 2022
androidx.compose.material:material-*:1.2.0-rc03
wurde veröffentlicht. Version 1.2.0-rc03 enthält diese Commits.
- Keine Änderungen seit 1.2.0 bis rc02.
Version 1.2.0-rc02
22. Juni 2022
androidx.compose.material:material-*:1.2.0-rc02
wurde veröffentlicht. Version 1.2.0-rc02 enthält diese Commits.
Version 1.2.0-rc01
15. Juni 2022
androidx.compose.material:material-*:1.2.0-rc01
wurde veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.
API-Änderungen
- Schnittstellen in Erstellungsbibliotheken werden jetzt mit jdk8-Standardschnittstellenmethoden erstellt (I5bcf1).
Fehlerkorrekturen
- Aktualisiert das Badge mit einem führenden Symboltab, um das Badge an das Label statt an das Symbol anzufügen. (I90993)
Version 1.2.0-beta03
1. Juni 2022
androidx.compose.material:material-*:1.2.0-beta03
wurde veröffentlicht. Version 1.2.0-beta03 enthält diese Commits.
Fehlerkorrekturen
- Ein Fehler wurde behoben, bei dem
BottomSheetScaffold
den Schatten der oberen App-Leiste verdeckt.BottomSheetScaffold
berücksichtigt jetzt beim Platzieren von Snackbars auch den Zustand des Tabellenblatts: Im minimierten Zustand werden Snackbars über dem Tabellenblatt und der UAS platziert. im maximierten Zustand sind Snackbars am unteren Rand des Blattes verankert. (Ia80b5, b/187771422)
Version 1.2.0-beta02
18. Mai 2022
androidx.compose.material:material-*:1.2.0-beta02
wurde veröffentlicht. Version 1.2.0-beta02 enthält diese Commits.
Version 1.2.0-beta01
11. Mai 2022
androidx.compose.material:material-*:1.2.0-beta01
wurde veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.
Neue Funktionen
- Dies ist die erste Betaversion von Version 1.2.
API-Änderungen
- Die zusammensetzbare Funktion
TextFieldDefaults.BorderStroke
, die inOutlinedTextField
einen Rahmenstrich zeichnet, wurde inTextFieldDefaults.BorderBox
umbenannt. (I5f295)
Version 1.2.0-alpha08
20. April 2022
androidx.compose.material:material-*:1.2.0-alpha08
wurde veröffentlicht. Version 1.2.0-alpha08 enthält diese Commits.
API-Änderungen
- Der Teilverbrauch (nach unten ODER in der Position) wurde in
PointerInputChange
eingestellt. Sie könnenconsume()
verwenden, um die Änderung vollständig zu übernehmen. MitisConsumed
können Sie feststellen, ob die Änderung bereits von einer anderen Person übernommen wurde. PointerInputChange::copy()
erstellt jetzt immer eine oberflächliche Kopie. Das bedeutet, dass Kopien von „PointerInputChange
“ genutzt werden, sobald eines der Exemplare verarbeitet wurde. Wenn Sie eine ungebundenePointerInputChange
erstellen möchten, verwenden Sie stattdessen den Konstruktor. (Ie6be4, b/225669674)
Version 1.2.0-alpha07
6. April 2022
androidx.compose.material:material-*:1.2.0-alpha07
wurde veröffentlicht. Version 1.2.0-alpha07 enthält diese Commits.
Version 1.2.0-alpha06
23. März 2022
androidx.compose.material:material-*:1.2.0-alpha06
wurde veröffentlicht. Version 1.2.0-alpha06 enthält diese Commits.
API-Änderungen
- Updates an der anklickbaren Card API, um Änderungen an der Surface API zu folgen (I56bcb)
- Updates für die Material 2 Surface API mit zusätzlichen, überlasteten Funktionen für auswählbare und ein-/ausschaltbare Oberflächen. (Ifcca5)
Version 1.2.0-alpha05
9. März 2022
androidx.compose.material:material-*:1.2.0-alpha05
wurde veröffentlicht. Version 1.2.0-alpha05 enthält diese Commits.
API-Änderungen
LazyVerticalGrid
undLazyHorizontalGrid
sind jetzt stabil. (I307c0)LazyVerticalGrid/LazyHorizontalGrid
und alle zugehörigen APIs wurden in das .grid-Teilpaket verschoben. Bitte aktualisieren Sie Ihre Importe von androidx.compose.foundation.lazy in androidx.compose.foundation.lazy.grid. (I2d446, b/219942574)- Die vorherige Änderung, sich ausschließlich auf eine Datenansicht zu verlassen, wurde rückgängig gemacht.
WindowInsetsControllerCompat
und auch hier ist ein Fenster erforderlich, für die Verwaltung einiger Fenster-Flags erforderlich. EingestelltViewCompat.getWindowInsetsController
zugunsten vonWindowCompat.getInsetsController
, damit das richtige Fenster verwendet wird, z. B. wenn sich die Ansicht in einem Dialogfeld befindet. (I660ae, b/219572936) - SMS:
includeFontPadding
ist jetzt standardmäßig deaktiviert. Die Clip-Probleme infolge vonincludeFontPadding=false
behoben Bei hohen Skripts sollten keine Begrenzungen vorgenommen werden. (I31c84, b/171394808) - Neue
LazyVerticalGrid
API zum Definieren von Achsengrößen hinzugefügt (I17723)
Version 1.2.0-alpha04
23. Februar 2022
androidx.compose.material:material-*:1.2.0-alpha04
wurde veröffentlicht. Version 1.2.0-alpha04 enthält diese Commits.
API-Änderungen
Add support for filter chips
(I39a6e, b/192585545)- Hinzugefügt:
TextFieldDecorationBox
undOutlinedTextFieldDecorationBox
. Zusammen mitBasicTextField
verwenden können Sie ein benutzerdefiniertes Textfeld erstellen, das auf Texten aus Material Design basiert. mit mehr Anpassungsoptionen. - Es wurde eine Möglichkeit bereitgestellt, horizontale und vertikale Abstände in Textfeldern anzupassen. (I8c9f1, b/203764564, b/191543915, b/189971673, b/183136600, b/179882597, b/6178003)
ComposableTarget
,ComposableTargetMarker
undComposableOpenTarget
, mit dem in Berichten zur Kompilierungszeit angegeben wird, Eine zusammensetzbare Funktion wird als Targeting auf eine Anwendung bezeichnet, auf die sie nicht entwickelt wurden.In den meisten Fällen können die Anmerkungen aus dem Editor Compiler-Plug-in. Die direkte Verwendung dieser Annotationen selten . Zu den Fällen, die nicht abgeleitet werden können, gehören das Erstellen und abstrakte zusammensetzbare Funktionen (z. B. -Schnittstellenmethoden), Felder oder globale Variablen, zusammensetzbare Lambdas (lokale Variablen und Parameter werden abgeleitet), oder wenn Sie
ComposeNode
oder ähnliche zusammensetzbare Funktionen verwenden.Für benutzerdefinierte Anwendungen sind die zusammensetzbaren Funktionen, die Für
ComposeNode
oderReusableComposeNode
muss Folgendes hinzugefügt werden:CompoableTarget
-Annotation für die Funktion und alle zusammensetzbaren Lambda-Parametertypen. Es wird jedoch empfohlen, um eine Anmerkung zu erstellen, die mitComposableTargetMarker
und dann die markierte Anmerkung werden verwendet. statt direktComposableTarget
. Eine zusammensetzbare Anmerkung mitComposableTargetMarker
gekennzeichnet ist, entsprichtComposbleTarget
durch den voll qualifizierten Namen des Attributs als Anwendungsparameter. Ein Beispiel für die Verwendung vonComposableTargetMarker
sieheanroidx.compose.ui.UiComposable
. (I38f11)
Version 1.2.0-alpha03
9. Februar 2022
androidx.compose.material:material-*:1.2.0-alpha03
wurde veröffentlicht. Version 1.2.0-alpha03 enthält diese Commits.
Fehlerkorrekturen
- Chipgruppenbeispiel wird hinzugefügt (I97080, b/192585545)
Version 1.2.0-alpha02
26. Januar 2022
androidx.compose.material:material-*:1.2.0-alpha02
wurde veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.
API-Änderungen
- Überlastende Methoden wurden um
NonRestartableComposable
ergänzt der vorhandenen Methoden ohne komplexe Logik. Dadurch wird die Anzahl der generierte Erinnerungsprüfungen (ist gleich) für alle Parameter, die in der inneren Funktion wiederholt, die aufgerufen wird. (I90490) - Unterstützung für Aktions-Chip hinzufügen (I07100, b/192585545)
Version 1.2.0-alpha01
12. Januar 2022
androidx.compose.material:material-*:1.2.0-alpha01
wurde veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.
Aktualisierung der Abhängigkeiten
- Jetzt abhängig von Kotlin-
1.6.10
.
Externer Beitrag
ModalBottomSheetState
hat jetzt einisSkipHalfExpanded
-Flag. Sie kann entweder über den Konstruktor festgelegt oder später aktualisiert werden, indem die EigenschaftisSkipHalfExpanded
vonModalBottomSheetState
auftrue
gesetzt wird. Durch das Aktualisieren des Werts vonisSkipHalfExpanded
wird das Tabellenblatt neu zusammengesetzt. (I18b86, b/186669820)
Version 1.1
Version 1.1.1
23. Februar 2022
androidx.compose.material:material-*:1.1.1
wurde veröffentlicht. Version 1.1.1 enthält diese Commits.
Fehlerkorrekturen
- Problem mit
NullPointerException
unterandroidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
beheben (aosp/1947059, b/206677462) - Absturz behoben, der durch Inhalte in der Zwischenablage beim Lesen von die Zwischenablage auf Android-Geräten. (I06020, b/197769306)
- RTL-Fehler in
LazyVerticalGrid
behoben (aosp/1931080, b/207510535)
Version 1.1.0
9. Februar 2022
androidx.compose.material:material-*:1.1.0
wurde veröffentlicht. Version 1.1.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.0.0
- Stabile Unterstützung für den Overscroll-Effekt von Android 12
- Verbesserungen bei der Größe von Berührungszielbereichen
- In Bezug auf Compose 1.0 wird der Layoutbereich von Material-Komponenten so erweitert, dass sie den Richtlinien für Bedienungshilfen von Material für die Größe des Berührungszielbereichs entsprechen. Das Berührungsziel der Schaltfläche wird beispielsweise auf eine Mindestgröße von 48 x 48 dp erweitert, auch wenn Sie die Größe der Schaltfläche entsprechend verringern. Dadurch wird das Material Design auf das gleiche Verhalten wie die Material Design-Komponenten abgestimmt, was ein einheitliches Verhalten ermöglicht, wenn du „View“ und „Compose“ mischst. Durch diese Änderung wird außerdem sichergestellt, dass beim Erstellen Ihrer Benutzeroberfläche mit „Material erstellen“-Komponenten die Mindestanforderungen für die Barrierefreiheit auf Berührungszielbereichen erfüllt sind.
- Stabile Unterstützung für den Navigationsschienen
- Umstellung einer Reihe zuvor experimenteller APIs auf stabile Version
- Support für neuere Versionen von Kotlin
Version 1.1.0-rc03
26. Januar 2022
androidx.compose.material:material-*:1.1.0-rc03
wurde veröffentlicht. Version 1.1.0-rc03 enthält diese Commits.
Änderungen im Verhalten
In Bezug auf Compose 1.0 wird der Layoutbereich von Material-Komponenten so erweitert, dass sie den Richtlinien für Bedienungshilfen von Material entsprechen und die Touch-Ziel-Größe einhalten. Das Berührungsziel der Schaltfläche wird beispielsweise auf eine Mindestgröße von 48 x 48 dp erweitert, auch wenn Sie die Größe der Schaltfläche entsprechend verringern. Dadurch wird das Material Design auf das gleiche Verhalten wie die Material Design-Komponenten abgestimmt, was ein einheitliches Verhalten ermöglicht, wenn du „View“ und „Compose“ mischst. Durch diese Änderung wird außerdem sichergestellt, dass beim Erstellen der Benutzeroberfläche mit „Material erstellen“-Komponenten die Mindestanforderungen für die Barrierefreiheit auf Berührungszielbereichen erfüllt sind.
Fehlerkorrekturen
- Für den Layout-Inspektor wurden bei der Prüfung der minimalen Modifikatoren für Berührungszielbereiche bessere Informationen zur Fehlerbehebung hinzugefügt. (aosp/1955036)
Version 1.1.0-rc01
15. Dezember 2021
androidx.compose.material:material-*:1.1.0-rc01
wurde veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Eckenradius für
Checkbox
es (I38b03, b/175198975, b/202309440) korrigieren
Version 1.1.0-beta04
1. Dezember 2021
androidx.compose.material:material-*:1.1.0-beta04
wurde veröffentlicht. Version 1.1.0-beta04 enthält diese Commits.
Neue Funktionen
- Aktualisiert, um mit Kotlin-
1.6.0
kompatibel zu sein
Version 1.1.0-beta03
17. November 2021
androidx.compose.material:material-*:1.1.0-beta03
wurde veröffentlicht. Version 1.1.0-beta03 enthält diese Commits.
Version 1.1.0-beta02
3. November 2021
androidx.compose.material:material-*:1.1.0-beta02
wurde veröffentlicht. Version 1.1.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Ripples und andere Hinweise werden jetzt nur noch verzögert, wenn sie sich in einem Modifier.scrollable()-Container befinden. Bei einem Abwärtsereignis werden sie nicht immer verzögert. (Ibefe0, b/203141462)
Version 1.1.0-beta01
27. Oktober 2021
androidx.compose.material:material-*:1.1.0-beta01
wurde veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.
Neue Funktionen
- Ripples unterstützen jetzt den Mouseover- und Fokus-Zustand. Wenn Sie also den Mauszeiger auf eine Komponente wie „Schaltfläche“ bewegen, wird das richtige Status-Overlay angezeigt.
Version 1.1.0-alpha06
13. Oktober 2021
androidx.compose.material:material-*:1.1.0-alpha06
wurde veröffentlicht. Version 1.1.0-alpha06 enthält diese Commits.
API-Änderungen
- Eine Überlastung ohne Kinder für das Layout wurde mit verbesserter Effizienz hinzugefügt (Ib0d9a).
- Implementierung von
ExposedDropdownMenu
basierend aufExposedDropdownMenuBox
mitTextField
undDropdownMenu
darin (If60b2) dismissOnOutsideClick
wurde zuPopupProperties
hinzugefügt und ersetztdismissOnClickOutside
, das eingestellt wurde. Die neue Eigenschaft empfängt die Klickposition und die Ankergrenzen und ermöglicht so eine genauere Kontrolle darüber, ob onDismissRequest aufgerufen werden soll oder nicht. So lässt sich beispielsweise verhindern, dass der Anker bei Berührungen geschlossen wird.updateAndroidWindowManagerFlags
wurdePopupProperties
hinzugefügt und bietet eine Low-Level-Steuerung über die Flags, die vom Pop-up an Android WindowManager übergeben werden. Der Parameter der Lambda-Funktion sind die Flags, die aus den PopupProperties-Werten berechnet werden, die zu WindowManager-Flags führen: z.B. fokussierbar. Das Ergebnis der Lambda-Funktion sind die endgültigen Flags, die an den Android WindowManager übergeben werden. Standardmäßig lässt updateAndroidWindowManagerFlags die aus Parametern berechneten Flags unverändert. Diese API sollte nur mit Vorsicht verwendet werden, wenn das Pop-up sehr spezifische Anforderungen an das Verhalten stellt. (I6e9f9)
Version 1.1.0-alpha05
29. September 2021
androidx.compose.material:material-*:1.1.0-alpha05
wurde veröffentlicht. Version 1.1.0-alpha05 enthält diese Commits.
API-Änderungen
- Fügt die Mindestgröße des Berührungszielbereichs für Materialkomponenten hinzu, die kein barrierefreies Berührungsziel haben. Da dadurch zusätzlicher Abstand um Komponenten geschaffen wird, um sicherzustellen, dass sie ein ausreichend großes Berührungsziel haben, kann dies zu Änderungen an vorhandenen Benutzeroberflächen führen, die davon ausgehen, dass die Größe dieser Komponenten ihrer visuellen Größe entspricht und die Größe des Berührungszielbereichs nicht berücksichtigt. Sie können die experimentelle
LocalMinimumTouchTargetEnforcement
-Zusammensetzung lokal verwenden, um dieses Verhalten in einer Hierarchie zu deaktivieren. Dies ist jedoch nur als vorübergehender Ausstieg bei der Aktualisierung vorhandener Benutzeroberflächen gedacht, um die neue Mindestgröße zu berücksichtigen. (I9b966, b/149691127, b/171509422) - Es wurde eine experimentelle Schnittstelle für TextFieldColorsWithIcons hinzugefügt, in der TextFieldColors erweitert wird, um InteractionSource für die Felder "leadingColor" und "nachfolgendColor" bereitzustellen. Dadurch kann die Darstellung von TextField entsprechend dem Fokusstatus geändert werden. (I66923, b/198402662)
Version 1.1.0-alpha04
15. September 2021
androidx.compose.material:material-*:1.1.0-alpha04
wurde veröffentlicht. Version 1.1.0-alpha04 enthält diese Commits.
API-Änderungen
performGesture
undGestureScope
wurden eingestellt, die Folgendes enthalten: wurde durchperformTouchInput
undTouchInjectionScope
ersetzt. (Ia5f3f, b/190493367)touchBoundsInRoot
zuSemanticsNode
hinzugefügt, die die Mindestgröße des Berührungszielbereichs enthält, damit Entwickelnde können Sie sicherstellen, dass Berührungszielbereiche den Mindestanforderungen für die Barrierefreiheit entsprechen. (I2e14b, b/197751214)
Fehlerkorrekturen
- Erlauben, dass der Clip über die Grenzen des Berührungszielbereichs hinaus erweitert wird den Clipbereich für eine minimale Berührungszielbereich. (I43e10, b/171509422)
- Die zusammensetzbare Funktion
Divider
wurde aktualisiert zuDp.Hairline
für den Parameter „dicke“ berücksichtigen um das Zeichnen von Trennlinien mit nur einem Pixel unabhängig von der Kompaktheitsgrad. (I16ffb, b/196840810)
Version 1.1.0-alpha03
1. September 2021
androidx.compose.material:material-*:1.1.0-alpha03
wurde veröffentlicht. Version 1.1.0-alpha03 enthält diese Commits.
Neue Funktionen
- Die Funktion „Compose“ (
1.1.0-alpha03
) wurde so aktualisiert, dass sie von „1.5.30
“ in Kotlin abhängig ist. (I74545)
API-Änderungen
- Es wurde eine Testmethode zum Abrufen der abgeschnittenen Grenzen hinzugefügt. (I6b28e)
- Der ViewConfiguration wurde die Mindestgröße des Berührungszielbereichs hinzugefügt. für die Semantik und die Zeigereingabe, um Barrierefreiheit sicherzustellen. (Ie861c)
Version 1.1.0-alpha02
18. August 2021
androidx.compose.material:material-*:1.1.0-alpha02
wurde veröffentlicht. Version 1.1.0-alpha02 enthält diese Commits.
Externer Beitrag
- Das Verhalten von "SwipeableState" wurde korrigiert, wenn der Versatz der Wischbewegung innerhalb eines Rundungsfehlers eines Ankers liegt. (I03d39, b/191993377)
Version 1.1.0-alpha01
4. August 2021
androidx.compose.material:material-*:1.1.0-alpha01
wurde veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.
API-Änderungen
DrawScope#drawImage
-Methode aktualisiert, die verbraucht Quell- und Ziel-Rects um eine optionale FilterQuality-Ressource zu verarbeiten, . Dies ist nützlich für Pixel die verpixelt sein sollten, wenn sie für pixelbasierte Grafiken vertikal skaliert werden. Aktualisiertes BitmapPainter und zusammensetzbares Bild um auch einen optionalen FilterQuality- Parameter (Ie4fb0, b/180311607)- BadgeBox wurde in BadgedBox umbenannt und die Parameter wurden geändert, sodass zusammensetzbare Badges akzeptiert werden. Badge-Komponente hinzugefügt, die den typischen Badge-Inhalt für eine BadgedBox darstellt. (I639c6)
- Die NavigationRail-Komponente wurde hinzugefügt. Informationen zur Nutzung finden Sie in den Dokumenten und Beispielen (I8de77).
Fehlerkorrekturen
- Am unteren Rand ausgerichtete NavigationRail-Beispiel- und Catalog-App hinzugefügt . (I3cffc)
- Dialogfelder folgen jetzt dem Verhalten bei der Plattformgröße. Setzen Sie usePlatformDefaultWidth auf false, um dieses Verhalten zu überschreiben. (Iffaed, b/192682388)
- Der Katalog-App wurde eine Demo für die Navigationsleiste hinzugefügt. (I04960)
- Der Katalog-App wurde eine Badge-Demo hinzugefügt. (If285d)
Version 1.0
Version 1.0.5
3. November 2021
androidx.compose.material:material-*:1.0.5
wurde veröffentlicht. Version 1.0.5 enthält diese Commits.
Fehlerkorrekturen
- Ein Absturz-Tracking von RelatedStateOf-Instanzen wurde behoben. (aosp/1792247)
Version 1.0.4
13. Oktober 2021
androidx.compose.material:material-*:1.0.4
wurde veröffentlicht. Version 1.0.4 enthält diese Commits.
Aktualisierung der Abhängigkeiten
- Aktualisiert und abhängig von Kotlin
1.5.31
Version 1.0.3
29. September 2021
androidx.compose.material:material-*:1.0.3
wurde veröffentlicht. Version 1.0.3 enthält diese Commits.
Aktualisierung der Abhängigkeiten
- Aktualisiert und abhängig von Kotlin
1.5.30
Version 1.0.2
1. September 2021
androidx.compose.material:material-*:1.0.2
wurde veröffentlicht. Version 1.0.2 enthält diese Commits.
Aktualisiert, um die Compose-Version 1.0.2
zu unterstützen. „Compose 1.0.2
“ ist weiterhin mit Kotlin 1.5.21
kompatibel.
Version 1.0.1
4. August 2021
androidx.compose.material:material-*:1.0.1
wurde veröffentlicht. Version 1.0.1 enthält diese Commits.
Aktualisierung der Abhängigkeiten
- Aktualisiert und abhängig von Kotlin-
1.5.21
.
Version 1.0.0
28. Juli 2021
androidx.compose.material:material-*:1.0.0
wurde veröffentlicht. Version 1.0.0 enthält diese Commits.
Hauptfunktionen von Version 1.0.0
Dies ist die erste stabile Version von Compose. Weitere Informationen finden Sie im offiziellen Compose-Blog.
Bekannte Probleme
Wenn Sie Android Studio Bumblebee Canary 4 oder AGP
7.1.0-alpha04
/7.1.0-alpha05
verwenden, kann es zu folgendem Absturz kommen:java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
Erhöhen Sie in der Datei
build.gradle
vorübergehend Ihre minSdkVersion auf 24 oder höher, um das Problem zu beheben. Dieses Problem wird in der nächsten Version von Android Studio Bumblebee und AGP7.1
behoben. (b/194289155)
Version 1.0.0-rc02
14. Juli 2021
androidx.compose.material:material-*:1.0.0-rc02
wurde veröffentlicht. Version 1.0.0-rc02 enthält diese Commits.
Fehlerkorrekturen
- Dialogfelder folgen jetzt dem Verhalten bei der Plattformgröße. Setzen Sie
usePlatformDefaultWidth
auf „false“, um dieses Verhalten zu überschreiben. (Iffaed, b/192682388)
Version 1.0.0-rc01
1. Juli 2021
androidx.compose.material:material-*:1.0.0-rc01
wurde veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.
API-Änderungen
BadgeBox
-Komponente wurde hinzugefügt. Informationen zur Nutzung finden Sie in den Dokumenten und Beispielen (I5e284).useDefaultMaxWidth
inPopupProperties
wurde inusePlatformDefaultWidth
umbenannt. (I05710)- Dialogfelder können jetzt die gesamte Bildschirmbreite nutzen. (I83929, b/190810877)
- Implementierung des experimentellen Bereichsschiebereglers (I2f4b3) hinzugefügt
Fehlerkorrekturen
- Um den Material Design-Spezifikationen zu entsprechen, wurde für OutlinedTextField mit ungültiger Eingabe keine Fehlerfarbe für das Label verwendet, wenn das Label als Platzhalter verwendet wurde. Letzteres ist „true“, wenn sich im Textfeld kein Eingabetext befindet und das Textfeld nicht im Fokus ist. Damit hat sich auch die Bedeutung des Parameters
error:Boolean
in der FunktionTextFieldColors.labelColor()
geändert: Es wird jetztfalse
zurückgegeben, selbst wenn die Eingabe ungültig ist, wenn das Label als Platzhalter verwendet wird. (I45f78)
Version 1.0.0-beta09
16. Juni 2021
androidx.compose.material:material-*:1.0.0-beta09
wurde veröffentlicht. Version 1.0.0-beta09 enthält diese Commits.
API-Änderungen
- Der Parameter „Shape“ wurde zu OutlinedTextField hinzugefügt, damit die Rahmenform angepasst werden kann (I8f39e, b/181322957).
- TextOverflow wurde in eine Inline-Klasse geändert. (I433af)
Fehlerkorrekturen
- Scrim in BottomDrawer, BackdropScaffold und ModalBottomSheetLayout verschwindet, dann wird „Color.Nicht angegeben“ übergeben (I2d899, b/182063309).
Regeln für Profil hinzugefügt
In diesem Release werden den folgenden Erstellungsmodulen (I14ed6) Profilregeln hinzugefügt:
- androidx.compose.animation
- androidx.compose.animation-core
- androidx.compose.foundation
- androidx.compose.foundation-layout
- androidx.compose.material
- androidx.compose.material-ripple
- androidx.compose.runtime
- androidx.compose.ui
- androidx.compose.ui.geometrie
- androidx.compose.ui.graphics
- androidx.compose.ui.text
- androidx.compose.ui.text
- androidx.compose.ui.unit.
- androidx.compose.ui.util-
Was sind Profilregeln?
Profilregeln für eine Bibliothek werden in der Textdatei
baseline-prof.txt
imsrc/main
oder einem entsprechenden Verzeichnis angegeben. In der Datei ist eine Regel pro Zeile angegeben, wobei eine Regel in diesem Fall ein Muster für den Abgleich mit Methoden oder Klassen in der Bibliothek ist. Die Syntax für diese Regeln ist eine Obermenge des visuell lesbaren ART-Profilformats, das bei Verwendung vonadb shell profman --dump-classes-and-methods ...
verwendet wird. Für die Ausrichtung auf Methoden oder Klassen gibt es zwei Arten dieser Regeln.Eine Methodenregel hat das folgende Muster:
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
Und eine Klassenregel hat das folgende Muster:
<CLASS_DESCRIPTOR>
Hier steht
<FLAGS>
für mindestens eines der ZeichenH
,S
undP
, um anzugeben, ob diese Methode als „Hot“, „Startup“ oder „Post Startup“ gekennzeichnet werden soll.<CLASS_DESCRIPTOR>
ist der Deskriptor für die Klasse, zu der die Zielmethode gehört. Die Klasseandroidx.compose.runtime.SlotTable
hätte beispielsweise den DeskriptorLandroidx/compose/runtime/SlotTable;
.<METHOD_SIGNATURE>
ist die Signatur der Methode und enthält den Namen sowie die Parametertypen und Rückgabetypen der Methode. Die Methodefun isPlaced(): Boolean
fürLayoutNode
hat beispielsweise die SignaturisPlaced()Z
.Diese Muster können Platzhalter (
**
,*
und?
) enthalten, damit eine einzelne Regel mehrere Methoden oder Klassen umfasst.
Wozu dienen die Regeln?
Eine Methode mit dem Flag
H
gibt an, dass diese Methode "heiß" ist. und sollten im Voraus kompiliert werden.Eine Methode mit dem Flag
S
gibt an, dass es sich um eine Methode handelt, die beim Start aufgerufen und im Voraus kompiliert werden sollte, um die Kosten für die Kompilierung und die Interpretation der Methode beim Start zu vermeiden.Eine Methode mit dem Flag
P
gibt an, dass es sich um eine Methode handelt, die nach dem Start aufgerufen wird.Eine in dieser Datei vorhandene Klasse gibt an, dass sie beim Start verwendet wird und im Heap zugewiesen werden sollte, um Kosten für das Laden der Klasse zu vermeiden.
So funktioniert's
- Bibliotheken können diese Regeln definieren, die in AAR-Artefakte gepackt werden. Wenn dann ein APK erstellt wird, das diese Artefakte enthält, werden diese Regeln zusammengeführt und mit den zusammengeführten Regeln ein kompaktes binäres ART-Profil erstellt, das für das APK spezifisch ist. ART kann dieses Profil dann nutzen, wenn das APK auf Geräten installiert ist, um im Voraus eine bestimmte Teilmenge der App zu kompilieren und so die Leistung der App zu verbessern, insbesondere bei der ersten Ausführung. Dies hat keine Auswirkungen auf Debug-fähige Anwendungen.
Version 1.0.0-beta08
2. Juni 2021
androidx.compose.material:material-*:1.0.0-beta08
wurde veröffentlicht. Version 1.0.0-beta08 enthält diese Commits.
Neue Funktionen
Verhaltensunterbrochene API-Änderung
- VERHALTENSAUFSCHREIBUNG: Karte enthält jetzt Klicks, sodass Klicks, die über
Card(Modifier.clickable)
hinzugefügt wurden, zu einem operativen Prinzip werden. Verwenden Sie die neue experimentelle Überlastung einer Karte, die einen Download akzeptiert. (Ia8744, b/183775620) <ph type="x-smartling-placeholder">- </ph>
- Es wurde eine neue „Card“-Überlastung hinzugefügt, mit der Klicks und andere anklickbare Funktionen verarbeitet werden: „indication“, „InteractionSource“ und „aktiviert/deaktiviert“. In Verbindung mit
Modifier.clickable
konnte keine normale, nicht anklickbare Karte verwendet werden, da die Karte in diesen Fällen die Ripple-Anzeige nicht abschneidet.
- Es wurde eine neue „Card“-Überlastung hinzugefügt, mit der Klicks und andere anklickbare Funktionen verarbeitet werden: „indication“, „InteractionSource“ und „aktiviert/deaktiviert“. In Verbindung mit
- VERHALTENSAUFSCHREIBUNG: Auf der Oberfläche werden jetzt Klicks erfasst. Klicks, die über
Surface(Modifier.clickable)
hinzugefügt werden, sind also keine Vorgänge. Verwenden Sie eine neue, experimentelle Überlastung von Surface, die Gboard akzeptiert. (I73e6c, b/183775620) <ph type="x-smartling-placeholder">- </ph>
- Es wurde eine neue Oberfläche-Überlastung hinzugefügt, mit der Klicks sowie andere anklickbare Funktionen verarbeitet werden: indication, contextSource, aktiviert/deaktiviert. In Verbindung mit
Modifier.clickable
konnte keine reguläre, nicht anklickbare Oberfläche verwendet werden, da die Wellenanzeige in diesen Fällen nicht abgeschnitten wird.
- Es wurde eine neue Oberfläche-Überlastung hinzugefügt, mit der Klicks sowie andere anklickbare Funktionen verarbeitet werden: indication, contextSource, aktiviert/deaktiviert. In Verbindung mit
API-Änderungen
FabPosition
wurde von enum in eine Inline-Klasse konvertiert, um eine potenzielle Erweiterung in Zukunft zu unterstützen (I030fb)- Überarbeitete enum-Verwendungen auf Inline-Klassen, um dies zu vermeiden mit ausführlichen Wenn-Aussagen, werden neue enum-Werte hinzugefügt. (I2b5eb)
- Fügt ein Timeout für Tipp-/Ein-/Aus-Schaltflächen hinzu, um zu verhindern, dass beim Scrollen/Ziehen eine Welle angezeigt wird (Ia2704, b/168524931).
- Die Properties „ContentDescription“ und „Text“ sind nicht mehr verfügbar als einzelne Werte, aber als Listen. So können Sie sie wie gewohnt zusammenführen. von Verkettungen. Bietet auch bessere Test-APIs zur Nutzung dieser Änderungen (Ica6bf, b/184825850)
Modifier.focusModifier()
wurde verworfen und durchModifier.focusTarget()
(I6c860) ersetztFocusState
-Enum durchFocusState
-Schnittstelle ersetzt (Iccc1a, b/187055290)LocalRippleNativeRendering
wurde entfernt, da die Implementierung der ansichtsgestützten Welle stabil ist (I7fab3, b/188569367).
Fehlerkorrekturen
Modifier.onGloballyPositioned()
wurde geändert, um die Koordinaten dieses Modifikators in der Modifikatorkette anzugeben, und nicht die Layoutkoordinaten, nachdem alle Modifikatoren angewendet wurden. Das bedeutet, dass sich jetzt die Reihenfolge der Modifikatoren darauf auswirkt, welche Koordinaten im Bericht angezeigt werden. (Ieb67d, b/177926591)- Es wurde eine README-Datei für den bestehenden Katalog für das Material zum Verfassen von Texten hinzugefügt. (If9191)
Version 1.0.0-beta07
18. Mai 2021
androidx.compose.material:material-*:1.0.0-beta07
wurde veröffentlicht. Version 1.0.0-beta07 enthält diese Commits.
API-Änderungen
- Sie müssen keine Erweiterungsmethoden mehr für die Routenunterstützung verwenden in „Navigation Compose“. (I22beb, b/172823546)
Version 1.0.0-beta06
5. Mai 2021
androidx.compose.material:material-*:1.0.0-beta06
wurde veröffentlicht. Version 1.0.0-beta06 enthält diese Commits.
API-Änderungen
- Ripple wurde zur internen Verwendung von
RippleDrawable
auf Android-Geräten migriert. Das bedeutet, dass auf dem RenderThread Wellenanimationen auftreten, die auch dann reibungslos ablaufen, wenn der UI-Thread stark ausgelastet ist, z. B. beim Wechseln zwischen Bildschirmen. Dies ändert nichts an der API-Oberfläche der Welle, aber es kann durch diese Änderung zu Verhaltensänderungen kommen. Um die Migration zu erleichtern, wurdeLocalRippleNativeRendering
hinzugefügt. Gib für diese CompositionLocal den Wertfalse
an, um auf die vorherige Ripple-Implementierung innerhalb von CompositionLocalProvider zurückzugreifen. Diese API ist temporär und wird in Zukunft entfernt. Sollten Probleme auftreten, die zur Verwendung dieser API führen, melden Sie den Fehler bitte. (I902f8, b/168777351, b/183019123) - Die Bedienungshilfen „CollectionInfo“ und „CollectionItemInfo“ wurden hinzugefügt, mit denen eine Sammlung und ihre Elemente für Bedienungshilfen markiert werden können (Id54ef, b/180479017).
- Die Accessibility API
error
wurde hinzugefügt, mit der ein Knoten markiert werden kann, der eine ungültige Eingabe enthält (I12997, b/180584804, b/182142737).
Fehlerkorrekturen
- Die Implementierung des Katalogs für das Erstellen von Texten wurde aktualisiert von: https://github.com/google/accompanist/pull/365. (I25dc3)
- Zeile & Bei untergeordneten Spalten mit „weight(fill = false)“ füllen das übergeordnete Element nicht mehr den gesamten verfügbaren Bereich der Hauptachse aus. (Ied94d, b/186012444, b/184355105)
Version 1.0.0-beta05
21. April 2021
androidx.compose.material:material-*:1.0.0-beta05
wurde veröffentlicht. Version 1.0.0-beta05 enthält diese Commits.
Fehlerkorrekturen
- Dem vorhandenen Katalog für die Funktion „Material zusammen erstellen“ wurden Kachelbilder, die Designauswahl und spezifischere Menü-URLs hinzugefügt. (I9b58e)
Version 1.0.0-beta04
7. April 2021
androidx.compose.material:material-*:1.0.0-beta04
wurde veröffentlicht. Version 1.0.0-beta04 enthält diese Commits.
API-Änderungen
- API-ÄNDERUNG: Der Status von
DrawerState
erweitert den experimentellen Modus „SwipeableState“ nicht mehr.- API-ÄNDERUNG:
BottomDrawerState
ist jetzt als experimentell gekennzeichnet, um der bereits experimentellen BottomDrawer-Komponente zu entsprechen (I81114, b/181656094).
- API-ÄNDERUNG:
hideSoftwareKeyboard
undshowSoftwareKeyboard
umbenennen aktiviertSoftwareKeyboardController
inhide()
bzw.show()
.- Stellen Sie die vollständige CompositionLocal-Oberfläche für LocalSoftwareKeyboardController. Damit kann es festgelegt werden (insbesondere nützlich in Tests) (I579a6)
- Die LiveRegion Accessibility API wurde hinzugefügt. Wenn der Knoten als Live-Region markiert ist, informiert den Nutzer automatisch über die Änderungen (Idcf6f, b/172590946).
Fehlerkorrekturen
- Die Implementierung des Katalogs zum Erstellen von Materialien wurde dem bestehenden Modul hinzugefügt. Derzeit fehlen: Kachelbilder der Komponenten, Designauswahl (wird in nachfolgenden Änderungen hinzugefügt). (Ie7a94)
Version 1.0.0-beta03
24. März 2021
androidx.compose.material:material-*:1.0.0-beta03
wurde veröffentlicht. Version 1.0.0-beta03 enthält diese Commits.
API-Änderungen
DefaultMonotonicFrameClock
wurde verworfen. AnrufenwithFrameNanos
oderRecomposer.runRecomposeAndApplyChanges
ohneMonotonicFrameClock
wirft jetztIllegalStateException
. (I4eb0d)- Eine neue
LeadingIconTab
-API wurde hinzugefügt, um die Anzeige eines Symbols und von Inline-Text in einem Tab zu unterstützen. (I23267)
Externer Beitrag
- [von Jossi Wolf]
BottomDrawer
umschließt jetzt den Inhalt der Leiste.BottomDrawer
gibt keinIllegalStateException
aus, wenn das übergeordnete Element unendlich hoch ist. Die untere Leiste wird jetzt maximiert geöffnet, wenn sie kleiner als 50% des übergeordneten Elements ist. Dokumente fürBottomDrawerState
undModalBottomSheetLayoutState
wurden aktualisiert.BottomDrawerState#isOpen
gibt jetzt „true“ zurück, wenn es entweder geöffnet oder maximiert ist. (I87241)
Version 1.0.0-beta02
10. März 2021
androidx.compose.material:material-*:1.0.0-beta02
wurde veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.
API-Änderungen
- Neue lokale Komposition (
LocalSoftwareKeyboardController
) hinzugefügt API zum Ersetzen der vorherigenSoftwareKeyboardController
-Oberfläche Textfeld ein. (I5951e, b/168778053)
Fehlerkorrekturen
- Einschränkungen für die öffentliche Nutzung experimenteller APIs erzwingen (I6aa29, b/174531520)
- Die standardmäßige horizontale Ausrichtung für TopAppBar und BottomAppBar wurde entsprechend der Zeile (Ib2dc7) in „Start“ geändert.
- Es wurden ein neues Modul und eine Platzhalter-UI für einen Compose Material-Katalog hinzugefügt, der derzeit in vorhandenen Integrationstestdemos verschachtelt ist. (Idfcb3)
androidx.compose.ui:ui
ist nicht mehr von AppCompat oder Fragment abhängig. Wenn Sie in Ihrer Anwendung ein ComposeView-Objekt und Fragment und/oder AppCompat verwenden, stellen Sie sicher, dass Sie AppCompat 1.3 und höher bzw. Fragment 1.3 oder höher verwenden. Diese Versionen sind erforderlich, um den Lebenszyklus und die für ComposeView erforderlichen Inhaber von gespeicherten Status korrekt festzulegen. (I1d6fa, b/161814404)
Version 1.0.0-beta01
24. Februar 2021
androidx.compose.material:material-*:1.0.0-beta01
wurde veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.
Dies ist die erste Version der Betaversion von Compose 1.0.0.
API-Änderungen
- Größenmodifikatoren wurden umbenannt. „modifier.width/height/size“ wurde in requiredWidth/requiredHeight/requiredSize umbenannt. „Modifier.preferredWidth/preferredHeight/preferredSize“ wurde in „Breite/Höhe/Größe“ umbenannt. (I5b414)
- „imageResource“ und „vectorResource“ sind jetzt Erweiterungsfunktionen für ImageBitmap- bzw. ImageVector-Companions. read{Image,Vector,Font}Ressourcenfunktionen wurden gelöscht. (I89130)
- Modifikatoren zur Größenanpassung für intrinsische Elemente sind nicht mehr experimentell. (I15744)
- dp-Assertions entfernt (I798d2)
- Der SoftwareKeyboardController-Callback wurde aus dem gesamten Text entfernt. werden demnächst durch eine neue API ersetzt. (Iae869, b/168778053)
- Switch-, Checkbox- und RadioButton-Aktionslambdas sind jetzt Nullwerte zulässig. Beispiele für Kästchen in anklickbaren Zeilen wurden für die Verwendung aktualisiert . (If601b, b/171819073)
- „
InteractionState
“ wurde durch „[Mutable]InteractionSource
“ ersetzt <ph type="x-smartling-placeholder">- </ph>
- Schnittstellen sind für das Ausgeben und Erfassen von Interaktionsereignissen verantwortlich.
- Anstatt
interactionState = remember { InteractionState() }
an Komponenten wieButton
undModifier.clickable()
zu übergeben, verwenden SieinteractionSource = remember { MutableInteractionSource() }
. - Anstelle von
Interaction.Pressed in interactionState
sollten Sie stattdessen die Erweiterungsfunktionen für InteractionSource verwenden, z. B. InteractionSource.collectIsPressedAsState(). - Für komplexe Anwendungsfälle können Sie InteractionSource.interactions verwenden, um den Interaktionsstrom zu beobachten. Weitere Informationen finden Sie in der InteractionSource-Dokumentation und den Beispielen.
- (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
- Fügen Sie AccessibilityMananger-Benutzeroberfläche und LocalAccessibilityMananger in CompositionLocals (I53520)
- Die eingestellten LayoutCoordinates-Methoden wurden entfernt. Verwenden Sie anstelle der Eigenschaft für positionInParent und boundsInParent (I580ed, b/169874631, b/175142755) die Funktion
- Schieberegler unterstützt jetzt den Status „Aktiviert/deaktiviert“ (I6d56b, b/179793072).
- Neue TextInputSession für Eingabesitzungen aus Low-Level-Textkomponenten wie CoreTextField erstellt. (I8817f, b/177662148)
- „AnimationEndReason.Interrupted“ wurde entfernt. "CancelException" wird ausgelöst, wenn die Animation unterbrochen wird. (I2cbbc, b/179695417)
@ExperimentalRippleApi
wurde entfernt undRippleAlpha
ist jetzt eine Klasse mit Attributen anstelle einer Schnittstelle. (I6df7c)- TextFieldColors-Schnittstelle wurde hinzugefügt, um verschiedene Farben darzustellen, die in TextField und OutlinedTextField in verschiedenen Zuständen verwendet werden. Informationen zur Standardimplementierung finden Sie unter „TextFieldDefaults.textFieldColors“ und „TextFieldDefaults.outlinedTextFieldColors“.
- Der Parameter „isErrorValue“ in „TextField“ und „OutlinedTextField“ wurde umbenannt. in „isError“. (I831f9, b/171305338, b/168004067)
- „selectGroup“-Modifikator hinzufügen, mit dem eine Sammlung von Tabs oder Optionsfeldern aus Gründen der Barrierefreiheit markiert werden kann (Ie5c29)
LazyListState.animateScrollToItem hinzufügen
Mit dieser Methode wird geglättet zu einem bestimmten Element in der Liste. (I4bfd7)
ScrollableState.smoothScrollBy()
wurde inanimateScrollBy()
umbenanntLazyListState.snapToItemIndex()
wurde inscrollToItem()
umbenanntScrollState.smoothScrollTo()
wurde inanimateScrollTo()
umbenannt (I35ded).Für alle mit
@ReadOnlyComposable
gekennzeichneten zusammensetzbaren Funktionen wird jetzt die Kompilierungszeit validiert. So wird sichergestellt, dass nur Aufrufe an andere@ReadOnlyComposables
gesendet werden (I58961).TargetAnimation API wurde entfernt. (If47d1, b/177457083)
Die Scrollposition in Modifier.verticalScroll()/horizontalScroll() wird jetzt mit "Ints" dargestellt (I81298).
SmoothScrollBy- und scrollBy-Methoden“ Pakete geändert in
androidx.compose.foundation.gestures.*
(I3f7c1, b/175294473)FlingConfig wurde in FlingBehavior umbenannt. Sie ermöglicht jetzt die Anpassung von Stoppanimationen anstelle von vordefinierten Decays. (I02b86, b/175294473)
Größenmodifikatoren wurden umbenannt. „modifier.width/height/size“ wurde in requiredWidth/requiredHeight/requiredSize umbenannt. „Modifier.preferredWidth/preferredHeight/preferredSize“ wurde in „Breite/Höhe/Größe“ umbenannt. (I5b414)
„defaultMinSizeConstraints“ wurde in „defaultMinSize“ umbenannt. (I4aae)
„Ausrichtung“ wurde in das Foundation-Paket verschoben. VelocirtTracker wurde von ui.gesture zu ui.input.pointer verschoben. (Iff4a8, b/175294473)
DrawerState.open() unddrawerState.close() sperren jetzt Funktionen. Mit „memoryCoroutineScope()“ können Sie den Umfang der Zusammensetzung abrufen, um sie aufzurufen (I16f60, b/175294473).
„Providers“ wurde in CompositionLocalProvider umbenannt
- Der Kompositionskonstruktor akzeptiert keinen Schlüsselparameter mehr und wurde eingestellt.
- currentCompositeKeyHash wurde in eine zusammensetzbare Top-Level-Eigenschaft anstelle einer zusammensetzbaren Top-Level-Funktion umgewandelt.
- CompositionData und CompositionGroup wurden in den Namespace „androidx.compose.runtime.tooling“ verschoben
- ComposableLambda wurde zu einer Schnittstelle anstelle einer konkreten Klasse gemacht und verfügt nicht mehr über Typparameter.
- ComposableLambdaN ist jetzt eine Schnittstelle anstelle einer konkreten Klasse und hat keine Typparameter mehr.
- Die Funktion „SnapshotFlow“ wurde in den Namespace „androidx.compose.runtime“ verschoben
- Die Zusammenführungsmethode von SnapshotMutationPolicy ist nicht mehr experimentell
- Die „clearRoots“-Funktion der obersten Ebene von
@TestOnly
wurde entfernt. Es ist nicht mehr notwendig. - Die Funktionen „keySourceInfoOf“ und „resetSourceInfo“ wurden entfernt. Sie werden nicht mehr benötigt.
- Composer.collectKeySourceInformation wurde entfernt. Es ist nicht mehr notwendig.
- Die Methoden „isJoinedKey“, „joinKeyLeft“ und „joinKeyRight“ wurden entfernt. Sie werden nicht mehr benötigt.
- Verschiedene APIs der obersten Ebene wurden verschoben und in verschiedene Dateien neu organisiert. Aufgrund der Semantik der Dateiklassen von Kotlin wird die Kompatibilität der Binärdateien, aber nicht der Quelldateien beeinträchtigt. Daher sollte es für die meisten Nutzer kein Problem sein.
- (I99b7d, b/177245490)
Modifier.scrollable wurde überarbeitet. Jetzt wird die Scrollable-Schnittstelle anstelle der ScrollableController-Klasse verwendet (I4f5a5, b/174485541, b/175294473).
Modifier.draggable akzeptiert jetzt DraggableState anstelle einer einfachen Lambda-Funktion. Sie können einen Zustand über
rememberDraggableState { delta -> }
erstellen, um das gleiche Verhalten wie zuvor zu erhalten (Ica70f, b/175294473).ZoomableController.smoothScaleBy und ZoomableController.stopAnimation sind jetzt Unterbrechungsfunktionen. (I7f970, b/177457083)
Einige zuvor eingestellte APIs wurden gelöscht (Ice5da, b/178633932).
Folgende Änderungen an der Material API wurden vorgenommen:
- Der Parameter "contentPadding" wurde zu Top/BottomAppBar hinzugefügt, um das Standard-Padding anzupassen.
- Die Parameter in BackdropScaffold wurden neu angeordnet, um den API-Richtlinien für erforderliche Parameter vor optionalen Parametern zu entsprechen.
- Der Parameter
icon
wurde in BottomNavigationItem hinterselected
undonClick
verschoben. - Der Parameter
alwaysShowLabels
in BottomNavigationItem wurde inalwaysShowLabel
umbenannt. bodyContent
-Parameter in einigen Komponenten incontent
umbenannt.- Parameter in
ButtonDefaults.buttonColors()
neu angeordnet. Bitte beachten Sie, dass dies keinen Fehler in Ihrem Code verursacht, da sich der Typ der Parameter nicht geändert hat. Stellen Sie sicher, dass Sie entweder benannte Parameter verwenden oder die Reihenfolge manuell aktualisieren. Andernfalls funktioniert der Code nicht wie zuvor. - Der Parameter
secondaryVariant
wurde zudarkColors()
hinzugefügt. Diese Farbe hat in der Regel die gleiche Farbe wiesecondary
im dunklen Design, sorgt aber für Einheitlichkeit und eine weitere Anpassung. - ElevationDefaults und animateElevation() wurden von der öffentlichen API-Oberfläche entfernt, da sie im Allgemeinen nicht verwendet wurden bzw. nicht nützlich waren.
onValueChangeEnd
inSlider
wurde inonValueChangeFinished
umbenannt und Nullwerte zulässig.- Der Parameter
text
inSnackbar
wurde aus Konsistenzgründen incontent
umbenannt. - Der Parameter
contentPadding
wurde zuDropdownMenuItem
hinzugefügt, um das Anpassen des Standardabstands zu ermöglichen.content
wurde zu einer Erweiterung vonRowScope
. ModalDrawerLayout
wurde inModalDrawer
umbenannt.BottomDrawerLayout
wurde inBottomDrawer
umbenannt.- (I1cc66)
BasicTextField akzeptiert jetzt Pinsel statt Farbe zur besseren Anpassung (I83a36).
„imageResource“ und „vectorResource“ sind jetzt Erweiterungsfunktionen für ImageBitmap- bzw. ImageVector-Companions. read{Image,Vector,Font}Ressourcenfunktionen wurden gelöscht. (I89130)
Änderung des Parameters Indication#createIndication() in Indication#rememberUpdatedIndication(InteractionState) und Entfernen des Parameters InteractionState aus IndicationInstance#drawIndication(). IndicationInstance sollte nur für das Zeichnen visueller Effekte zuständig sein und keine Animationen starten bzw. einen Status als Reaktion auf InteractionState-Änderungen schreiben. Diese Animationen und Zustandsschreibvorgänge sollten stattdessen innerhalb von
rememberUpdatedIndication()
ausgeführt werden. Derindication
-Parameter inModifier.indication
wurde ebenfalls in einen erforderlichen Parameter geändert. (IC1764, b/152525426)
Fehlerkorrekturen
- Neue lokale „LocalSoftwareKeyboardController“-Komposition hinzugefügt API zum Ersetzen der vorherigen SoftwareKeyboardController-Schnittstelle auf Textfeld ein. (I658b6, b/168778053)
Version 1.0.0-alpha12
10. Februar 2021
androidx.compose.material:material-*:1.0.0-alpha12
wurde veröffentlicht. Version 1.0.0-alpha12 enthält diese Commits.
API-Änderungen
- Modifier.pointerInput erfordert nun das Speichern von Tasten, um anzuzeigen, wann die Koroutine zur Erkennung der Zeigereingabe für eine neue Abhängigkeiten. (I849cd)
- BottomDrawerLayout und ListItem wurden als @ExperimentalMaterialApi (Id766e) markiert.
- „PaddingValues.Absolute“ wurde hinzugefügt und kann in APIs verwendet werden, die PaddingValues akzeptieren. (Ia5f30)
- „onImeActionPerformed“ wurde eingestellt. Verwenden Sie stattdessen KeyboardActions (If0bbd, b/179071523)
- Um die Bezeichnungen mit ImageBitmap und ImageVector verwenden, ImagePainter wurde in BitmapPainter umbenannt. parallelem VectorPainter. (Iba381, b/174565889)
- Animatable.snapTo und Animatable.stop sind jetzt Stoppfunktionen (If4288)
- ComponentActivity.setContent wurde verschoben nach androidx.activity.compose.setContent im androidx.activity:activity-compose-Modul. (Icf416)
- Die Methoden "Destrukturieren" und "copy()" wurden entfernt aus in denen sie selten verwendet wurden. (I26702, b/178659281)
- Das Element "Halexpand()" und "expand()" in ModalBottomSheetState intern verwenden (Ic914e)
- Änderung von Indication#createInstance zu @Composable und Änderung von LocalIndication, sodass sie einen Indication-Wert und nicht () enthält -> Anzeige. (I5eeea, b/157150564)
- „AlertDialog“ und „Drop-down-Menü“ sind jetzt nur noch für Android verfügbar. Der Parameter „PopProperties“ wurde dem Drop-down-Menü zur weiteren Konfiguration des zugrunde liegenden Pop-ups hinzugefügt. (I9c443)
- „loadFontResource“ wurde eingestellt. Verwenden Sie stattdessen „fontResource“. „imageResource“, „loadImageResource“, „vectorResource“ und „loadVectorResource“ wurden eingestellt. Verwenden Sie stattdessen PainterResource. (I6b809)
- Die Parameter
toggle
undtoggleModifier
wurden aus dem Drop-down-Menü entfernt unddropdownModifier
,dropdownOffset
unddropdownContent
inmodifier
,offset
bzw.content
umbenannt. Das Drop-down-Menü funktioniert jetzt einheitlich aufPopup
. Dabei wird das übergeordnete Layout für die Position des Menüs verwendet. In den meisten Fällen können Sietoggle
zu einem gleichgeordneten Element vonDropdownMenu
verschieben und beide in einemBox
zusammenfassen. Weitere Informationen zur Verwendung dieser API finden Sie im aktualisierten Beispiel in der Dokumentation. (I884fb) - toIntPx() wurde inroundToPx() umbenannt. (I9b7e4, b/173502290)
- IntBounds wurde in IntRect umbenannt und die API wurde verbessert. (I1f6ff)
- Semantikaktionen zum Maximieren und Minimieren wurden hinzugefügt. Hinzugefügt Maximieren und halbMaximieren in ModalBottomSheetState (Ib5064)
- „Modifier.dragGestenFilter“ wurde eingestellt. Verwende stattdessen
Modifier.pointerInput { detectDragGestures (...)}
. Alternativ können Sie „Modifier.draggable“ für das Ziehen um eine Achse verwenden (I0ba93, b/175294473). - Ambients wurden umbenannt, um sie an den Inaktivmodus anzupassen -> CompositionLocal- umbenennt. Ambients hießen früher AmbientFoo, CompositionLocals heißt jetzt LocalFoo. (I2d55d)
- Auswahl wurde auf Fundament verschoben. (I7892b)
- Ähnlich wie zuvor entfernte die zusammensetzbare Funktion
state { 0 }
und jetzt die Verwendung wieremember { mutableStateOf(0) }
, entfernen wir die zusammensetzbare FunktionsavedInstanceState { 0 }
. Sie sollten stattdessenrememberSaveable { mutableStateOf(0) }
verwenden. Die Speicherung und Wiederherstellung erfolgen automatisch, wenn der im MutableState verwendete Typ im Bundle gespeichert werden kann. Wenn Sie jetzt ein benutzerdefiniertes Saver-Objekt übergeben haben, müssen Sie eine neue Überlastung von „merkSaveable“ mit dem ParameterstateSaver
verwenden. Die Nutzung sieht so aus:val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }
(Ib4c26, b/177338004) - "ProgressBarRangeInfo.Indeterminate" wurde hinzugefügt, um indeterminate Fortschrittsbalken für Bedienungshilfen zu kennzeichnen (I6fe05).
@ComposableContract wurde zugunsten von drei weiteren Annotationen eingestellt.
@ComposableContract(restartable = false)
ist jetzt@NonRestartableComposable
@ComposableContract(readonly = true)
ist jetzt@ReadOnlyComposable
@ComposableContract(preventCapture = true)
ist jetzt@DisallowComposableCalls
@ComposableContract(tracked = true)
wurde entfernt.- (I60a9d)
Die Dienstprogramme
emptyContent()
und(@Composable () -> Unit).orEmpty()
wurden eingestellt, da sie sich nicht mehr positiv auf die Leistung auswirken (I0484d)memorySavedInstanceState() wurde in „memorySaveable()“ umbenannt und in das Paket „androidx.compose.runtime.saveable“ verschoben. (I1366e, b/177338004)
Saver, listSaver(), mapSaver(), autoSaver wurde von androidx.compose.runtime.savedinstancestate nach androidx.compose.runtime.saveable (I77fe6) verschoben
Die Parameter für RounderCornerShape, CutCornerShape und CornerBasedShape wurden von links/rechts in Start/End umbenannt, um die automatische Spiegelung der Form in rtl-Richtung zu unterstützen. AbsoluteRounderCornerShape und AbsoluteCutCornerShape wurden für Fälle eingeführt, in denen die automatische Spiegelung nicht erwünscht ist. (I61040, b/152756983)
Die Parameter
text
undicon
des Tabs sowie der Parameterlabel
von BottomNavigationItem wurden so geändert, dass Nullen zulässig sind. Dies soll das Verhalten der Komponente besser vermitteln, wenn diese Parameter nicht angegeben sind, da sich dies auf die Größe und das Layout der Komponente auswirkt. Wenn Sie derzeitemptyContent()
übergeben, um keinen Text, kein Symbol und kein Label darzustellen, sollten Sie stattdessennull
verwenden. (I57ed4)Der color-Parameter „contentColorFor“ wurde in „backgroundColor“ umbenannt (I5bb67)
„TabDefaults“ wurde eingestellt und durch „TabRowDefaults“ ersetzt. (I0f189)
Einführung der ColorMatrix API mithilfe von zum Ändern der RGB-Werte des Quellcontents Die ColorFilter API wurde zu einem und die Implementierung von PathEffect. (Ica1e8)
Die Funktion „ananibleValue/Float“ wird jetzt nicht mehr unterstützt. Bitte verwenden Sie Animierbar. (I71345, b/177457083)
Fügen Sie die SemanticsProperties.PaneTitle API hinzu. (I20d5a)
Aktivierte Parameter zu Tab und BottomNavigationItem wurden hinzugefügt, um zu verhindern, dass sie anklickbar sind. Änderung von BottomNavigationItem in RowScope.BottomNavigationItem, um die Layoutanforderungen in der API besser auszudrücken. (Id683d)
„touchGestenFilter“, „doubleTapUnlockGesteFilter“, „longPress potenziellenFilter“ und „PressIndicaitonTouchFilter“ werden nicht mehr unterstützt. Verwenden Sie stattdessen Modifier.clickable oder Modifier.pointerInput mit der Funktion detectTapGestens. (I6baf9, b/175294473)
Fügen Sie den LayoutDirection-Parameter zu createOutline der Form hinzu. Dies ermöglicht das Erstellen von richtungsabhängigen Formen für das Layout. (I57c20, b/152756983)
Recomposer.current()
wurde entfernt. [Zusammenfassung]ComposeView jetzt werden nur langsam erstellte, fensterbezogene Recomposers verwendet, die vom ViewTreeLifecycleOwner für das Fenster. Neuzusammensetzung und mitFrameNanos-basierten Animationsmarkierungen werden während des Host-Lebenszyklus wurde beendet. (I38e11)
Fehlerkorrekturen
- Das Symbol wird jetzt unter Berücksichtigung der angewendeten Größenmodifikatoren an seine Größe angepasst.
Icon(.., modifier = Modifier.size(50.dp)
zeichnet nun beispielsweise in einem Bereich von 50 x 50 dp. (Ib2ba9, b/178796190)
Version 1.0.0-alpha11
28. Januar 2021
androidx.compose.material:material-*:1.0.0-alpha11
wurde veröffentlicht. Version 1.0.0-alpha11 enthält diese Commits.
API-Änderungen
- Bewirbt einige Material APIs nicht mehr als
@Experimental
(I5d20e) - Der Parameter für die Inhaltsbeschreibung wurde dem Bild und dem Symbol hinzugefügt. Sie wird verwendet, um die Bedienungshilfen zu beschreiben (I2ac4c).
- Ändert zustandsorientierte Material-Parameteroberflächen in @Composable-Funktionen, die
State<T>
zurückgeben. FügtAnimatable.asState()
hinzu, um das Konvertieren eines Animatable-Objekts in einen Status zu vereinfachen. Außerdem wird animateElevation zu einer Sperren-Erweiterung in Animatable geändert. (If613c) - Snackbar, SnackbarHost, SnackbarHostState sind nicht mehr
@ExperimentalMaterialAPI
(Id1fb5) - Ändert Typografie, Formen und TabPosition nicht mehr zu Datenklassen. Fügt eine Kopierfunktion für Typografie und Formen hinzu, um die generierten Formen zu ersetzen. (I40037)
- Einige zuvor eingestellte Material APIs wurden gelöscht (Ifaa25)
Fehlerkorrekturen
- onCommit, onDispose und onActive wurden zugunsten der SideEffect und DisposableEffect APIs eingestellt (If760e)
- Die auf „TransitionDefinition“ basierende Umstellung wurde eingestellt (I0ac57)
- Anfänglicher Status in updateTransition wird jetzt unterstützt (Ifd51d)
- WithConstraints wurde als BoxWithConstraints überarbeitet und zu "foundation.layout" verschoben. (I9420b, b/173387208)
ScrollBy ohne Sperrung einstellen, ScrollTo entfernen
Wir empfehlen jetzt die Verwendung von Unterbrechungsfunktionen, um das Scrollen und das Warten zu steuern. bis das Scrollen abgeschlossen ist. Die Funktion wird eingestellt und/oder Versionen dieser Funktionen im Rahmen dieser Umstellung nicht gesperrt werden. (Ie9ced)
SmoothScrollBy nicht mehr sperren Wir empfehlen jetzt die Verwendung von Unterbrechungsfunktionen, um das Scrollen und das Warten zu steuern. bis das Scrollen abgeschlossen ist. Versionen ohne Sperrung werden eingestellt dieser Funktionen als Teil dieses Übergangs. (I12880)
Einführung von
ComposeContentTestRule
, dieComposeTestRule
und definiertsetContent
, das entfernt wurde ausComposeTestRule
. Factory-MethodecreateEmptyComposeRule()
hinzugefügt das eineComposeTestRule
zurückgibt und keine Aktivität für von dir. Verwende diese Option, wenn du deine Aktivität während des Tests starten möchtest, z.B. mitActivityScenario.launch
(I9d782, b/174472899)Die in Button und FloatingActionButton verwendete Welle kann nicht mehr durch die Bereitstellung einer neuen Angabe über AmbientIndication angepasst werden. Dies war nie als Möglichkeit gedacht, diese Komponenten anzupassen, und dadurch sind diese Komponenten nun mit anderen Material-Komponenten konsistent. Informationen zum Anpassen von Ripples in einer Anwendung finden Sie unter RippleTheme. (I546c5)
"animateAsState" ist jetzt "animateFooAsState", wobei Foo für den Wert Typ der animierten Variablen. z.B. Gleitkommazahl, Dp, Offset usw. (Ie7e25)
BasicTextField hat einen neuen Parameter namens
decorationBox
erhalten. Sie können dem Textfeld Gestaltungselemente wie Symbole, Platzhalter, Beschriftungen und Ähnliches hinzufügen und den Trefferzielbereich davon vergrößern. (I16996)Behebung eines Fehlers, bei dem die Breite des Materialtextfelds nicht auf weniger als 280.dp festgelegt werden konnte (I78373)
canDrag-Parameter wurde aus Modifier.draggable (Ic4bec, b/175294473) entfernt.
Entfernen Sie displaySize, da dies vermieden werden sollte. Normalerweise ist es Es ist besser, zumindest die Größe von onRoot() oder die Fenstergröße zu verwenden. (I62db4)
Surface kann jetzt mehrere untergeordnete Layouts haben. (I66a92, b/144488459)
invalid und summaryReference() wurden zugunsten von currentRecomposeScope bzw. memoryCompositionReference verworfen. (I583a8)
Ändert PopupPositionProvider so, dass fensterbezogene Koordinaten und keine globalen Koordinaten verwendet werden. Benennt „parentGlobalBounds“ in „anchorBounds“ um und ändert „windowGlobalBounds“ in
windowSize: IntSize
(I2994a).„Dauer“ und „Verfügbarkeit“ werden durch „Lange Millisekunden“ ersetzt. Mit diesem Schritt wird die Abhängigkeit der Zeigereingabe von diesen Klassen. (Ia33b2, b/175142755, b/177420019)
AnimierteFloat.fling, das FlingConfig annimmt, wurde entfernt. Bitte verwenden Sie die Funktion „Sperren“. Animatable.animateDecay. (I4659b, b/177457083)
Anklickbar, ein- und auswählbar können jetzt außerhalb der Komposition erstellt werden (I0a130, b/172938345, b/175294473).
Easing wurde in eine funktionale Oberfläche geändert (Ib14e5).
„ScrollableColumn/Zeile“ wurde eingestellt. Die Verwendung von ScrollableColumn ist im Vergleich zu LazyColumn bei großen scrollbaren Inhalten weniger effizient, da wir mit LazyColumn nur sichtbare Elemente zusammensetzen/messen/zeichnen können. Um zu verhindern, dass Nutzer ineffizient arbeiten, haben wir die Funktionen „ScrollableColumn“ und „ScrollableRow“ eingestellt und stattdessen die Nutzung von LazyColumn und LazyRow hochgestuft. Nutzer können dennoch entscheiden, dass sie kein Lazy-Verhalten benötigen, und die Modifikatoren direkt wie folgt verwenden: Column(Modifier.verticalScroll(rememberScrollState())) (Ib976b, b/170468083)
Neue
items(count: Int)
-Factory-Methode für den Bereich von LazyColumn/LazyRow/LazyVerticalGrid.items(items: List)
unditemsIndexed(items: List)
sind jetzt Erweiterungsfunktionen, die bei Verwendung manuell importiert werden müssen. Neue Erweiterungsüberlastungen für Arrays:items(items: Array)
unditemsIndexed(Array)
(I803fc, b/175562574)Die experimentellen monotonicFrameAnimationClockOf-Methoden wurden entfernt (Ib753f, b/170708374).
Die globalen Koordinatenmethoden wurden eingestellt und neuen fensterbasierten Koordinaten. (Iee284)
Modifier.toolingGraphicsLayer wurde hinzugefügt, der beim Einschalten der Prüfung einen Grafikebenen-Modifikator hinzufügt. (I315df)
FocusRequester.createRefs ist jetzt als experimentell gekennzeichnet, da sich dies noch ändern kann. (I2d898, b/177000821)
SemanticsPropertyReceiver.hidden wurde in „invisibleToUser“ umbenannt und als „@ExperimentalComposeUiApi“ gekennzeichnet. AccessibilityRangeInfo wurde in ProgressBarRangeInfo umbenannt. stateDescriptionRange wurde in progressBarRangeInfo umbenannt. AccessibilityScrollState wurde in ScrollAxisRange umbenannt. horizontalAccessibilityScrollState wurde in horizontalScrollAxisRange umbenannt. verticalAccessibilityScrollState wurde in verticalScrollAxisRange umbenannt. (ID3148)
TestCoroutineDispatcher beim Testen nutzen (I532b6)
Aktualisierte Vektorgrafiken API zur Unterstützung des Analysierens der Tönung auf die Stammebene der Vektorgrafik angewendet. (Id9d53, b/177210509)
Version 1.0.0-alpha10
13. Januar 2021
androidx.compose.material:material-*:1.0.0-alpha10
wurde veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.
API-Änderungen
- Geänderte Geschwindigkeit mit Komponenten und mathematischen Geschäftsabläufe. (Ib0447)
@ExperimentalTesting
wurde in@ExperimentalTestApi
umbenannt in entspricht ähnlichen Anmerkungen der experimentellen API (Ia4502, b/171464963).- "Position" wurde in "DpOffset" umbenannt und getDistance() entfernt (Ib2dfd).
- Ranamed Color.useOrElse() zu Color.takeOrElse() (Ifdcf5)
- Ein/Aus-Schaltfläche zur Grundlage Strings.kt hinzufügen (I4a5b7, b/172366489)
- FlowRow und FlowColumn wurden eingestellt. Verwenden Sie stattdessen ein benutzerdefiniertes Layout. (I09027)
- Modifier.focus() und Modifier.focusRequester() wurden eingestellt. Verwenden Sie stattdessen Modifier.focusModifier() und Modifier.focusReference() . (I75a48, b/175160751, b/175160532, b/175077829)
- NativeClass verschoben nach UI-Moduls intern verwendet. Aktualisierte Nutzung von „nativeClass“ in zu verwenden, „is MyClass“ . (I4f734)
Fehlerkorrekturen
- Unterstützung für deaktivierte und schreibgeschützte Textfelder hinzugefügt (I35279, b/171040474, b/166478534)
animate()
wird jetzt durchanimateAsState()
ersetzt. wodurchState<T>
anstelle vonT
zurückgegeben wird. Dies ermöglicht eine bessere da der Umfang der Entwertung eingegrenzt werden kann, bis der Wert "State" gelesen wird. (Ib179e)- Semantics Role API und Role als Parameter hinzufügen klickbar, auswählbar und ein-/ausschaltbarer SemanticsModifier. Geändert Modifier.progressSemantics, damit der Slider sie auch verwenden kann. (I216cd)
Version 1.0.0-alpha09
16. Dezember 2020
androidx.compose.material:material-*:1.0.0-alpha09
wurde veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.
API-Änderungen
- Es wurde eine API hinzugefügt, um die Animation manuell auszulösen und in „Modifier.swipeable“ zu ziehen (Iaa17a, b/162408885).
- *Constants-Objekte wie ButtonConstants wurden umbenannt, sodass sie stattdessen mit „Defaults“, z. B. ButtonDefaults, enden. Entfernt außerdem unnötige
default
-Präfixe aus Attributen in diesen neuen Objekten. (Ibb915, b/159982740) Compose unterstützt Eigenschafts-Getter, die zusammensetzbare Aufrufe erstellen können. Die Unterstützung dafür wird nicht eingestellt, aber die Syntax zum Deklarieren eines Eigenschafts-Getters als @Composable ändert sich.
Die inzwischen eingestellte Syntax dafür war das Annotieren der Eigenschaft selbst:
@Composable val someProperty: Int get() = ...
Die korrekte Syntax hierfür ist jetzt das Annotieren des Getters der Eigenschaft:
val someProperty: Int @Composable get() = ...
Beide Syntaxen funktionieren noch eine Zeit lang, aber die alte eingestellte Syntax wird irgendwann zu einem Kompilierungsfehler werden. (ID9197)
Die
androidx.compose.material:material-ripple
-Bibliothek mit Ripple-APIs wurde hinzugefügt, um interaktive Komponenten zu erstellen, ohne den Rest der Material-Bibliothek benötigen. „memoryRippleIndication“ wurde eingestellt und durch „memoryRipple“ ersetzt. (Ibdf11)
Fehlerkorrekturen
- Lambdas in Offset-Modifikatoren geben jetzt IntOffset statt Float zurück. (Ic9ee5, b/174137212, b/174146755)
ShaderBrush wurde auf eine Shader-Instanz langsam erstellen, Größeninformationen der Zeichnung verfügbar ist. Dies ist nützlich, um Gradienten zu definieren, die vollständige Zeichnungsgrenzen einer zusammensetzbaren Funktion einnehmen während der Erstellung, ohne benutzerdefinierte DrawModifier-Implementierungen implementieren.
Eingestellte APIs für Gradientenfunktionskonstruktoren zugunsten der Fabrikmethoden für ein Gradient-Objekt. (I511fc, b/173066799)
„Modifier.focusObserver“ wurde eingestellt. Verwenden Sie stattdessen Modifier.onFocusChanged oder Modifier.onFocusEvent (I30f17, b/168511863, b/168511484).
LazyColumnFor, LazyRowFor, LazyColumnForIndexed und LazyRowForIndexed werden eingestellt. Stattdessen LazyColumn und LazyRow verwenden (I5b48c)
Dp.VectorConverter, Position.VectorConverter usw. verschoben auf Animationskern aus. Die alte Version von VectorConveters (If0c4b) wurde eingestellt.
Die Autofill API ist jetzt eine experimentelle API und erfordert eine Zustimmung (I0a1ec).
Destruktive Deklarationen zum Erstellen von FocusRequester-Instanzen hinzufügen (I35d84, b/174817008)
„accessibilityLabel“ wurde in „contentDescription“ umbenannt. accessValue wurde in stateDescription umbenannt. (I250f2)
Neue Funktion infiniteRepeatable zum Erstellen einer InfiniteRepeatableSpec (I668e5)
Das Positionierungsverhalten der Drop-down-Menüs wurde entsprechend der Material-Spezifikation leicht geändert. (I34c72, b/168594123)
InteractionState-Unterstützung für Textfelder wurde hinzugefügt. (I61d91)
Modifier.clearAndSetSemantics wurde hinzugefügt, um den Semantik und legen neue fest. (I277ca)
ContentDrawScope wurde in UI-Grafiken verschoben DrawScope-Modul. (Iee043, b/173832789)
Version 1.0.0-alpha08
2. Dezember 2020
androidx.compose.material:material:1.0.0-alpha08
, androidx.compose.material:material-icons-core:1.0.0-alpha08
und androidx.compose.material:material-icons-extended:1.0.0-alpha08
wurden veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.
API-Änderungen
- MaterialTheme legt jetzt die richtigen Farben für Auswahlziehpunkte und den Auswahlhintergrund fest. Nicht-Material-Apps können manuell „AmbientTextSelectionColors“ verwenden, um die für die Auswahl verwendeten Farben anzupassen. (I1e6f4, b/139320372, b/139320907)
- Es wurde eine Lint-Prüfung für die Benennung und Position von zusammensetzbaren Lambda-Parametern hinzugefügt, um die Konsistenz mit den Richtlinien für das Schreiben zu prüfen.
Außerdem wurden einige APIs gemäß der Lint-Prüfung und der Anleitung mit
children
als Namen für das nachgestellte Lambda zucontent
migriert. (Iec48e) - VectorAsset wurde in ImageVector umbenannt. VectorAsset wurde in Builder verschoben und umbenannt in eine innere ImageVector-Klasse gemäß API Council-Richtlinien Typalias von VectorAssetBuilder wurde hinzugefügt zu Link zu ImageVector.Builder für kompatible. (Icfdc8)
- Umbenennung von ImageAsset und Ähnliche Methoden für ImageBitmap. (Ia2d99)
- Fundamentsemantikeigenschaften wurden in die Benutzeroberfläche verschoben (I6f05c)
fun RippleIndication()
wurde verworfen und durchrememberRippleIndication()
ersetzt, um die Konsistenz mit anderen APIs zu wahren. (Id8e2c)- Ein singeLine-Parameter wurde zu BasicTextField, TextField und OutlinedTextField hinzugefügt. Setzen Sie diesen Parameter auf „true“, um das Textfeld zu einer einzigen horizontal scrollbaren Zeile zu machen. (I57004, b/168187755)
Fehlerkorrekturen
- Semantikaktion hinzufügen. Schließen (I2b706)
- DrawModifier-APIs wurden aus der androidx.compose.ui-Paket in den androidx.compose.ui.draw verfügbar. Erstellung der Datei DrawModifierDeprecated.kt in Typaliass/Hilfsmethoden zur Unterstützung bei die Migration von der eingestellten zur aktuellen Version APIs (Id6044, b/173834241)
- „Modifier.drawLayer“ wurde in „Modifier.graphicsLayer“ umbenannt. Ähnliche Klassen zu GraphicsLayer wurden ebenfalls entsprechend aktualisiert. API-Feedback. (I0bd29, b/173834241)
<T>
wurde aus der SubcomposeLayout-Deklaration entfernt. Sie können sie jetzt verwenden, ohne einen Typ anzugeben. (Ib60c8)- Modifier.scale/rotate hinzugefügt
APIs als praktische Funktionen fürdrawLayer.
Modifier.drawOpacity
wurde inModifier.alpha
umbenanntModifier.drawShadow
wurde inModifier.shadow
umbenannt (I264ca, b/173208140)
- Der Ausrichtungsparameter von Box wurde in contentAlignment umbenannt. (I2c957)
- Die „offsetPx“-Modifikatoren wurden in „offset“ umbenannt. Sie verwenden jetzt Lambda-Parameter anstelle von Status. (IC3021, b/173594846)
- Einführung von SweepGradientShader und SweepGradientBrush APIs. (Ia22c1)
- Lint-Prüfung für Modifikatorparameter in zusammensetzbaren Funktionen wurde hinzugefügt. Bei dieser Lint-Prüfung werden Name, Rückgabetyp, Standardwert und Reihenfolge des Parameters auf Konsistenz mit den Richtlinien zum Schreiben geprüft. (If493b)
- Aktualisierte TextFieldValue API
<ph type="x-smartling-placeholder">
- </ph>
- TextFieldValue.composition ist schreibgeschützt.
- Entfernte Ausnahme wegen ungültiger Auswahlbereich (I4a675, b/172239032)
- Neue
Modifier.drawLayer()
-Überlastung hinzugefügt. Dabei wird ein Lambda-Block auf einem neuen GraphicsLayerScope -Element verwendet, bei dem Sie die Ebenenparameter so definieren, dass die Neuzusammensetzung und das Neulayout übersprungen werden können, wenn die Statusänderung erfolgt. DrawLayerModifier ist jetzt intern für die Migration seiner Logik in dieplaceable.placeWithLayer()
-Methode von LayoutModifier (I15e9f, b/173030831). - Die eingestellten Ambients mit dem Suffix
Ambient
wurden gemäß den anderen Richtlinien für Ambients und Compose API durch neue Properties mit dem Präfix „Inaktiv“ ersetzt. (I33440) - Lint-Prüfung wurde hinzugefügt, um zu prüfen, ob Modifier Factorys intern
androidx.compose.ui.composed {}
verwenden, statt als@Composable
gekennzeichnet zu werden. (I3c4bc) - Das Semantik-Argument „mergeAllDescendants“ wurde in umbenannt FusionNachfolger. (Ib6250)
- Die Zeitsteuerung in Tests (TestAnimationClock und ihre Nutzung) ist jetzt experimentell (I6ef86, b/171378521)
- Entfernen Sie das alte UI-Test-Modul und die zugehörigen Stubs (I3a7cb).
- Aus Konsistenz mit anderen Einheiten wurde „TextUnit.Inherit“ in „TextUnit.Nicht angegeben“ umbenannt. (Ifce19)
- Die Benutzeroberfläche für die Ausrichtung wurde aktualisiert und funktionsfähig gemacht. (I46a07, b/172311734)
- id wurde für LayoutIdParentData in layoutId umbenannt. Measurable.id wurde in Measurable.layoutId umbenannt. (Iadbcb, b/172449643)
Version 1.0.0-alpha07
11. November 2020
androidx.compose.material:material:1.0.0-alpha07
, androidx.compose.material:material-icons-core:1.0.0-alpha07
und androidx.compose.material:material-icons-extended:1.0.0-alpha07
wurden veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.
API-Änderungen
- „Betonung“ wurde eingestellt und durch „AmbientContentAlpha“ ersetzt. AmbientContentAlpha ist eine einfachere Abstraktion, die das bevorzugte Alpha-Element für einen Teil der Hierarchie darstellt, ähnlich wie AmbientContentColor die bevorzugte Inhaltsfarbe darstellt. Für Text und Symbol wird jetzt standardmäßig der aktuelle Wert aus AmbientContentAlpha verwendet. Sie können jedoch manuell
color.copy(alpha = AmbientContentAlpha.current)
, um denselben Effekt in Ihren Komponenten zu erzielen. Anstatt ProvideEmphasis zu verwenden, kannst du einfach direkt über AmbientContentAlpha einen Wert angeben und die alten EmphasisLevels durch die neuen Standardstufen in ContentAlpha ersetzen. (Idf03e, b/159017896) - Durch Hinzufügen von androidx.compose.material.AmbientContentColor ersetzt androidx.compose.foundation.AmbientContentColor (I84f7b, b/172067770).
- Fügt androidx.compose.material.Text als Ersatz für androidx.compose.foundation.Text als thematische übergeordnete Textkomponente hinzu. Verwenden Sie BasicText für eine einfache Textkomponente, die nicht die Farbe oder den Textstil des Designs übernimmt. (Ie6ae0)
- MaxLines zu Textfeldern hinzugefügt (Ib2a5b)
- Textfelder aktualisieren, um KeyboardOptions zu akzeptieren (Ida7f3)
- Bei der Berechnung von Höhen-Overlays wird jetzt die absolute (gesamte) Höhe verwendet. Eine in einer anderen Oberfläche verschachtelte Oberfläche verwendet also die kombinierte Höhe, um das Overlay zu zeichnen. (I7bd2b, b/171031040)
Fehlerkorrekturen
captureToBitmap
nach "captureToImage
" verschoben (I86385)- Die Grundlagen AmbientTextStyle, ProvideTextStyle und AmbientContentColor wurden eingestellt. Verwenden Sie stattdessen die neuen Versionen, die in der Material-Bibliothek verfügbar sind. Für nicht-Material-Anwendungen sollten Sie stattdessen Ihr eigenes Designsystem erstellen, das spezifische Design-Ambiente enthält, die in Ihren eigenen Komponenten verwendet werden können. (I74acc, b/172067770)
- Foundation.Text wurde eingestellt und durch material.Text ersetzt. Eine einfache, uneindeutige Text-API, die keine Werte aus einem Design verwendet, finden Sie unter androidx.compose.foundation.BasicText. (If64cb)
- KeyboardOptions umbenennen in ImeOptions (I82f36)
- KeyboardType und ImeAction wurden in KeyboardOptions verschoben (I910ce).
- „BaseTextField“ wurde eingestellt. Verwenden Sie stattdessen BasicTextField. (I896eb)
- Die Annotation ExperimentalSubcomposeLayoutApi wurde entfernt. SubcomposeLayout kann jetzt ohne Hinzufügen von @OptIn (I708ad) verwendet werden.
- FirstBaseline und LastBaseline wurden in das Paket „androidx.compose.ui.layout“ (Ied2e7) verschoben.
- Symbol-API wurde aktualisiert, um Farbe.Nicht angegeben zu erfassen. als mögliche Färbungsfarbe, die das angegebene ohne ColorFilter verwenden. Vorher versucht, die Färbung mit „Color.Nicht spezifiziert“ zu ignorieren. hat am Ende eine transparente Farbe, überhaupt nichts gerendert wurde. (I049e2, b/171624632)
- „relativePaddingFrom“ wurde in „PaddingFrom“ umbenannt. Der Modifikator „PaddingFromBaseline“ wurde hinzugefügt, um die Abstände zwischen Layoutgrenzen und Text-Baselines einfacher festlegen zu können. (I0440a, b/170633813)
- "LaunchedTask" wurde aus Konsistenzgründen in "LaunchedEffect" umbenannt SideEffect und DisposableEffect API LaunchedEffect ohne subject params nicht zulässig sind, um Best Practices zu fördern. (Ifd3d4)
- MeasureResult wurde aus MeasureScope verschoben. (Ibf96d, b/171184002)
- Mehrere Layoutsymbole wurden von androidx.compose.ui nach androidx.compose.layout.ui verschoben. (I0fa98, b/170475424)
Version 1.0.0-alpha06
28. Oktober 2020
androidx.compose.material:material:1.0.0-alpha06
, androidx.compose.material:material-icons-core:1.0.0-alpha06
und androidx.compose.material:material-icons-extended:1.0.0-alpha06
wurden veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.
API-Änderungen
- „androidx.compose.foundation.Icon“ wurde nach „androidx.compose.material.Icon“ verschoben. Sie können auch die Bildkomponente / Modifier.paint() mit einem Painter verwenden, wenn Sie die Material-Bibliothek nicht nutzen möchten. (I9f622)
- Fügt FloatingActionButtonElevation hinzu, um die von UAS in verschiedenen Bundesstaaten verwendete Höhe darzustellen. Die Standardimplementierung finden Sie unter FloatingActionButtonConstants.defaultElevation() (I2d4f5).
- Neue SwitchColors-Oberfläche zur Darstellung von Farben, die von einem Switch in verschiedenen Status verwendet werden. Informationen zum Anpassen dieser Farben finden Sie unter SwitchConstants.defaultColors. (I93805)
- Fügt SchaltflächenElevation und ButtonColors Oberflächen hinzu, um Höhen und Farben darzustellen, die von Schaltflächen in verschiedenen Zuständen verwendet werden. Informationen zum Anpassen dieser Parameter finden Sie in den Standardfunktionen in ButtonConstants. (IC5b7b)
- Fügt die RadioButtonColors-Oberfläche hinzu, um Farben darzustellen, die von einem RadioButton in verschiedenen Zuständen verwendet werden. Unter „RadioButtonConstants.defaultColors()“ finden Sie Informationen zum Anpassen der Farben, die in verschiedenen Zuständen verwendet werden. (I74130)
- Fügt die CheckboxColors-Oberfläche hinzu, um Farben darzustellen, die von einem Kontrollkästchen in verschiedenen Zuständen verwendet werden. Informationen zum Anpassen der in verschiedenen Status verwendeten Farben finden Sie unter „CheckboxConstants.defaultColors()“. (I7dbdb)
Fehlerkorrekturen
- Materialkomponenten legen die Höhe nicht mehr als zIndex fest. Das bedeutet, dass innerhalb desselben übergeordneten Elements das untergeordnete Element mit der größeren Schattengröße nicht automatisch über das untergeordnete Element mit der kleineren gezeichnet wird. Wenn Sie ein solches Verhalten weiterhin benötigen, richten Sie Modifier.zIndex() ggf. manuell ein (I70417, b/170623932).
- VectorPainter einstellen in Erinnerung zu einem besseren Vektor gibt an, dass die intern zusammensetzbare API verwendet „remember“. um Daten in verschiedenen Kompositionen. (Ifda43)
- Übergänge in ComposeTestRule aktivieren Option entfernen, um aktivieren Sie den blinkenden Cursor in ComposeTestRule. (If0de3)
- Einzeilige Tastaturoption für CoreTextField (I72e6d) hinzugefügt
- Radius API wurde umbenannt in Eckenradius für bessere Ausdrucksweise wie sie in Compose verwendet werden. Aktualisierte Dokumentation, um zu zeigen, dass negative Eckenradien an den auf null setzen. (I130c7, b/168762961)
- Refaktoriertes DrawScope und
ContentDrawScope als Schnittstellen,
statt abstrakter Klassen,
<ph type="x-smartling-placeholder">
- </ph>
- CanvasDrawScope-Implementierung erstellt von DrawScope
- Refaktorierte Implementierungen von DrawScope, um stattdessen CanvasScope zu verwenden
- DrawContext wurde zum Zusammenfassen von Abhängigkeiten erstellt für DrawScope
- Verworfene Methoden im DrawScope (I56f5e) entfernt
- Für Box wurde eine Inline-Funktion erstellt. (Ibce0c, b/155056091)
Version 1.0.0-alpha05
14. Oktober 2020
androidx.compose.material:material:1.0.0-alpha05
, androidx.compose.material:material-icons-core:1.0.0-alpha05
und androidx.compose.material:material-icons-extended:1.0.0-alpha05
wurden veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.
API-Änderungen
- Pop-ups und Dialogfelder übernehmen jetzt FLAG_SECURE vom übergeordneten Fenster. Zusätzliche Option zur expliziten Konfiguration (I64966, b/143778148, b/143778149)
- Modifier.swipeable hat jetzt standardmäßig 56.dp-Schwellenwerte für Status (Iab825, b/168610267).
- alle Scaffold-Status als @Stable gekennzeichnet. DraerUnlocksEnabled in ScaffoldState wurde zu Scaffold selbst verschoben. (I36645, b/168297016)
- Entfernt einen Typ, für den Nullwerte zulässig sind, aus Lambda-Parametern von Scaffold. Sie können emptyContent() verwenden, um keinen Inhalt für einen bestimmten Parameter darzustellen. (I2b318, b/157633857, b/158551084)
Die APIs „contentColor()“ und „currentTextStyle()“ werden verworfen und durch AmbientContentColor- und AmbientTextStyle-Ambients ersetzt. Du kannst auf den aktuellen Wert zugreifen, indem du
.current
wie bei jeder anderen Umgebungs-Property verwendest. Diese Änderung dient der Einheitlichkeit und um zu vermeiden, dass dasselbe Ziel auf mehreren Wegen erreicht werden kann. Außerdem werden einige Ambient-Eigenschaften umbenannt, um ihren Zweck wie folgt zu beschreiben:- ContentColorAmbient -> AmbientContentColor (Farbinhalt)
- TextStyleAmbient -> Ambient-Textstil
- IndicationAmbient -> Umgebungsanzeige
- Betonung -> AmbientEmphasisLevel
- RippleThemeAmbient -> AmbientRippleTheme (I37b6d)
Fügt AmbientElevationOverlay hinzu, mit dem das standardmäßige Höhen-Overlay für Oberflächen im dunklen Design angepasst oder deaktiviert werden kann. (I5b74d)
Fehlerkorrekturen
- Im Rahmen der Standardisierung von Sentinel-Werten für Inline-Klassen, Benennen Sie Color.Unset in Color.Unspecific um aus Konsistenz mit anderen Inline-Klassen (I97611, b/169797763)
- TextOverflow.None wird eingeführt. Wenn overflow auf "None" gesetzt ist, kann Text den Überlauf nicht mehr verarbeiten, und er meldet seine tatsächliche Größe an LayoutNode. (I175c9, b/158830170)
- launchInComposition wurde in "LaunchedTask" umbenannt, um der Funktion "Compose" zu entsprechen API-Richtlinien (I99a8e)
- OnPositionedModifier wurde in OnGloballyPositionedModifier umbenannt und onPositioned() wird in onGloballyPositioned() umbenannt. (I587e8, b/169083903)
Version 1.0.0-alpha04
1. Oktober 2020
androidx.compose.material:material:1.0.0-alpha04
, androidx.compose.material:material-icons-core:1.0.0-alpha04
und androidx.compose.material:material-icons-extended:1.0.0-alpha04
wurden veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.
API-Änderungen
- Stellt InteractionState-Parameter in zustandsorientierten Material-Komponenten zur Verfügung, um das Hochziehen des Zustands und das Lesen / Steuern des Zustands zu ermöglichen. (Iaca5f, b/168025711, b/167164434)
- Ändert die
*color
-Parameter für RadioButton und TriStateCheckbox, um die in jedem Status verwendeten Farben vollständig anzupassen sowie gegebenenfalls die Animation der Farben zwischen den Status zu ändern. Weitere Informationen finden Sie in den neuen Farbfunktionen animateDefault* in CheckboxConstants und RadioButtonConstants. (I1c532) - „merkBackdropState“ wurde in „memoryBackdropScaffoldState“ umbenannt und einen zusätzlichen Parameter für die Animationsuhr hinzugefügt. Parameter umbenannt HintergrundScaffoldState von BackdropScaffold zu scaffoldState. Umbenannt von BackdropConstants zu BackdropScaffoldConstants. (Ib644d)
- Die experimentelle BottomSheetScaffold-Komponente wurde hinzugefügt. (Ie02f0, b/148996320)
- Es wurde eine experimentelle ModalBottomSheetLayout-Komponente hinzugefügt. (IC209e, b/148996320)
- Benennt ButtonConstants/FloatingActionButtonConstants.defaultanimateElevation in defaultElevation um und gibt jetzt einen Dp-Wert anstelle eines animateValue zurück. (I5f3ed)
Fehlerkorrekturen
- Aktualisierung vieler Grafik-APIs
<ph type="x-smartling-placeholder">
- </ph>
- Skalierung und Drehung wurden aktualisiert Transformations-APIs verwenden, um eine einzelne Offset-Parameter zur Darstellung des Drehpunkts -Koordinate anstelle einer separaten Gleitkommazahl für die x/y-Koordinaten in DrawScope und DrawTransform
- Rect.expandToInclude und Rect.join entfernt Methoden
- Radius-Dokumentation wurde aktualisiert, um „oval“ anzuzeigen neben dem Crosstrainer
- Eine Dokumentation zur Angabe der öffentlicher Konstruktor für den Inline-Radius sollte nicht direkt aufgerufen werden, Radiusobjekte sollten über ihre Funktionskonstruktoren
- Entfernung der RoundRect-APIs für die Abfrage von topRight, „bottomRight“, „bottomCenter“ usw.
- Eingestellte Rect.shift-Funktion zugunsten von Rect.translate
- RoundRect.grow und Rect.shrink APIs entfernt
- Umbenennung von RoundRect.outerRect in Rect.boundingRect
- RoundRect.middleRect/tallMiddleRect/wideMiddleRect entfernt und Rect.isStadium
- „RoundRect.longestSide“ wurde in „RoundRect.maxDimension“ umbenannt
- „RoundRect.shortestSide“ wurde in „RoundRect.minDimension“ umbenannt
- RoundRect.center ist jetzt eine Eigenschaft anstelle einer Funktion.
- Der RoundRect-Konstruktor wurde so aktualisiert, dass Radius-Eigenschaften genutzt werden. statt einzelner Parameter für x-/y-Radiuswerte
- Größen-APIs, die davon ausgingen, dass es sich um ein Rectangle mit einer bestimmten Größe handelt, wurden entfernt. Ursprung bei 0,0
- Zerstörungs-API zu Radius hinzugefügt
- Migrierte verschiedene RoundRect-Erweiterungsfunktionen Properties stattdessen
- (I8f5c7, b/168762961)
- Foundation.Box wurde eingestellt. Verwende stattdessen „foundation.layout.Box“. (Ie5950, b/167680279)
- Stack wurde in Box umbenannt. Die bisherige Box wird zugunsten der neuen Box in „Compose.foundation.layout“ eingestellt. Das Verhalten des neuen Box besteht darin, untergeordnete Elemente übereinander zu stapeln, wenn sie mehrere untergeordnete Elemente hat. Dies unterscheidet sich vom vorherigen Box, das sich ähnlich wie eine Column verhielt. (I94893, b/167680279)
- Die Parameter „Box decoration“ wurden eingestellt. Wenn Sie Ihre Box mit Verzierungen/Padding versehen möchten, verwenden Sie stattdessen Modifikatoren (Modifier.background, Modifier.Border, Modifier.padding) (Ibae92, b/167680279).
- Aktualisierung vieler Grafik-APIs
<ph type="x-smartling-placeholder">
- </ph>
- DrawScope APIs mit einem Bereich aktualisiert Transformationsmethoden, um anzuzeigen, Transformation nur innerhalb der und entfernt werden, nachdem der Callback aufgerufen wurde.
- Die ClipPath-Dokumentation wurde aktualisiert, sodass sie auf den Pfad verweist. statt mit abgerundetem Rechteck.
- Fester Abstand in der Dokumentation für den rechten Parameter in ClipPath
- DrawScope.drawCanvas wurde umbenannt indrawIntoCanvas und Größenparameter entfernt
- dx/dy-Parameter in inset-Methode umbenannt in horizontal und vertikal
- Zusätzliche eingefügte Überlastung, Wert in alle 4 Grenzen einfügen
- Die Dokumentation zur eingefügten Methode, die angibt, wird diese Einfügung auf alle vier Seiten angewendet.
- Dokumentation für die Rect-Klasse aktualisiert
- Kommentare zu Rect-Parametern wurden aktualisiert, damit sie mit kdoc übereinstimmen. Stil
- Rect.join und Rect.expandToInclude wurden entfernt.
- Überlastung für Rect.translate(offset) und Rect.shift
- (If086a, b/167737376)
- Statische Importe von Inhalten von Layoutbereichen (z.B. alignWithSiblings in RowScope) wurden verhindert. Verwenden Sie stattdessen die explizite Bereichsalternative:
with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }
. (I216be, b/166760797)
Version 1.0.0-alpha03
16. September 2020
androidx.compose.material:material:1.0.0-alpha03
, androidx.compose.material:material-icons-core:1.0.0-alpha03
und androidx.compose.material:material-icons-extended:1.0.0-alpha03
wurden veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.
API-Änderungen
- Benennt den Parameter
onSelect
vonBottomNavigationItem
inonClick
um (I91925, b/161809324) - Fügt einen InteractionState-Parameter zu BottomNavigationItem und Tab hinzu, sodass dieser Zustand angehoben und die Darstellung der Komponente in verschiedenen Zuständen angepasst werden kann. (Ia3e9e, b/168025711)
- Entfernt die Parameter
disabledBackgroundColor
unddisabledContentColor
von Schaltflächen. Verwenden Sie stattdessen die neuen Standardfarbfunktionen in ButtonConstants. Wenn Sie „contentColor“/„backgroundColor“ bereits explizit festlegen, sollten Sie stattdessen diese Standardfunktionen verwenden und einige oder alle Parameter anpassen, um zu vermeiden, dass die Farbe sowohl für den aktivierten als auch für den deaktivierten Zustand überschrieben wird. (If9b52) - Die Hintergrundfarbe von Textfield wendet nicht mehr implizit Alpha der Transparenz an. Stattdessen wird jede über den Parameter backgroundColor bereitgestellte Farbe direkt angewendet. (Iecee9, b/167951441)
- „InnerPadding“ wurde in „PaddingValues“ umbenannt. (I195f1, b/167389171)
- Die Parameter
resistanceFactorAtMin
undresistanceFactorAtMax
inModifier.swipeable
durch einen einzelnen Widerstandsparameter ersetzt. InSwipeableConstants
wurde eine neuedefaultResistanceConfig
-Methode hinzugefügt. (I54238) - Fügt Unterstützung für animierte zustandsorientierte Höhen für Button und FloatingActionButton hinzu. Die Höhe wird nun zwischen dem Standardstatus und dem gedrückten Zustand animiert. Verwenden Sie zum Anpassen der Höhe zwischen Bundesstaaten
ButtonConstants.defaultAnimatedElevation()
undFloatingActionButtonConstants.defaultAnimatedElevation()
, anstatt in allen Fällen einen flachen Dp-Wert festzulegen. (I37925) - „Label“ wurde zu einem optionalen Parameter in TextField und OutlinedTextField (I267f6, b/162234081).
Fehlerkorrekturen
- Globale Testfunktionen wie
onNode
oderwaitForIdle
sind jetzt Veraltet, migrieren Sie zu den neuen Versionen, die im ComposeTestRule (I7f45a) - DpConstraints und APIs, die es verwenden, wurden eingestellt. (I90cdb, b/167389835)
- Die Parameter minWidth und maxWidth von widthIn wurden in min und max umbenannt. Ähnlich verhält es sich mit "preferredWidthIn", "heightIn" und "preferredHeightIn". (I0e5e1, b/167389544)
- Semantikaktionen zum Vor- und Zurückscrollen wurden entfernt. Hinzugefügte Schritte in AccessibilityRangeInfo. (Ia47b0)
- Die Verwendung der Schwerkraft wurde konsequent zur Ausrichtung oder Ausrichtung in Layout-APIs umbenannt. (I2421a, b/164077038)
- onNode und andere globale Methoden zu ComposeTestRule hinzugefügt als die aktuellen globalen werden nicht mehr unterstützt. (Ieae36)
createAndroidComposeRule
undAndroidInputDispatcher
verschoben vonandroidx.ui.test.android
nachandroidx.ui.test
(Idef08, b/164060572)
Version 1.0.0-alpha02
2. September 2020
androidx.compose.material:material:1.0.0-alpha02
, androidx.compose.material:material-icons-core:1.0.0-alpha02
und androidx.compose.material:material-icons-extended:1.0.0-alpha02
wurden veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
API-Änderungen
- Eine experimentelle BackdropScaffold-Komponente wurde hinzugefügt. (Iad908)
Fehlerkorrekturen
- Matrix4 wurde durch Matrix ersetzt. Alle anderen Teile des vectormath-Pakets wurden entfernt. (Ibd665, b/160140398)
Version 1.0.0-alpha01
26. August 2020
androidx.compose.material:material:1.0.0-alpha01
, androidx.compose.material:material-icons-core:1.0.0-alpha01
und androidx.compose.material:material-icons-extended:1.0.0-alpha01
wurden veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.
Bekanntes Problem
= Das erste Zeichen in einem TextField
-Element (Material) kann nicht mithilfe einer Rücktaste entfernt werden (b/165956313).
Version 0.1.0-dev
Version 0.1.0-dev17
19. August 2020
androidx.compose.material:material:0.1.0-dev17
, androidx.compose.material:material-icons-core:0.1.0-dev17
und androidx.compose.material:material-icons-extended:0.1.0-dev17
wurden veröffentlicht. Version 0.1.0-dev17 enthält diese Commits.
API-Änderungen
- Die zuvor eingestellten RadioGroup- und RadioGroupItems wurden entfernt. Stattdessen Row und RadioBotton verwenden (I381b7, b/163806637)
- onFocusChanged-Callbacks aus TextField entfernt. Verwenden Sie stattdessen Modifier.focusObserver. (I51089, b/161297615)
- „Modifier.drawBorder“ wurde eingestellt. Verwenden Sie stattdessen Modifier.Border. Die Border-Datenklasse wurde durch BorderStroke ersetzt (I4257d, b/158160576).
- Einige Eigenschaften in SwipeableState wurden umbenannt: SwipeTarget -> targetValue, SwipeProgress -> Fortschritt, Swipe-Direction -> Richtung. Die Funktion „memorySwipeableState“ zum Erstellen von SwipeableStates wurde hinzugefügt. (I2fc9c, b/163129614, b/163132293)
- Snackbar-Support mit Positionierung und korrekter Wiedergabeliste wurde hinzugefügt. Auf sie kann über die
SnackbarHostState.showSnackbar
-Aussetzungsfunktion zugegriffen werden. Weitere Hinweise: <ph type="x-smartling-placeholder">- </ph>
- SnackbarHost-Komponenten wurden hinzugefügt. Er hostet Snackbars nach Bundesstaat und ist für den Übergang zwischen Snackbars verantwortlich.
- Die SnackbarHostState wurde hinzugefügt, um die Steuerung von Snackbars und Snackbar-Hosts zu ermöglichen und diese von ScaffoldState zu entkoppeln. können Sie auch über
scaffoldState.snackbarHostState
auf diesen Status zugreifen. - Snackbar-Überlastung wurde hinzugefügt, um eine gemeinsame Schnittstelle zwischen SnackbarHostState und Snackbars selbst zu unterstützen. (I79aaa)
- Fügt einen aktivierten Parameter zu IconButton hinzu und ordnet Parameter in IconToggleButton neu an (I0a941, b/161809385, b/161807956)
- Die ListItem-Version mit der stringbasierten API wurde entfernt. Verwenden Sie stattdessen die Slot-Version. (Ib8f57, b/161804681)
- Die eingestellte Komponente „FilledTextField“ wurde entfernt. Verwende stattdessen „TextField“, um die Material Design-Implementierung des ausgefüllten Textfelds zu erhalten. (I5e889)
- AlertDialog verwendet jetzt FlowRow für Schaltflächen (I00ec1, b/161809319, b/143682374).
- In Modifier.swipeable wurden Parameter hinzugefügt, mit denen sich die Anzahl der wenn du über die Grenzen wischst. [min/max]Wertparameter wurden entfernt. (I93d98)
- Der Parameter backgroundColor wurde zu LinearProgressIndicator hinzugefügt und der interne Rahmen aus CircularProgressIndicator entfernt. Neue ProgressIndicatorConstants.DefaultProgressAnimationSpec wurde hinzugefügt, die bei der Animation des Fortschritts zwischen Werten als standardmäßige AnimationSpec verwendet werden kann (If38b5, b/161809914, b/161804677).
- Der optionale Parameter „velocityThreshold“ wurde zu „Modifier.swipeable“ hinzugefügt. (I698ba)
- untenBarSize, fabSize und andere und in ScaffoldState nicht mehr verfügbar. Verwenden Sie stattdessen Modifier.onPosition für die Komponente, deren Größe Sie ermitteln möchten. contentColor- und Modifier-Pamatere wurden Scaffold hinzugefügt (Ic6f7b, b/161811485, b/157174382).
- Benennt einige Parameter in Tab für Konsistenz mit anderen APIs um (Ia2d12, b/161807532)
- Teilt TabRow in TabRow und ScrollableTabRow auf und entfernt isScrollable aus TabRow. Zeigt auch EdgePadding in ScrollableTabRow an, wodurch der kostenlose Platz vor / nach den Tabs gesteuert werden kann. (I583e8, b/161809544)
- Das Objekt
TabRow
wurde entfernt und durch TabConstants ersetzt. TabRow.TabPosition wurde auf die oberste Ebene verschoben (TabPosition), und IndicContainer wurde inindicator
umbenannt. Ausführliche Informationen zur Verwendung der aktualisierten API und zu den Standardeinstellungen finden Sie in den Beispielen und der Dokumentation. (I54d45, b/161809544) - Der Parameter für die Grenzwerte in Modifier.swipeable wurde optimiert. es jetzt nimmt ein Statuspaar (vom Typ T) und gibt den Schwellenwert dazwischen zurück in Form von ThresholdConfig. Ein Parameter „closeThresholds“ wurde hinzugefügt zu SwipeToDismiss - eine Lambda-Funktion (DismissDirection) -> ThresholdConfig übergeben. (IE1080)
- Schieberegler mit mehr Farben für eine detaillierte Anpassung (I73e64, b/161810475)
- Der Farbparameter der Karte wurde in „backgroundColor“ umbenannt (I01fc1, b/161809546).
- Snackbar hat jetzt anpassbare Hintergrund- und Inhaltsfarben (I238f2, b/161804381)
- Die Parameter für die Anpassung, backgroundColor, contentColor und scrimColor wurden den Drawers hinzugefügt (I23655, b/161804378)
- Die zusammensetzbare Funktion
state { ... }
wurde zugunsten von explizite Aufrufe anremember { mutableStateOf(...) }
zur Verdeutlichung. Dies reduziert die API-Oberfläche insgesamt und die Anzahl der Konzepte für den Status Verwaltung und entspricht dem Musterby mutableStateOf()
für die Klasse Property-Delegierung. (Ia5727) - Der Abstandsparameter der Schaltfläche wurde in „contentPadding“ umbenannt (Id252e, b/161809394).
- Fügen Sie eine Komponente für experimentelles Material „SwipeToDismiss“ hinzu. (I129e5)
Fehlerkorrekturen
onChildPositioned
undOnChildPositionedModifier
wurden entfernt. Entwickler solltenonPositioned
undOnPositionedModifier
verwenden stattdessen im untergeordneten Layout. (I4522e, b/162109766)- „mergePolicy“-Lambda wurde zu SemanticsPropertyKey hinzugefügt. Dabei kann es sich um Wird zum Definieren einer benutzerdefinierten Richtlinie für die Semantik von „mergeAllDescendants“ verwendet Zusammenführen. Standardmäßig wird der übergeordnete Wert verwendet, falls bereits vorhanden ist, andernfalls den untergeordneten Wert. (Iaf6c4, b/161979921)
- IntSize ist jetzt eine Inline-Klasse (I2bf42).
PlacementScope.placeAbsolute()
wurde inPlacementScope.place()
umbenannt und die vorherigePlacementScope.place()
wurde inPlacementScope.placeRelative()
umbenannt. Daher spiegelt die MethodePlacementScope.place()
die Position in Rechts-nach-links-Kontexten nicht mehr automatisch wider. Verwenden Sie stattdessenPlacementScope.placeRelative()
. (I873ac, b/162916675)- Eingestellte PxBounds in Rekt. Alle Nutzungen wurden aktualisiert von PxBounds mit Rechteck und addiert ordnungsgemäße Einstellung/Ersetzen durch Vermerken, die bei der Migration. (I37038, b/162627058)
- RRect wurde in RoundRect umbenannt. um besser zum Erstellen von Benennungsmustern Ähnliche Funktionskonstruktoren erstellt RRect- und verworfene RRect-Funktion Konstruktoren (I5d325)
Version 0.1.0-dev16
5. August 2020
androidx.compose.material:material:0.1.0-dev16
, androidx.compose.material:material-icons-core:0.1.0-dev16
und androidx.compose.material:material-icons-extended:0.1.0-dev16
wurden veröffentlicht. Version 0.1.0-dev16 enthält diese Commits.
API-Änderungen
- „Farben“ ist jetzt eine finale Klasse und keine Benutzeroberfläche. Anstatt eine benutzerdefinierte Implementierung zu erweitern und bereitzustellen, sollten Sie einen neuen Ambient für Ihr benutzerdefiniertes Designobjekt erstellen und über den neuen Ambient in Ihren Komponenten auf das Themenobjekt zugreifen, ähnlich wie bei MaterialTheme intern. (Ibae84)
- „ColorPalette“ wurde in „Colors“ umbenannt, um das Farbsystem des Materials besser abzubilden und Verwirrung über „ColorPalette“ als „allgemein“ zu beseitigen Designobjekt und keine spezifische Implementierung des Material-Farbsystems. Außerdem werden lightColorPalette und DarkColorPalette in lightColors bzw. DarkColors umbenannt. (I9e976, b/161812111)
- Benennt den Parameter
text
von BottomNavigationItem inlabel
,onSelected
inonSelect
,activeColor
inselectedContentColor
undinactiveColor
inunselectedContentColor
um und aktualisiert die Parameterreihenfolge gemäß den Richtlinien. (Icb605, b/161809324) Modifier.stateDraggable
wurde vollständig überarbeitet und umbenannt in Modifier.swipeable um. Es wurde eine neue SwipeableState-Klasse eingeführt. DrawerState und BottomDrawerState wurden so refaktoriert, dass sie die Elemente übernehmen. [Modal/Bottom]DrawerLayout nimmt keinen onStateChange-Parameter mehr an. (I72332, b/148023068)- Das Paket „Foundation.shape.corner“ wurde mit dem Paket „foundation.share“ flach dargestellt (I46491, b/161887429).
- ExperimentalMaterialApi-Annotation wurde hinzugefügt. RippleTheme als experimentell gekennzeichnet (Ic5fa0, b/161784800)
- Material FilledTextField wurde in TextField und grundlegendes TextField in BaseTextField umbenannt, damit die einfachste gewünschte API leicht zu finden und zu verwenden ist (Ia6242, b/155482676).
Fehlerkorrekturen
- „OnChildPositioned“ wurde eingestellt. OnPositioned verwenden auf das untergeordnete Element. (I87f95, b/162109766)
- Umfassende API-Fehler beheben (I077bc)
<ph type="x-smartling-placeholder">
- </ph>
- Nicht verwendete OffsetBase-Schnittstelle entfernen
- Richtet die Offset- und IntOffset-Klassen so aus, dass eine einheitliche API-Oberfläche haben,
- Benennen Sie IntOffset.Origin in IntOffset.Zero um. für Konsistenz mit der Offset API
- Die nativeCanvas-Methode wurde aus Canvas verschoben um Kunden bei der Erstellung eigene Canvas-Instanzen
- EmptyCanvas-Stub-Klasse zum Refaktorieren erstellt DrawScope darf kein Null-Parameter sein, Lateinit und sicherstellen, dass das Feld keine Null-Zulässigkeit aufweist
- ClipOp-Enums wurden in Pascal Case umbenannt
- FilterQuality-Enums wurden in Pascal Case umbenannt
- StrokeJoin-Enums wurden in Pascal Case umbenannt
- PointMode-Enums wurden in Pascal Case umbenannt
- PaintingStyle-Enums wurden in Pascal Case umbenannt
- PathFillType-Enums wurden in Pascal Case umbenannt
- StrokeCap-Enums wurden in Pascal Case umbenannt
- Die DrawCache-Implementierung wurde entfernt Lateinit-Parameter verwenden
- DrawScope wurde so aktualisiert, dass die verzögerte Delegierung nicht mehr verwendet wird. für die internen Parameter „fillPaint“ und „strokePaint“
- Das zusammensetzbare Bild wurde aktualisiert, um die Verwendung von Box zu vermeiden für weniger Aufwand
- Outline-Klasse wurde aktualisiert und enthält jetzt @Unveränderliche Annotationen.
- PathNode wurde mit @Unveränderlichen Annotationen aktualisiert für jede Pfadanweisung
- Die Vektorunterzusammensetzung wurde aktualisiert, um redundante Elemente zu entfernen. Bedingte Prüfungen auf Gleichheit, da die Schnittstelle „Compose“ bereits verwendet wird sie
- Verworfene Konstruktormethoden für Rect-Companions zugunsten von Funktionskonstruktoren
- Aktualisierte Brush-Klassen und Funktionskonstruktoren mit @Unveränderliche und @Stable APIs
- VertexMode-Enum wurde auf PascalCase aktualisiert
- Die DrawScope selectPaint-Methode wurde auf bedingt aktualisiert. Strichparameter für die Farbe überschreiben, geändert
- Größe aktualisiert, um destruktive API hinzuzufügen, umbenennen "Nicht spezifiziert" in "Nicht angegeben" geändert und nicht verwendete Methoden entfernt
- Dialogfeld in Benutzeroberfläche verschieben (I47fa6)
SemanticsNodeInteraction.performPartialGesture
wurde entfernt. Verwenden Sie StattdessenSemanticsNodeInteraction.performGesture
. (Id9b62)SemanticsNodeInteraction.getBoundsInRoot()
wurde umbenannt inSemanticsNodeInteraction.getUnclippedBoundsInRoot()
(Icafdf, b/161336532)- Die APIs für die Unterstützung von Rechts-nach-links wurden aktualisiert. LayoutDirectionAmbient wurde hinzugefügt, um die Layoutrichtung zu lesen und zu ändern. Modifier.rtl und Modifier.ltr wurden entfernt. (I080b3)
- „Modifier.deternimateProgress“ wurde in „Modifier.progressSemantics“ (I9c0b4) umbenannt
- Aktualisierung von material-icons-erweitert mit den neuesten Symbolen, die Material.io/icons (I4b1d3) hinzugefügt wurden
- Ausdrückliche Angabe des Typs T verlangen für „transitDefinition“. (I1aded)
- Modifier.plus wurde eingestellt. Verwenden Sie stattdessen "Modifier.then". „Dann“ ein stärkeres Signal für die Reihenfolge hat, während gleichzeitig die Eingabe von
Modifier.padding().background() + anotherModifier
unterbunden wird, wodurch die Kette unterbrochen wird und schwerer zu lesen ist (Iedd58, b/161529964). - AndroidComposeTestRule wurde in „createAndroidComposeRule“ umbenannt. (I70aaf)
- Fügen Sie isFocused() und isNotFocused() SemanticsMatcher hinzu. (I0b760)
BaseGestureScope.globalBounds
wurde entfernt. die in Tests verwendet werden. Verwenden Sie lokale Koordinaten des Knotens, mit dem Sie sich gerade befinden. interagieren können. (Ie9b08)- Pop-up-Position in ausgeschnittenen Displays wurde fixiert. (Idd7dd)
- "Modifier.drawBackground" wurde in "Modifier.background" umbenannt (I13677).
Version 0.1.0-dev15
22. Juli 2020
androidx.compose.material:material:0.1.0-dev15
, androidx.compose.material:material-icons-core:0.1.0-dev15
und androidx.compose.material:material-icons-extended:0.1.0-dev15
wurden veröffentlicht. Version 0.1.0-dev15 enthält diese Commits.
Abhängigkeiten aktualisieren
- Wenn Sie die
0.1.0-dev15
-Version von Compose verwenden möchten, müssen Sie Ihre Abhängigkeiten aktualisieren gemäß den neuen Code-Snippets, die oben unter Abhängigkeiten angeben aufgeführt sind.
API-Änderungen
Die Anmerkung
@Model
wurde verworfen. Verwenden Sie „state“ und „mutableStateOf“ als Alternativen. Diese Entscheidung über die Einstellung wurde nach sorgfältiger Diskussion getroffen.Begründung
Mögliche Gründe:
- Reduziert die API-Oberfläche und die Konzepte, die wir vermitteln müssen
- Bessere Anpassung an andere vergleichbare Toolkits (Swift UI, React, Flutter)
- Reversible Entscheidung.
@Model
kann später jederzeit wiederhergestellt werden. - Vermeidet Grenzfälle und schwierig zu beantwortende Fragen zur Konfiguration von
@Model
als Aufgaben, die wir übernehmen müssen. @Model
-Datenklassen, ist gleich, Hashcode usw.- Wie kann ich dafür sorgen, dass einige Eigenschaften „beobachtet“ werden und andere nicht?
- Wie lege ich fest, ob strukturelle und referenzielle Gleichheit in der Beobachtung verwendet werden soll?
- Reduziert „Magie“ im System. Würde die Wahrscheinlichkeit verringern, dass jemand annimmt, dass das System intelligenter ist als es ist (d. h., es wüsste, eine Liste zu vergleichen)
- Macht die Granularität der Beobachtung intuitiver.
- Verbessert die Refaktorierbarkeit von Variablen -> Property der Klasse
- Gibt möglicherweise Möglichkeiten für handgefertigte zustandsspezifische Optimierungen frei
- Passt besser zum Rest des Ökosystems und reduziert die Ambiguität in Bezug auf unveränderliche oder uns „veränderliche Zustand“.
Hinweise zur Migration
Fast alle bestehenden Nutzungen von
@Model
werden auf eine von zwei Arten transformiert. Das folgende Beispiel hat eine@Model
-Klasse mit zwei Attributen, die nur für dieses Beispiel genutzt werden, und die in einer zusammensetzbaren Funktion verwendet wird.@Model class Position( var x: Int, var y: Int ) @Composable fun Example() { var p = remember { Position(0, 0) } PositionChanger( position=p, onXChange={ p.x = it } onYChange={ p.y = it } ) }
Alternative 1:
State<OriginalClass>
verwenden und Kopien erstellen.Dieser Ansatz wird durch die Datenklassen von Kotlin vereinfacht. Im Wesentlichen wandeln Sie alle zuvor
var
-Properties inval
-Properties einer Datenklasse um, verwenden dannstate
anstelle vonremember
und weisen den Statuswert geklonten Kopien des Originals mithilfe der Datenklasse-copy(...)
-Methode zu.Beachten Sie, dass dieser Ansatz nur funktioniert, wenn die einzigen Mutationen an dieser Klasse im selben Bereich wie die
State
-Instanz vorgenommen wurden. Wenn sich die Klasse intern außerhalb des Anwendungsbereichs ändert und Sie sich auf diese Beobachtung verlassen, ist der nächste Ansatz der richtige Ansatz, den Sie verwenden werden.data class Position( val x: Int, val y: Int ) @Composable fun Example() { var p by state { Position(0, 0) } PositionChanger( position=p, onXChange={ p = p.copy(x=it) } onYChange={ p = p.copy(y=it) } ) }
Alternative 2: „MadableStateOf“ und Property-Bevollmächtigte verwenden
Dieser Ansatz wird durch die Property-Delegaten von Kotlin und die
mutableStateOf
API vereinfacht, mit der Sie MutableState-Instanzen außerhalb der Komposition erstellen können. Ersetzen Sie im Wesentlichen allevar
-Properties der ursprünglichen Klasse durchvar
-Properties mitmutableStateOf
als Property-Delegaten. Dies hat den Vorteil, dass sich die Verwendung der Klasse überhaupt nicht ändert, sondern nur ihre interne Implementierung. Das Verhalten ist jedoch nicht ganz mit dem ursprünglichen Beispiel identisch, da jetzt jede Property einzeln beobachtet/abonniert wird. Daher könnten die Neuzusammensetzungen, die Sie nach dieser Refaktorierung sehen, enger gefasst sein (eine gute Sache).class Position(x: Int, y: Int) { var x by mutableStateOf(x) var y by mutableStateOf(y) } // source of Example is identical to original @Composable fun Example() { var p = remember { Position(0, 0) } PositionChanger( position=p, onXChange={ p.x = it } onYChange={ p.y = it } ) }
(I409e8, b/152050010, b/146362815, b/146342522, b/143413369, b/135715219, b/7143263) b/143263}
"onFocusChange"-Callback in Textfeldern wurde in "onFocusChanged" umbenannt (Ida4a1).
Schwellenwertparameter in stateDraggable hinzugefügt, um Schwellenwerte anzugeben zwischen den Ankern. Damit wurde ein 56-dp-Grenzwert in der unteren Leiste festgelegt. Außerdem verwendet BottomDrawerLayout jetzt eine separate BottomDrawerState -Enum. (I533fa)
Entfernt zuvor verworfenes Modifier.ripple. „Anklickbar“ verwendet jetzt Ripple als Standardanzeige (wenn Sie in Ihrer Anwendung ein MaterialTheme {} festgelegt haben). In den meisten Fällen können Sie also einfach „anklickbar“ verwenden und die Ripple-Anzeige kostenlos erhalten. Wenn Sie den Parameter color / size / bounded für die Verbreitung anpassen müssen, können Sie manuell eine RippleIndication erstellen und als Indication-Parameter an anklickbar übergeben. (I663b2, b/155375067)
Die nicht mehr unterstützte Überschreibung der zusammensetzbaren Funktion "FilledTextField" (I7f8f8) wurde entfernt.
Button-Objekt, das die von der Button-Funktion verwendeten Standardwerte enthält, in ButtonConstants (I7c5f7, b/159687878) umbenennen
Die Inhaltsfläche der Schaltfläche verhält sich jetzt wie eine Zeile. Das ist nützlich, wenn Sie ein Symbol mit einem Text benötigen, siehe Beispiele zum Schreiben der Schaltfläche. (I0ff10, b/158677863)
„RadioGroup“ und „RadioGroupItem“ wurden eingestellt. Verwenden Sie „Box“ mit „Modifier.selectable“, „Zeile“ und „Spalte“, um die richtige Auswahl von Optionsfeldern gemäß Ihrem Design zu treffen (I7f5cf, b/149528535).
Material Outlined Textfield wurde hinzugefügt (I1a518).
androidx.ui.foundation.TextFieldValue und „androidx.ui.input.EditorValue“ wurde eingestellt. „TextField“, Zusammensetzbare Funktionen von FilledTextField und CoreTextField, bei denen wird dieser Typ ebenfalls nicht mehr unterstützt. Bitte verwenden Sie Stattdessen androidx.ui.input.TextFieldValue (I4066d, b/155211005)
TabRow.TabPosition enthält keine Position in Dp, nicht in IntPx (I34a07, b/158577776)
Verwendung von IntPx durch Int.- IntPxPosition ersetzt mit IntOffset. "IntPxSize" wurde durch "IntSize" ersetzt. (Ib7b44)
Um die Conversion-Raten Anzahl der Klassen, die für Größeninformationen, standardisieren bei Verwendung der Klasse „Size“ von PxSize. Dies bietet die Vorteile einer Inline-Klasse an, um eine lange um 2 Gleitkommawerte zu packen, als Gleitkommazahlen dargestellt. (IC0191)
Einstellung von Modifier.ripple „Anklickbar“ verwendet jetzt Ripple als Standardanzeige (wenn Sie in Ihrer Anwendung ein MaterialTheme {} festgelegt haben). In den meisten Fällen können Sie also einfach „anklickbar“ verwenden und die Ripple-Anzeige kostenlos erhalten. Wenn Sie den Parameter color / size / bounded für die Verbreitung anpassen müssen, können Sie manuell eine RippleIndication erstellen und als Indication-Parameter an anklickbar übergeben. (I101cd, b/155375067)
Die Scaffold API wurde überarbeitet: Einige Parameter haben ihren Namen geändert und neue Parameter zur besseren Anpassung hinzugefügt. Getter zu Abfragegrößen von Fab, TopBar und BottomBar (I0e7ce) hinzugefügt
Die Komponente "Dropdown-Menü" wurde zu UI-Material hinzugefügt, einer Implementierung des Material Design-Menüs. (I9bb3d)
Manuelles Ein-/Ausblenden der Softwaretastatur mit SoftwareKeyboardController zulassen (Ifb9d6, b/155427736)
Modifier.indication wurde dem Foundation-Paket hinzugefügt. Hiermit können Sie Informationen zum Drücken/Ziehen/Sonstiges auf Ihren benutzerdefinierten, interaktiven Elementen einblenden (I8425f, b/155287131).
Konsolidierte CanvasScope-Implementierungen Jetzt gibt es nur DrawScope und ContentDrawScope CanvasScope wurde in DrawScope umbenannt. DrawScope aktualisiert, um Dichte zu implementieren und LayoutDirection Die abgeleitete DrawScope-Klasse in ContentDrawScope wurde gelöscht Painter und PainterModifier wurden aktualisiert kein RTL-Attribut mehr da DrawScope dies bereits ohne sie manuell anzugeben (I1798e).
Benennt Emphasis.summarize() in Emphasis.applyEmphasis() (Iceebe) um.
Deaktivierte Schaltflächen entsprechen jetzt visuell der Material Design-Spezifikation (I47dcb, b/155076924).
FilledTextField erhält ime-Action, visuelle Transformation und Unterstützung für Tastaturtypen (I1f9cf, b/155075201)
Fügt dem CircularProgressIndicator den Parameter „strokeWidth“ hinzu, um die Strichgröße anzupassen. Um die Strichgröße (Höhe) eines LinearProgressIndicator-Elements zu ändern, können Sie Modifier.preferredHeight() oder einen anderen Größenmodifikator verwenden. (Icea16, b/154919081)
Fügt dem CircularProgressIndicator den Parameter „strokeWidth“ hinzu, um die Strichgröße anzupassen. Um die Strichgröße (Höhe) eines LinearProgressIndicator-Elements zu ändern, können Sie Modifier.preferredHeight() oder einen anderen Größenmodifikator verwenden. (Icea16, b/154919081)
Slot-API für nachgestellte und führende Symbole im FilledTextField und die Verarbeitung des Fehlerstatus (Ic12e0) wurde hinzugefügt.
Die Standardfarbe von FAB und Extended FAB wurde in MaterialTheme.colors.secondary geändert. (I3b9b9, b/154118816)
Alle Farbverwendungen, für die Nullwerte zulässig sind, in der API ersetzt durch keine Nullwerte zulässig und "Color.Unset" anstelle von "null" verwenden (Iabaa7)
EdgeInsets wurde in InnerPadding umbenannt. Der Parameter innerPadding von Material Buttons wurde in paddding umbenannt. (I66165)
Schieberegler ist jetzt zustandslos. Nutzer müssen den Status genau wie bei jeder anderen Einstellung selbst übergeben und aktualisieren. (Ia00aa)
StaticDrawer wurde entfernt. Verwenden Sie bei Bedarf stattdessen Box mit der Breite des Materials (I244a7).
Die Material Design-Implementierung des ausgefüllten Textfelds (Ic75cd) wurde hinzugefügt.
Modifikatorparameter wurden zu ListItem hinzugefügt und Parameter neu angeordnet zu Nachgestellten Lambda-Text bewerben (I66e21)
Fügt Typography einen defaultFontFamily-Konstruktorparameter hinzu, sodass die Standardschriftfamilie angegeben werden kann, die für die bereitgestellten TextStyles verwendet wird, für die keine Familie festgelegt ist. (I89d07)
Material Data Tables wurden vorübergehend aus der API-Oberfläche entfernt. (Iaea61)
Umbenannte Parameter in der zusammensetzbaren Trennlinie (Ic4373)
Kinder (Ia6d19)
Entfernt MaterialTheme.emphasisLevels. Verwenden Sie stattdessen „EmphasisAmbient.current“, um die Betonungsstufen abzurufen (Ib5e40).
Das Shape-Motiving-System wird gemäß der Material Design-Spezifikation aktualisiert. Sie können jetzt kleine, mittlere und große Formen für die meisten Komponenten angeben (Ifb4d1).
MaterialTheme-APIs wie MaterialTheme.colors() und MaterialTheme.typography() wurden in Eigenschaften und nicht als Funktionen geändert. Entfernen Sie Klammern aus vorhandenen Aufrufen. Es ist keine Verhaltensänderung zu erwarten. (I3565a)
FloatingActionButton APIs überarbeitet, sodass zusammensetzbare Funktionen akzeptiert werden Lambdas anstelle von Primitiven. Aktualisierte Nutzungsbeispiele ansehen Informationen. (I00622)
Parameter
enabled
zu „Kästchen“, „Wechsel“ und „Ein/Aus-Schaltfläche“ hinzufügen (I41c16)Ripple ist jetzt ein Modifikator. Obwohl Clickable noch nicht konvertiert wurde, wird die Verwendung von
Clickable(onClick = { ... }, modifier = ripple())
(Ie5200, b/151331852, b/150060763) empfohlen.Oberfläche und Karte wurden von androidx.ui.material.surface nach androidx.ui.material verschoben (I88a6d, b/150863888).
Button, FloatingActionButton und Clickable haben jetzt einen separaten
enabled
-Parameter. Einige der Parameter der Schaltfläche wurden umbenannt oder neu angeordnet. (I54b5a)Umbenennung von Bild in ImageAsset, um den Unterschied zwischen den Bilddaten und der zukünftigen zusammensetzbaren Funktion für das Layout und die Zeichnungen besser zu unterscheiden _Body:Erweiterungsmethode auf android.graphics.Bitmap erstellt Bitmap.asImageAsset(), zum Erstellen einer Instanz eines Nützliches ImageAsset für die Kombination herkömmlicher Android- Anwendungsentwicklung mit dem Framework „Compose“ (Id5bbd)
Snackbar-API mit Zeichenfolgenparametern zugunsten der Verwendung von der Überlast, die zusammensetzbare Lambdas akzeptiert. Aktualisierte Beispiele für Nutzungsinformationen (I55f80)
Tab-APIs wurden überarbeitet, um die Lambdas
text
undicon
zu akzeptieren (Ia057e).BottomNavigation-Komponente hinzugefügt. Siehe Dokumentation und Beispiele für Nutzungsinformationen (I731a0)
Icon, IconButton und IconToggleButton wurden hinzugefügt, um AppBarIcon zu entfernen. Sie können bestehende Nutzungen von AppBarIcon direkt durch IconButton, und haben jetzt das richtige Berührungsziel. Beispiele für Nutzungsinformationen und siehe Symbole für die bereitgestellten Material Icons die Sie direkt mit diesen Komponenten verwenden können. (I96849)
Ersetzen von ButtonStyle durch eigene Funktionen und entfernte Textüberlastung (Zeichenfolge). Informationen zur Nutzung finden Sie in den aktualisierten Beispielen. (If63ab, b/146478620, b/146482131)
Border
-Modifikator inDrawBorder
umbenennen (I8ffcc)LayoutCoordinates verfügt nicht mehr über eine Positionseigenschaft. Die ist bei der Berücksichtigung von LayoutModifiers, Rotation oder Skalierung. Stattdessen sollten Entwickler „parentCoordinates“ verwenden undchildToLocal(), um die Transformation aus einem LayoutCoordinate an ein anderes gesendet.
LayoutCoordinates verwendet IntPxSize für die Größeneigenschaft anstelle von PxSize. Layouts verwenden ganzzahlige Pixelgrößen für Layouts, sodass alle Layoutgrößen sollten Ganzzahlen und keine Gleitkommawerte verwendet werden. (I9367b)
Nicht abwärtskompatible Änderungen an der Ambients API. Weitere Informationen finden Sie in der Protokoll- und
Ambient<T>
-Dokumentation (I4c7ee, b/143769776).Die Komponente „Gerüstmaterial“ wurde hinzugefügt. Gerüstimplementierungen (I7731b)
DrawBorder durch Rahmenmodifikator ersetzt (Id335a)
Fehlerkorrekturen
- FocusModifier wird zugunsten von Modifier.focus, Modifier.focusRequester und Modifier.focusObserver eingestellt. FocusState und FocusdetailState wurden zugunsten von FocusState2 eingestellt (I46919, b/160822875, b/160922136).
- VerticalScroller und HoriziontalScroller wurden eingestellt. Verwenden Sie „ScrollableColumn“ und „ScrollableRow“, um das Spalten-/Zeilenverhalten und die Parameter zu integrieren, oder verwenden Sie „Modifier.verticalScroll“ und „Modifier.horizontalScroll“ für Ihr eigenes Element. ScrollerPosition wurde zugunsten von ScrollState eingestellt. (I400ce, b/157225838, b/149460415, b/154105299)
- Die APIs Modifier.draggable und Modifier.scrollable wurden überarbeitet. DragDirection wurde zugunsten der Ausrichtung entfernt. Der für das Scrollen erforderliche Status wurde vereinfacht. ScrollableState wurde in ScrollableController umbenannt (Iab63c, b/149460415).
runOnIdleCompose
umbenannt inrunOnIdle
(I83607)- Für Einzelwert-Semantikeigenschaften wird jetzt ein Aufrufstil verwendet. Beispiel: 'semantics { hide = true }' wird jetzt geschrieben als: „Semantik {hidden()}“. (Ic1afd, b/145951226, b/145955412)
- Mehrere Test-APIs wurden umbenannt, um die Intuitivität zu verbessern. Alle Die APIs „findXYZ“ wurden in „onNodeXYZ“ umbenannt. Alle doXYZ APIs wurden umbenannt in PerformXYZ. (I7f164)
- Transition API wurde geändert und gibt jetzt Folgendes zurück: TransitionState anstelle von TransitionState übergeben für Kinder. Dadurch wird die API konsistenter mit animate() verwenden. (I24e38)
- Es wurde eine IntBounds-Einheitenklasse hinzugefügt, die Ganzzahl-Pixelgrenzen aus dem Layout darstellt. Die API von PopupPositionProvider wurde für die Verwendung aktualisiert. (I0d8d0, b/159596546)
- Für Test-Finder wurde das optionale Flag „useUnmergedTree“ hinzugefügt. (I2ce48)
- Veraltete APIs für Größentests wurden entfernt. (Iba0a0)
- Shader-Inline-Klasse entfernt, die die NativeShader-Erwartungsklasse umschlossen NativeShader wurde in Shader umbenannt. Die umschlossene Shader-Inline-Klasse keine wertvollen Informationen zur API-Oberfläche hinzufügen. und war eine Inline-Klasse. Verwenden Sie daher den NativeShader . (I25e4d)
- Pop-ups, Dialogfelder und Menüs übernehmen jetzt das kontextbezogene MaterialTheme (Ia3665, b/156527485).
- Im Drop-down-Menü für Material kann jetzt gescrollt werden. (Ide699)
- Der Layout-Richtungsparameter wurde aus dem Messblock der Layout()-Funktion entfernt. Die Layoutrichtung ist jedoch innerhalb des Callbacks über das Messungsbereichsobjekt verfügbar (Ic7d9d).
- Verwenden Sie in den APIs der obersten Ebene AnimationSpec anstelle von AnimationBuilder zur Verdeutlichung des Konzepts der Spezifikation für statische Animationen – Übergangs-DSL verbessern, indem die Lambda-Anforderung für AnimationSpecs wie Tween, Spring. Stattdessen nehmen sie -Konstruktorparameter. - Verbesserte Benutzerfreundlichkeit von AnimationSpec statt sich auf Builder zu verlassen, - Ändern Sie die Dauer und die Verzögerung für KeyFrames und "Tween" zu "Int". Dieses vermeidet unnötige Typumwandlungen und Methodenüberlastung (für Long und Int unterstützt). (Ica0b4)
- Der Schalter wird jetzt deaktiviert, wenn
enabled
auf „false“ gesetzt ist (If4624, b/155941869, b/159331694). - „Modifier.tag“ wurde in „Modifier.layoutId“ umbenannt, um eine Verwechslung mit „Modifier.testTag“ zu vermeiden. (I995f0)
- Die von Placeable#get(AlignmentLine) zurückgegebenen Int-Positionen der Ausrichtungszeile sind jetzt nicht null. Wenn die abgefragte Ausrichtungszeile fehlt, wird „AlignLine.Unspecific“ zurückgegeben. (I896c5, b/158134875)
Refaktorierte Radiusklasse zu Inline-Klasse. Companion-Erstellung entfernt zugunsten des Funktionskonstruktors mit Standardparameter für den Umkreis der Y-Achse mit denen der obligatorischen x-axis radius.
DrawScope.drawRoundRect für die Datenaufnahme aktualisiert nur einen Radius-Parameter statt zwei separater Gleitkommawerte für den Radius entlang von x und y Achse (I46d1b)
Um die Conversion-Raten Anzahl der Klassen, die für wie Positionierungsinformationen, bei Verwendung der Offset-Klasse von PxPosition. Dies bietet die Vorteile einer Inline-Klasse an, um eine lange um 2 Gleitkommawerte zu verpacken, die x darstellen und Y-Offsets, dargestellt als Gleitkommazahlen. (I3ad98)
Verwendung der Px-Klasse in verschiedenen Erstellen von Klassen als Teil des großen Refaktorierungsaufwand, nur auf Dp zurückzugreifen und primitive Typen für Pixelparameter. Vollständige Px-Klasse gelöscht (I3ff33)
Ein/Aus-Schaltfläche wird nicht mehr unterstützt. Verwenden Sie stattdessen Modifier.toggleable (I35220, b/157642842).
Verwendung der Px-Klasse in verschiedenen Erstellen von Klassen als Teil des großen Refaktorierungsaufwand, nur auf Dp zurückzugreifen und primitive Typen für Pixelparameter (I086f4)
Verwendung der Px-Klasse in verschiedenen Erstellen von Klassen als Teil des großen Refaktorierungsaufwand, nur auf Dp zurückzugreifen und primitive Typen für Pixelparameter (Id3434)
Verwendung der Px-Klasse in verschiedenen Erstellen von Klassen als Teil des großen Refaktorierungsaufwand, nur auf Dp zurückzugreifen und primitive Typen für Pixelparameter (I97a5a)
Ein Problem wurde behoben, das für das nicht aufgerufene Deezer für DropdonMenuItems verantwortlich war. (I3998b, b/157673259)
MutuallyExclusiveSetItem wurde eingestellt. Verwenden Sie stattdessen Modifier.selectable. (I02b47, b/157642842)
TestTag wurde eingestellt. Verwenden Sie stattdessen Modifier.testTag. (If5110, b/157173105)
Der Cursor von TextField blinkt (Id10a7).
Verwendung der Px-Klasse in verschiedenen Erstellen von Klassen als Teil des großen Refaktorierungsaufwand, nur auf Dp zurückzugreifen und primitive Typen für Pixelparameter (I19d02)
VerticalScroller stellt jetzt „Column“ (Spalte) jetzt standardmäßig zur Verfügung. HorizontalScroller stellt jetzt Row Out of the Box bereit. (Ieca5d, b/157020670)
Verwendung der Px-Klasse in verschiedenen Erstellen von Klassen als Teil des großen Refaktorierungsaufwand, nur auf Dp zurückzugreifen und primitive Typen für Pixelparameter (Iede0b)
„modifier.semantics“ wurde nicht mehr eingestellt, um die Verwendung von übergeordneten Komponenten zu ermöglichen. (I4cfdc)
Die DrawLayer-Modifikator-API wurde geändert: outlineShape wurde in Form umbenannt, hat den Standardwert für RectangleShape und kann jetzt keine Nullwerte annehmen. "clipToOutline" wurde in "Clip" umbenannt. „clipToBounds“ wurde entfernt, da das Element „clip == true“ mit RectangleShape ist (I7ef11, b/155075735)
Höhere Ebene aktualisiert APIs erstellen, die einen Canvas für CanvasScope. Dadurch wird Folgendes entfernt: die Notwendigkeit, dass die Verbraucher eigenen Paint-Objekten erstellen. Für Verbraucher, die benötigen weiterhin Zugriff auf einen Canvas, können sie die Erweiterung „drawCanvas“ verwenden, -Methode, die einen Callback des Problems liefert Zeichenbefehle mit der zugrunde liegenden Canvas (I80afd)
Die zusammensetzbare Funktion „AlignLineOffset“ wurde eingestellt. Verwenden Sie stattdessen den Modifikator relativePaddingFrom(). Die zusammensetzbare Funktion „CenterAlignmentLine“ wurde entfernt. (I60107)
Die nachgestellte Lambda API mit Einschränkungen wurde geändert. Jetzt hat es anstelle von zwei Parametern einen Empfängerbereich, der zusätzlich zu den Einschränkungen und „layoutDirection“ die Eigenschaften „minWidth“, „maxWidth“, „minHeight“ und „maxHeight“ in dp bereitstellt (I91b9a, b/149979702).
Der Layoutmodifikator „defaultMinSizeConstraints“ wurde hinzugefügt, der nur dann Größenbeschränkungen für das umschlossene Layout festlegt, wenn die eingehenden entsprechenden Einschränkungen nicht angegeben sind (0 für minimale Einschränkungen und unendlich für maximale Einschränkungen). (I311ea, b/150460257)
FocusManagerAmbient wurde entfernt. Verwenden Sie FocusModifier.requestFocus , um den Fokus zu erhalten. (IC4826)
Es wurde eine CanvasScope API erstellt, die eine Canvas-Objekt zur Bereitstellung eines zustandslosen, deklarativen der Zeichen-API-Oberfläche. Transformationen sind enthalten vom eigenen Empfängerumfang und den Größeninformationen wird auch den entsprechenden Einsatzgrenzen zugeordnet. Es ist für den Nutzer nicht erforderlich, seinen eigenen Paint-Status beizubehalten. zum Konfigurieren von Zeichenvorgängen.
CanvasScopeSample sowie hat die Demo-App aktualisiert, sodass sie eine deklarative Grafik Demo (Ifd86d)
Anpassung der Cursorfarbe für das Textfeld (I6e33f)
TextFieldValue, der mit TextField verwendet wird, kann jetzt in folgenden Fällen verwendet werden:
var text by savedInstanceState(saver = TextFieldValue.Saver) { TextFieldValue() }
(I5c3ce, b/155075724)LayoutModifier2 wurde in LayoutModifier umbenannt. (Id29f3)
Die eingestellte Layout-Modifier-Oberfläche wurde entfernt. (I2a9d6)
CoreTextField/TextFieldfocusIdentifier ersetzt mit FocusNode, um in das Fokus-Subsystem zu integrieren. (I7ea48)
Die Funktionen für intrinsische Messungen in Layout und LayoutModifier2 verfügen jetzt über einen IntrinsicMeasureScope-Empfänger, der nun eine intrinsische Abfrage-API mit implizit übernommener Layout-Richtung bereitstellt. (ID9945)
Neu wurde Modifier.zIndex() hinzugefügt, um die Zeichenreihenfolge der untergeordneten Elemente innerhalb desselben übergeordneten Layouts zu steuern. Die Höheneigenschaft von DrawLayerModifier wurde in shadowElevation umbenannt und steuert nicht mehr die Zeichenreihenfolge. Die Reihenfolge der Parameter in DrawShadow wurde geändert: Die Höhe ist jetzt die erste und die Form ist die zweite. Die Standardform lautet RectangleShape. (I20150, b/152417501)
RectangleShape wurde von androidx.ui.foundation.shape.* nach androidx.ui.graphics.* verschoben. (Ia74d5, b/154507984)
Update der TextField API – onFocus- und onBlur-Callbacks wurden zu einem einzelnen onFocusChange(Boolean)-Callback mit dem Parameter (I66cd3) zusammengeführt.
Die Parameter verticalGravity und horizontalGravity wurden zu Zeile bzw. Spalte hinzugefügt. (I7dc5a)
„wrapContentWidth“ und „wrapContentHeight“ wurden aktualisiert und sind nun mit der vertikalen oder horizontalen Ausrichtung anstelle der Ausrichtung zu erwarten. Der Schwerkraftmodifikator wurde aktualisiert und akzeptiert nun die vertikale oder horizontale Ausrichtung. Zeilen, Spalten und Stapel wurden aktualisiert, um benutzerdefinierte fortlaufende Ausrichtungen zu unterstützen. (Ib0728)
Erstellung einer PixelMap-API zur Unterstützung Abfragen von Pixelinformationen aus einem ImageAsset (I69ad6)
Entfernt ProvideContentColor, verwende stattdessen ContentColorAmbient direkt mit
Providers
(Iee942)Das Modul ui-text-compose wurde in ui-text umbenannt. UI-Text enthält jetzt zusammensetzbare Funktionen in CoreText und CoreTextField (Ib7d47).
Modul ui-text wurde in ui-text-core umbenannt (I57dec).
ui-framework/CoreText und CoreTextField-Zusammensetzbare Funktionen verschoben nach ui-text-compose verwenden. Sie können ui-text-compose in Ihr Projekt arbeiten. (I32042)
DrawModifier API verbessern:
- Der Empfängerumfang für „draw() ContentDrawScope“ wurde erstellt.
- Alle Parameter fürdraw() wurden entfernt.
- DrawScope hat dieselbe Oberfläche wie der frühere CanvasScope.
- ContentDrawScope verfügt über die Methode „drawContent()“ (Ibaced, b/152919067).
runOnIdleCompose
undrunOnUiThread
sind jetzt globale Funktionen anstelle von Methoden in ComposeTestRule. (Icbe8f)[Mutable]Operatoren für Bevollmächtigte von Statuseigenschaften wurden in Erweiterungen verschoben zur Unterstützung von Optimierungen für Kotlin 1.4-Property-Delegationen. Aufrufer müssen Folgendes hinzufügen: um
by state { ... }
oderby mutableStateOf(...)
weiterhin zu verwenden. (I5312c)PositionInParent und boundsInParent für LayoutCoordinates wurden hinzugefügt. (Icacdd, b/152735784)
„ColoredRect“ wurde eingestellt. Verwenden Sie stattdessen Box(Modifier.preferredSize(width, height).drawBackground(color)). (I499fa, b/152753731)
LayoutResult wurde in MeasureResult umbenannt. (Id8c68)
LayoutModifier2 wurde hinzugefügt, ein neues API zum Definieren von Layoutmodifikatoren. eingestellter LayoutModifier (If32ac)
Modifikator plus Operator durch Factory-Erweiterungsfunktionen ersetzt (I225e4)
Ziehbare Elemente wurden in Modifikator verschoben (Id9b16, b/151959544).
Die zusammensetzbare Funktion „ParentData“ wurde eingestellt. Sie sollten entweder einen Modifikator erstellen, der die ParentDataModifier-Schnittstelle implementiert, oder den LayoutTag-Modifikator verwenden, wenn Sie lediglich die untergeordneten Layout-Elemente mit einem Tag versehen müssen, damit sie innerhalb des Messwertblocks erkannt werden. (I51368, b/150953183)
Veraltete zusammensetzbare Funktion aus dem Center. Er sollte entweder durch den Modifikator „LayoutSize.Fill + LayoutAlign.Center“ oder durch eine der zusammensetzbaren Funktionen „Box“ oder „Stack“ mit entsprechenden angewendeten Modifikatoren ersetzt werden (Idf5e0).
VectorPainter API wurde hinzugefügt zu vorhandene Subcomposition API ersetzen für Vektorgrafiken zu. Ergebnis der Unterzusammensetzung ist ein VectorPainter-Objekt anstelle eines DrawModifier. Vorheriges DrawVector verworfen zusammensetzbaren Funktionen zugunsten von VectorPainter verwenden.
Die Image(Painter) API wurde in PaintBox(Painter) umbenannt Eine mit Vektor zusammensetzbare Funktion, die sich wie die Bild zusammensetzbar, außer mit einem VectorAsset eines Image-Assets (I9af9a, b/149030271)
LayoutFlexible wurde in LayoutWeight umbenannt. Zum Ausfüllen muss enger Parameter umbenannt werden. (If4738)
"RepaintBoundary" wurde zugunsten von DrawLayerModifier (I00aa4) entfernt.
DrawVector wurde von einem regulären zusammensetzbare Funktion, mit der eine ModifierdrawVector() zurückgegeben wird, die zeichnet den Vektor als Hintergrund für ein Layout. (I7b8e0)
Die zusammensetzbare Funktion Deckkraft wurde ersetzt mit dem DrawOpacity-Modifikator. (I5fb62)
Zusammensetzbare Funktion „Clip“ durch Modifikator ersetzen drawClip() „DawClipToBounds“ ist ein praktischer Modifikator, zu verwenden, wenn Sie nur an die Ebenengrenzen kürzen müssen in einer rechteckigen Form. (If28eb)
Die zusammensetzbare Funktion „DrawShadow“ wurde durch „drawShadow()“ ersetzt Modifikator. Schatten werden jetzt als Teil von LayerModifier gezeichnet. (I0317a)
Wir haben LayerModifier hinzugefügt, einen Modifikator, der Ein RenderNode für ein Layout wird hinzugefügt. Sie können damit Beschnitt, Deckkraft, Drehung, Skalierung und Schatten. Dadurch wird RepaintBoundary ersetzt. (I7100d, b/150774014)
androidx.compose.ViewComposer wurde nach androidx.ui.node.UiComposer verschoben „androidx.compose.Emittable“ wurde entfernt. Er war redundant mit ComponentNode. „androidx.compose.ViewAdapters“ wurde entfernt. Sie werden nicht mehr unterstützt. Compose.composeInto wurde eingestellt. Verwende stattdessen
setContent
odersetViewContent
. „Compose.disposeComposition“ wurde eingestellt. Verwenden Sie stattdessen die Methodedispose
für dieComposition
, die vonsetContent
zurückgegeben wird. androidx.compose.Compose.subcomposeInto wurde zu androidx.ui.core.subcomposeInto verschoben ComponentNode#emitInsertAt wurde in ComponentNode#insertAt umbenannt. ComponentNode#emitRemoveAt wurde in ComponentNode#removeAt umbenannt. ComponentNode#emitMode wurde in ComponentNode#move (Idef00) umbenannt.Für die Verarbeitung zusammensetzbares Bild wurde erstellt Größenanpassung/Layout. ImageAsset hinzu. Diese zusammensetzbare Funktion unterstützt auch das Zeichnen von beliebigen Malern Instanz unter Berücksichtigung ihrer intrinsischen Größe und eine bestimmte feste Größe oder Mindestgröße (Ibcc8f)
Eingestellte Zusammensetzbare Funktion. Er kann entweder mit dem LayoutAlign-Modifikator oder durch die zusammensetzbare Funktion "Stack" (Ib237f) ersetzt werden.
WithConstraints hat den LayoutDirection-Parameter erhalten (I6d6f7)
Die Layoutrichtung wird vom übergeordneten Layoutknoten auf die untergeordneten Elemente übertragen. Modifikator für Layoutrichtung wurde hinzugefügt. (I3d955)
Die Stack-Komponente unterstützt die Schreibrichtung von rechts nach links (Ic9e00).
Die zusammensetzbare Funktion „DawShape“ wurde entfernt. Verwenden Sie stattdessen den Modifikator „Hintergrund zeichnen“. (I7ceb2)
Unterstützung von rechts nach links im LayoutPadding-Modifikator (I9e8da)
AdapterList, eine scrollbare Listenkomponente, die nur und erstellt die sichtbaren Elemente. Derzeit bekannte Probleme dass sie nur vertikal sind und nicht alle Fälle von Änderungen an seinen untergeordneten Elementen. (Ib351b)
Das Flag
ComposeFlags.COMPOSER_PARAM
wurde auftrue
aktualisiert. Dadurch wird die Strategie zur Codegenerierung für das Editor-Plug-in geändert. Auf übergeordneter Ebene werden @Composable-Funktionen mit einem zusätzlichen synthetischen Parameter generiert, der an nachfolgende @Composable-Aufrufe übergeben wird, damit die Laufzeit die Ausführung ordnungsgemäß verwalten kann. Dies ist eine erhebliche funktionsgefährdende Änderung, die jedoch bei jeder genehmigten Verwendung des Editors auf Quellebene die Kompatibilität beibehalten sollte. (I7971c)Canvas-Komponente hinzugefügt. Diese zusammensetzbare Funktion nimmt etwas in Anspruch (vom Nutzer bereitgestellt) und ermöglicht Ihnen, mit CanvasScope (I0d622) zu zeichnen.
Density und DensityScope wurden in einer Schnittstelle zusammengeführt. Anstelle von „AmbientDensity()“ können Sie jetzt „DensityAmbient.current“ verwenden. Anstelle von mitDensity(density) nur mit(density) (I11cb1)
LayoutCoordinates geändert, um providedAlignmentLines zu erstellen ein Set anstelle einer Karte und haben LayoutCoordinates die Implementierung des get() verwenden, um einen Wert abzurufen. Dadurch wird es einfacher, für Modifikatoren, um einen oder mehrere Werte des Datasets ohne und erstellen für jeden Modifikator eine neue Sammlung. (I0245a)
Scroller zeigen jetzt natives Android-Fingerverhalten. (I922af, b/147493715)
Verbesserungen an der API-Oberfläche von Einschränkungen (I0fd15)