XR için Jetpack Compose

Android XR'ın uzamsal özelliklerinden yararlanan uzamsal kullanıcı arayüzü yerleşimlerini bildirimli olarak oluşturun.
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.

Yeni sorun oluşturma

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ı parametrenin halfLifeMs parametresi halfLifeMillis olarak yeniden adlandırıldı. (I39187)
  • Nesne tahsislerini ortadan kaldırmak için iki kayan noktalı sayıyı bir Long içinde paketleyerek PitchLimits öğesini @JvmInline value class öğesine dönüştürdü. (Id43c3)
  • FollowMode.soft için yeni parametreler eklendi: halfLifeMs, startDelay ve startThresholds parametreleri. smoothStep algoritmasından exponentialDecay algoritmasına geçiş yaptığımız için artık gerekli olmayan durationMs parametresi kaldırıldı. (If0140)
  • Desteği sonlandırılan SpatialActivityPanel aşırı yüklemesini kaldırın. Bunun yerine SpatialActivityPanelController kabul eden SpatialActivityPanel aşırı yüklemesini kullanın. (I5abc3)
  • FullSpaceMode uygulamasında tek bir Activity içinde 3D ve 2D Composable içerikler arasında geçişleri etkinleştirme Bu değişiklik SpatialComposeFlags.isMainPanelResetOnSubspaceDisposeEnabled tarafından kısıtlanmıştır. (I4e237)
  • Aşağıdaki içeriği desteklemek için FollowTarget parametresi alan deneysel Subspace aşırı yüklemesi kullanıma sunuldu. (Iec1a9)
  • Desteği sonlandırılan taşınabilir değiştiricileri kaldırın. Bunun yerine, yeni MovePolicy parametresini kabul eden yeni taşınabilir değiştiriciyi kullanın. (Ib135d)
  • Desteği sonlandırılan DragPolicy öğesini kaldırın. Bunun yerine SubspaceModifier.movable() politikasını kullanın. (I108d4)
  • Durum bilgisi olmayan Slider ve RangeSlider aşırı yüklemeleri, durum bilgisi olan sürümleri lehine kullanımdan kaldırıldı. RangeSliderState içindeki activeRangeStart ve activeRangeEnd, startValue ve endValue olarak yeniden adlandırıldı. Eski, tanıtılmamış ve deneysel Slider API'leri DeprecationLevel.HIDDEN ile 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 poseInActivitySpace kullanıma sunularak RotateToLookAtUser düzeltildi.Ica367b
  • Orbiter büyük panellere eklendiğinde kısıtlamaların kilitlenmesi sorunu düzeltildi (I8c4bf).
  • SubspaceLayoutNode uygulamasında, removeAll() nedeniyle gereksiz ArrayList ayırmalarına yol açan bir hata düzeltildi. Derinlik hesaplama performansı da düzeltildi. I34a10a
  • androidx.lifecycle:lifecycle-runtime bağı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çin AudioOutputProvider ile ilgili kdoc'lar iyileştirildi (I6b18e).
  • Küçük kdoc yazım ve dil bilgisi sorunları düzeltildi (Id3ba6).

