XR için Jetpack Compose
| Son Güncelleme | Kararlı Sürüm | Sürüm Adayı | Beta Sürümü | Alfa Sürümü |
|---|---|---|---|---|
| 21 Ekim 2026 | - | - | 1.0.0-beta02 | - |
Bağımlılıkları bildirme
XR Compose'a bağımlılık eklemek için projenize Google Maven deposunu eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposu sayfasını okuyun.
Uygulamanız veya modülünüz için build.gradle dosyasında ihtiyacınız olan yapıların bağımlılıklarını ekleyin:
Eski
dependencies { implementation "androidx.xr.compose:compose:1.0.0-beta02" // Use to write unit tests testImplementation "androidx.xr.compose:compose-testing:1.0.0-beta02" }
Kotlin
dependencies { implementation("androidx.xr.compose:compose:1.0.0-beta02") // Use to write unit tests testImplementation("androidx.xr.compose:compose-testing:1.0.0-beta02") }
Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.
Geri bildirim
Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir sorun için oy verebilirsiniz.
Daha fazla bilgi için Issue Tracker belgelerine bakın.
Sürüm 1.0
Sürüm 1.0.0-beta02
21 Ekim 2026
androidx.xr.compose:compose:1.0.0-beta02 ve androidx.xr.compose:compose-testing:1.0.0-beta02 yayınlandı. 1.0.0-beta02 sürümü bu commit'leri içerir.
API Değişiklikleri
- Kitaplıklar artık Kotlin 2.2'yi hedefliyor ve kotlinc 2.2'yi gerektiriyor (I82396, b/498369605).
FollowMode.soft()adlı parametreninhalfLifeMsparametresihalfLifeMillisolarak yeniden adlandırıldı. (I39187)- Nesne tahsislerini ortadan kaldırmak için iki kayan noktalı sayıyı bir
Longiçinde paketleyerekPitchLimitsöğesini@JvmInline value classöğesine dönüştürdü. (Id43c3) FollowMode.softiçin yeni parametreler eklendi:halfLifeMs,startDelayvestartThresholdsparametreleri.smoothStepalgoritmasındanexponentialDecayalgoritmasına geçiş yaptığımız için artık gerekli olmayandurationMsparametresi kaldırıldı. (If0140)- Desteği sonlandırılan
SpatialActivityPanelaşırı yüklemesini kaldırın. Bunun yerineSpatialActivityPanelControllerkabul edenSpatialActivityPanelaşırı yüklemesini kullanın. (I5abc3) FullSpaceModeuygulamasında tek bir Activity içinde 3D ve 2D Composable içerikler arasında geçişleri etkinleştirme Bu değişiklikSpatialComposeFlags.isMainPanelResetOnSubspaceDisposeEnabledtarafından kısıtlanmıştır. (I4e237)- Aşağıdaki içeriği desteklemek için
FollowTargetparametresi alan deneyselSubspaceaşırı yüklemesi kullanıma sunuldu. (Iec1a9) - Desteği sonlandırılan taşınabilir değiştiricileri kaldırın. Bunun yerine, yeni
MovePolicyparametresini kabul eden yeni taşınabilir değiştiriciyi kullanın. (Ib135d) - Desteği sonlandırılan
DragPolicyöğesini kaldırın. Bunun yerineSubspaceModifier.movable()politikasını kullanın. (I108d4) - Durum bilgisi olmayan
SliderveRangeSlideraşırı yüklemeleri, durum bilgisi olan sürümleri lehine kullanımdan kaldırıldı.RangeSliderStateiçindekiactiveRangeStartveactiveRangeEnd,startValueveendValueolarak yeniden adlandırıldı. Eski, tanıtılmamış ve deneysel Slider API'leriDeprecationLevel.HIDDENile kullanımdan kaldırıldı. (If8995)
Hata Düzeltmeleri
- Bağlantı noktalarına veya kullanıcılara bağlı olanlar da dahil olmak üzere tüm alt uzay türleri için doğru poz hesaplaması yapılmasını sağlamak amacıyla
poseInActivitySpacekullanıma sunularakRotateToLookAtUserdüzeltildi.Ica367b - Orbiter büyük panellere eklendiğinde kısıtlamaların kilitlenmesi sorunu düzeltildi (I8c4bf).
SubspaceLayoutNodeuygulamasında,removeAll()nedeniyle gereksizArrayListayırmalarına yol açan bir hata düzeltildi. Derinlik hesaplama performansı da düzeltildi. I34a10aandroidx.lifecycle:lifecycle-runtimebağımlılığı 2.10.0 olarak güncellendi. Bu sürüm, paket halinde sunulan yaşam döngüsü çalışma zamanı lint kontrollerinin AGP 9.5.0-alpha04 veya sonraki sürümlerle çalışması için gereklidir. (I99bfd, b/556807521)- Birden fazla
ExoPlayerörneğiyle yeniden kullanılmaması gerektiğini vurgulamak içinAudioOutputProviderile ilgili kdoc'lar iyileştirildi (I6b18e). - Küçük kdoc yazım ve dil bilgisi sorunları düzeltildi (Id3ba6).
Bilinen Sorunlar
androidx.xr.composeuygulamasının bu sürümü, bilinen bir bellek sızıntısı olanandroidx.xr.scenecore:1.0.0-rc01sürümüne bağımlı. Derleme yapılandırmanızda, bellek sızıntısı düzeltmesini içerenSceneCorebağımlılığını1.0.0sürümüne açıkça geçersiz kılabilirsiniz.
Sürüm 1.0.0-beta01
23 Eylül 2026
androidx.xr.compose:compose:1.0.0-beta01 ve androidx.xr.compose:compose-testing:1.0.0-beta01 yayınlandı. 1.0.0-beta01 sürümü bu kayıtları içerir.
API Değişiklikleri
- Kullanımdan kaldırılan
DragPolicykaldırıldı. Bunun yerineSubspaceModifier.movable()politikasını kullanın. (I108d4) - Desteği sonlandırılan
ResizePolicyveSpatialPanelileSpatialExternalSurfaceiçindeki kullanımları kaldırıldı. Desteği sonlandırılanSubspaceModifier.resizableişlevini kaldırın. Bunun yerine yeniSubspaceModifier.resizableözelliğini yeni birResizePolicyile kullanın. (I59e6b) - Perde takibinin bağımsız olarak etkinleştirilmesine veya devre dışı bırakılmasına olanak tanımak için
isPitchUpdateEnabledparametresi eklendi. (Ie9e86) pitchLimitsiçin null değer alabilme özelliği kaldırıldı vePitchLimits.UNCONSTRAINED,PitchLimits.FullRangeolarak yeniden adlandırıldı. (I0154f)ExposedDropdownMenuartık üye yerineExposedDropdownMenuBoxScopeüzerinde bir uzantı işlevidir. Kodunuzu yeni bir içe aktarma işlemiyle güncellemeniz gerekebilir. (Ie8a65)- Desteği sonlandırılan
SurfaceProtectionsınıfı kaldırıldı. Bunun yerineSpatialExternalSurfaceProtectionpolitikasını kullanın. (Iab2c6) OrbiterPoseProvideralan Orbiter işlevi,SpatialAlignmentkullanan işlev lehine kullanımdan kaldırıldı. (I4d12b)SpatialActivityPanel, yerleşik etkinlikleri başlatmak ve yönetmek için artıkSpatialActivityPanelController(rememberSpatialActivityPanelControllerkullanılarak örneklendirilir) gerektiriyor. (Id25c6)upDirectionparametresirotateToLookAtUseröğesinden kaldırıldı ve dönüş kısıtlamaları parametreleri (isYawUpdateEnabledvepitchLimits) eklendi. (I1370a)
Hata Düzeltmeleri
- Çeşitli
InteractionPolicysorunları düzeltildi. Oluşturulabilir öğe veya alt öğe (ör. Orbiter) bir imha sırası başlattığı sırada giriş etkinliği gerçekleşirse kilitlenme yaşanıyordu. Ayrıca, alt öğenin fareyle üzerine gelme etkinliklerini almasıyla ilgili bir sorun düzeltildi. (Ifc477) - Daha küçük görüş alanına sahip cihazlarda kırpılmayı önlemek için
RotateToLookAtUserActivityuygulamasında panel boyutu küçültüldü. (I8d672)
Bilinen Sorunlar
- Compose XR panellerinde, tek bir etkinlikte çok sayıda panel oluşturulması, paneller kaldırıldıktan sonra bile görüntülenen içerikte bozulmaya neden olabilir.
Sürüm 1.0.0-alpha17
12 Ağustos 2026
androidx.xr.compose:compose:1.0.0-alpha17 ve androidx.xr.compose:compose-testing:1.0.0-alpha17 yayınlandı. 1.0.0-alpha17 sürümü bu kayıtları içerir.
API Değişiklikleri
Meterdeğer sınıfını kaldırın. Bu sınıf,ScenecoresürümündevirtualPixelDensityile değiştirildi. (I690ee)SpatialGltfModelAPI'si artık deneyseldir ve kullanılabilmesi için etkinleştirilmesi gerekir. (I4557e)systemöğesini yeniden boyutlandırılabilir ve null değer alabilir yapın (Ib0093)- Test için
SubspaceSemanticsInfoiçindeDensitygösterildi. (I2e826) ResizePolicyvarsayılan seçeneğinisystemolarak yeniden adlandırın ve parametre içermeyen yeni birDefaultseçeneği ekleyin (Ic8b16).FollowTargetdeneysel olarak işaretleyin.FollowingSubspaceAPI'nin tamamı artık deneyseldir. (Id4ee3)GltfAnimationAPI'leri kaldırın (Ic2894)- Parametreli
MovePolicy.default()yöntemiMovePolicy.system()olarak yeniden adlandırıldı. Standart varsayılan hareket davranışını temsil eden birval MovePolicy.Defaultözelliği kullanıma sunuldu. (Iedcc9) ExperimentalMoveAnchorPolicyetkinleştirme şartlarınıPlaneSemanticvePlaneOrientationolarak genişletin (Ief927)resetMinssitesini,VolumeConstraints.offsetsitesinden kaldır (Ib2f2f)- Desteği sonlandırılan
SceneCoreEntitySizeAdapterişlevi kaldırıldı. (Ib6722) - Kullanımdan kaldırılan
Subspaceaşırı yüklemesiallowUnboundedSubspaceile kaldırıldı. (I8e97f) - Kullanımdan kaldırılan semantik değiştirici aşırı yüklemesi kaldırıldı. (I4ac10)
Hata Düzeltmeleri
InteractionPolicyeklenmiş birComposableöğesinin alt öğelerinin giriş etkinliklerini tetiklemesiyle ilgili sorun düzeltildi (Icdba6).
Sürüm 1.0.0-alpha16
15 Temmuz 2026
androidx.xr.compose:compose:1.0.0-alpha16 ve androidx.xr.compose:compose-testing:1.0.0-alpha16 yayınlandı. 1.0.0-alpha16 sürümü bu kayıtları içerir.
API Değişiklikleri
ComponentOverrideAPI'lerini kaldırma (I820c4)GltfAnimationveSpatialGltfModelAnimationAPI'leri deneysel olarak işaretlendi. Bazı özellikler alıcıya dönüştürüldü. (I8d689, b/524771027)- Metre ve piksel arasındaki dönüşümün sabit olmasını sağlayarak genel yoğunluk davranışı düzeltildi. Meter.kt kullanımdan kaldırıldı. Artık alternatif olarak
Session.scene.virtualPixelDensitykullanılabilir. (I122ff, b/430097855, b/474168798) - Yeniden boyutlandırılabilir değiştirici, iki değiştirici yerine bir
ResizePolicykullanacak şekilde güncellendi (I7fb0f, b/496257436, b/519672992) SubspaceAssertions.ktiçindeki tüm herkese açık kayan nokta boyutu ve konum eşitliği iddialarına bir tolerans:Dp = Dp(0.5f)parametresi eklendi. Varsayılan tolerans davranışı (0.5.dp) tam olarak belgelenmiştir. (I266cb, b/521491915)movePolicyparametresiyle taşınabilir aşırı yükleme eklendi vetransformingMovableilemovabledesteği sonlandırıldı (Ic88c1, b/481781189)- Material Expressive spesifikasyonlarına uygun, standart liste öğesi ve segmentlere ayrılmış liste öğesinin yeni etkileşimli olmayan varyantları eklendi. İfadesiz sürümün desteği sonlandırıldı. (Ide4de, b/491994186)
- Subspace için
allowUnboundedSubspaceparametresinin desteği sonlandırıldı ve parametre gizlendi. Sınırsız davranış artık alt uzay değiştiricideSubspaceModifier.requiredSizeIn(maxWidth=Dp.Infinity,maxHeight=Dp.Infinity,maxDepth=Dp.Infinity) kullanılarak elde edilmelidir.allowUnboundedSubspaceparametresi,FollowingSubspaceöğesinden kaldırıldı. (Ia72ae, b/433624021) Session.create, askıya alma işlevine dönüştürüldü. (I5d27f)ExoPlayerveyaSoundEffectPlayeraracılığıyla ses oynatmanın üç boyutlu hale getirilmesini sağlayanSubspaceModifier.spatializedAudioOutputeklendi (I46697, b/489421980, b/497867019)- Durum doğrulaması için
SpaceRequestResultdöndürülecek şekildeComponentActivity.requestHomeSpace()verequestFullSpace()güncellendi. (If1672) AnchorEntity,AnchorSpaceolarak güncellendi (Ifa95e, b/513619219)SpatialGltfModelSourcesınıfından kısıtlanmamışfromResourceyöntemi (I1f5a1, b/503047416)SubspaceSemanticsMatcherüyeleri herkese açık:descriptionözelliği, tamamlayıcı fabrika yöntemleri (expectValue,keyIsDefined,keyNotDefined), üye işlevleri (matches,matchesAny) ve operatörler (and,or,not). (I972a4, b/460427288)SubspaceModifier.semantics,SubspaceModifier.testTag,SubspaceSemanticsInfo,SubspaceSemanticsModifierNode, özel olarak seçilmiş uzamsal semantik türlerini kullanacak şekilde güncellendi. (I80dea, b/460427288)SpatialAlignmentiçindeposition,alignolarak yeniden adlandırıldı ve birleşik biralignAPI'si lehine ayrı yönlü ofset yöntemleri kaldırıldı. (I9bdb2, b/479805937)SpatialConfigurationuygulamasından desteği sonlandırılan Space Mode API'leri kaldırıldı. (I1ef5c, b/458712461)SubspaceSemanticsConfigurationtanıtıldı. Bu, bir uzamsal düğüm için semantik özelliklerin yapılandırmasıdır. Bu sınıf, temel 2D semantik özelliklerini harici tüketicilere sızdırmadan 3D semantik için sorgu yöntemlerini güvenli bir şekilde gösterir. (Id025e, b/460427288)SubspaceSemanticsPropertyReceiverkullanıma sunuldu: 3D düzen kapsayıcı özelliklerini geçerli alanlarla (başlangıçtatestTagvecontentDescription) sınırlayan özel bir sarmalayıcı. (I5cf5c, b/460427288)
Hata Düzeltmeleri
- Anlamsal değiştiricinin
hasContentDescriptiondeğeri, varsayılan olarak alt dize eşleme olacak şekilde güncellendi. (I08214) - Esnek fizik kurallarına göre yumuşak bir takip davranışı sağlayan kısıtlı
FollowBehavior.ExponentialDecay()eklendi. (I7449c, b/485639909, b/500493335)
Çoğu API bu durumdan etkilenir. Özellikle LocalSession CompositionLocal ve LocalSession'a bağlı tüm CompositionLocals (ör. LocalSpatialConfiguration, LocalSpatialCapabilities vb.) artık Session başlatılmadan önce null veya XR olmayan sürümlerine çözümlenecek.
Session kullanılabilir olduğunda yeniden oluşturma işlemi doğru durumla tetiklenir. (I0cfa4, b/514712835, b/514712835)
- Askıya alma davranışı, iptal ve eşzamanlılık ile ilgili
ComponentActivity.requestHomeSpaceveComponentActivity.requestFullSpacedokümanları netleştirildi.CancellationExceptionyayılımını doğrulamak için testler güncellendi. (I22f75, b/493289528)
Sürüm 1.0.0-alpha15
17 Haziran 2026
androidx.xr.compose:compose:1.0.0-alpha15 ve androidx.xr.compose:compose-testing:1.0.0-alpha15 yayınlandı. 1.0.0-alpha15 sürümü bu kayıtları içerir.
API Değişiklikleri
ResizePolicyve eski yeniden boyutlandırılabilir değiştirici kullanımdan kaldırıldı. Bunların yerine yeni birSubspaceModifier.resizableaşırı yüklemesi veSubspaceModifier.transformingResizablegetirildi. (I9e4bc)SpatialGltfModelAPI'leri güncellendi:SpatialGltfModelSourcearacılığıyla kaynaklardan model yükleme desteği eklendi.fromResource.SpatialGltfModelAnimationiçinde hız,playbackSpeedolarak yeniden adlandırıldı ve bir resume() yöntemi eklendi.SpatialGltfModelStatus.Loaded ve Loading artık nesnedir. (I523de)rotateToLookAtUser, deneysel bir API olarak işaretlendi. (I86c16)- Korunan
targetCurrentPosedeğişkeni, yerelcurrentTargetPoseMeterdeğişkenine taşındı ve yeniden adlandırıldı. (Ia557c) SpatialPanelveSpatialExternalSurfacekdoc'larını, nesnenin düzen boyutu içinde nerede oluşturulduğunu içerecek şekilde güncelleyin (I72104).SpatialGltfModelyükleme mantığıSpatialGltfModelStateiçine kapsüllendi ve hata davranışı netleştirildi. (Ibe98b)SubspaceModifer.sizekdoc'tadepthnetleştirildi (I0f84f)
Sürüm 1.0.0-alpha14
19 Mayıs 2026
androidx.xr.compose:compose:1.0.0-alpha14 ve androidx.xr.compose:compose-testing:1.0.0-alpha14 yayınlandı. 1.0.0-alpha14 sürümü bu kayıtları içerir.
API Değişiklikleri
- Sistem tarafından işlenen varsayılan 3D hareket için
transformingMovablekullanıma sunuldu ve özel hareket davranışlarını işlemek üzeremovableiçin yeni bir aşırı yükleme kullanıma sunuldu. (I50960) SpatialGltfModel.fromData()kaldırıldı. (I4d083)- Ölçüm aşamasından sonra
onRemeasuredgeri çağırma işlevi sağlayan yeni bir değiştirici düğüm arayüzü (SubspaceMeasuredSizeAwareModifierNode) eklendi.SubspaceLayoutAwareModifierNodeartık bu yeni arayüzü genişletiyor.onSizeChangeddeğiştiricisi,onRemeasuredkullanacak şekilde güncellendi. Böylece geri çağırma, yerleşimden sonra değil, ölçümden hemen sonra tetiklenir. (Iafbae) InteractionPolicy,Interface(I0ff30) olarak güncellendi- Compose
compileSdk, API 37'ye güncellendi. Bu nedenle, Compose kullanılırken minimum AGP sürümü 9.2.0 olmalıdır. (Id45cd) Sizekdoc güncellendi (Iefa9a)
Sürüm 1.0.0-alpha13
6 Mayıs 2026
androidx.xr.compose:compose:1.0.0-alpha13 ve androidx.xr.compose:compose-testing:1.0.0-alpha13 yayınlandı. 1.0.0-alpha13 sürümü bu kayıtları içerir.
API Değişiklikleri
- Orbiter API'de ek değişiklikler yapılması bekleniyor. Orbiter'lar için desteğin sonlandırılması bildirimlerini gizlemenizi ve gelecek sürümlerdeki Orbiter değişikliklerini takip etmenizi öneririz.
- glTF'leri oluşturmak için
SceneCoreEntitykullananlar, glTF'lerinin oluşturulmasını sağlamak içinGltfModel.createçağrılarınınparentparametresinesession.scene.activitySpacedeğerini ilettiklerinden emin olmalıdır. - Geliştiricilerin Compose for XR uygulamalarına Gltf eklemesine olanak tanıyan
SpatialGltfModelAPI'si ekleniyor. Geliştiriciler, Gltf modellerindeki animasyonları ve düğümleri de sorgulayabilir. (I8b542, b/495422586) SceneCoreEntitySizeAdapter, sınıftan arayüze değiştirildi (I5a784, b/475292310)SurfaceProtection,SpatialExternalSurfaceProtectionolarak yeniden adlandırıldı.SpatialExternalSurfacekdoc güncellendi (Ifad0a, b/485231082)currentWindowAdaptiveInfodesteği sonlandırıldı ve 2. sürümü kullanıma sunuldu (I40ecf, b/424442112)resizabledeğiştiricisi artık herkese açık ve gruplara (ör.SpatialRow) uygulanabilir. (I2bcf6, b/348483527, b/489753178, b/479530787)movabledeğiştiricisi artık herkese açık. Bu değiştirici şu andaSpatialPanelsveSpatialExternalSurfaceiçin iyi çalışıyor ancak tümSubspaceComposablesiçin iyi desteklenmesi amaçlanıyor. (I9a3cd, b/479530787, b/478935063, b/478935063)SpatialEnterTransitionveSpatialExitTransition,@Immutableolarak işaretlendi (If1710, b/487757837)SpatialGltfModelAPI'si, ek testler yapılana kadar bu sürüm için kısıtlanmış olarak işaretlendi. (Ibf003, b/466090694)DeviceTrackingMode.LAST_KNOWN,SPATIAL_LAST_KNOWNolarak yeniden adlandırıldı (desteği sonlandırılmış bir yedekle birlikte), 3DoF izleme içinINERTIAL_LAST_KNOWNeklendi veTrackingStateiçinTRACKING_DEGRADEDeklendi. (Ie661c, b/445466590)- Desteği sonlandırılan
SpatialLayoutSpacerkaldırılıyor (I7b36c) - Desteği sonlandırılan dolgu API'si kaldırılıyor (If1886)
- Sapma değerlerine
floatRangeeklendi.LayoutDirection(I9d74e) için varsayılan değer kaldırıldı
Hata Düzeltmeleri
SpatialColumn,SpatialRowveSpatialCurvedRowiçin kod örnekleri ve KDoc belgeleri eklendi. (Iaf54f, b/495777633)
Sürüm 1.0.0-alpha12
25 Mart 2026
androidx.xr.compose:compose:1.0.0-alpha12 ve androidx.xr.compose:compose-testing:1.0.0-alpha12 yayınlandı. 1.0.0-alpha12 sürümü bu commit'leri içerir.
API Değişiklikleri
- glTF'leri oluşturmak ve animasyonları kontrol etmek için
SpatialGltfModelAPI'sini veSpatialGltfModelAnimationAPI'lerini ekleyin.SpatialGltfModelState,AutoCloseableolarak değiştirildi. Kaynaklarının serbest bırakılması için kapatılması gerekiyor. (I11fde, b/466065486, b/481379924). AncakSpatialGltfModelAPI'si, ek testler yapılana kadar bu sürüm için kısıtlanmış olarak işaretlendi. (Ibf003, b/466090694) SubspaceModifier.rotateiçin desteği sonlandırılmış boş bir aşırı yükleme eklendi. (Idceb6)SpatialSmoothFeatheringEffectişlevispatialSmoothFeatheringEffectolarak yeniden adlandırıldı ve bir çizim modülüne taşındı.SpatialExternalSurfacevarsayılan yumuşatma değeri, eski ZeroFeatheringEffect işlevini taklit eden null olarak güncellendi. (I5fdaa, b/460426800)onPointSourceParamsAvailablekaldırıldı. Yakın gelecekte farklı bir ses uzamsallaştırma API'si kullanıma sunulacaktır. (I86507, b/458513439)- Ofset alt uzay değiştiricileri için RTL davranışı eklendi. Ayrıca, düzen yönünü yoksaymak için
absoluteOffseteklendi. (I30e4b, b/474409165)
Sürüm 1.0.0-alpha11
25 Şubat 2026
androidx.xr.compose:compose:1.0.0-alpha11 ve androidx.xr.compose:compose-testing:1.0.0-alpha11 yayınlandı. 1.0.0-alpha11 sürümü bu commit'leri içerir.
Yeni özellikler
SuperSamplingparametresiSpatialExternalSurfaces(Icd4d1) öğesine ekleniyor
Bilinen Sorunlar
- SceneCore'da
SurfaceEntityile ilgili bir sorun,SpatialExternalSurfaceörnekleri oluşturulurken uygulamaların kilitlenmesine neden olabilir. Bu sorunandroidx.xr.scenecore:scenecore-*:1.0.0-alpha13,androidx.xr.compose:compose:1.0.0-alpha12ve sonraki sürümlerde çözülmüştür. Etkilenen uygulamalar en yeni sürüme güncellenmelidir.
API Değişiklikleri
- Alt uzay değiştirici dolgusu, düzen yönü farkındalığı için değişir. (I53e25)
SpatialCapabilitiesartık mühürlü ve uzatılamaz. (I07aef)- Genel bir
SpatialAlignmentparametresi kabul edenSpatialRowveSpatialColumnAPI'leri kullanımdan kaldırıldı. Bunun yerine, sırasıylaSpatialRowveSpatialColumniçinverticalAlignmentveyahorizontalAlignmentkabul eden API'leri kullanın. (Iec390) - Aşırı yükleme
SubspaceLayoutişlev API'lerini birleştirme (Idd30a) SubspaceModifier.lookAtUser,rotateToLookAtUserolarak veupparametresi,upDirectionolarak yeniden adlandırıldı. (Icafb8)SpatialRowsatır içi işlev haline getiriliyor (Ia2f20)SpatialColumn, satır içi işlev haline getiriliyor (I681be)- Billboard API kaldırıldı (Ib76cd)
Sürüm 1.0.0-alpha10
28 Ocak 2026
androidx.xr.compose:compose:1.0.0-alpha10 ve androidx.xr.compose:compose-testing:1.0.0-alpha10 yayınlandı. 1.0.0-alpha10 sürümü bu commit'leri içerir.
API Değişiklikleri
- Desteği sonlandırılan API kaldırılıyor:
ApplicationSubspace(Ia6596, b/468345186) SpatialShape, mühürlü bir arayüze güncellendi (I7e3f5, b/460426800).SpatialAlignmentsürümünde, desteği sonlandırılan API'ler kaldırılıyor. (Ib0b61, b/468011887)SpatialLayoutSpacerkullanımdan kaldırılıyor veSpatialSpacerkullanıma sunuluyor. (I2ebf3, b/466071383)- "Gecikmeli kilitleme" terminolojisini "geçici kilitleme" ile değiştirmek için
UserSubspaceAPI'si güncellendi. (I9ded1, b/464035984)
Sürüm 1.0.0-alpha09
3 Aralık 2025
androidx.xr.compose:compose:1.0.0-alpha09 ve androidx.xr.compose:compose-testing:1.0.0-alpha09 yayınlandı. 1.0.0-alpha09 sürümü bu kayıtları içerir.
API Değişiklikleri
LookAtUserve Billboard değiştiricileri ekleyerek içeriğin her zaman kullanıcıya dönük olmasını sağlama (I49b99)InteractionPolicyöğesiniSpatialExternalSurfacesveSpatialPanelsolarak ayarlama özelliği eklenerek tıklamaların ve diğer 3D giriş etkinliklerinin algılanması sağlanır. (Iae155)- Genişlik, yükseklik ve derinlik değerleri Dp olarak belirtilen, boyut ve
requiredSizedeğiştirici aşırı yüklemesi eklendi. (I92f79) ParentLayoutParamsModifierarayüzü artıkDelegatableSubspaceNodearayüzünü genişletiyor. (I1a6d4)ApplicationSubspace, Subspace API lehine kullanımdan kaldırıldı.- Subspace API davranışı, yalnızca önerilen poz ve ölçekte uygulama genelinde bir alt uzay sağlayacak şekilde değiştirildi.
PlanarEmbeddedSubspaceAPI, 2D bağlamlarda yerleşik alt uzaylar sağlamak için kullanıma sunuldu. (Id3343)
SubspaceModifier.NodeAPI'sineshouldAutoInvalidateişareti eklendi. (I93902)- Geliştiricilerin, üst öğenin gelen ölçüm kısıtlamalarını dikkate almadan
@SubspaceComposableboyutunu belirli bir aralıkla sınırlamasına olanak tanıyan API'lererequired(Size|Width|Depth|Height)eklendi. (Ifaa78) - Geliştiricilerin,
@SubspaceComposableboyutu değiştiğinde tepki vermesi için basit ve odaklanmış bir geri çağırma işlevi sağlayanSubspaceModifier.onSizeChangedeklendi. (I994f9) - Volume API kaldırıldı. Volume API yerine
SceneCoreEntityAPI kullanılmalıdır. (I4162b) SubspaceLayoutModifierNode.requestRelayoutöğesiniinvalidateMeasurement/invalidatePlacementparçaya bölün. (I14805)- Geliştiricilerin glTF'leri oluşturma işleminde oluşturmasına olanak tanıyan
SpatialGltfModelAPI'si eklendi. (Icc91f) - glTF'leri kolayca oluşturmak için
SpatialGltfModelcomposable API'si kullanıma sunuldu (Iade67).
Hata Düzeltmeleri
SceneCoreEntityuygulamasındaki bir düzen hatası düzeltildi. Artık kısıtlamalarına uygun şekilde çalışacaktır. (I11bb8)- jxr-compose modüllerini
Compile sdk = 34sürümüne düşürün (I2d5db)
Sürüm 1.0.0-alpha08
22 Ekim 2025
androidx.xr.compose:compose:1.0.0-alpha08 ve androidx.xr.compose:compose-testing:1.0.0-alpha08 yayınlandı. 1.0.0-alpha08 sürümü bu commit'leri içerir.
API Değişiklikleri
ResizePolicy,onResizeStart,onResizeUpdateveonResizeEndkabul edecek şekilde değiştirildi. (I7e21f)
Hata Düzeltmeleri
- Alt uzay içeren bir etkinlik yok edilirken kilitlenme önlendi. (I595a1)
Sürüm 1.0.0-alpha07
24 Eylül 2025
androidx.xr.compose:compose:1.0.0-alpha07 ve androidx.xr.compose:compose-testing:1.0.0-alpha07 yayınlandı. 1.0.0-alpha07 sürümü bu kayıtları içerir.
API Değişiklikleri
SpatialMainPaneliçin KDoc'lar iyileştirildi. (I27b70, b/444467891)SpatialRowveSpatialColumngibi 3D düzenlerde alt öğeleri ana eksen boyunca düzenlemek içinSpatialArrangementkullanıma sunuldu. Bu yeni API, 2D Compose'daki tanıdık düzenleme seçeneklerini (Start,End,Center,SpaceBetween,SpaceAroundveSpaceEvenlydahil) sunar ve hem soldan sağa hem de sağdan sola düzen yönlerini tam olarak destekler. (I7db38, b/436289959)- Uzantı arayüzlerinin tip güvenliğini ve kullanılabilirliğini iyileştirmek için
SubspaceModifier.Nodeiçin temel bir arayüz eklendi. Örneğin:CompositionLocalConsumerSubspaceModifierNodeLayoutCoordinatesAwareModifierNodeSubspaceLayoutModifierNodeCoreEntityNode(dahili) (Iede00, b/440599394, b/440599394)
SpatialExternalSurfaceiçin kısıtlamayı kaldır (I33315, b/439646773)- Subspace composable'larına
SubspaceModifierekleyin ve kısıtlama parametresini boyutla ilgiliSubspaceModifiersileSubspaceModifierolarak değiştirin.allowUnboundedSubspacedoğruysa alt uzaylar sınırsız kısıtlamalara sahip olabilir. (Ib06e6, b/433331675) DragPolicy()veResizePolicy(),SpatialPanelveSpatialExternalSurfaceAPI'nin (I397bf, b/437924639) bir parçası olduğu için taşınabilir ve yeniden boyutlandırılabilirSubspaceModifiersdesteği sonlandırılıyor.- Üç boyutlu düzenlerde
LayoutDirectioniçin destek eklendi.SpatialAlignmentkullanan Composable, artık öğeleri hem LTR hem de RTL bağlamlarında doğru şekilde konumlandıracak. (I964bb, b/436300273) - Bu davranışların yalnızca desteklenen kapsayıcılara uygulanabilmesi için
PanelAPI'lerine yeniden boyutlandırılabilir ve taşınabilir parametreleri ekleyin. (Id491c) - Genişlik, yükseklik ve derinlik için tam minimum ve maksimum kısıtlamalar belirlemenize olanak tanıyan
sizeIn,widthIn,heightIn,depthInSubspaceModifierseklendi. (I1af09, b/433330761)
Sürüm 1.0.0-alpha06
13 Ağustos 2025
androidx.xr.compose:compose:1.0.0-alpha06 ve androidx.xr.compose:compose-testing:1.0.0-alpha06 yayınlandı. 1.0.0-alpha06 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Yaşam döngüsü sahibi yok edildiğinde
ComposeXrOwnerLocalsöğesini yeniden oluşturun. (9123ce1)
Sürüm 1.0.0-alpha05
30 Temmuz 2025
androidx.xr.compose:compose:1.0.0-alpha05 ve androidx.xr.compose:compose-testing:1.0.0-alpha05 yayınlandı. 1.0.0-alpha05 sürümü bu commit'leri içerir.
Yeni özellikler
SubspaceComposablenot sınıfı herkese açık hale getirildi. (Ic2a34, b/399432430)- 180 ve 360 derecelik küreleri temsil eden iki yeni
SpatialExternalSurfacebileşeni. (I40ef2, b/391705799) SubspaceModifier.aspectRatioeklendi (Ide5ab, b/399729509, b/414762147)SceneCoreile XR için Compose arasındaki birlikte çalışabilirliği iyileştirmek amacıylaSceneCoreEntityAPI'si eklendi. (I50bb3, b/423020989)- Ölçeklendirilmemiş ve
GravityAlignedözelliğini desteklemek içinGravityAlignedsubspaceAPI'si sağlandı (I07359).
API Değişiklikleri
SpatialDialog(),SpatialDialogProperties.dismissOnBackbasma yapılandırmasını takip edecek. (Ib453b, b/416797132)minimumPanelDimension, metre cinsinden gösterimi nedeniyle yeni varsayılan boyut olanDimensions(0.1f, 0.1f, 0.1f)olarak güncellenecek. (Ib852a)- Alt alanlar ve Orbiters artık ana alanda ve uygulama arka plandayken dahili durumlarını koruyacak. Ana Sayfa Alanı modunda Subspace, Tam Ekran Alanı moduna geçişe hazırlık olarak sahnesini ayarlamaya devam eder. (I40317, b/416037751)
SpatialDialogs, uygulama arka plandayken durumunu koruyacak. (I6aa56)ApplicationSubspaceartık önerilen ölçeğini ve konumunu sistemden devralacak. (I4565f, b/418834194)SubspaceComposable,SubspaceComposableolmayan bir bağlamda kullanıldığında daha iyi bir hata mesajı eklendi ve hata daha erken tetiklendi. (Iee2ae, b/416484684)- Oluşturulabilir API'ler yanlış kullanıldığında uyarılar genellikle gözden kaçırıldığı için
ExperimentalSubspaceVolumeApi, Uyarı'dan Hata'ya güncelleniyor. (I427aa, b/424864286) - Alt uzay ve
ApplicationSubspaceartıkrecommendedContentBoxInFullSpaceile kısıtlanmıştır. Daha önceSpatialUsercihazının görüş alanıyla sınırlıydı. (I41015, b/423074142) - Sabit kodlu boyutun artık kullanılmaması için
SpatialElevation, minimum boyutu kullanacak şekilde güncellendi (I2dbe6, b/427785338). - Anahtar değişken değiştirildiğinde güncellenecek şekilde
SpatialAcitivityPanel'i nasıl taradığımızı güncelleyin. (I0f64d, b/427999029) VolumeConstraints.Unboundedöğesini kaldırın ve varsayılan kısıtlama değerlerini eşdeğerine ayarlayın. (Ie24ec, b/407938414)SpatialFeatheringSizeartık herkese açık değil (I1c15b, b/399432430)- XR
Placeable, Compose'unPlaceableöğesinden ayırt edilebilmesi içinSubspacePlaceableolarak yeniden adlandırıldı. (I74874) - Orbiter ayarları kaldırılıyor ve yeni bir parametre olarak
shouldRenderInNonSpatialekleniyor. AyrıcaOrbiter()işlevlerini birleştirmek içinEdgeOffsetsınıfı kaldırılıyor ve yeni bir parametre olarakorbiterOffsetTypeekleniyor. AyrıcaOrbiterEdge,ContentEdgeolarak yeniden adlandırıldı. (Iebf3d) - Türün, Compose'un
Measurabletüründen ayırt edilebilmesi içinMeasurable,SubspaceMeasurableolarak yeniden adlandırıldı. (I9726c) MeasureResultadlı öğeyiSubspaceMeasureResultolarak yeniden adlandırın (I9f34d)setSubspaceContentAPI'si, Compose'unsetContentAPI'siniSubspacecomposable ile kullanmak için kaldırıldı. (Ifff4c, b/421427391, b/421427391)MeasurePolicy,SubspaceMeasurePolicyolarak yeniden adlandırıldı. (I37a9b, b/422553904)- Varsayılanlar olmadan üye ekleyemeyeceğimiz için
SubspaceSemanticsInfoöğesini kapalı bir arayüze dönüştürün. (I372f9, b/423704068) SpatialExternalSurfacebelgeleri güncellendi,ContentSecurityLevel,SurfaceProtectionolarak yeniden adlandırıldı (I3c460, b/420982808)- Taşınabilir değiştirici için sabitlemeye olanak tanıyan aşırı yüklenmiş kurucu sağlandı. (Ic0c70)
- İpuçları için daha fazla konum sağlayıcı eklendi. Böylece geliştiriciler, ipucunun sabit noktanın üstüne, altına, soluna veya sağına yerleştirilip yerleştirilmeyeceğini kontrol edebilir. İmleçler için Şekil alan bir API ekleyin. Böylece daha fazla özel şekil sağlanabilir. (Ie513c, b/374766087, b/418854637)
CoreEntity,PublishedApirolünden kaldırıldı (Ifee05)
Hata Düzeltmeleri
SpatialDialogoluşturulurken yanıp sönmesine neden olan sorun düzeltildi. (Ife73c, b/401619909)SpatialDialogöğesinin etkinlik panelini karartamamasıyla ilgili sorun düzeltildi. (I8ca6c, b/367442109)- XR iletişim kutusunun bazı içerikleri göstermemesi sorunu düzeltildi (I17cd5, b/418062437).
- İçerik tıklandığında
SpatialPopupöğesinin kapatılmasına neden olan sorun düzeltildi. (If262c, b/417245722) resizable().movable()zincirlenirken SpatialPanel'in yeni boyuta doğru şekilde yeniden boyutlandırılamaması sorunu düzeltildi. (I02ee3, b/422264230)SpatialComposeVideoPlayeriçinde menüyle çakışantopBardüzeltildi (Id33bc, b/427168167)- Sabit köşe yarıçapının oluşturulmaması sorunu düzeltildi (I975fe, b/428261830).
Sürüm 1.0.0-alpha04
7 Mayıs 2025
androidx.xr.compose:compose:1.0.0-alpha04 ve androidx.xr.compose:compose-testing:1.0.0-alpha04 yayınlandı. 1.0.0-alpha04 sürümü bu kayıtları içerir.
Yeni özellikler
- Özel
SubspaceModifiertürlerinin yerel değerleri oluşturmaya erişmesine izin vermek içinCompositionLocalConsumerSubspaceModifierNodearayüzü eklendi. - Oluşturma
AndroidViewuygulama stilini izleyen ve öncekiViewBased SpatialPanelAPI'nin desteğini sonlandıran yeni birSpatialPanelAPI eklendi. - Sınırsız kısıtlamaları temsil eden
VolumeConstraints.Unboundedtamamlayıcı nesnesi eklendi. - Üç boyutlu ses kaynağına izin vermek için
SubspaceModifier.onPointSourceParamseklendi. - Uygulamanın, uzamsal içerik oluşturabileceği 3D bir alan tanımlamak için isteğe bağlı
VolumeConstraintssunan herkese açık birApplicationSubspaceeklendi. Varsayılan olarak, herhangi bir kısıtlama belirtilmezse alt uzay,SpatialUseröğesinin mevcut görüş alanının genişliği ve yüksekliğiyle sınırlanır. Kullanıcılar, görüş alanı belirlenemediğinde kullanılacak kısıtlamalar sağlayabilir. Aksi takdirde, varsayılan görüş alanı genişliği ve yüksekliği değerleri kullanılır. - Stereoskopik içerikleri oluşturmak için kullanılabilecek
SpatialExternalSurfaceeklendi.SpatialExternalSurface, değiştiriciler (alfa hariç) ve kenar yumuşatma efektiyle özelleştirilebilir. - Kullanıcıların uzamsal işaretçi simgesini ayarlamasına olanak tanıyan yeni bir
pointerHoverIconalt uzay değiştirici eklendi.
API Değişiklikleri
- Tüm Jetpack XR paketlerindeki
RequiresApi(34)kısıtlaması kaldırıldı. Jetpack XR şu anda yalnızca API düzeyi 34 ve üzeri olan cihazlarda kullanılabildiğinden bu kısıtlama gereksizdi. (Iae0f8) - Kotlin 2.0 ile yayınlanan projelerin kullanılabilmesi için KGP 2.0.0 veya daha yeni bir sürüm gerekir. (Idb6b5)
- Geri düğmesi artık yerleştirilmiş etkinlikler içermeyen uzamsal panellerde çalışacak. Geri düğmesiyle ilgili işlemlerin çalışması için Android manifest dosyasında
android:enableOnBackInvokedCallback="true"değerini belirtmeniz gerekir. - Geri tuşu artık uzamsal iletişim kutularında çalışacak. Geri tuşu işleminin çalışması için Android manifest dosyasında
android:enableOnBackInvokedCallback="true"değerini belirtmeniz gerekir. - Compose tabanlı ve görünüm tabanlı
SpatialPanel, artık içeriklerine göre boyutlandırılabilir. - Geliştiriciler artık kendi özel
SpatialElevationLeveldeğerlerini belirleyebilir ve önceden tanımlanmış seviyelerle sınırlı değildir. - Yörünge aracı yükseklik seviyesi artık
elevationparametresi aracılığıyla özelleştirilebilir. - Alt uzay artık varsayılan olarak genişlik ve yükseklik açısından
SpatialUsercihazının görüş alanıyla sınırlandırılabilir. Görüş alanı belirlenemezse varsayılan görüş alanı genişliği ve yüksekliği değerleri kullanılır. Movabledeğiştiricisine yenionMoveStartveonMoveEndgeri çağırmaları eklendi. Kullanıcı, taşınabilir değiştiriciyle bir alt uzay bileşenini taşımaya başladığında ve bitirdiğindeonMoveStartveonMoveEndgeri çağırmaları çağrılır.nameparametresi,SpatialRowveSpatialPanelgibi uzamsal API'lerden kaldırıldı. Uzamsal oluşturma ağaçlarında hata ayıklamak içinSubspaceModifier.testTagkullanın.- Yalnızca
spatialElevationLevelvecontentiçeren, desteklenmeyen birSpatialPopupaşırı yüklemesi kaldırıldı. LütfenonDimissRequestdilini destekleyen arayüzü kullanın. - Movable değiştiricisinden gelen
onPoseChangegeri çağırma işlevi kaldırıldı. Bunun yerineonMovepolitikasını kullanın. SubspaceModifiers, ayrılmışsa veya ayrılma işlemi devam ediyorsa efektlerini artık uygulamaz.- Mevcut
SpatialRowAPI,SpatialRowveSpatialCurvedRowolarak ikiye ayrıldı. Daha önceSpatialRowiçincurveRadiusparametresini kullanıyorsanız artık aynı davranışı sunanSpatialCurvedRowparametresini kullanın. MainPanelveActivityPanel, benzer şekilde yeni bir sistem görüntüsünde çalıştırıldığında artık başlık çubukları içermez.- Alfa ve ölçek değiştiriciler artık üst üste eklenebilir ve nihai olarak uygulanan alfa veya ölçek değeri için değerlerini çarpar.
- Movable değiştiricisinden gelen
onPoseChangegeri çağırma işlevi, daha akıcı poz hareketi gerçekleştirecek şekilde optimize edildi. - Taşınabilir ve yeniden boyutlandırılabilir değiştiriciler, durum değişikliklerinin yeniden oluşturmayı tetiklemesini sağlamak için artık geri çağırmalarını ana iş parçacığında gerçekleştirecek.
SubspaceLayoutiçindeki durum değişikliklerinin yeniden düzenlemeyi tetiklemesini sağlamak için düzen ve ölçüm aşamalarına durum gözlemi eklendi.- Mevcut değiştiricileri daha iyi yeniden kullanmak için optimize edilmiş değiştirici zinciri güncellemeleri.
Hata Düzeltmeleri
SpatialDialoggösterildiğinde karartma durduruldu. (Ic4594)- Değiştirici düğümler ayrılmışken yapılan yeniden düzenleme istekleri artık yoksayılacak.
- Movable ve Resizable değiştiriciler tarafından tetiklenen yeniden düzenleme aşamaları kaldırıldı.
- Doğrudan veya bir düzen hesaplaması (ör.
SpatialRow/SpatialColumnhesaplaması) sırasında boyutlardan biri sıfır olarak ayarlandığındaMainPanel()bileşeninde oluşan kilitlenme sorunu düzeltildi. Panel artık gizlenecek. Bu düzeltmenin özellikle düzen aşamasındaki kilitlenmeleri ele aldığını unutmayın. Kullanıcı etkileşimi yoluyla panelin sıfıra yeniden boyutlandırılması ayrı olarak ele alınacaktır. Gizli panelde kullanıcı arayüzü olanakları yok. - Yeniden boyutlandırılabilir değiştiricideki
maintainAspectRatioile ilgili sorun düzeltildi. En boy oranı artık korunmalıdır. - İç içe yerleştirilmiş alt uzayların tek bir kare için yanlış konumlandırılmasına neden olan sorun düzeltildi.
- Yuvarlatılmış köşelerin bazen uygulanması gerektiği halde uygulanmamasıyla ilgili sorun düzeltildi.
NestedSubspacesartık bir kare boyunca yanlış konumda görünmeyecek.
Sürüm 1.0.0-alpha03
26 Şubat 2025
androidx.xr.compose:compose:1.0.0-alpha03 ve androidx.xr.compose:compose-testing:1.0.0-alpha03, son alfa sürümünden bu yana önemli bir değişiklik olmadan yayınlandı. 1.0.0-alpha03 sürümü bu kayıtları içerir.
Sürüm 1.0.0-alpha02
12 Şubat 2025
androidx.xr.compose:compose:1.0.0-alpha02 ve androidx.xr.compose:compose-testing:1.0.0-alpha02 yayınlandı. 1.0.0-alpha02 sürümü bu commit'leri içerir.
Yeni özellikler
- Etkinlik Paneli, artık bir uzamsal iletişim kutusu etkinleştirildiğinde içeriğini gizleyebilir.
OrbiterAPI'si artıkSubspaceComposablebağlamlarında kullanılabilir ve Orbiter'ları en yakınSubspaceLayouttabanlı composable üst öğelerine ekler.- Özelleştirilebilen konuma dayalı değiştiricilere izin vermek için
LayoutCoordinatesAwareModifierNodekullanıma sunuldu. SubspaceModifier.Nodeiçin ekleme/çıkarma yaşam döngüsü yöntemleri eklendi.scaleWithDistance, taşınabilir değiştiriciye eklendi.scaleWithDistanceetkinleştirildiğinde, taşınan alt alan öğesi büyür veya küçülür. Ayrıca, taşınmadan önce sahip olduğu tüm açık ölçekleri de korur.
API Değişiklikleri
SessionCallbackProvider,SpatialCapabilitiesile değiştirildi.
Diğer değişiklikler
minSDK24'e düşürüldü. Tüm Jetpack XR API'leri, çalışma zamanında API 34'ü gerektirmeye devam eder.OrbiterEdgeOffset.inner,EdgeOffset.outerveEdgeOffset.overlapoluşturucuları artık@Composableyöntemleri olmadığından, birleştirilebilir olmayan bağlamlarda kullanılabilir.- Mekansal yükseklik seviyelerini en son kullanıcı deneyimi spesifikasyonuna uyacak şekilde güncelleyin.
SubspaceSemanticsInfoarayüzünüMeasurableLayoutiçine uygulayın.SubspaceModifierElement,SubspaceModifierNodeElementolarak yeniden adlandırıldı.
Hata düzeltmeleri
SubspaceModifiersıralamasını sabitlemek için düzeltmeler yapıldı.SubspaceModifierdaha güvenilir bir şekilde çalışacaktır. Ofset, döndürme, ölçeklendirme, taşınabilir ve yeniden boyutlandırılabilir değiştiriciler artık herhangi bir sırayla kullanılabilir.
Sürüm 1.0.0-alpha01
12 Aralık 2024
androidx.xr.compose:compose-*1.0.0-alpha01 yayınlandı.
İlk sürümün özellikleri
XR için Jetpack Compose'un ilk geliştirici sürümü. Mevcut bir 2D uygulamayı XR'a bağlıyor veya sıfırdan yeni bir XR uygulaması oluşturuyor olmanız fark etmeksizin, XR'da uzamsal kullanıcı arayüzü yerleşimi oluşturmak için satırlar ve sütunlar gibi tanıdık Compose kavramlarını kullanabilirsiniz. Bu kitaplık, mevcut 2D Compose veya Views tabanlı kullanıcı arayüzünüzü uzamsal bir düzende yerleştirmenize olanak tanıyan uzamsal paneller ve orbiter'ler gibi alt alan ve uzamsal bileşenler sağlar. Bu kitaplık, 3D modeller gibi SceneCore varlıklarını kullanıcı arayüzünüze göre yerleştirmenize olanak tanıyan Volume alt alan composable'ını sunar. Bu geliştirici kılavuzundan daha fazla bilgi edinebilirsiniz:
Subspace: Bu composable, uygulamanızın kullanıcı arayüzü hiyerarşisinde herhangi bir yere yerleştirilebilir. Böylece, dosyalar arasındaki bağlamı kaybetmeden 2D ve uzamsal kullanıcı arayüzü düzenlerini koruyabilirsiniz. Bu sayede, mevcut uygulama mimarisi gibi öğeleri, durum bilgisini tüm kullanıcı arayüzü ağacınızda yükseltmeye veya uygulamanızı yeniden tasarlamaya gerek kalmadan XR ile diğer form faktörleri arasında paylaşmak daha kolay hale gelir.SpatialPanel: Uzamsal panel, uygulama içeriğini görüntülemenize olanak tanıyan bir alt alan composable'ıdır. Örneğin, uzamsal panelde video oynatma, sabit resimler veya başka içerikler gösterebilirsiniz.
Orbiter: Orbiter, uzamsal bir kullanıcı arayüzü bileşenidir. İlgili uzamsal panele eklenmek üzere tasarlanmıştır ve bu uzamsal panelle ilgili gezinme ve bağlamsal işlem öğeleri içerir. Örneğin, video içeriği görüntülemek için uzamsal bir panel oluşturduysanız yörüngeye video oynatma kontrolleri ekleyebilirsiniz.
Hacim: 3D modeller gibi SceneCore öğelerini kullanıcı arayüzünüze göre yerleştirin.
Üç boyutlu düzen: Birden fazla üç boyutlu panel oluşturabilir ve
SpatialRow,SpatialColumn,SpatialBoxveSpatialLayoutSpacerkullanarak bunları üç boyutlu düzene yerleştirebilirsiniz. Düzeninizi özelleştirmek içinSubspaceModifierkullanın.Üç boyutlu kullanıcı arayüzü bileşenleri: Bu öğeler 2D kullanıcı arayüzünüzde yeniden kullanılabilir ve üç boyutlu özellikleri yalnızca üç boyutlu özellikler etkinleştirildiğinde görünür.
SpatialDialog: Panel, yükseltilmiş bir iletişim kutusu göstermek için z derinliğinde hafifçe geriye doğru itilir.SpatialPopUp: Panel, yükseltilmiş bir pop-up göstermek için z derinliğinde hafifçe geriye doğru itilir.SpatialElevation:SpatialElevationLevel, yükseklik eklemek için ayarlanabilir.
SpatialCapabilities: Üç boyutlu özellikler, kullanıcılar uygulamanızla veya sistemle etkileşimde bulundukça değişebilir, hatta uygulamanız tarafından da değiştirilebilir (ör. Ana Sayfa Alanı'na veya Tam Ekran Alanı'na geçiş). Sorun yaşamamak için uygulamanızın, mevcut ortamda hangi API'lerin desteklendiğini belirlemek üzere
LocalSpatialCapabilities.currentolup olmadığını kontrol etmesi gerekir.isSpatialUiEnabled: Üç boyutlu kullanıcı arayüzü öğeleri (ör. SpatialPanel)isContent3dEnabled: 3D nesnelerisAppEnvironmentEnabled: OrtamisPassthroughControlEnabled: Uygulamanın, geçiş durumunu kontrol edip edemeyeceğiisSpatialAudioEnabled: Üç boyutlu ses
Bilinen Sorunlar
- Şu anda XR için Jetpack Compose'u kullanmak üzere minimum SDK sürümü 30 olmalıdır. Geçici bir çözüm olarak, 23 minSDK ile derleme ve çalıştırma yapabilmek için aşağıdaki manifest girişini
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>ekleyebilirsiniz. - Jetpack XR uygulamaları şu anda AndroidManifest'te
android.permission.SCENE_UNDERSTANDINGizni istemeyi gerektiriyor. - Bir uygulama, manifest dosyasındaki
PROPERTY_XR_ACTIVITY_START_MODEözelliğini kullanarak doğrudan Tam Ekran Alanı'nda başlatıldığında etkinlikler/uygulamalar, Tam Ekran Alanı'na geçmeden önce ilk olarak Ana Sayfa Alanı'nda açılır. - Hacimsel bileşenlerdeki glTF'ler başlangıçta yanlış konumda yanıp sönebilir.
- Önemli ölçüde taşınmış bir panelde SpatialDialog kullanılması, içeriği yanlış yöne iter.