Jetpack Compose برای XR
آخرین به روز رسانی | انتشار پایدار | کاندید را آزاد کنید | نسخه بتا | انتشار آلفا |
---|---|---|---|---|
12 دسامبر 2024 | - | - | - | 1.0.0-alpha01 |
اعلام وابستگی ها
برای افزودن وابستگی به XR compose، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.
وابستگیهای مصنوعات مورد نیاز خود را در فایل build.gradle
برای برنامه یا ماژول خود اضافه کنید:
شیار
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" }
کاتلین
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") }
برای اطلاعات بیشتر درباره وابستگیها، به افزودن وابستگیهای ساخت نگاه کنید.
بازخورد
بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه 1.0
نسخه 1.0.0-alpha01
12 دسامبر 2024
androidx.xr.compose:compose-*1.0.0-alpha01
منتشر شد.
ویژگی های Initial Release
انتشار اولیه توسعه دهنده Jetpack Compose برای XR. از مفاهیم آشنای Compose مانند سطرها و ستونها برای ایجاد طرحبندیهای UI فضایی در XR استفاده کنید، چه در حال انتقال یک برنامه دو بعدی موجود به XR یا ایجاد یک برنامه XR جدید از ابتدا باشید. این کتابخانه زیرفضا و قابلیتهای فضایی را فراهم میکند: مانند پانلهای فضایی و مدارگردها، که به شما امکان میدهند UI دو بعدی یا مبتنی بر Views خود را در یک طرحبندی فضایی قرار دهید. زیرفضای Volume composable را معرفی می کند که به شما امکان می دهد موجودیت های SceneCore مانند مدل های سه بعدی را نسبت به رابط کاربری خود قرار دهید. در این راهنمای توسعه دهنده بیشتر بیاموزید:
Subspace
: این قابل ترکیب را می توان در هر جایی در سلسله مراتب UI برنامه شما قرار داد، به شما این امکان را می دهد که طرح بندی ها را برای UI دو بعدی و فضایی بدون از دست دادن زمینه بین فایل ها حفظ کنید. این کار اشتراکگذاری مواردی مانند معماری برنامههای موجود بین XR و سایر فاکتورهای شکل را بدون نیاز به بالا بردن حالت در کل درخت رابط کاربری یا معماری مجدد برنامهتان آسانتر میکند.SpatialPanel : یک پانل فضایی یک زیرفضای قابل ترکیب است که به شما امکان می دهد محتوای برنامه را نمایش دهید – برای مثال، می توانید پخش ویدیو، تصاویر ثابت یا هر محتوای دیگری را در یک پانل فضایی نمایش دهید.
مدارگرد : مدارگرد یک جزء رابط کاربری فضایی است. طراحی شده است تا به یک پانل فضایی مربوطه متصل شود و شامل موارد ناوبری و کنش متنی مربوط به آن پانل فضایی است. برای مثال، اگر یک پانل فضایی برای نمایش محتوای ویدیویی ایجاد کردهاید، میتوانید کنترلهای پخش ویدیو را در یک مدارگرد اضافه کنید.
حجم : موجودیت های SceneCore، مانند مدل های سه بعدی را نسبت به رابط کاربری خود قرار دهید.
Spatial Layout: میتوانید چندین پانل فضایی ایجاد کنید و با استفاده از
SpatialRow
،SpatialColumn
،SpatialBox
وSpatialLayoutSpacer
آنها را در یک Spatial Layout قرار دهید. ازSubspaceModifier
s برای سفارشی کردن چیدمان خود استفاده کنید.اجزای فضایی رابط کاربری: این عناصر را میتوان در رابط کاربری دوبعدی شما استفاده مجدد کرد و ویژگیهای فضایی آنها تنها زمانی قابل مشاهده خواهند بود که قابلیتهای فضایی فعال باشند.
-
SpatialDialog
: پانل کمی به عقب در عمق z فشار می آورد تا یک گفتگوی بالا را نمایش دهد. -
SpatialPopUp
: پانل کمی به عقب در عمق z فشار می آورد تا یک پنجره بازشوی بالا نمایش داده شود. -
SpatialElevation
:SpatialElevationLevel
می توان برای اضافه کردن ارتفاع تنظیم کرد.
-
قابلیتهای فضایی: قابلیتهای فضایی میتواند با تعامل کاربران با برنامه یا سیستم شما تغییر کند، یا حتی میتواند توسط خود برنامه شما تغییر کند—مثلاً حرکت به فضای خانه یا فضای کامل. برای جلوگیری از مشکلات، برنامه شما باید
LocalSpatialCapabilities.current
را بررسی کند تا مشخص کند کدام API در محیط فعلی پشتیبانی میشود.isSpatialUiEnabled
: عناصر رابط کاربری فضایی (مثلاً SpatialPanel)isContent3dEnabled
: اشیاء سه بعدیisAppEnvironmentEnabled
: محیطisPassthroughControlEnabled
: این که آیا برنامه می تواند وضعیت عبور را کنترل کند یا نهisSpatialAudioEnabled
audio :
مسائل شناخته شده
- در حال حاضر برای استفاده از Jetpack Compose برای XR به minSDK 30 نیاز است. به عنوان یک راه حل، می توانید ورودی مانیفست زیر را اضافه کنید
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>
تا بتوانید با minSDK 23 بسازید و اجرا کنید. - برنامههای Jetpack XR در حال حاضر به درخواست مجوز
android.permission.SCENE_UNDERSTANDING
در AndroidManifest نیاز دارند. - هنگامی که یک برنامه مستقیماً با استفاده از ویژگی
PROPERTY_XR_ACTIVITY_START_MODE
در مانیفست خود به فضای کامل راهاندازی میشود، فعالیتها/برنامهها ابتدا قبل از انتقال به فضای کامل در Home Space باز میشوند. - glTFها در Volume Composables ممکن است در ابتدا در مکان اشتباه سوسو بزنند.
- استفاده از SpatialDialog در پانلی که به طور قابل توجهی جابجا شده است، محتوا را در جهت اشتباه سوق می دهد.