Bilinen Sorunlar

  • androidx.xr.compose uygulamasının bu sürümü, bilinen bir bellek sızıntısı olan androidx.xr.scenecore:1.0.0-rc01 sürümüne bağımlı. Derleme yapılandırmanızda, bellek sızıntısı düzeltmesini içeren SceneCore bağımlılığını 1.0.0 sü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 DragPolicy kaldırıldı. Bunun yerine SubspaceModifier.movable() politikasını kullanın. (I108d4)
  • Desteği sonlandırılan ResizePolicy ve SpatialPanel ile SpatialExternalSurface içindeki kullanımları kaldırıldı. Desteği sonlandırılan SubspaceModifier.resizable işlevini kaldırın. Bunun yerine yeni SubspaceModifier.resizable özelliğini yeni bir ResizePolicy ile kullanın. (I59e6b)
  • Perde takibinin bağımsız olarak etkinleştirilmesine veya devre dışı bırakılmasına olanak tanımak için isPitchUpdateEnabled parametresi eklendi. (Ie9e86)
  • pitchLimits için null değer alabilme özelliği kaldırıldı ve PitchLimits.UNCONSTRAINED, PitchLimits.FullRange olarak yeniden adlandırıldı. (I0154f)
  • ExposedDropdownMenu artık üye yerine ExposedDropdownMenuBoxScope üzerinde bir uzantı işlevidir. Kodunuzu yeni bir içe aktarma işlemiyle güncellemeniz gerekebilir. (Ie8a65)
  • Desteği sonlandırılan SurfaceProtection sınıfı kaldırıldı. Bunun yerine SpatialExternalSurfaceProtection politikasını kullanın. (Iab2c6)
  • OrbiterPoseProvider alan Orbiter işlevi, SpatialAlignment kullanan işlev lehine kullanımdan kaldırıldı. (I4d12b)
  • SpatialActivityPanel, yerleşik etkinlikleri başlatmak ve yönetmek için artık SpatialActivityPanelController (rememberSpatialActivityPanelController kullanılarak örneklendirilir) gerektiriyor. (Id25c6)
  • upDirection parametresi rotateToLookAtUser öğesinden kaldırıldı ve dönüş kısıtlamaları parametreleri (isYawUpdateEnabled ve pitchLimits) eklendi. (I1370a)

Hata Düzeltmeleri

  • Çeşitli InteractionPolicy sorunları 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 RotateToLookAtUserActivity uygulaması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

  • Meter değer sınıfını kaldırın. Bu sınıf, Scenecore sürümünde virtualPixelDensity ile değiştirildi. (I690ee)
  • SpatialGltfModel API'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 SubspaceSemanticsInfo içinde Density gösterildi. (I2e826)
  • ResizePolicy varsayılan seçeneğini system olarak yeniden adlandırın ve parametre içermeyen yeni bir Default seçeneği ekleyin (Ic8b16).
  • FollowTarget deneysel olarak işaretleyin. FollowingSubspace API'nin tamamı artık deneyseldir. (Id4ee3)
  • GltfAnimation API'leri kaldırın (Ic2894)
  • Parametreli MovePolicy.default() yöntemi MovePolicy.system() olarak yeniden adlandırıldı. Standart varsayılan hareket davranışını temsil eden bir val MovePolicy.Default özelliği kullanıma sunuldu. (Iedcc9)
  • ExperimentalMoveAnchorPolicy etkinleştirme şartlarını PlaneSemantic ve PlaneOrientation olarak genişletin (Ief927)
  • resetMins sitesini, VolumeConstraints.offset sitesinden kaldır (Ib2f2f)
  • Desteği sonlandırılan SceneCoreEntitySizeAdapter işlevi kaldırıldı. (Ib6722)
  • Kullanımdan kaldırılan Subspace aşırı yüklemesi allowUnboundedSubspace ile kaldırıldı. (I8e97f)
  • Kullanımdan kaldırılan semantik değiştirici aşırı yüklemesi kaldırıldı. (I4ac10)

