Jetpack Compose für XR

Räumliche UI-Layouts lassen sich deklarativ erstellen und die räumlichen Funktionen von Android XR nutzen.
Letzte Aktualisierung Stabile Release Releasekandidat Beta-Release Alpha-Release
23. September 2026 - - 1.0.0-beta01 -

Abhängigkeiten deklarieren

Wenn Sie eine Abhängigkeit von XR Compose hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie unter Google-Repository bei Maven.

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

Cool

dependencies {
    implementation "androidx.xr.compose:compose:1.0.0-beta01"

    // Use to write unit tests
    testImplementation "androidx.xr.compose:compose-testing:1.0.0-beta01"
}

Kotlin

dependencies {
    implementation("androidx.xr.compose:compose:1.0.0-beta01")

    // Use to write unit tests
    testImplementation("androidx.xr.compose:compose-testing:1.0.0-beta01")
}

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben, lassen Sie es uns wissen. Bevor Sie ein neues Problem erstellen, sollten Sie sich jedoch die bereits gemeldeten Probleme in dieser Bibliothek ansehen. Wenn Sie sich einer Problemmeldung anschließen möchten, klicken Sie auf den Button mit dem Stern.

Neues Problem melden

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.0

Version 1.0.0-beta01

23. September 2026

androidx.xr.compose:compose:1.0.0-beta01 und androidx.xr.compose:compose-testing:1.0.0-beta01 sind veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.

API-Änderungen

  • Die veraltete Funktion DragPolicy wurde entfernt. Verwenden Sie stattdessen SubspaceModifier.movable(). (I108d4)
  • Die veraltete ResizePolicy und ihre Verwendung in SpatialPanel und SpatialExternalSurface wurden entfernt. Entfernen Sie die eingestellte Funktion SubspaceModifier.resizable. Verwenden Sie stattdessen das neue SubspaceModifier.resizable mit einem neuen ResizePolicy. (I59e6b)
  • Der Parameter isPitchUpdateEnabled wurde hinzugefügt, um die Tonhöhenverfolgung unabhängig aktivieren oder deaktivieren zu können. (Ie9e86)
  • Die Nullable-Eigenschaft von pitchLimits wurde entfernt und PitchLimits.UNCONSTRAINED wurde in PitchLimits.FullRange umbenannt. (I0154f)
  • ExposedDropdownMenu ist jetzt eine Erweiterungsfunktion für ExposedDropdownMenuBoxScope anstelle eines Members. Möglicherweise müssen Sie Ihren Code mit einem neuen Import aktualisieren. (Ie8a65)
  • Die eingestellte Klasse SurfaceProtection wurde entfernt. Verwenden Sie stattdessen SpatialExternalSurfaceProtection. (Iab2c6)
  • Die Orbiter-Funktion, die OrbiterPoseProvider verwendet, wurde zugunsten der Funktion, die SpatialAlignment verwendet, eingestellt. (I4d12b)
  • Für SpatialActivityPanel ist jetzt ein SpatialActivityPanelController (instanziiert mit rememberSpatialActivityPanelController) erforderlich, um eingebettete Aktivitäten zu starten und zu verwalten. (Id25c6)
  • Der Parameter upDirection wurde aus rotateToLookAtUser entfernt und die Parameter für die Rotationsbeschränkungen (isYawUpdateEnabled und pitchLimits) wurden hinzugefügt. (I1370a)

Fehlerkorrekturen

  • Verschiedene Probleme mit InteractionPolicy wurden behoben. Ein Absturz trat auf, wenn ein Eingabeereignis genau dann auftrat, als das Composable oder untergeordnete Element (z. B. ein Orbiter) eine Bereinigungssequenz einleitete. Außerdem wird ein Problem behoben, bei dem Kinder Hover-Ereignisse erhalten haben. (Ifc477)
  • Die Größe des Panels in RotateToLookAtUserActivity wurde reduziert, um das Abschneiden von Inhalten auf Geräten mit kleinerem Sichtfeld zu verhindern. (I8d672)

Bekannte Probleme

  • Es gibt ein Problem mit Compose XR-Bereichen: Wenn viele Bereiche in einer einzelnen Aktivität erstellt werden, kann es zu einer Beschädigung der angezeigten Inhalte kommen, auch nachdem die Bereiche zerstört wurden.

Version 1.0.0-alpha17

12. August 2026

androidx.xr.compose:compose:1.0.0-alpha17 und androidx.xr.compose:compose-testing:1.0.0-alpha17 sind veröffentlicht. Version 1.0.0-alpha17 enthält diese Commits.

API-Änderungen

  • Entfernen Sie die Wertklasse Meter. Sie wird in Scenecore durch virtualPixelDensity ersetzt. (I690ee)
  • Die SpatialGltfModel API ist jetzt experimentell und muss für die Verwendung aktiviert werden. (I4557e)
  • system als skalierbar und nullable festlegen (Ib0093)
  • Density in SubspaceSemanticsInfo für Tests verfügbar gemacht. (I2e826)
  • Die Standardoption ResizePolicy wurde in system umbenannt und eine neue Option Default ohne Parameter (Ic8b16) wurde hinzugefügt.
  • Markieren Sie FollowTarget als experimentell. Die gesamte FollowingSubspace API befindet sich jetzt in der Testphase. (Id4ee3)
  • GltfAnimation-APIs entfernen (Ic2894)
  • Die parametrisierte Methode MovePolicy.default() wurde in MovePolicy.system() umbenannt. Es wurde das Attribut val MovePolicy.Default eingeführt, um das standardmäßige Standardbewegungsverhalten darzustellen. (Iedcc9)
  • ExperimentalMoveAnchorPolicy-Opt-in-Anforderungen auf PlaneSemantic und PlaneOrientation ausweiten (Ief927)
  • resetMins aus VolumeConstraints.offset entfernen (Ib2f2f)
  • Die eingestellte Funktion SceneCoreEntitySizeAdapter wurde entfernt. (Ib6722)
  • Die veraltete Subspace-Überladung mit allowUnboundedSubspace wurde entfernt. (I8e97f)
  • Die überladene Semantikmodifikator-Funktion wurde entfernt. (I4ac10)

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem untergeordnete Elemente eines Composable mit einem angehängten InteractionPolicy Trigger-Eingabeereignisse (Icdba6) auslösen.

