XR için Jetpack Compose
| Son Güncelleme | Kararlı Sürüm | Sürüm Adayı | Beta Sürümü | Alfa Sürümü |
|---|---|---|---|---|
| 28 Ocak 2026 | - | - | - | 1.0.0-alpha10 |
Bağımlılıkları bildirme
XR Compose'a bağımlılık eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.
Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyacınız olan yapılarla ilgili bağımlılıkları ekleyin:
Eski
dependencies { implementation "androidx.xr.compose:compose:1.0.0-alpha10" // Use to write unit tests testImplementation "androidx.xr.compose:compose-testing:1.0.0-alpha10" }
Kotlin
dependencies { implementation("androidx.xr.compose:compose:1.0.0-alpha10") // Use to write unit tests testImplementation("androidx.xr.compose:compose-testing:1.0.0-alpha10") }
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ştirmeye yönelik fikirleriniz olursa 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 soruna oyunuzu ekleyebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.
Sürüm 1.0
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
- Kullanımdan kaldırılan API'yi kaldırma -
ApplicationSubspace(Ia6596, b/468345186) SpatialShape, kapalı bir arayüz olarak güncellendi (I7e3f5, b/460426800)SpatialAlignment'de desteği sonlandırılan API'leri kaldırma. (Ib0b61, b/468011887)SpatialLayoutSpacerdesteği sonlandırılıyor veSpatialSpacerkullanıma sunuluyor. (I2ebf3, b/466071383)UserSubspaceAPI'si, "lazy locking" (geç kilitleme) terminolojisini "soft locking" (yumuşak kilitleme) ile değiştirecek şekilde 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 commit'leri içerir.
API Değişiklikleri
- İçeriğin her zaman kullanıcıya dönük olmasını sağlayan
LookAtUserve Billboard değiştiricilerini ekleme (I49b99) - Tıklamaların ve diğer 3D giriş etkinliklerinin algılanmasına olanak tanıyan
InteractionPolicyileSpatialExternalSurfacesveSpatialPanelsarasında birInteractionPolicyayarlama özelliği ekler. (Iae155) - Dp değerleri olarak genişlik, yükseklik ve derinlik ile boyut ve
requiredSizedeğiştirici aşırı yüklemesi eklendi. (I92f79) ParentLayoutParamsModifierarayüzü artıkDelegatableSubspaceNode. (I1a6d4)ApplicationSubspace, Subspace API lehine kullanımdan kaldırıldı.- Subspace API davranışı, yalnızca önerilen duruş ve ölçekte uygulama genelinde bir alt alan sağlayacak şekilde değiştirildi.
PlanarEmbeddedSubspaceAPI, 2D bağlamlarda yerleştirilmiş alt uzaylar sağlamak için kullanıma sunulmuştur. (Id3343)
SubspaceModifier.NodeAPI'sineshouldAutoInvalidateişareti eklendi. (I93902)required(Size|Width|Depth|Height)Geliştiricilerin, üst öğenin gelen ölçüm kısıtlamalarını dikkate almadan bir@SubspaceComposableboyutunu belirli bir aralıkla sınırlamasına olanak tanıyan API'ler eklendi. (Ifaa78)@SubspaceComposableboyutunun değiştiğinde geliştiricilerin tepki vermesi için basit ve odaklanmış bir geri çağırma sağlayanSubspaceModifier.onSizeChangedeklendi. (I994f9)- Volume API kaldırıldı. Volume API yerine
SceneCoreEntityAPI kullanılmalıdır. (I4162b) SubspaceLayoutModifierNode.requestRelayoutöğesiniinvalidateMeasurement/invalidatePlacementolarak ayırın. (I14805)- Geliştiricilerin glTF'leri Compose'da 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 düzen hatası düzeltildi. Artık kısıtlamalarına uygun şekilde yanıt verecektir. (I11bb8)- Jxr-compose modüllerini
Compile sdk = 34'ye (I2d5db) düşürme
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,onResizeUpdateveonResizeEnd'ü kabul etmek içinonResizeStartolarak değiştirildi. (I7e21f)
Hata Düzeltmeleri
- Bir etkinliği alt alanla yok ederken kilitlenmeyi önleme. (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 commit'leri içerir.
API Değişiklikleri
SpatialMainPaneliçin KDocs iyileştirildi. (I27b70, b/444467891)SpatialRowveSpatialColumngibi 3D düzenlerde çocukları ana eksen boyunca düzenlemek içinSpatialArrangementözelliği eklendi. Bu yeni API, 2D Compose'dakiStart,End,Center,SpaceBetween,SpaceAroundveSpaceEvenlygibi düzenleme seçeneklerini sunar. Ayrıca, soldan sağa ve sağdan sola düzen yönleri için tam destek sağlar. (I7db38, b/436289959)SubspaceModifier.Nodeiçin temel bir arayüz eklendi. Bu arayüz, tür güvenliğini ve uzantı arayüzlerinin kullanılabilirliğini artırır. Örneğin:CompositionLocalConsumerSubspaceModifierNodeLayoutCoordinatesAwareModifierNodeSubspaceLayoutModifierNodeCoreEntityNode(internal) (Iede00, b/440599394, b/440599394)
- Kısıtlamayı kaldırma
SpatialExternalSurface(I33315, b/439646773) - Subspace composable'larına
SubspaceModifierparametresini ekleyin ve kısıtlamalar parametresini boyutla ilgiliSubspaceModifiersile değiştirin.SubspaceModifierallowUnboundedSubspacedoğruysa alt alanlarda sınırsız kısıtlamalar olabilir. (Ib06e6, b/433331675) DragPolicy()veResizePolicy(),SpatialPanelveSpatialExternalSurfaceAPI'sinin (I397bf, b/437924639) bir parçası olduğundan artık taşınabilir ve yeniden boyutlandırılabilirSubspaceModifiersdesteği sonlandırılıyor.- Uzamsal düzenlerde
LayoutDirectioniçin destek eklendi.SpatialAlignmentkullanılarak oluşturulan composable'lar artık hem soldan sağa hem de sağdan sola bağlamlarda öğeleri doğru şekilde konumlandıracak. (I964bb, b/436300273) - Bu davranışların yalnızca desteklenen kapsayıcılara uygulanabilmesini sağlamak için
PanelAPI'lerine Resizable ve Movable parametrelerini ekleyin. (Id491c) - Genişlik, yükseklik ve derinlik için tam minimum ve maksimum kısıtlamalar belirlemenize olanak tanıyan
sizeIn,widthIn,heightIn,depthInSubspaceModifiersözellikleri 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 commit'leri 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
SubspaceComposableek açıklama sınıfını herkese açık hale getirdi. (Ic2a34, b/399432430)- 180 ve 360 derece küreleri temsil eden iki yeni
SpatialExternalSurfaceComposables. (I40ef2, b/391705799) SubspaceModifier.aspectRatioeklendi (Ide5ab, b/399729509, b/414762147)SceneCoreEntityAPI'si,SceneCoreile Compose for XR arasındaki birlikte çalışabilirliği artırmak için eklendi. (I50bb3, b/423020989)- Ölçeklendirilmemiş VE
GravityAlignedözelliğini desteklemek içinGravityAlignedsubspaceAPI'si sağlandı (I07359)
API Değişiklikleri
SpatialDialog(),SpatialDialogProperties.dismissOnBacktuşuna basma yapılandırmasını izler. (Ib453b, b/416797132)minimumPanelDimension, Metre cinsinden gösterildiği içinDimensions(0.1f, 0.1f, 0.1f)yeni varsayılan boyutuna güncellendi. (Ib852a)- Alt alanlar ve uydular artık ana alanda ve uygulama arka plandayken kendi iç durumlarını koruyacak. Ev alanı modunda Subspace, tam alan moduna geçişe hazırlanmak için sahnesini kurmaya devam eder. (I40317, b/416037751)
SpatialDialogsartık uygulama arka plandayken durumlarını koruyacak. (I6aa56)ApplicationSubspaceartık önerilen ölçeğini ve konumunu sistemden devralacak. (I4565f, b/418834194)SubspaceComposablekarakteriSubspaceComposableolmayan bir bağlamda kullanıldığında daha iyi bir hata mesajı eklendi ve hata daha erken tetikleniyor. (Iee2ae, b/416484684)- Uyarılar, composable API'ler yanlış kullanıldığında genellikle gözden kaçırıldığından
ExperimentalSubspaceVolumeApiuyarısını hata olarak güncelledik. (I427aa, b/424864286) - Subspace ve
ApplicationSubspaceartıkrecommendedContentBoxInFullSpaceile sınırlanıyor. Daha önceSpatialUser'nın görüş alanı ile sınırlıydı. (I41015, b/423074142) - Sabit kodlanmış boyut kullanılmaması için
SpatialElevationöğesini minimum boyutu kullanacak şekilde güncelleyin (I2dbe6, b/427785338) - Önemli bir değişken değiştirildiğinde güncellenmesi için
SpatialAcitivityPanelile ilgili antrenman yapma şeklimizi güncelleyin. (I0f64d, b/427999029) - Varsayılan kısıtlama değerlerini eşdeğer olarak ayarlamak için
VolumeConstraints.Unboundedöğesini kaldırın. (Ie24ec, b/407938414) SpatialFeatheringSizeartık herkese açık değil (I1c15b, b/399432430)- Compose'un
Placeableöğesinden ayırt etmek için XRPlaceableöğesiniSubspacePlaceableolarak yeniden adlandırdı. (I74874) - Orbiter ayarlarını kaldırma ve
shouldRenderInNonSpatialöğesini yeni bir parametre olarak ekleme. Ayrıca,EdgeOffsetsınıfını kaldırıpOrbiter()işlevlerini birleştirmek içinorbiterOffsetTypesınıfını yeni bir parametre olarak ekliyoruz. AyrıcaOrbiterEdgeöğesiniContentEdgeolarak yeniden adlandırın. (Iebf3d) - Türün Compose'un
Measurabletüründen ayırt edilmesi içinMeasurable,SubspaceMeasurableolarak yeniden adlandırıldı. (I9726c) MeasureResultdosyasınıSubspaceMeasureResultolarak yeniden adlandırın (I9f34d)setSubspaceContentAPI'si kaldırıldı. Bunun yerineSubspacecomposable ile Compose'unsetContentkullanılması önerilir. (Ifff4c, b/421427391, b/421427391)MeasurePolicy,SubspaceMeasurePolicyolarak yeniden adlandırıldı. (I37a9b, b/422553904)- Varsayılanlar olmadan üye ekleyemeyeceğimiz için
SubspaceSemanticsInfo'yı kapalı bir arayüze dönüştürün. (I372f9, b/423704068) SpatialExternalSurfacedokümanları 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ş oluşturucu sağlandı. (Ic0c70)
- İpuçları için daha fazla konum sağlayıcı eklendi. Böylece geliştiriciler, ipucunun bağlantının üstünde, altında, solunda veya sağında yerleştirilip yerleştirilmeyeceğini kontrol edebilir. Şapka işaretleri için bir Şekil alan bir API ekleyin. Böylece daha fazla özel şekil sağlanabilir. (Ie513c, b/374766087, b/418854637)
CoreEntity,PublishedApiolarak kaldırıldı (Ifee05)
Hata Düzeltmeleri
SpatialDialogsimgesinin oluşturulurken yanıp sönmesi sorunu düzeltildi. (Ife73c, b/401619909)SpatialDialogöğesinin etkinlik panelini karartamaması sorunu düzeltildi. (I8ca6c, b/367442109)- XR iletişim kutusunda bazı içeriklerin gösterilmemesi sorunu düzeltildi (I17cd5, b/418062437)
- İçerikte tıklandığında
SpatialPopupsimgesinin kapatılması sorunu düzeltildi. (If262c, b/417245722) resizable().movable()ile zincirleme oluşturulduğunda SpatialPanel'in yeni boyuta doğru şekilde yeniden boyutlandırılamaması sorunu düzeltildi. (I02ee3, b/422264230)SpatialComposeVideoPlayeriçindeki menüyle çakışan sabittopBarsorunu 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 commit'leri içerir.
Yeni Özellikler
- Özel
SubspaceModifiertürlerinin kompozisyon yerel değerlerine erişmesine olanak tanıyanCompositionLocalConsumerSubspaceModifierNodearayüzü eklendi. - Compose
AndroidViewuygulama stilini izleyen ve öncekiViewBased SpatialPanelAPI'sinin desteğini sonlandıran yeni birSpatialPanelAPI'si eklendi. - Sınırsız kısıtlamaları temsil eden
VolumeConstraints.Unboundedeşlik eden nesnesi eklendi. - Uzamsallaştırılmış ses kaynağına izin vermek için
SubspaceModifier.onPointSourceParamseklendi. - Uygulamanın, mekansal içerik oluşturabileceği 3D 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'nın genişlik ve yükseklikteki mevcut görüş alanıyla sınırlanır. Kullanıcılar, görüş alanı belirlenemezse 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çerik oluşturmak için kullanılabilecek
SpatialExternalSurfaceeklendi.SpatialExternalSurface, değiştiricilerle (alfa hariç) ve kenar yumuşatma efektiyle özelleştirilebilir. - Kullanıcıların uzamsal işaretçinin simgesini ayarlamasına olanak tanıyan yeni bir
pointerHoverIconalt alan değiştiricisi 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)
- Geriye doğru işleme artık yerleştirilmiş etkinlikler içermeyen uzamsal panellerde çalışacak. Geriye doğru işlemeyi kullanmak için android manifest dosyasında
android:enableOnBackInvokedCallback="true"belirtmeniz gerekir. - Geriye dokunma artık uzamsal iletişim kutularında çalışacak. Geriye doğru işleme özelliğinin çalışması için Android manifestinde
android:enableOnBackInvokedCallback="true"belirtmeniz gerekir. - Compose tabanlı ve View tabanlı
SpatialPanels 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. - Orbiter yükseklik düzeyi artık
elevationparametresi aracılığıyla özelleştirilebilir. - Alt alan, varsayılan olarak
SpatialUser'nın genişlik ve yükseklik açısından 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 yeni geri çağırmalaronMoveStartveonMoveEndeklendi.onMoveStartveonMoveEndgeri çağırmaları, kullanıcı taşınabilir değiştiriciyle birleştirilebilen bir alt alanı taşımaya başladığında ve taşımayı bitirdiğinde çağrılır.nameparametresi,SpatialRowveSpatialPanelgibi uzamsal API'lerden kaldırıldı. Uzamsal Compose ağaçlarında hata ayıklamak için bunun yerineSubspaceModifier.testTagkullanın.- Yalnızca
spatialElevationLevelvecontentiçeren, desteklenmeyen birSpatialPopupaşırı yüklemesi kaldırıldı. LütfenonDimissRequestsimgesini destekleyen arayüzü kullanın. - Movable değiştiricisinden gelen
onPoseChangegeri çağırma kaldırıldı. Bunun yerineonMovepolitikasını kullanın. SubspaceModifiers, ayrılmışsa veya şu anda ayrılıyorsa efektlerini artık uygulamaz.- Mevcut
SpatialRowAPI'siSpatialRowveSpatialCurvedRowolarak ikiye ayrıldı. Daha önceSpatialRow'nıncurveRadiusparametresini 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 çubuğuna sahip değildir.- Alfa ve ölçek değiştiriciler artık yığılabilir ve nihai uygulanan alfa veya ölçek değeri için değerlerini çarpacaktır.
onPoseChangeTaşınabilir değiştiriciden gelen geri çağırma, daha sorunsuz poz hareketi gerçekleştirecek şekilde optimize edildi.- Taşınabilir ve yeniden boyutlandırılabilir değiştiriciler artık durum değişikliklerinin yeniden oluşturmayı tetiklemesini sağlamak için 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çü aşamalarına durum gözlemi eklendi.- Mevcut değiştiricilerin daha iyi yeniden kullanılması için optimize edilmiş değiştirici zinciri güncellemeleri.
Hata Düzeltmeleri
SpatialDialoggösterildiğinde scrimming durdurulur. (Ic4594)- Değiştirici düğümler ayrılmış durumdayken yapılan yeniden düzenleme istekleri artık yoksayılacak.
- Movable ve Resizable değiştiricileri tarafından tetiklenen yeniden düzenleme aşamaları kaldırıldı.
- Boyutlardan biri doğrudan veya düzen hesaplaması sırasında (ör.
SpatialRow/SpatialColumnhesaplaması) sıfıra ayarlandığındaMainPanel()composable'da meydana gelen kilitlenme sorunu düzeltildi. Panel artık gizlenecek. Bu düzeltmenin özellikle düzen aşamasındaki kilitlenmeleri ele aldığını unutmayın. Panelin kullanıcı etkileşimi aracılığıyla 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ştiriciden
maintainAspectRatioile ilgili sorun düzeltildi. En boy oranı 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.
- Yuvarlak köşelerin bazen uygulanması gerektiği halde uygulanmaması sorunu düzeltildi.
NestedSubspacesartık yanlış konumdaki bir karede 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 yapılmadan yayınlandı. 1.0.0-alpha03 sürümü bu commit'leri 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 karartabilir.
OrbiterAPI artıkSubspaceComposablebağlamlarında kullanılabilir ve Orbiters'ı en yakınSubspaceLayouttabanlı composable üst öğeye ekler.- Özelleştirilebilen konum tabanlı değiştiricilere izin vermek için
LayoutCoordinatesAwareModifierNodetanıtıldı. SubspaceModifier.Nodeiçin ekleme/ayırma yaşam döngüsü yöntemleri eklendi.- Hareketli değiştiriciye
scaleWithDistanceeklendi.scaleWithDistanceetkinleştirildiğinde, taşınan alt alan öğesi büyür veya küçülür. Ayrıca, taşıma işleminden önce sahip olduğu açık ölçeği de korur.
API Değişiklikleri
SessionCallbackProvider,SpatialCapabilitieslehine kaldırıldı.
Diğer değişiklikler
minSDKdeğeri 24'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 değildir. Bu sayede, oluşturucular birleştirilemeyen bağlamlarda kullanılabilir.- Uzamsal yükseklik seviyelerini en yeni kullanıcı deneyimi spesifikasyonuna uyacak şekilde güncelleyin.
SubspaceSemanticsInfoarayüzünüMeasurableLayout'ye uygulayın.SubspaceModifierElement,SubspaceModifierNodeElementolarak yeniden adlandırıldı.
Hata düzeltmeleri
SubspaceModifiersıralamasını sabitlemeye yönelik düzeltmeler.SubspaceModifierdaha güvenilir bir şekilde çalışır. Öteleme, döndürme, ölçeklendirme, taşınabilir ve yeniden boyutlandırılabilir değiştiriciler artık herhangi bir sırada kullanılabilir.
Sürüm 1.0.0-alpha01
12 Aralık 2024
androidx.xr.compose:compose-*1.0.0-alpha01 iptal edilir.
İlk sürümün özellikleri
Jetpack Compose for XR'ın ilk geliştirici sürümü. İster mevcut bir 2D uygulamayı XR'a taşıyor olun ister sıfırdan yeni bir XR uygulaması oluşturuyor olun, satırlar ve sütunlar gibi tanıdık Compose kavramlarını kullanarak XR'da uzamsal kullanıcı arayüzü düzenleri oluşturabilirsiniz. Bu kitaplık, mevcut 2D Compose veya Views tabanlı kullanıcı arayüzünüzü uzamsal bir düzende yerleştirmenize olanak tanıyan alt alan ve uzamsal oluşturulabilirler (ör. uzamsal paneller ve orbiter'ler) sağlar. 3D modeller gibi SceneCore öğelerini kullanıcı arayüzünüze göre yerleştirmenize olanak tanıyan Volume alt alan oluşturulabilirini kullanıma sunar. Daha fazla bilgiyi bu geliştirici kılavuzunda bulabilirsiniz:
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 tüm kullanıcı arayüzü ağacınızda durumu yükseltmenize veya uygulamanızın mimarisini yeniden tasarlamanıza gerek kalmadan XR ve diğer form faktörleri arasında daha kolay paylaşabilirsiniz.SpatialPanel: Uzamsal panel, uygulama içeriğini görüntülemenize olanak tanıyan bir alt alan oluşturulabiliridir. Örneğin, uzamsal panelde video oynatma, sabit resimler veya başka herhangi bir içerik görüntüleyebilirsiniz.
Orbiter: Orbiter, uzamsal bir kullanıcı arayüzü bileşenidir. İlgili bir uzamsal panele eklenmek üzere tasarlanmıştır ve bu uzamsal panelle ilgili gezinme ve bağlamsal işlem öğelerini içerir. Örneğin, video içeriğini göstermek için bir uzamsal 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.
Uzamsal Yerleşim:
SpatialRow,SpatialColumn,SpatialBoxveSpatialLayoutSpacerkullanarak birden fazla uzamsal panel oluşturup bunları Uzamsal Yerleşim'e yerleştirebilirsiniz. Düzeninizi özelleştirmek içinSubspaceModifiersimgesini kullanın.Uzamsal kullanıcı arayüzü bileşenleri: Bu öğeler 2D kullanıcı arayüzünüzde yeniden kullanılabilir ve uzamsal özellikleri yalnızca uzamsal özellikler etkinleştirildiğinde görünür.
SpatialDialog: Panel, yükseltilmiş bir iletişim kutusu göstermek için z derinliğinde biraz geriye itilir.SpatialPopUp: Panel, yükseltilmiş bir pop-up göstermek için z derinliğinde biraz geriye itilir.SpatialElevation:SpatialElevationLevel, yüksekliği eklemek için ayarlanabilir.
SpatialCapabilities: Kullanıcılar uygulamanızla veya sistemle etkileşimde bulundukça ya da uygulamanızın kendisi tarafından (ör. Ev Alanı'na veya Tam Alan'a geçiş) mekansal özellikler değiştirilebilir. 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 çö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ının şu anda AndroidManifest'te
android.permission.SCENE_UNDERSTANDINGizni istemesi gerekiyor. - Bir uygulama, manifest dosyasındaki
PROPERTY_XR_ACTIVITY_START_MODEözelliğini kullanarak doğrudan Tam Alan'da başlatıldığında Etkinlikler/Uygulamalar, Tam Alan'a geçmeden önce başlangıçta Ev Alanı'nda açılır. - Volume Composables'daki glTF'ler başlangıçta yanlış konumda titreyebilir.
- Önemli ölçüde taşınmış bir panelde SpatialDialog kullanmak, içeriği yanlış yöne iter.