Hata Düzeltmeleri

  • InteractionPolicy eklenmiş bir Composable öğ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

  • ComponentOverride API'lerini kaldırma (I820c4)
  • GltfAnimation ve SpatialGltfModelAnimation API'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.virtualPixelDensity kullanılabilir. (I122ff, b/430097855, b/474168798)
  • Yeniden boyutlandırılabilir değiştirici, iki değiştirici yerine bir ResizePolicy kullanacak şekilde güncellendi (I7fb0f, b/496257436, b/519672992)
  • SubspaceAssertions.kt iç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)
  • movePolicy parametresiyle taşınabilir aşırı yükleme eklendi ve transformingMovable ile movable desteğ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 allowUnboundedSubspace parametresinin desteği sonlandırıldı ve parametre gizlendi. Sınırsız davranış artık alt uzay değiştiricide SubspaceModifier.requiredSizeIn(maxWidth = Dp.Infinity, maxHeight = Dp.Infinity, maxDepth = Dp.Infinity) kullanılarak elde edilmelidir. allowUnboundedSubspace parametresi, FollowingSubspace öğesinden kaldırıldı. (Ia72ae, b/433624021)
  • Session.create, askıya alma işlevine dönüştürüldü. (I5d27f)
  • ExoPlayer veya SoundEffectPlayer aracılığıyla ses oynatmanın üç boyutlu hale getirilmesini sağlayan SubspaceModifier.spatializedAudioOutput eklendi (I46697, b/489421980, b/497867019)
  • Durum doğrulaması için SpaceRequestResult döndürülecek şekilde ComponentActivity.requestHomeSpace() ve requestFullSpace() güncellendi. (If1672)
  • AnchorEntity, AnchorSpace olarak güncellendi (Ifa95e, b/513619219)
  • SpatialGltfModelSource sınıfından kısıtlanmamış fromResource yö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)
  • SpatialAlignment içinde position, align olarak yeniden adlandırıldı ve birleşik bir align API'si lehine ayrı yönlü ofset yöntemleri kaldırıldı. (I9bdb2, b/479805937)
  • SpatialConfiguration uygulamasından desteği sonlandırılan Space Mode API'leri kaldırıldı. (I1ef5c, b/458712461)
  • SubspaceSemanticsConfiguration tanı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)
  • SubspaceSemanticsPropertyReceiver kullanıma sunuldu: 3D düzen kapsayıcı özelliklerini geçerli alanlarla (başlangıçta testTag ve contentDescription) sınırlayan özel bir sarmalayıcı. (I5cf5c, b/460427288)

Hata Düzeltmeleri

  • Anlamsal değiştiricinin hasContentDescription değ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.requestHomeSpace ve ComponentActivity.requestFullSpace dokümanları netleştirildi. CancellationException yayı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

  • ResizePolicy ve eski yeniden boyutlandırılabilir değiştirici kullanımdan kaldırıldı. Bunların yerine yeni bir SubspaceModifier.resizable aşırı yüklemesi ve SubspaceModifier.transformingResizable getirildi. (I9e4bc)
  • SpatialGltfModel API'leri güncellendi: SpatialGltfModelSource aracılığıyla kaynaklardan model yükleme desteği eklendi.fromResource. SpatialGltfModelAnimation içinde hız, playbackSpeed olarak 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 targetCurrentPose değişkeni, yerel currentTargetPoseMeter değişkenine taşındı ve yeniden adlandırıldı. (Ia557c)
  • SpatialPanel ve SpatialExternalSurface kdoc'larını, nesnenin düzen boyutu içinde nerede oluşturulduğunu içerecek şekilde güncelleyin (I72104).
  • SpatialGltfModel yükleme mantığı SpatialGltfModelState içine kapsüllendi ve hata davranışı netleştirildi. (Ibe98b)
  • SubspaceModifer.size kdoc'ta depth netleş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 transformingMovable kullanıma sunuldu ve özel hareket davranışlarını işlemek üzere movable için yeni bir aşırı yükleme kullanıma sunuldu. (I50960)
  • SpatialGltfModel.fromData() kaldırıldı. (I4d083)
  • Ölçüm aşamasından sonra onRemeasured geri çağırma işlevi sağlayan yeni bir değiştirici düğüm arayüzü (SubspaceMeasuredSizeAwareModifierNode) eklendi. SubspaceLayoutAwareModifierNode artık bu yeni arayüzü genişletiyor. onSizeChanged değiştiricisi, onRemeasured kullanacak ş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)
  • Size kdoc 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 SceneCoreEntity kullananlar, glTF'lerinin oluşturulmasını sağlamak için GltfModel.create çağrılarının parent parametresine session.scene.activitySpace değerini ilettiklerinden emin olmalıdır.
  • Geliştiricilerin Compose for XR uygulamalarına Gltf eklemesine olanak tanıyan SpatialGltfModel API'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, SpatialExternalSurfaceProtection olarak yeniden adlandırıldı. SpatialExternalSurface kdoc güncellendi (Ifad0a, b/485231082)
  • currentWindowAdaptiveInfo desteği sonlandırıldı ve 2. sürümü kullanıma sunuldu (I40ecf, b/424442112)
  • resizable değiştiricisi artık herkese açık ve gruplara (ör. SpatialRow) uygulanabilir. (I2bcf6, b/348483527, b/489753178, b/479530787)
  • movable değiştiricisi artık herkese açık. Bu değiştirici şu anda SpatialPanels ve SpatialExternalSurface için iyi çalışıyor ancak tüm SubspaceComposables için iyi desteklenmesi amaçlanıyor. (I9a3cd, b/479530787, b/478935063, b/478935063)
  • SpatialEnterTransition ve SpatialExitTransition, @Immutable olarak işaretlendi (If1710, b/487757837)
  • SpatialGltfModel API'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_KNOWN olarak yeniden adlandırıldı (desteği sonlandırılmış bir yedekle birlikte), 3DoF izleme için INERTIAL_LAST_KNOWN eklendi ve TrackingState için TRACKING_DEGRADED eklendi. (Ie661c, b/445466590)
  • Desteği sonlandırılan SpatialLayoutSpacer kaldırılıyor (I7b36c)
  • Desteği sonlandırılan dolgu API'si kaldırılıyor (If1886)
  • Sapma değerlerine floatRange eklendi. LayoutDirection (I9d74e) için varsayılan değer kaldırıldı