Version 1.0.0-alpha16

15. Juli 2026

androidx.xr.compose:compose:1.0.0-alpha16 und androidx.xr.compose:compose-testing:1.0.0-alpha16 sind veröffentlicht. Version 1.0.0-alpha16 enthält diese Commits.

API-Änderungen

  • ComponentOverride-APIs entfernen (I820c4)
  • Die APIs GltfAnimation und SpatialGltfModelAnimation wurden als experimentell gekennzeichnet. Einige Eigenschaften wurden in Getter umgewandelt. (I8d689, b/524771027)
  • Das Verhalten der Gesamtdichte wurde korrigiert, indem die Umrechnung zwischen Metern und Pixeln als konstant festgelegt wurde. Meter.kt ist veraltet. Stattdessen kann jetzt Session.scene.virtualPixelDensity verwendet werden. (I122ff, b/430097855, b/474168798)
  • Den Modifier „resizable“ so aktualisieren, dass er anstelle von zwei Modifiers (I7fb0f, b/496257436, b/519672992) einen ResizePolicy verwendet
  • Allen öffentlichen Gleitkomma-Dimensionen und Gleichheitsbehauptungen für Positionen in SubspaceAssertions.kt wurde ein Toleranzparameter Dp = Dp(0.5f) hinzugefügt. Das Standardverhalten für die Toleranz (0.5.dp) ist vollständig dokumentiert. (I266cb, b/521491915)
  • Verschiebbare Überladung mit dem Parameter movePolicy hinzugefügt und transformingMovable und movable eingestellt (Ic88c1, b/481781189)
  • Es wurden neue nicht interaktive Varianten von Standardlistenelement und segmentiertem Listenelement hinzugefügt, die den Material Expressive-Spezifikationen entsprechen. Die nicht expressive Version ist veraltet. (Ide4de, b/491994186)
  • Für Subspace wird der Parameter allowUnboundedSubspace jetzt nicht mehr unterstützt und ist ausgeblendet. Unbegrenztes Verhalten sollte jetzt durch die Verwendung von SubspaceModifier.requiredSizeIn(maxWidth = Dp.Infinity, maxHeight = Dp.Infinity, maxDepth = Dp.Infinity) für den Unterraum-Modifikator erreicht werden. Der Parameter allowUnboundedSubspace wurde aus FollowingSubspace entfernt. (Ia72ae, b/433624021)
  • Session.create wurde in eine Suspend-Funktion umgewandelt. (I5d27f)
  • SubspaceModifier.spatializedAudioOutput wurde hinzugefügt, um die räumliche Audiowiedergabe über ExoPlayer oder über ein SoundEffectPlayer zu ermöglichen (I46697, b/489421980, b/497867019).
  • Die Funktionen ComponentActivity.requestHomeSpace() und requestFullSpace() wurden aktualisiert, um SpaceRequestResult für die Statusüberprüfung zurückzugeben. (If1672)
  • AnchorEntity wurde in AnchorSpace umbenannt (Ifa95e, b/513619219)
  • Uneingeschränkte fromResource-Methode aus SpatialGltfModelSource (I1f5a1, b/503047416)
  • SubspaceSemanticsMatcher-Mitglieder sind öffentlich: das Attribut description, Companion-Factory-Methoden (expectValue, keyIsDefined, keyNotDefined), Member-Funktionen (matches, matchesAny) und Operatoren (and, or, not). (I972a4, b/460427288)
  • Die Semantiktypen für SubspaceModifier.semantics, SubspaceModifier.testTag, SubspaceSemanticsInfo und SubspaceSemanticsModifierNode wurden aktualisiert. (I80dea, b/460427288)
  • position wurde in align in SpatialAlignment umbenannt und einzelne Methoden für die Richtungsoffset wurden zugunsten einer einheitlichen align-API entfernt. (I9bdb2, b/479805937)
  • Veraltete APIs für den Space-Modus aus SpatialConfiguration entfernt. (I1ef5c, b/458712461)
  • Eingeführt: SubspaceSemanticsConfiguration. Dies ist eine Konfiguration von semantischen Eigenschaften für einen räumlichen Knoten. Diese Klasse macht Abfragemethoden für 3D-Semantik sicher verfügbar, ohne grundlegende 2D-Semantikfunktionen an externe Nutzer weiterzugeben. (Id025e, b/460427288)
  • SubspaceSemanticsPropertyReceiver wurde eingeführt: Ein dedizierter Wrapper, der die Eigenschaften von 3D-Layout-Containern auf gültige Felder beschränkt (anfangs testTag und contentDescription). (I5cf5c, b/460427288)

Fehlerkorrekturen

  • Der hasContentDescription des semantischen Modifikators wurde aktualisiert, sodass standardmäßig der Teilstring-Abgleich verwendet wird. (I08214)
  • Es wurde eine eingeschränkte FollowBehavior.ExponentialDecay() hinzugefügt, die ein weiches Folgen basierend auf elastischer Physik ermöglicht. (I7449c, b/485639909, b/500493335)

Die meisten APIs sind davon betroffen. Konkret wird LocalSession CompositionLocal und alle CompositionLocals, die von LocalSession abhängig sind (z.B. LocalSpatialConfiguration, LocalSpatialCapabilities usw.), jetzt vor der Initialisierung von Session in null oder die Nicht-XR-Versionen aufgelöst.

Sobald Session verfügbar ist, wird die Neuzusammensetzung mit dem richtigen Status ausgelöst. (I0cfa4, b/514712835, b/514712835)

  • Die Dokumentation für ComponentActivity.requestHomeSpace und ComponentActivity.requestFullSpace wurde in Bezug auf das Verhalten bei Aussetzung, Kündigung und Nebenläufigkeit überarbeitet. Tests zur Überprüfung der CancellationException-Weitergabe aktualisiert. (I22f75, b/493289528)

Version 1.0.0-alpha15

17. Juni 2026

androidx.xr.compose:compose:1.0.0-alpha15 und androidx.xr.compose:compose-testing:1.0.0-alpha15 sind veröffentlicht. Version 1.0.0-alpha15 enthält diese Commits.

