Jetpack Compose für XR
| Letzte Aktualisierung | Stabile Version | Releasekandidat | Betarelease | Alpha-Release |
|---|---|---|---|---|
| 22. Oktober 2025 | - | - | - | 1.0.0-alpha08 |
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 im Maven-Repository von Google.
Fügen Sie der Datei build.gradle für Ihre App oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:
Cool
dependencies { implementation "androidx.xr.compose:compose:1.0.0-alpha08" // Use to write unit tests testImplementation "androidx.xr.compose:compose-testing:1.0.0-alpha08" }
Kotlin
dependencies { implementation("androidx.xr.compose:compose:1.0.0-alpha08") // Use to write unit tests testImplementation("androidx.xr.compose:compose-testing:1.0.0-alpha08") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Lassen Sie es uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können für ein vorhandenes Problem stimmen, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.0
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
ResizePolicywurde geändert, umonResizeStart,onResizeUpdateundonResizeEndzu 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) SpatialArrangementwurde eingeführt, um untergeordnete Elemente in 3D-Layouts wieSpatialRowundSpatialColumnentlang der Hauptachse anzuordnen. Diese neue API bietet bekannte Anordnungsoptionen aus 2D Compose, darunterStart,End,Center,SpaceBetween,SpaceAroundundSpaceEvenly, mit vollständiger Unterstützung für LTR- und RTL-Layoutrichtungen. (I7db38, b/436289959)- Es wurde eine Basis-Schnittstelle für
SubspaceModifier.Nodehinzugefügt, um die Typsicherheit und Nutzerfreundlichkeit von Erweiterungsschnittstellen wie- zu verbessern.
CompositionLocalConsumerSubspaceModifierNodeLayoutCoordinatesAwareModifierNodeSubspaceLayoutModifierNodeCoreEntityNode(internal) (Iede00, b/440599394, b/440599394)
- Einschränkung für
SpatialExternalSurfaceaufheben (I33315, b/439646773) - Führen Sie
SubspaceModifierin Subspace-Composables ein und ersetzen Sie den Parameter „constraints“ durchSubspaceModifiermit größenbezogenenSubspaceModifiers. WennallowUnboundedSubspace„true“ ist, können Subspaces weiterhin unbegrenzte Einschränkungen haben. (Ib06e6, b/433331675) - Die verschiebbaren und in der Größe anpassbaren
SubspaceModifierswerden eingestellt, daDragPolicy()undResizePolicy()jetzt Teil derSpatialPanel- undSpatialExternalSurface-API sind (I397bf, b/437924639). - Unterstützung für
LayoutDirectionin räumlichen Layouts hinzugefügt. MitSpatialAlignmentzusammengesetzte Elemente werden jetzt sowohl in LTR- als auch in RTL-Kontexten korrekt 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,depthInundSubspaceModifierswurden 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
- Erstellen Sie die
ComposeXrOwnerLocalsneu, wenn der Lifecycle-Inhaber 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
SubspaceComposablewurde öffentlich gemacht. (Ic2a34, b/399432430) - Zwei neue
SpatialExternalSurface-Composables, die 180- und 360-Grad-Kugeln darstellen. (I40ef2, b/391705799) SubspaceModifier.aspectRatiohinzugefügt (Ide5ab, b/399729509, b/414762147)- Die
SceneCoreEntityAPI wurde hinzugefügt, um die Interoperabilität zwischenSceneCoreund Compose für XR zu verbessern. (I50bb3, b/423020989) GravityAlignedsubspace-API zur Unterstützung der Funktion „Nicht skaliert“ undGravityAlignedbereitgestellt (I07359)
API-Änderungen
SpatialDialog()folgt der Konfiguration fürSpatialDialogProperties.dismissOnBack. (Ib453b, b/416797132)- Aktualisieren Sie
minimumPanelDimensionauf die neue StandarddimensionsgrößeDimensions(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 vor, um zum Full Space-Modus zu wechseln. (I40317, b/416037751)
SpatialDialogsbehalten jetzt ihren Status bei, wenn die App im Hintergrund ausgeführt wird. (I6aa56)ApplicationSubspaceübernimmt jetzt die empfohlene Skalierung und Position aus dem System. (I4565f, b/418834194)- Es wurde eine bessere Fehlermeldung hinzugefügt und der Fehler wird früher ausgelöst, wenn
SubspaceComposablein einem Kontext verwendet wird, der nichtSubspaceComposableist. (Iee2ae, b/416484684) ExperimentalSubspaceVolumeApiwird von „Warnung“ zu „Fehler“ aktualisiert, da Warnungen bei der missbräuchlichen Verwendung zusammensetzbarer APIs oft übersehen werden. (I427aa, b/424864286)- Der Unterraum und
ApplicationSubspacewerden jetzt durchrecommendedContentBoxInFullSpaceeingeschränkt. Bisher war sie durch das Sichtfeld vonSpatialUsereingeschränkt. (I41015, b/423074142) SpatialElevationaktualisieren, damit die Mindestgröße verwendet wird und keine fest codierte Größe mehr verwendet wird (I2dbe6, b/427785338)- Aktualisieren Sie, wie wir die
SpatialAcitivityPanelsimulieren, um zu sehen, wann eine wichtige Variable geändert wird. (I0f64d, b/427999029) - Entfernen Sie
VolumeConstraints.Unboundedund legen Sie stattdessen die Standardwerte für die Einschränkung fest. (Ie24ec, b/407938414) SpatialFeatheringSizeist nicht mehr öffentlich (I1c15b, b/399432430)- Die XR-
Placeablewurde inSubspacePlaceableumbenannt, um sie von derPlaceablevon Compose zu unterscheiden. (I74874) - Entfernen der Orbiter-Einstellungen und Hinzufügen von
shouldRenderInNonSpatialals neuen Parameter. Außerdem wird die KlasseEdgeOffsetentfernt undorbiterOffsetTypeals neuer Parameter hinzugefügt, umOrbiter()-Funktionen zusammenzuführen. Außerdem wirdOrbiterEdgeinContentEdgeumbenannt. (Iebf3d) Measurablewurde inSubspaceMeasurableumbenannt, um den Typ vomMeasurable-Typ von Compose zu unterscheiden. (I9726c)MeasureResultinSubspaceMeasureResultumbenennen (I9f34d)- Die
setSubspaceContentAPI wurde entfernt. Stattdessen wirdsetContentvon Compose mit einemSubspace-Composable verwendet. (Ifff4c, b/421427391, b/421427391) MeasurePolicywird inSubspaceMeasurePolicyumbenannt. (I37a9b, b/422553904)- Machen Sie
SubspaceSemanticsInfozu einer versiegelten Schnittstelle, da wir ohne die Standardwerte keine Mitglieder hinzufügen können. (I372f9, b/423704068) - Die Dokumentation für
SpatialExternalSurfacewurde aktualisiert undContentSecurityLevelwurde inSurfaceProtectionumbenannt (I3c460, b/420982808). - Es wurde ein überladener Konstruktor für den verschiebbaren Modifier bereitgestellt, der das Verankern ermöglicht. (Ic0c70)
- Es wurde ein weiterer Positionsanbieter für Tooltips hinzugefügt. Entwickler können jetzt festlegen, ob der Tooltip über, unter, links oder rechts vom Anker platziert wird. Fügen Sie eine API hinzu, die eine Form für Carets akzeptiert, damit mehr benutzerdefinierte Formen bereitgestellt werden können. (Ie513c, b/374766087, b/418854637)
CoreEntityalsPublishedApientfernt (Ifee05)
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem
SpatialDialogbeim Rendern blinkte. (Ife73c, b/401619909) - Ein Problem wurde behoben, durch das
SpatialDialogdas Aktivitätsfeld nicht abdunkeln konnte. (I8ca6c, b/367442109) - Fehler behoben: In XR-Dialogfeld werden einige Inhalte nicht angezeigt (I17cd5, b/418062437)
- Das Problem, dass
SpatialPopupgeschlossen wurde, wenn innerhalb des Inhalts darauf geklickt wurde, wurde behoben. (If262c, b/417245722) - Das Problem wurde behoben, bei dem das 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ü inSpatialComposeVideoPlayer. (Id33bc, b/427168167) - Fester Eckenradius 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 benutzerdefinierteSubspaceModifier-Typen auf lokale Werte der Komposition zugreifen können. - Wir haben eine neue
SpatialPanel-API hinzugefügt, die dem Compose-ImplementierungsstilAndroidViewfolgt und die vorherigeViewBased SpatialPanelersetzt. - Das
VolumeConstraints.Unbounded-Begleitobjekt wurde hinzugefügt, das unbegrenzte Einschränkungen darstellt. SubspaceModifier.onPointSourceParamswurde hinzugefügt, um eine räumliche Audioquelle zu ermöglichen.- Es wurde ein öffentliches
ApplicationSubspacehinzugefügt, das optionalesVolumeConstraintsbietet, um einen 3D-Bereich zu definieren, in dem die App räumliche Inhalte rendern kann. Wenn keine Einschränkungen angegeben sind, wird der Unterbereich standardmäßig durch das aktuelle Sichtfeld desSpatialUserin Breite und Höhe begrenzt. Nutzer können Einschränkungen angeben, die verwendet werden sollen, wenn das Sichtfeld nicht ermittelt werden kann. Andernfalls werden die Standardwerte für die Breite und Höhe des Sichtfelds verwendet. SpatialExternalSurfacewurde hinzugefügt. Damit lassen sich stereoskopische Inhalte rendern.SpatialExternalSurfacekann mit Modifikatoren (außer Alpha) und einem Kanteneffekt 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 bei räumlichen Bereichen 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
elevationangepasst werden. - Der Unterbereich kann jetzt standardmäßig durch das Sichtfeld des
SpatialUserin Breite und Höhe begrenzt werden. Wenn das Sichtfeld nicht bestimmt werden kann, werden die Standardwerte für die Breite und Höhe des Sichtfelds verwendet. - Dem Modifikator
Movablewurden die neuen CallbacksonMoveStartundonMoveEndhinzugefügt. Die CallbacksonMoveStartundonMoveEndwerden aufgerufen, wenn der Nutzer beginnt und beendet, einen Subspace-Composable mit dem Modifier „movable“ zu verschieben. - Der Parameter
namewurde aus räumlichen APIs wieSpatialRowundSpatialPanelentfernt. Verwenden Sie stattdessenSubspaceModifier.testTag, um räumliche Compose-Bäume zu debuggen. - Eine nicht unterstützte Überladung von
SpatialPopupwurde entfernt, die nurspatialElevationLevelundcontententhält. Verwenden Sie die Oberfläche, dieonDimissRequestunterstützt. - Der
onPoseChange-Callback aus dem Movable-Modifier wurde entfernt. Verwenden Sie stattdessenonMove. SubspaceModifierswendet seine Effekte nicht mehr an, wenn es getrennt wurde oder gerade getrennt wird.- Die vorhandene
SpatialRowAPI wurde inSpatialRowundSpatialCurvedRowaufgeteilt. Wenn Sie zuvor den ParametercurveRadiusvonSpatialRowverwendet haben, verwenden Sie stattdessen jetztSpatialCurvedRow. Das Verhalten ist dasselbe. MainPanelundActivityPanelhaben keine Titelleisten mehr, wenn sie auf einem ähnlich aktuellen System-Image ausgeführt werden.- Alpha- und Skalierungsmodifikatoren sind jetzt stapelbar und multiplizieren ihre Werte für den endgültigen angewendeten Alpha- oder Skalierungswert.
- Der
onPoseChange-Callback des Movable-Modifikators wurde optimiert, um eine flüssigere Bewegung der Pose zu ermöglichen. - Die verschiebbaren und in der Größe anpassbaren Modifier führen ihre Callbacks jetzt im Hauptthread aus, damit Zustandsänderungen eine Neuzusammensetzung auslösen.
- Der Layout- und Messphase wurde eine Statusbeobachtung hinzugefügt, damit Statusänderungen in
SubspaceLayoutein neues Layout auslösen. - Die Kette der optimierten Modifikatoren wurde aktualisiert, um vorhandene Modifikatoren besser wiederzuverwenden.
Fehlerkorrekturen
- Das Scrimming wurde beendet, als ein
SpatialDialogangezeigt wurde. (Ic4594) - Anfragen zum Neugestalten, die gestellt werden, während Modifikator-Knoten getrennt sind, werden jetzt ignoriert.
- Phasen für das Neugestalten des Layouts, die durch die Modifikatoren „Movable“ und „Resizable“ ausgelöst werden, wurden entfernt.
- Ein Absturz in der zusammensetzbaren Funktion
MainPanel()wurde behoben, der aufgetreten ist, wenn eine der beiden Dimensionen direkt oder während einer Layoutberechnung, z.B. einerSpatialRow/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
maintainAspectRatioaus dem Modifier „resizable“ 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.
NestedSubspaceswird 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
OrbiterAPI kann jetzt inSubspaceComposable-Kontexten verwendet werden. Orbiters werden an das nächstgelegeneSubspaceLayout-basierte zusammensetzbare übergeordnete Element angehängt. LayoutCoordinatesAwareModifierNodewurde eingeführt, um benutzerdefinierte positionierungsbasierte Modifikatoren zu ermöglichen.SubspaceModifier.Nodewurden Methoden für den Lebenszyklus zum Anhängen/Abtrennen hinzugefügt.scaleWithDistancewurde dem verschiebbaren Modifikator hinzugefügt. WennscaleWithDistanceaktiviert 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
SessionCallbackProviderwurde zugunsten vonSpatialCapabilitiesentfernt.
Sonstige Änderungen
minSDKauf 24 reduziert. Für alle Jetpack XR-APIs ist weiterhin API 34 zur Laufzeit erforderlich.- Die Konstruktoren
OrbiterEdgeOffset.inner,EdgeOffset.outerundEdgeOffset.overlapsind keine@Composable-Methoden mehr, sodass sie in nicht zusammensetzbaren Kontexten verwendet werden können. - Die räumlichen Erhebungsebenen wurden an die aktuelle UX-Spezifikation angepasst.
- Implementieren Sie die
SubspaceSemanticsInfo-Schnittstelle inMeasurableLayout. SubspaceModifierElementwurde inSubspaceModifierNodeElementumbenannt.
Fehlerkorrekturen
- Fehlerbehebungen zur Stabilisierung der
SubspaceModifier-Bestellung.SubspaceModifiersollte zuverlässiger funktionieren. Die Modifikatoren „Offset“, „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 Erstversion
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 das zusammensetzbare Element „Volume“ eingeführt, mit dem 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 können Sie beispielsweise die vorhandene App-Architektur einfacher zwischen XR und anderen Formfaktoren teilen, ohne den Status durch den gesamten UI-Baum zu übertragen oder Ihre App neu zu gestalten.SpatialPanel: Ein SpatialPanel ist eine untergeordnete Komponente, 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 Steuerelemente für die Videowiedergabe hinzufügen.
Volumen: Platzieren Sie SceneCore-Entitäten wie 3D-Modelle relativ zur Benutzeroberfläche.
Räumliches Layout: Sie können mehrere räumliche Bereiche erstellen und sie mit
SpatialRow,SpatialColumn,SpatialBoxundSpatialLayoutSpacerin einem räumlichen Layout platzieren. MitSubspaceModifiers 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 Popup anzuzeigen.SpatialElevation:SpatialElevationLevelkann 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. beim Wechsel in den Home Space oder Full Space. Um Probleme zu vermeiden, muss Ihre App prüfen, ob
LocalSpatialCapabilities.currentvorhanden ist, um zu ermitteln, welche APIs in der aktuellen Umgebung unterstützt werden.isSpatialUiEnabled: Räumliche UI-Elemente (z. B. SpatialPanel)isContent3dEnabled: 3D-ObjekteisAppEnvironmentEnabled: Die UmgebungisPassthroughControlEnabled: 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_UNDERSTANDINGim AndroidManifest angefordert werden. - Wenn eine App direkt im Full Space gestartet wird, indem die
PROPERTY_XR_ACTIVITY_START_MODE-Eigenschaft im Manifest verwendet wird, werden Aktivitäten/Anwendungen zuerst im Home Space geöffnet, bevor sie in den Full Space übergehen. - glTFs in Volume-Composables flackern möglicherweise anfangs am falschen Ort.
- Wenn Sie einen SpatialDialog in einem Bereich verwenden, der erheblich verschoben wurde, werden die Inhalte in die falsche Richtung verschoben.