Hata Düzeltmeleri

  • SpatialColumn, SpatialRow ve SpatialCurvedRow iç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 SpatialGltfModel API'sini ve SpatialGltfModelAnimation API'lerini ekleyin. SpatialGltfModelState, AutoCloseable olarak değiştirildi. Kaynaklarının serbest bırakılması için kapatılması gerekiyor. (I11fde, b/466065486, b/481379924). Ancak SpatialGltfModel API'si, ek testler yapılana kadar bu sürüm için kısıtlanmış olarak işaretlendi. (Ibf003, b/466090694)
  • SubspaceModifier.rotate için desteği sonlandırılmış boş bir aşırı yükleme eklendi. (Idceb6)
  • SpatialSmoothFeatheringEffect işlevi spatialSmoothFeatheringEffect olarak yeniden adlandırıldı ve bir çizim modülüne taşındı. SpatialExternalSurface varsayılan yumuşatma değeri, eski ZeroFeatheringEffect işlevini taklit eden null olarak güncellendi. (I5fdaa, b/460426800)
  • onPointSourceParamsAvailable kaldı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 absoluteOffset eklendi. (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

  • SuperSampling parametresi SpatialExternalSurfaces (Icd4d1) öğesine ekleniyor

Bilinen Sorunlar

  • SceneCore'da SurfaceEntity ile ilgili bir sorun, SpatialExternalSurface örnekleri oluşturulurken uygulamaların kilitlenmesine neden olabilir. Bu sorun androidx.xr.scenecore:scenecore-*:1.0.0-alpha13, androidx.xr.compose:compose:1.0.0-alpha12 ve 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)
  • SpatialCapabilities artık mühürlü ve uzatılamaz. (I07aef)
  • Genel bir SpatialAlignment parametresi kabul eden SpatialRow ve SpatialColumn API'leri kullanımdan kaldırıldı. Bunun yerine, sırasıyla SpatialRow ve SpatialColumn için verticalAlignment veya horizontalAlignment kabul eden API'leri kullanın. (Iec390)
  • Aşırı yükleme SubspaceLayout işlev API'lerini birleştirme (Idd30a)
  • SubspaceModifier.lookAtUser, rotateToLookAtUser olarak ve up parametresi, upDirection olarak yeniden adlandırıldı. (Icafb8)
  • SpatialRow satı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).
  • SpatialAlignment sürümünde, desteği sonlandırılan API'ler kaldırılıyor. (Ib0b61, b/468011887)
  • SpatialLayoutSpacer kullanımdan kaldırılıyor ve SpatialSpacer kullanıma sunuluyor. (I2ebf3, b/466071383)
  • "Gecikmeli kilitleme" terminolojisini "geçici kilitleme" ile değiştirmek için UserSubspace API'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

  • LookAtUser ve Billboard değiştiricileri ekleyerek içeriğin her zaman kullanıcıya dönük olmasını sağlama (I49b99)
  • InteractionPolicy öğesini SpatialExternalSurfaces ve SpatialPanels olarak 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 requiredSize değiştirici aşırı yüklemesi eklendi. (I92f79)
  • ParentLayoutParamsModifier arayüzü artık DelegatableSubspaceNode arayü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.
    • PlanarEmbeddedSubspace API, 2D bağlamlarda yerleşik alt uzaylar sağlamak için kullanıma sunuldu. (Id3343)
  • SubspaceModifier.Node API'sine shouldAutoInvalidate işareti eklendi. (I93902)
  • Geliştiricilerin, üst öğenin gelen ölçüm kısıtlamalarını dikkate almadan @SubspaceComposable boyutunu belirli bir aralıkla sınırlamasına olanak tanıyan API'lere required(Size|Width|Depth|Height) eklendi. (Ifaa78)
  • Geliştiricilerin, @SubspaceComposable boyutu değiştiğinde tepki vermesi için basit ve odaklanmış bir geri çağırma işlevi sağlayan SubspaceModifier.onSizeChanged eklendi. (I994f9)
  • Volume API kaldırıldı. Volume API yerine SceneCoreEntity API kullanılmalıdır. (I4162b)
  • SubspaceLayoutModifierNode.requestRelayout öğesini invalidateMeasurement/invalidatePlacement parçaya bölün. (I14805)
  • Geliştiricilerin glTF'leri oluşturma işleminde oluşturmasına olanak tanıyan SpatialGltfModel API'si eklendi. (Icc91f)
  • glTF'leri kolayca oluşturmak için SpatialGltfModel composable API'si kullanıma sunuldu (Iade67).