API-Änderungen

  • ResizePolicy und der alte Modifier für die Größenanpassung wurden eingestellt und durch eine neue SubspaceModifier.resizable-Überladung und SubspaceModifier.transformingResizable ersetzt. (I9e4bc)
  • Aktualisierte SpatialGltfModel-APIs: Unterstützung für das Laden von Modellen aus Ressourcen über SpatialGltfModelSource.fromResource hinzugefügt. Die Geschwindigkeit wurde in SpatialGltfModelAnimation in playbackSpeed umbenannt und eine resume()-Methode hinzugefügt. SpatialGltfModelStatus.Loaded und Loading sind jetzt Objekte. (I523de)
  • rotateToLookAtUser als experimentelle API gekennzeichnet. (I86c16)
  • Die geschützte Variable targetCurrentPose wurde in die lokale Variable currentTargetPoseMeter verschoben und umbenannt. (Ia557c)
  • Aktualisieren Sie die kdocs für SpatialPanel und SpatialExternalSurface, um anzugeben, wo das Objekt innerhalb seiner Layoutgröße gerendert wird (I72104).
  • Die SpatialGltfModel-Ladelogik wurde in SpatialGltfModelState gekapselt und das Fehlerverhalten wurde verdeutlicht. (Ibe98b)
  • depth in SubspaceModifer.size-Kdocs näher beschrieben (I0f84f)

Version 1.0.0-alpha14

19. Mai 2026

androidx.xr.compose:compose:1.0.0-alpha14 und androidx.xr.compose:compose-testing:1.0.0-alpha14 sind veröffentlicht. Version 1.0.0-alpha14 enthält diese Commits.

API-Änderungen

  • transformingMovable für die standardmäßige systemseitige 3D-Bewegung und eine neue Überladung für movable für benutzerdefinierte Bewegungsabläufe. (I50960)
  • "SpatialGltfModel.fromData()" wurde entfernt. (I4d083)
  • Es wurde eine neue Schnittstelle für Modifikator-Knoten, SubspaceMeasuredSizeAwareModifierNode, hinzugefügt, die einen onRemeasured-Callback nach dem Messdurchlauf bereitstellt. SubspaceLayoutAwareModifierNode wird jetzt auf diese neue Oberfläche ausgeweitet. Der Modifikator onSizeChanged wurde aktualisiert und verwendet jetzt onRemeasured. Dadurch wird der Callback direkt nach der Messung und nicht nach der Platzierung ausgelöst. (Iafbae)
  • InteractionPolicy wurde auf Interface (I0ff30) aktualisiert.
  • Compose compileSdk wurde auf API 37 aktualisiert. Das bedeutet, dass bei der Verwendung von Compose mindestens AGP 9.2.0 erforderlich ist. (Id45cd)
  • Size-Kdocs aktualisiert (Iefa9a)

Version 1.0.0-alpha13

6. Mai 2026

androidx.xr.compose:compose:1.0.0-alpha13 und androidx.xr.compose:compose-testing:1.0.0-alpha13 sind veröffentlicht. Version 1.0.0-alpha13 enthält diese Commits.

API-Änderungen

  • Die Orbiter API wird noch geändert. Wir empfehlen, die Hinweise zur Einstellung von Orbitern zu unterdrücken und in den kommenden Releases nach Änderungen an Orbitern zu suchen.
  • Nutzer, die SceneCoreEntity zum Rendern von glTFs verwenden, sollten darauf achten, dass sie session.scene.activitySpace an den Parameter parent ihres GltfModel.create-Aufrufs übergeben, damit ihre glTFs gerendert werden.
  • Die SpatialGltfModel API wurde hinzugefügt, damit Entwickler ihren Compose for XR-Apps GLTFs hinzufügen können. Entwickler können auch Animationen und Knoten in ihren GLTF-Modellen abfragen. (I8b542, b/495422586)
  • SceneCoreEntitySizeAdapter wurde von einer Klasse in eine Schnittstelle geändert (I5a784, b/475292310)
  • SurfaceProtection wurde in SpatialExternalSurfaceProtection umbenannt. SpatialExternalSurface Kdocs aktualisiert (Ifad0a, b/485231082)
  • currentWindowAdaptiveInfo einstellen und V2 einführen (I40ecf, b/424442112)
  • Der Modifikator resizable ist jetzt öffentlich und auf Gruppen anwendbar (z.B. SpatialRow). (I2bcf6, b/348483527, b/489753178, b/479530787)
  • Der Modifikator movable ist jetzt öffentlich. Dieser Modifikator funktioniert derzeit gut für SpatialPanels und SpatialExternalSurface. Es ist jedoch geplant, ihn für alle SubspaceComposables zu unterstützen. (I9a3cd, b/479530787, b/478935063, b/478935063)
  • SpatialEnterTransition und SpatialExitTransition als @Immutable markiert (If1710, b/487757837)
  • Die SpatialGltfModel API ist für diesen Release als eingeschränkt gekennzeichnet, bis zusätzliche Tests durchgeführt wurden. (Ibf003, b/466090694)
  • DeviceTrackingMode.LAST_KNOWN wurde in SPATIAL_LAST_KNOWN umbenannt (mit einem eingestellten Fallback), INERTIAL_LAST_KNOWN für 3DoF-Tracking wurde hinzugefügt und TRACKING_DEGRADED wurde zu TrackingState hinzugefügt. (Ie661c, b/445466590)
  • Entfernen der eingestellten SpatialLayoutSpacer (I7b36c)
  • Entfernen der eingestellten Padding-API (If1886)
  • floatRange zu Bias-Werten hinzugefügt. Standardwert für LayoutDirection entfernt (I9d74e)

Fehlerkorrekturen

  • Codebeispiele und KDoc-Dokumentation für SpatialColumn, SpatialRow und SpatialCurvedRow hinzugefügt. (Iaf54f, b/495777633)

Version 1.0.0-alpha12

25. März 2026

androidx.xr.compose:compose:1.0.0-alpha12 und androidx.xr.compose:compose-testing:1.0.0-alpha12 sind veröffentlicht. Version 1.0.0-alpha12 enthält diese Commits.

