XR için Jetpack Compose
Son Güncelleme | Kararlı Sürüm | Sürüm Adayı | Beta Sürümü | Alfa Sürümü |
---|---|---|---|---|
12 Aralık 2024 | - | - | - | 1.0.0-alpha01 |
Bağımlılıkları beyan etme
XR Compose'a bağımlılık eklemek için projenize Google Maven deposunu eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu inceleyin.
Uygulamanızın veya modülünüzün build.gradle
dosyasına ihtiyacınız olan yapıların bağımlılıklarını ekleyin:
Eski
dependencies { implementation "androidx.xr.compose:compose:1.0.0-alpha01" // Use to write unit tests testImplementation "androidx.xr.compose:compose-testing:1.0.0-alpha01" }
Kotlin
dependencies { implementation("androidx.xr.compose:compose:1.0.0-alpha01") // Use to write unit tests testImplementation("androidx.xr.compose:compose-testing:1.0.0-alpha01") }
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 kitaplık oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oy verebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerine bakın.
Sürüm 1.0
Sürüm 1.0.0-alpha01
12 Aralık 2024
androidx.xr.compose:compose-*1.0.0-alpha01
yayınlanır.
İlk Sürümün Özellikleri
XR için Jetpack Compose'un ilk geliştirici sürümü. Mevcut bir 2D uygulamayı XR'ye taşıyor veya sıfırdan yeni bir XR uygulaması oluşturuyor olsanız da XR'de mekansal kullanıcı arayüzü düzenleri oluşturmak için satırlar ve sütunlar gibi tanıdık Compose kavramlarını kullanın. Bu kitaplık, mevcut 2D Compose veya Görünüm tabanlı kullanıcı arayüzünüzü bir mekansal düzene yerleştirmenize olanak tanıyan mekansal paneller ve yörünge araçları gibi alt alan ve mekansal bileşenler sağlar. 3D modeller gibi SceneCore öğelerini kullanıcı arayüzünüze göre yerleştirmenize olanak tanıyan Volume alt uzayı birleştirilebilir öğesini kullanıma sunar. Daha fazla bilgi için bu geliştirici kılavuzunu inceleyin:
Subspace
: Bu bileşen, uygulamanızın kullanıcı arayüzü hiyerarşisinin herhangi bir yerine yerleştirilebilir. Böylece, dosyalar arasındaki bağlamı kaybetmeden 2D ve mekansal kullanıcı arayüzü için düzenleri koruyabilirsiniz. Bu sayede, kullanıcı arayüzü ağacınızın tamamında durumu kaldırmanıza veya uygulamanızın mimarisini yeniden tasarlamanıza gerek kalmadan mevcut uygulama mimarisi gibi öğeleri XR ile diğer form faktörleri arasında paylaşabilirsiniz.SpatialPanel: Mekansal panel, uygulama içeriğini görüntülemenize olanak tanıyan bir alt alan bileşimidir. Örneğin, bir mekansal panelde video oynatma, hareketsiz resimler veya başka herhangi bir içerik görüntüleyebilirsiniz.
Yörünge aracı: Yörünge aracı, mekansal bir kullanıcı arayüzü bileşenidir. İlgili bir mekansal panele eklenecek şekilde tasarlanmıştır ve bu mekansal panelle ilgili gezinme ve bağlamsal işlem öğeleri içerir. Örneğin, video içeriği görüntülemek için bir uzamsal panel oluşturduysanız bir yörünge aracının içine video oynatma kontrolleri ekleyebilirsiniz.
Hacim: 3D modeller gibi SceneCore öğelerini kullanıcı arayüzünüze göre yerleştirin.
Üç boyutlu yerleşim:
SpatialRow
,SpatialColumn
,SpatialBox
veSpatialLayoutSpacer
simgesini kullanarak birden fazla üç boyutlu panel oluşturabilir ve bunları üç boyutlu yerleşime yerleştirebilirsiniz. Düzeninizi özelleştirmek içinSubspaceModifier
simgesini kullanın.Mekansal kullanıcı arayüzü bileşenleri: Bu öğeler 2D kullanıcı arayüzünüzde yeniden kullanılabilir ve mekansal özellikleri yalnızca mekansal özellikler etkinleştirildiğinde görünür.
SpatialDialog
: Panel, yükseltilmiş bir iletişim kutusu görüntülemek için z-derinliğinde biraz geriye itilir.SpatialPopUp
: Panel, yükseltilmiş bir pop-up görüntülemek için z-derinliğinde biraz geriye itilirSpatialElevation
:SpatialElevationLevel
, yükseklik eklemek için ayarlanabilir.
SpatialCapabilities: SpatialCapabilities, kullanıcılar uygulamanızla veya sistemle etkileşim kurarken değişebilir. Hatta uygulamanız tarafından bile değiştirilebilir (ör. ana alana veya tam alana geçme). Sorun yaşanmaması için uygulamanızın, mevcut ortamda hangi API'lerin desteklendiğini belirlemek üzere
LocalSpatialCapabilities.current
değerini 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 30'un üzerinde bir minSDK gereklidir. Geçici bir çözüm olarak, 23 minimum SDK ile derleyip çalıştırabilmek için aşağıdaki manifest girişini
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>
ekleyebilirsiniz. - Jetpack XR uygulamaları için şu anda AndroidManifest'de
android.permission.SCENE_UNDERSTANDING
izninin istenmesi gerekiyor. - Bir uygulama, manifest dosyasında
PROPERTY_XR_ACTIVITY_START_MODE
mülkünü kullanarak doğrudan Tam Alan'da başlatıldığında Etkinlikler/Uygulamalar, Tam Alan'a geçmeden önce başlangıçta Ana Alan'da açılır. - Hacim bileşenlerindeki glTF'ler başlangıçta yanlış konumda yanıp sönebilir.
- Önemli ölçüde hareket ettirilmiş bir panelde SpatialDialog kullanılması, içeriğin yanlış yöne gitmesine neden olur.