Hata Düzeltmeleri

  • SceneCoreEntity uygulaması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 = 34 sü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, onResizeUpdate ve onResizeEnd kabul 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

  • SpatialMainPanel için KDoc'lar iyileştirildi. (I27b70, b/444467891)
  • SpatialRow ve SpatialColumn gibi 3D düzenlerde alt öğeleri ana eksen boyunca düzenlemek için SpatialArrangement kullanıma sunuldu. Bu yeni API, 2D Compose'daki tanıdık düzenleme seçeneklerini (Start, End, Center, SpaceBetween, SpaceAround ve SpaceEvenly dahil) 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.Node için temel bir arayüz eklendi. Örneğin:
    • CompositionLocalConsumerSubspaceModifierNode
    • LayoutCoordinatesAwareModifierNode
    • SubspaceLayoutModifierNode
    • CoreEntityNode (dahili) (Iede00, b/440599394, b/440599394)
  • SpatialExternalSurface için kısıtlamayı kaldır (I33315, b/439646773)
  • Subspace composable'larına SubspaceModifier ekleyin ve kısıtlama parametresini boyutla ilgili SubspaceModifiers ile SubspaceModifier olarak değiştirin. allowUnboundedSubspace doğruysa alt uzaylar sınırsız kısıtlamalara sahip olabilir. (Ib06e6, b/433331675)
  • DragPolicy() ve ResizePolicy(), SpatialPanel ve SpatialExternalSurface API'nin (I397bf, b/437924639) bir parçası olduğu için taşınabilir ve yeniden boyutlandırılabilir SubspaceModifiers desteği sonlandırılıyor.
  • Üç boyutlu düzenlerde LayoutDirection için destek eklendi. SpatialAlignment kullanan 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 Panel API'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, depthIn SubspaceModifiers eklendi. (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

  • SubspaceComposable not sınıfı herkese açık hale getirildi. (Ic2a34, b/399432430)
  • 180 ve 360 derecelik küreleri temsil eden iki yeni SpatialExternalSurface bileşeni. (I40ef2, b/391705799)
  • SubspaceModifier.aspectRatio eklendi (Ide5ab, b/399729509, b/414762147)
  • SceneCore ile XR için Compose arasındaki birlikte çalışabilirliği iyileştirmek amacıyla SceneCoreEntity API'si eklendi. (I50bb3, b/423020989)
  • Ölçeklendirilmemiş ve GravityAligned özelliğini desteklemek için GravityAlignedsubspace API'si sağlandı (I07359).