API-Änderungen

  • Fügen Sie die SpatialGltfModel API und die SpatialGltfModelAnimation APIs hinzu, um glTFs zu rendern und Animationen zu steuern. SpatialGltfModelState wurde in AutoCloseable geändert. Es muss jetzt geschlossen werden, um die Ressourcen freizugeben. (I11fde, b/466065486, b/481379924) Die SpatialGltfModel API ist für diesen Release jedoch als eingeschränkt gekennzeichnet, bis zusätzliche Tests durchgeführt wurden. (Ibf003, b/466090694)
  • Für SubspaceModifier.rotate wurde eine veraltete leere Überladung hinzugefügt. (Idceb6)
  • Die Funktion SpatialSmoothFeatheringEffect wurde in spatialSmoothFeatheringEffect umbenannt und in ein Zeichenmodul verschoben. Der Standardwert für SpatialExternalSurface wurde auf „null“ aktualisiert. Damit wird die alte Funktion „ZeroFeatheringEffect“ nachgeahmt. (I5fdaa, b/460426800)
  • onPointSourceParamsAvailable wurde entfernt. In naher Zukunft wird eine andere API für die räumliche Audioausgabe verfügbar sein. (I86507, b/458513439)
  • RTL-Verhalten für Modifikatoren für den Offset-Unterraum hinzugefügt. Außerdem wurde absoluteOffset hinzugefügt, um die Layoutrichtung zu ignorieren. (I30e4b, b/474409165)

Version 1.0.0-alpha11

25. Februar 2026

androidx.xr.compose:compose:1.0.0-alpha11 und androidx.xr.compose:compose-testing:1.0.0-alpha11 sind veröffentlicht. Version 1.0.0-alpha11 enthält diese Commits.

Neue Funktionen

  • Parameter SuperSampling zu SpatialExternalSurfaces (Icd4d1) hinzufügen

Bekannte Probleme

  • Ein Problem mit SurfaceEntity in SceneCore kann dazu führen, dass Apps beim Erstellen von Instanzen von SpatialExternalSurface abstürzen. Dieses Problem wurde in androidx.xr.scenecore:scenecore-*:1.0.0-alpha13, androidx.xr.compose:compose:1.0.0-alpha12 und den nachfolgenden Releases behoben. Betroffene Apps sollten auf die neuesten Versionen aktualisiert werden.

API-Änderungen

  • Änderungen am Padding von Unterbereichsmodifikatoren für die Berücksichtigung der Layoutrichtung. (I53e25)
  • SpatialCapabilities ist jetzt versiegelt und kann nicht verlängert werden. (I07aef)
  • Die APIs SpatialRow und SpatialColumn, die einen generischen SpatialAlignment-Parameter akzeptieren, sind veraltet. Verwenden Sie stattdessen die APIs, die entweder verticalAlignment oder horizontalAlignment für SpatialRow bzw. SpatialColumn akzeptieren. (Iec390)
  • Kombinieren von überladenen SubspaceLayout-Funktions-APIs (Idd30a)
  • SubspaceModifier.lookAtUser wurde in rotateToLookAtUser und der Parameter up in upDirection umbenannt. (Icafb8)
  • SpatialRow als Inlinefunktion definieren (Ia2f20)
  • SpatialColumn als Inlinefunktion definieren (I681be)
  • Billboard-API entfernt (Ib76cd)

Version 1.0.0-alpha10

28. Januar 2026

androidx.xr.compose:compose:1.0.0-alpha10 und androidx.xr.compose:compose-testing:1.0.0-alpha10 sind veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.

API-Änderungen

  • Entfernen der eingestellten API – ApplicationSubspace (Ia6596, b/468345186)
  • SpatialShape wurde auf eine versiegelte Schnittstelle aktualisiert (I7e3f5, b/460426800)
  • Entfernen verworfener APIs in SpatialAlignment (Ib0b61, b/468011887)
  • SpatialLayoutSpacer wird eingestellt und SpatialSpacer wird eingeführt. (I2ebf3, b/466071383)
  • Die UserSubspace API wurde aktualisiert, um den Begriff „Lazy Locking“ durch „Soft Locking“ zu ersetzen. (I9ded1, b/464035984)

Version 1.0.0-alpha09

3. Dezember 2025

androidx.xr.compose:compose:1.0.0-alpha09 und androidx.xr.compose:compose-testing:1.0.0-alpha09 sind veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.

API-Änderungen

  • Hinzufügen von LookAtUser- und Billboard-Modifikatoren, damit Inhalte immer dem Nutzer zugewandt sind. (I49b99)
  • Ermöglicht das Festlegen eines InteractionPolicy auf SpatialExternalSurfaces und SpatialPanels, wodurch Klicks und andere 3D-Eingabeereignisse erkannt werden können. (Iae155)
  • Die Überladung für Größen- und requiredSize-Modifikatoren wurde mit Breite, Höhe und Tiefe als Dp-Werte hinzugefügt. (I92f79)
  • Die ParentLayoutParamsModifier-Schnittstelle wird jetzt auf DelegatableSubspaceNode erweitert. (I1a6d4)
  • ApplicationSubspace wird zugunsten der Subspace API eingestellt.
    • Das Verhalten der Subspace API wurde geändert, sodass nur ein anwendungsweiter Unterraum mit der empfohlenen Pose und Skalierung bereitgestellt wird.
    • Die PlanarEmbeddedSubspace API wird eingeführt, um eingebettete Unterbereiche in 2D-Kontexten bereitzustellen. (Id3343)
  • Das Flag shouldAutoInvalidate wurde der SubspaceModifier.Node API hinzugefügt. (I93902)
  • required(Size|Width|Depth|Height)In APIs, mit denen Entwickler die Größe eines @SubspaceComposable auf einen bestimmten Bereich beschränken können, wobei die eingehenden Messbeschränkungen des übergeordneten Elements ignoriert werden. (Ifaa78)
  • SubspaceModifier.onSizeChanged wurde hinzugefügt. Damit können Entwickler einfach und gezielt reagieren, wenn sich die Größe eines @SubspaceComposable ändert. (I994f9)
  • Die Volume API wurde entfernt. Die SceneCoreEntity API sollte anstelle der Volume API verwendet werden. (I4162b)
  • Teile SubspaceLayoutModifierNode.requestRelayout in invalidateMeasurement/invalidatePlacement auf. (I14805)
  • Die SpatialGltfModel API wurde hinzugefügt, mit der Entwickler glTFs in Compose rendern können. (Icc91f)
  • Die zusammensetzbare API SpatialGltfModel wurde eingeführt, um das Rendern von glTFs zu vereinfachen (Iade67).