API Değişiklikleri

  • SpatialDialog(), SpatialDialogProperties.dismissOnBack basma yapılandırmasını takip edecek. (Ib453b, b/416797132)
  • minimumPanelDimension, metre cinsinden gösterimi nedeniyle yeni varsayılan boyut olan Dimensions(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)
  • ApplicationSubspace artık önerilen ölçeğini ve konumunu sistemden devralacak. (I4565f, b/418834194)
  • SubspaceComposable, SubspaceComposable olmayan 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 ApplicationSubspace artık recommendedContentBoxInFullSpace ile kısıtlanmıştır. Daha önce SpatialUser cihazı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)
  • SpatialFeatheringSize artık herkese açık değil (I1c15b, b/399432430)
  • XR Placeable, Compose'un Placeable öğesinden ayırt edilebilmesi için SubspacePlaceable olarak yeniden adlandırıldı. (I74874)
  • Orbiter ayarları kaldırılıyor ve yeni bir parametre olarak shouldRenderInNonSpatial ekleniyor. Ayrıca Orbiter() işlevlerini birleştirmek için EdgeOffset sınıfı kaldırılıyor ve yeni bir parametre olarak orbiterOffsetType ekleniyor. Ayrıca OrbiterEdge, ContentEdge olarak yeniden adlandırıldı. (Iebf3d)
  • Türün, Compose'un Measurable türünden ayırt edilebilmesi için Measurable, SubspaceMeasurable olarak yeniden adlandırıldı. (I9726c)
  • MeasureResult adlı öğeyi SubspaceMeasureResult olarak yeniden adlandırın (I9f34d)
  • setSubspaceContent API'si, Compose'un setContent API'sini Subspace composable ile kullanmak için kaldırıldı. (Ifff4c, b/421427391, b/421427391)
  • MeasurePolicy, SubspaceMeasurePolicy olarak 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)
  • SpatialExternalSurface belgeleri güncellendi, ContentSecurityLevel, SurfaceProtection olarak 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, PublishedApi rolünden kaldırıldı (Ifee05)