Fehlerkorrekturen

  • Ein Layoutfehler in SceneCoreEntity wurde behoben. Die Einschränkungen sollten jetzt richtig berücksichtigt werden. (I11bb8)
  • JXR-Compose-Module auf Compile sdk = 34 reduzieren (I2d5db)

Version 1.0.0-alpha08

22. Oktober 2025

androidx.xr.compose:compose:1.0.0-alpha08 und androidx.xr.compose:compose-testing:1.0.0-alpha08 sind veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.

API-Änderungen

  • ResizePolicy wurde geändert, um onResizeStart, onResizeUpdate und onResizeEnd zu akzeptieren. (I7e21f)

Fehlerkorrekturen

  • Absturz beim Beenden einer Aktivität mit einem Subspace verhindern (I595a1)

Version 1.0.0-alpha07

24. September 2025

androidx.xr.compose:compose:1.0.0-alpha07 und androidx.xr.compose:compose-testing:1.0.0-alpha07 sind veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.

API-Änderungen

  • Verbesserte KDocs für SpatialMainPanel. (I27b70, b/444467891)
  • SpatialArrangement wurde eingeführt, um untergeordnete Elemente in 3D-Layouts wie SpatialRow und SpatialColumn entlang der Hauptachse anzuordnen. Diese neue API bietet die bekannten Anordnungsoptionen aus 2D Compose, darunter Start, End, Center, SpaceBetween, SpaceAround und SpaceEvenly, mit vollständiger Unterstützung für LTR- und RTL-Layoutrichtungen. (I7db38, b/436289959)
  • Eine Basis-Schnittstelle für SubspaceModifier.Node wurde hinzugefügt, um die Typsicherheit und Nutzerfreundlichkeit von Erweiterungsschnittstellen wie
      zu verbessern.
    • CompositionLocalConsumerSubspaceModifierNode
    • LayoutCoordinatesAwareModifierNode
    • SubspaceLayoutModifierNode
    • CoreEntityNode (intern) (Iede00, b/440599394, b/440599394)
  • Einschränkung für SpatialExternalSurface aufheben (I33315, b/439646773)
  • Führen Sie SubspaceModifier in Subspace-Composables ein und ersetzen Sie den Parameter „constraints“ durch SubspaceModifier mit größenbezogenen SubspaceModifiers. Wenn allowUnboundedSubspace „true“ ist, können Unterbereiche weiterhin unbegrenzte Einschränkungen haben. (Ib06e6, b/433331675)
  • Die verschiebbaren und in der Größe anpassbaren SubspaceModifiers werden eingestellt, da DragPolicy() und ResizePolicy() jetzt Teil der SpatialPanel- und SpatialExternalSurface-API sind (I397bf, b/437924639).
  • Unterstützung für LayoutDirection in räumlichen Layouts hinzugefügt. Mit SpatialAlignment zusammengesetzte Elemente werden jetzt sowohl in LTR- als auch in RTL-Kontexten richtig positioniert. (I964bb, b/436300273)
  • Fügen Sie den Panel-APIs die Parameter „Resizable“ und „Movable“ hinzu, damit diese Verhaltensweisen nur auf unterstützte Container angewendet werden können. (Id491c)
  • Die Attribute sizeIn, widthIn, heightIn, depthIn und SubspaceModifiers wurden hinzugefügt. Damit können Sie genaue Mindest- und Höchstwerte für Breite, Höhe und Tiefe festlegen. (I1af09, b/433330761)

Version 1.0.0-alpha06

13. August 2025

androidx.xr.compose:compose:1.0.0-alpha06 und androidx.xr.compose:compose-testing:1.0.0-alpha06 sind veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.

Fehlerkorrekturen

  • ComposeXrOwnerLocals neu erstellen, wenn das Lifecycle-Inhaberobjekt zerstört wird. (9123ce1)

Version 1.0.0-alpha05

30. Juli 2025

androidx.xr.compose:compose:1.0.0-alpha05 und androidx.xr.compose:compose-testing:1.0.0-alpha05 sind veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.

Neue Funktionen

  • Die Annotationsklasse SubspaceComposable wurde öffentlich gemacht. (Ic2a34, b/399432430)
  • Zwei neue SpatialExternalSurface-Composables, die 180- und 360-Grad-Kugeln darstellen. (I40ef2, b/391705799)
  • SubspaceModifier.aspectRatio hinzugefügt (Ide5ab, b/399729509, b/414762147)
  • Die SceneCoreEntity API wurde hinzugefügt, um die Interoperabilität zwischen SceneCore und Compose für XR zu verbessern. (I50bb3, b/423020989)
  • GravityAlignedsubspace-API zur Unterstützung der Funktion „Nicht skaliert“ und GravityAligned bereitgestellt (I07359)

API-Änderungen

  • SpatialDialog() folgt der Konfiguration von SpatialDialogProperties.dismissOnBack. (Ib453b, b/416797132)
  • Aktualisieren Sie minimumPanelDimension auf die neue Standarddimensionsgröße Dimensions(0.1f, 0.1f, 0.1f), da sie in Metern angegeben wird. (Ib852a)
  • Unterbereiche und Orbiters behalten jetzt ihren internen Status im Home-Bereich und wenn die App im Hintergrund ausgeführt wird. Im Home Space-Modus richtet Subspace die Szene weiterhin ein, um den Wechsel zum Full Space-Modus vorzubereiten. (I40317, b/416037751)
  • SpatialDialogs behält jetzt seinen Status bei, wenn die App im Hintergrund ausgeführt wird. (I6aa56)
  • ApplicationSubspace übernimmt jetzt die empfohlene Skalierung und Position vom System. (I4565f, b/418834194)
  • Es wurde eine bessere Fehlermeldung hinzugefügt und der Fehler wird früher ausgelöst, wenn ein SubspaceComposable in einem Kontext verwendet wird, der nicht SubspaceComposable ist. (Iee2ae, b/416484684)
  • Die Aktualisierung von ExperimentalSubspaceVolumeApi von „Warnung“ zu „Fehler“ ist darauf zurückzuführen, dass Warnungen bei der missbräuchlichen Verwendung zusammensetzbarer APIs oft übersehen werden. (I427aa, b/424864286)
  • Der Unterraum und ApplicationSubspace werden jetzt durch recommendedContentBoxInFullSpace eingeschränkt. Bisher war es durch das Sichtfeld von SpatialUser eingeschränkt. (I41015, b/423074142)
  • SpatialElevation aktualisieren, um die Mindestgröße zu verwenden und nicht mehr die fest codierte Größe (I2dbe6, b/427785338)
  • Aktualisieren Sie, wie wir die SpatialAcitivityPanel simulieren, um zu aktualisieren, wenn eine wichtige Variable geändert wird. (I0f64d, b/427999029)
  • Entfernen Sie VolumeConstraints.Unbounded und legen Sie stattdessen die Standardwerte für die Einschränkung fest. (Ie24ec, b/407938414)
  • SpatialFeatheringSize ist nicht mehr öffentlich (I1c15b, b/399432430)
  • Das XR-Placeable wurde in SubspacePlaceable umbenannt, um es vom Placeable von Compose zu unterscheiden. (I74874)
  • Entfernen der Orbiter-Einstellungen und Hinzufügen von shouldRenderInNonSpatial als neuen Parameter. Außerdem wird die Klasse EdgeOffset entfernt und orbiterOffsetType als neuer Parameter hinzugefügt, um Orbiter()-Funktionen zusammenzuführen. Außerdem wurde OrbiterEdge in ContentEdge umbenannt. (Iebf3d)
  • Measurable wurde in SubspaceMeasurable umbenannt, um den Typ vom Measurable-Typ von Compose zu unterscheiden. (I9726c)
  • MeasureResult in SubspaceMeasureResult umbenennen (I9f34d)
  • Die setSubspaceContent API wurde entfernt. Stattdessen wird setContent von Compose mit einem Subspace-Composable verwendet. (Ifff4c, b/421427391, b/421427391)
  • MeasurePolicy wird in SubspaceMeasurePolicy umbenannt. (I37a9b, b/422553904)
  • Machen Sie SubspaceSemanticsInfo zu einer versiegelten Schnittstelle, da wir ohne die Standardeinstellungen keine Mitglieder hinzufügen können. (I372f9, b/423704068)
  • Die Dokumentation für SpatialExternalSurface wurde aktualisiert und ContentSecurityLevel wurde in SurfaceProtection umbenannt (I3c460, b/420982808).
  • Es wurde ein überladener Konstruktor für den verschiebbaren Modifikator bereitgestellt, der das Verankern ermöglicht. (Ic0c70)
  • Es wurden weitere Positionierungsoptionen für Tooltips hinzugefügt. Entwickler können jetzt festlegen, ob der Tooltip über, unter, links oder rechts vom Anker platziert werden soll. Eine API wurde hinzugefügt, die eine Form für Carets akzeptiert, sodass mehr benutzerdefinierte Formen bereitgestellt werden können. (Ie513c, b/374766087, b/418854637)
  • CoreEntity als PublishedApi entfernt (Ifee05)

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem SpatialDialog beim Rendern blinkte. (Ife73c, b/401619909)
  • Ein Problem wurde behoben, bei dem SpatialDialog das Aktivitätssteuerfeld nicht verdecken konnte. (I8ca6c, b/367442109)
  • Fehler behoben, bei dem in XR-Dialogfeldern einige Inhalte nicht angezeigt wurden (I17cd5, b/418062437)
  • Ein Problem wurde behoben, durch das SpatialPopup geschlossen wurde, wenn innerhalb des Inhalts darauf geklickt wurde. (If262c, b/417245722)
  • Das Problem wurde behoben, bei dem die Größe des SpatialPanel bei der Verkettung von resizable().movable() nicht richtig an die neue Größe angepasst wurde. (I02ee3, b/422264230)
  • Das topBar überlappt sich nicht mehr mit dem Menü in SpatialComposeVideoPlayer. (Id33bc, b/427168167)
  • Fester Eckradius wird nicht gerendert (I975fe, b/428261830)

Version 1.0.0-alpha04

7. Mai 2025

androidx.xr.compose:compose:1.0.0-alpha04 und androidx.xr.compose:compose-testing:1.0.0-alpha04 sind veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.

Neue Funktionen

  • Die CompositionLocalConsumerSubspaceModifierNode-Schnittstelle wurde hinzugefügt, damit benutzerdefinierte SubspaceModifier-Typen auf lokale Werte der Komposition zugreifen können.
  • Wir haben eine neue SpatialPanel-API hinzugefügt, die dem Compose-Implementierungsstil AndroidView folgt und die vorherige ViewBased SpatialPanel ersetzt.
  • Das VolumeConstraints.Unbounded-Begleitobjekt wurde hinzugefügt, das unbegrenzte Einschränkungen darstellt.
  • SubspaceModifier.onPointSourceParams wurde hinzugefügt, um eine räumliche Audioquelle zu ermöglichen.
  • Es wurde ein öffentliches ApplicationSubspace hinzugefügt, das optionale VolumeConstraints bietet, um einen 3D-Bereich zu definieren, in dem die App räumliche Inhalte rendern kann. Wenn keine Einschränkungen angegeben sind, wird der Unterraum standardmäßig durch das aktuelle Sichtfeld von SpatialUser in Breite und Höhe begrenzt. Nutzer können Einschränkungen angeben, die verwendet werden sollen, wenn das Sichtfeld nicht bestimmt werden kann. Andernfalls werden die Standardwerte für die Breite und Höhe des Sichtfelds verwendet.
  • Es wurde SpatialExternalSurface hinzugefügt, mit dem stereoskopische Inhalte gerendert werden können. SpatialExternalSurface kann mit Modifikatoren (außer Alpha) und einem Kanten-Weichzeichnungseffekt angepasst werden.
  • Es wurde ein neuer pointerHoverIcon-Unterraummodifikator hinzugefügt, mit dem Nutzer das Symbol für den räumlichen Zeiger festlegen können.