Hata Düzeltmeleri

  • SpatialDialog oluş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)
  • SpatialComposeVideoPlayer içinde menüyle çakışan topBar dü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 SubspaceModifier türlerinin yerel değerleri oluşturmaya erişmesine izin vermek için CompositionLocalConsumerSubspaceModifierNode arayüzü eklendi.
  • Oluşturma AndroidView uygulama stilini izleyen ve önceki ViewBased SpatialPanel API'nin desteğini sonlandıran yeni bir SpatialPanel API eklendi.
  • Sınırsız kısıtlamaları temsil eden VolumeConstraints.Unbounded tamamlayıcı nesnesi eklendi.
  • Üç boyutlu ses kaynağına izin vermek için SubspaceModifier.onPointSourceParams eklendi.
  • Uygulamanın, uzamsal içerik oluşturabileceği 3D bir alan tanımlamak için isteğe bağlı VolumeConstraints sunan herkese açık bir ApplicationSubspace eklendi. 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 SpatialExternalSurface eklendi. 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 pointerHoverIcon alt 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 SpatialElevationLevel değerlerini belirleyebilir ve önceden tanımlanmış seviyelerle sınırlı değildir.
  • Yörünge aracı yükseklik seviyesi artık elevation parametresi aracılığıyla özelleştirilebilir.
  • Alt uzay artık varsayılan olarak genişlik ve yükseklik açısından SpatialUser cihazı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.
  • Movable değiştiricisine yeni onMoveStart ve onMoveEnd geri çağırmaları eklendi. Kullanıcı, taşınabilir değiştiriciyle bir alt uzay bileşenini taşımaya başladığında ve bitirdiğinde onMoveStart ve onMoveEnd geri çağırmaları çağrılır.
  • name parametresi, SpatialRow ve SpatialPanel gibi uzamsal API'lerden kaldırıldı. Uzamsal oluşturma ağaçlarında hata ayıklamak için SubspaceModifier.testTag kullanın.
  • Yalnızca spatialElevationLevel ve content içeren, desteklenmeyen bir SpatialPopup aşırı yüklemesi kaldırıldı. Lütfen onDimissRequest dilini destekleyen arayüzü kullanın.
  • Movable değiştiricisinden gelen onPoseChange geri çağırma işlevi kaldırıldı. Bunun yerine onMove politikasını kullanın.
  • SubspaceModifiers, ayrılmışsa veya ayrılma işlemi devam ediyorsa efektlerini artık uygulamaz.
  • Mevcut SpatialRow API, SpatialRow ve SpatialCurvedRow olarak ikiye ayrıldı. Daha önce SpatialRow için curveRadius parametresini kullanıyorsanız artık aynı davranışı sunan SpatialCurvedRow parametresini kullanın.
  • MainPanel ve ActivityPanel, 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 onPoseChange geri ç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.
  • SubspaceLayout iç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

  • SpatialDialog gö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/SpatialColumn hesaplaması) sırasında boyutlardan biri sıfır olarak ayarlandığında MainPanel() 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 maintainAspectRatio ile 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.
  • NestedSubspaces artı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.
  • Orbiter API'si artık SubspaceComposable bağlamlarında kullanılabilir ve Orbiter'ları en yakın SubspaceLayout tabanlı composable üst öğelerine ekler.
  • Özelleştirilebilen konuma dayalı değiştiricilere izin vermek için LayoutCoordinatesAwareModifierNode kullanıma sunuldu.
  • SubspaceModifier.Node için ekleme/çıkarma yaşam döngüsü yöntemleri eklendi.
  • scaleWithDistance, taşınabilir değiştiriciye eklendi. scaleWithDistance etkinleş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, SpatialCapabilities ile değiştirildi.

Diğer değişiklikler

  • minSDK 24'e düşürüldü. Tüm Jetpack XR API'leri, çalışma zamanında API 34'ü gerektirmeye devam eder.
  • Orbiter EdgeOffset.inner, EdgeOffset.outer ve EdgeOffset.overlap oluşturucuları artık @Composable yöntemleri olmadığından, birleştirilebilir olmayan bağlamlarda kullanılabilir.
  • Mekansal yükseklik seviyelerini en son kullanıcı deneyimi spesifikasyonuna uyacak şekilde güncelleyin.
  • SubspaceSemanticsInfo arayüzünü MeasurableLayout içine uygulayın.
  • SubspaceModifierElement, SubspaceModifierNodeElement olarak yeniden adlandırıldı.

Hata düzeltmeleri

  • SubspaceModifier sıralamasını sabitlemek için düzeltmeler yapıldı. SubspaceModifier daha 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, SpatialBox ve SpatialLayoutSpacer kullanarak bunları üç boyutlu düzene yerleştirebilirsiniz. Düzeninizi özelleştirmek için SubspaceModifier kullanı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.current olup olmadığını kontrol etmesi gerekir. isSpatialUiEnabled: Üç boyutlu kullanıcı arayüzü öğeleri (ör. SpatialPanel) isContent3dEnabled: 3D nesneler isAppEnvironmentEnabled: Ortam isPassthroughControlEnabled: Uygulamanın, geçiş durumunu kontrol edip edemeyeceği isSpatialAudioEnabled: Üç 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_UNDERSTANDING izni 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.