API-Änderungen

  • Die Einschränkung RequiresApi(34) wurde für alle Jetpack XR-Pakete entfernt. Diese Einschränkung war überflüssig, da Jetpack XR derzeit nur auf Geräten mit API‑Level 34 oder höher verfügbar ist. (Iae0f8)
  • Für Projekte, die mit Kotlin 2.0 veröffentlicht wurden, ist KGP 2.0.0 oder höher erforderlich. (Idb6b5)
  • Die Rücktaste funktioniert jetzt auch auf räumlichen Feldern ohne eingebettete Aktivitäten. Damit die Rücktaste funktioniert, müssen Sie android:enableOnBackInvokedCallback="true" im Android-Manifest angeben.
  • Die Rückgabe von Ergebnissen funktioniert jetzt auch bei räumlichen Dialogen. Damit die Rücktaste funktioniert, müssen Sie android:enableOnBackInvokedCallback="true" im Android-Manifest angeben.
  • Compose-basierte und View-basierte SpatialPanels können jetzt ihre Größe basierend auf ihrem Inhalt anpassen.
  • Entwickler können jetzt eigene benutzerdefinierte SpatialElevationLevel-Werte festlegen und sind nicht mehr auf die vordefinierten Stufen beschränkt.
  • Die Höhe des Orbiters kann jetzt über den Parameter elevation angepasst werden.
  • Der Unterraum kann jetzt standardmäßig in Breite und Höhe durch das Sichtfeld des SpatialUser begrenzt werden. Wenn das Sichtfeld nicht bestimmt werden kann, werden die Standardwerte für die Breite und Höhe des Sichtfelds verwendet.
  • Dem Modifikator Movable wurden die neuen Callbacks onMoveStart und onMoveEnd hinzugefügt. Die Callbacks onMoveStart und onMoveEnd werden aufgerufen, wenn der Nutzer beginnt und beendet, einen untergeordneten Bereich zu verschieben, der mit dem Modifier „movable“ zusammengesetzt ist.
  • Der Parameter name wurde aus räumlichen APIs wie SpatialRow und SpatialPanel entfernt. Verwenden Sie stattdessen SubspaceModifier.testTag, um räumliche Compose-Bäume zu debuggen.
  • Eine nicht unterstützte Überladung von SpatialPopup wurde entfernt, die nur spatialElevationLevel und content enthält. Verwenden Sie die Oberfläche, die onDimissRequest unterstützt.
  • Der onPoseChange-Rückruf aus dem Movable-Modifier wurde entfernt. Verwenden Sie stattdessen onMove.
  • SubspaceModifiers wendet seine Effekte nicht mehr an, wenn es abgelöst wurde oder gerade abgelöst wird.
  • Die vorhandene SpatialRow API wurde in SpatialRow und SpatialCurvedRow aufgeteilt. Wenn Sie bisher den Parameter curveRadius von SpatialRow verwendet haben, verwenden Sie jetzt stattdessen SpatialCurvedRow. Das Verhalten ist dasselbe.
  • MainPanel und ActivityPanel haben keine Titelleisten mehr, wenn sie auf einem ähnlich aktuellen System-Image ausgeführt werden.
  • Alpha- und Skalierungsmodifikatoren sind jetzt stapelbar und ihre Werte werden für den endgültigen angewendeten Alpha- oder Skalierungswert multipliziert.
  • Der onPoseChange-Callback des Movable-Modifiers wurde optimiert, um eine flüssigere Bewegung der Pose zu ermöglichen.
  • Die verschiebbaren und in der Größe anpassbaren Modifikatoren führen ihre Callbacks jetzt im Hauptthread aus, damit Zustandsänderungen eine Neukomposition auslösen.
  • Der Layout- und Messphase wurde eine Statusbeobachtung hinzugefügt, damit Statusänderungen in SubspaceLayout ein neues Layout auslösen.
  • Die Kette der optimierten Modifikatoren wird aktualisiert, um vorhandene Modifikatoren besser wiederzuverwenden.

Fehlerkorrekturen

  • Das Scrimming wurde beendet, als ein SpatialDialog angezeigt wurde. (Ic4594)
  • Anfragen zum Neugestalten, die gestellt werden, während Modifikator-Knoten getrennt sind, werden jetzt ignoriert.
  • Phasen für das Neulayout, die durch die Modifikatoren „Movable“ und „Resizable“ ausgelöst werden, wurden entfernt.
  • Es wurde ein Absturz in der zusammensetzbaren Funktion MainPanel() behoben, der auftrat, wenn eine der beiden Dimensionen direkt oder während einer Layoutberechnung, z.B. einer SpatialRow/SpatialColumn-Berechnung, auf null gesetzt wurde. Das Feld wird jetzt stattdessen ausgeblendet. Diese Korrektur betrifft nur Abstürze während der Layoutphase. Das Anpassen der Größe des Bereichs auf null durch Nutzerinteraktion wird separat behandelt. Das ausgeblendete Feld hat keine UI-Affordances.
  • Ein Problem mit maintainAspectRatio aus dem Modifikator für die Größenänderung wurde behoben. Das Seitenverhältnis sollte jetzt beibehalten werden.
  • Ein Problem mit verschachtelten Unterbereichen wurde behoben, bei dem sie für einen einzelnen Frame falsch positioniert wurden.
  • Ein Problem wurde behoben, durch das abgerundete Ecken manchmal nicht angewendet wurden, obwohl sie angewendet werden sollten.
  • NestedSubspaces wird nicht mehr für ein Frame am falschen Ort angezeigt.

Version 1.0.0-alpha03

26. Februar 2025

androidx.xr.compose:compose:1.0.0-alpha03 und androidx.xr.compose:compose-testing:1.0.0-alpha03 werden ohne nennenswerte Änderungen seit der letzten Alphaversion veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.

Version 1.0.0-alpha02

12. Februar 2025

androidx.xr.compose:compose:1.0.0-alpha02 und androidx.xr.compose:compose-testing:1.0.0-alpha02 sind veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Der Inhalt des Aktivitätsbereichs kann jetzt abgedunkelt werden, wenn ein räumlicher Dialog aktiviert wird.
  • Die Orbiter API kann jetzt in SubspaceComposable-Kontexten verwendet werden. Orbiters werden an das nächstgelegene SubspaceLayout-basierte übergeordnete Composable angehängt.
  • LayoutCoordinatesAwareModifierNode wurde eingeführt, um benutzerdefinierte positionierungsbasierte Modifikatoren zu ermöglichen.
  • Lebenszyklusmethoden zum Anhängen/Abtrennen zu SubspaceModifier.Node hinzugefügt.
  • scaleWithDistance wurde dem beweglichen Modifikator hinzugefügt. Wenn scaleWithDistance aktiviert ist, wird das verschobene Unterraum-Element vergrößert oder verkleinert. Außerdem wird die explizite Skalierung beibehalten, die vor der Bewegung festgelegt war.

API-Änderungen

  • SessionCallbackProvider wurde zugunsten von SpatialCapabilities entfernt.

Sonstige Änderungen

  • minSDK auf 24 reduziert. Für alle Jetpack XR-APIs ist weiterhin API 34 zur Laufzeit erforderlich.
  • Die Konstruktoren Orbiter EdgeOffset.inner, EdgeOffset.outer und EdgeOffset.overlap sind keine @Composable-Methoden mehr, sodass sie in nicht zusammensetzbaren Kontexten verwendet werden können.
  • Aktualisieren Sie die räumlichen Erhebungsebenen entsprechend der aktuellen UX-Spezifikation.
  • Implementieren Sie die SubspaceSemanticsInfo-Schnittstelle in MeasurableLayout.
  • SubspaceModifierElement wurde in SubspaceModifierNodeElement umbenannt.

Diverse Fehlerkorrekturen

  • Fehlerbehebungen zur Stabilisierung der SubspaceModifier-Bestellung. SubspaceModifier sollte zuverlässiger funktionieren. Die Modifikatoren „Versetzen“, „Drehen“, „Skalieren“, „Verschiebbar“ und „Größe anpassbar“ sollten jetzt in beliebiger Reihenfolge verwendet werden können.

Version 1.0.0-alpha01

12. Dezember 2024

androidx.xr.compose:compose-*1.0.0-alpha01 ist veröffentlicht.

Funktionen der Erstveröffentlichung

  • Erste Entwicklerversion von Jetpack Compose für XR. Verwenden Sie vertraute Compose-Konzepte wie Zeilen und Spalten, um räumliche UI-Layouts in XR zu erstellen. Das gilt sowohl, wenn Sie eine vorhandene 2D-App in XR portieren, als auch, wenn Sie eine neue XR-App von Grund auf neu erstellen. Diese Bibliothek bietet Unterraum- und räumliche Composables wie räumliche Panels und Orbiters, mit denen Sie Ihre vorhandene 2D-Benutzeroberfläche auf Basis von Compose oder Views in einem räumlichen Layout platzieren können. Es wird die zusammensetzbare Funktion „Volume“ eingeführt, mit der Sie SceneCore-Entitäten wie 3D-Modelle relativ zur Benutzeroberfläche platzieren können. Weitere Informationen finden Sie in diesem Entwicklerleitfaden:

    • Subspace: Diese Composable-Funktion kann an beliebiger Stelle in der UI-Hierarchie Ihrer App platziert werden. So können Sie Layouts für 2D- und räumliche UIs beibehalten, ohne den Kontext zwischen Dateien zu verlieren. So lassen sich beispielsweise vorhandene App-Architekturen einfacher zwischen XR und anderen Formfaktoren teilen, ohne dass Sie den Status durch den gesamten UI-Baum übertragen oder Ihre App neu strukturieren müssen.

    • SpatialPanel: Ein SpatialPanel ist eine zusammensetzbare Unterraumkomponente, mit der Sie App-Inhalte anzeigen können, z. B. die Videowiedergabe, Standbilder oder andere Inhalte.

    • Orbiter: Ein Orbiter ist eine räumliche UI-Komponente. Sie ist für die Verknüpfung mit einem entsprechenden räumlichen Bereich konzipiert und enthält Navigations- und Kontextaktionen, die sich auf diesen räumlichen Bereich beziehen. Wenn Sie beispielsweise ein räumliches Panel zum Anzeigen von Videoinhalten erstellt haben, können Sie einem Orbiter die Videowiedergabesteuerung hinzufügen.

    • Volumen: SceneCore-Entitäten wie 3D-Modelle relativ zur Benutzeroberfläche platzieren.

  • Räumliches Layout: Sie können mehrere räumliche Bereiche erstellen und sie mit SpatialRow, SpatialColumn, SpatialBox und SpatialLayoutSpacer in einem räumlichen Layout platzieren. Mit SubspaceModifier können Sie das Layout anpassen.

  • Räumliche UI-Komponenten: Diese Elemente können in Ihrer 2D-Benutzeroberfläche wiederverwendet werden. Ihre räumlichen Attribute sind nur sichtbar, wenn räumliche Funktionen aktiviert sind.

    • SpatialDialog: Das Feld wird in der Z-Tiefe leicht nach hinten verschoben, um ein erhöhtes Dialogfeld anzuzeigen.
    • SpatialPopUp: Das Feld wird in der Z-Tiefe leicht nach hinten verschoben, um ein erhöhtes Pop-up anzuzeigen.
    • SpatialElevation: SpatialElevationLevel kann festgelegt werden, um die Höhe hinzuzufügen.
  • SpatialCapabilities: Die räumlichen Funktionen können sich ändern, wenn Nutzer mit Ihrer App oder dem System interagieren oder sogar von Ihrer App selbst geändert werden, z. B. durch Wechsel in den Home Space oder Full Space. Um Probleme zu vermeiden, muss Ihre App nach LocalSpatialCapabilities.current suchen, um zu ermitteln, welche APIs in der aktuellen Umgebung unterstützt werden. isSpatialUiEnabled: Räumliche UI-Elemente (z. B. SpatialPanel) isContent3dEnabled: 3D-Objekte isAppEnvironmentEnabled: Die Umgebung isPassthroughControlEnabled: Gibt an, ob die Anwendung den Passthrough-Status steuern kann. isSpatialAudioEnabled: Spatial Audio

Bekannte Probleme

  • Derzeit ist für die Verwendung von Jetpack Compose für XR ein minSDK von 30 erforderlich. Als Workaround können Sie den folgenden Manifesteintrag <uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/> hinzufügen, um mit einem minSDK von 23 zu erstellen und auszuführen.
  • Für Jetpack XR-Apps muss derzeit die Berechtigung android.permission.SCENE_UNDERSTANDING im AndroidManifest angefordert werden.
  • Wenn eine App direkt im Full Space gestartet wird und dazu die PROPERTY_XR_ACTIVITY_START_MODE-Eigenschaft in ihrem Manifest verwendet, werden Aktivitäten/Anwendungen zuerst im Home Space geöffnet, bevor sie in den Full Space wechseln.
  • glTFs in Volume Composables flackern möglicherweise anfangs am falschen Ort.
  • Wenn Sie einen SpatialDialog in einem Bereich verwenden, der stark verschoben wurde, werden die Inhalte in die falsche Richtung verschoben.