Jetpack Compose ویژه واقعیت گسترده
| جدیدترین بهروزرسانی | نسخه پایدار | نامزد انتشار | انتشار نسخه بتا | نسخه آلفا |
|---|---|---|---|---|
| ۲۱ اکتبر ۲۰۲۶ | - | - | 1.0.0-beta02 | - |
اعلام وابستگیها
برای افزودن وابستگی به ترکیببندی XR، باید مخزن Google Maven را به پروژهتان اضافه کنید. برای اطلاعات بیشتر، مخزن Maven در Google را بخوانید.
وابستگیهای مصنوعات موردنیازتان را در فایل build.gradle برای برنامه یا واحدتان اضافه کنید:
شیار
dependencies { implementation "androidx.xr.compose:compose:1.0.0-beta01" // Use to write unit tests testImplementation "androidx.xr.compose:compose-testing:1.0.0-beta01" }
کاتلین
dependencies { implementation("androidx.xr.compose:compose:1.0.0-beta01") // Use to write unit tests testImplementation("androidx.xr.compose:compose-testing:1.0.0-beta01") }
برای اطلاعات بیشتر درباره وابستگیها، به افزودن وابستگیهای ساخت مراجعه کنید.
بازخورد
بازخوردتان به بهبود Jetpack کمک میکند. اگر مشکل جدیدی پیدا کردید یا ایدهای برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبلاز ایجاد مشکل جدید، مشکلات موجود در این کتابخانه را بررسی کنید. با کلیک کردن روی دکمه ستاره میتوانید رأی خود را به مشکل موجود اضافه کنید.
برای اطلاعات بیشتر، سند Issue Tracker را ببینید.
نسخه 1.0
نسخه 1.0.0-beta02
۲۱ اکتبر ۲۰۲۶
androidx.xr.compose:compose:1.0.0-beta02 و androidx.xr.compose:compose-testing:1.0.0-beta02 منتشر شدهاند. نسخه 1.0.0-beta02 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- کتابخانهها اکنون Kotlin 2.2 را هدف قرار میدهند و به kotlinc 2.2 نیاز دارند (I82396، b/498369605)
- نام پارامتر
halfLifeMsازFollowMode.soft()بهhalfLifeMillisتغییر کرد. (I39187) -
PitchLimitsبه@JvmInline value classتبدیل شد دو عدد اعشاری درLongبستهبندی شد تا تخصیصهای شیء حذف شود. (Id43c3) - پارامتر جدیدی برای
FollowMode.softاضافه شد: پارامترهایhalfLifeMs،startDelay، وstartThresholds. پارامترdurationMsبرداشته شد زیرا دیگر به آن نیاز نداریم چون درحال انتقال از الگوریتمsmoothStepبه الگوریتمexponentialDecayهستیم. (If0140) - بار اضافی
SpatialActivityPanelمنسوخشده را بردارید. درعوض از سربارگذاریSpatialActivityPanelکهSpatialActivityPanelControllerرا میپذیرد استفاده کنید. (I5abc3) - انتقال بین محتوای سهبعدی و دوبعدی Composable را در یک «فعالیت» در
FullSpaceModeفعال کنید. این تغییر توسطSpatialComposeFlags.isMainPanelResetOnSubspaceDisposeEnabledمحدود شده است. (I4e237) - Exposed experimental
Subspaceoverload taking aFollowTargetparameter to support following content. (Iec1a9) - اصلاحکنندههای قابلجابهجایی منسوخشده را بردارید. بهجای آن از اصلاحکننده قابلجابهجایی جدیدی استفاده کنید که
MovePolicyجدید را بهعنوان پارامتر میپذیرد. (Ib135d) - برداشتن
DragPolicyمنسوخشده. درعوض ازSubspaceModifier.movable()استفاده کنید. (I108d4) SliderوRangeSliderبدون حالت منسوخشده بهنفع نسخههای با حالت آنها سربارگذاری شدند. نامactiveRangeStartوactiveRangeEndدرRangeSliderStateبهstartValueوendValueتغییر کرد، و میاناهای برنامهسازی کاربردی «لغزنده» قدیمیتر ترویجنشده و آزمایشی باDeprecationLevel.HIDDENمنسوخ شدند. (If8995)
رفع اشکالها
RotateToLookAtUserبا معرفیposeInActivitySpaceبرطرف شد تا از محاسبه صحیح حالت برای همه انواع زیرفضا، ازجمله زیرفضاهای متصل به لنگرها یا کاربران، اطمینان حاصل شود.Ica367b- رفع خرابی «محدودیتها» وقتی Orbiter به پانلهای بزرگ متصل است (I8c4bf)
- اشکالی در
SubspaceLayoutNodeبرطرف شد که در آنremoveAll()باعث تخصیص غیرضروریArrayListمیشد. همچنین عملکرد محاسبه عمق را اصلاح کردیم. I34a10a - وابستگی
androidx.lifecycle:lifecycle-runtimeبه نسخه ۲.۱۰.۰ بهروز شد. این نسخه برای اجرای بررسیهای lint زمان اجرای چرخه حیات بستهبندیشده با AGP نسخه 9.5.0-alpha04 یا جدیدتر لازم است. (I99bfd, b/556807521) - بهبود kdocs مربوط به
AudioOutputProviderبرای برجسته کردن این نکته که نباید با چند نمونهExoPlayerدوباره استفاده شود (I6b18e) - Fix minor kdoc spelling and grammar issues (Id3ba6)
مشکلات شناختهشده
- این نسخه از
androidx.xr.composeبهandroidx.xr.scenecore:1.0.0-rc01وابسته است که نشت حافظه شناختهشدهای دارد. در پیکربندی ساخت، میتوانید بهطور صریح وابستگیSceneCoreرا به نسخه1.0.0لغو کنید، که شامل اصلاحی برای نشت حافظه است.
نسخه 1.0.0-beta01
۲۳ سپتامبر ۲۰۲۶
androidx.xr.compose:compose:1.0.0-beta01 و androidx.xr.compose:compose-testing:1.0.0-beta01 منتشر شدهاند. نسخه 1.0.0-beta01 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
-
DragPolicyمنسوخشده برداشته شد. درعوض ازSubspaceModifier.movable()استفاده کنید. (I108d4) ResizePolicyمنسوخشده و موارد استفاده آن درSpatialPanelوSpatialExternalSurfaceبرداشته شد. تابعSubspaceModifier.resizableمنسوخشده را بردارید. بهجای آن ازSubspaceModifier.resizableجدید باResizePolicyجدید استفاده کنید. (I59e6b)- پارامتر
isPitchUpdateEnabledاضافه شد تا امکان فعال یا غیرفعال کردن مستقل ردیابی گام فراهم شود. (Ie9e86) - قابلیت تهیپذیری
pitchLimitsبرداشته شد و نامPitchLimits.UNCONSTRAINEDبهPitchLimits.FullRangeتغییر کرد. (I0154f) -
ExposedDropdownMenuاکنون بهجای عضو، یک تابع افزونه درExposedDropdownMenuBoxScopeاست. ممکن است لازم باشد کدتان را با وارد کردن جدیدی بهروز کنید. (Ie8a65) - کلاس
SurfaceProtectionمنسوخشده برداشته شد. درعوض ازSpatialExternalSurfaceProtectionاستفاده کنید. (Iab2c6) - تابع Orbiter که
OrbiterPoseProviderرا میگیرد منسوخ شده است و بهجای آن از تابعی که ازSpatialAlignmentاستفاده میکند استفاده میشود. (I4d12b) SpatialActivityPanelاکنون برای راهاندازی و مدیریت فعالیتهای جاسازیشده بهSpatialActivityPanelController(نمونهسازیشده بااستفاده ازrememberSpatialActivityPanelController) نیاز دارد. (Id25c6)- پارامتر
upDirectionازrotateToLookAtUserبرداشته شد و پارامترهای محدودیت چرخش (isYawUpdateEnabledوpitchLimits) اضافه شد. (I1370a)
رفع اشکالها
- مشکلات مختلف
InteractionPolicyبرطرف شد. اگر رویداد ورودی درست زمانی رخ میداد که Composable یا فرزند (برای مثال Orbiter) توالی حذف را آغاز میکرد، خرابی رخ میداد. همچنین مشکلی را که در آن فرزند رویدادهای نگه داشتن نشانگر را دریافت میکرد برطرف میکند. (Ifc477) - اندازه پانل در
RotateToLookAtUserActivityکاهش یافته است تا از برش در دستگاههای با میدان دید کوچکتر جلوگیری شود. (I8d672)
مشکلات شناختهشده
- مشکلی در پانلهای Compose XR وجود دارد که در آن ایجاد پانلهای متعدد در یک «فعالیت» ممکن است باعث خرابی در آنچه مشاهده میشود شود، حتی پساز اینکه پانلها ازبین رفته باشند.
نسخه 1.0.0-alpha17
۱۲ اوت ۲۰۲۶
androidx.xr.compose:compose:1.0.0-alpha17 و androidx.xr.compose:compose-testing:1.0.0-alpha17 منتشر شدهاند. نسخه 1.0.0-alpha17 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- کلاس مقدار
Meterرا بردارید،virtualPixelDensityدرScenecoreجایگزین آن شده است. (I690ee) SpatialGltfModelAPI اکنون آزمایشی است و برای استفاده باید با آن موافقت شود. (I4557e)- Make
systemresizable nullable (Ib0093) DensityدرSubspaceSemanticsInfoبرای آزمایش درمعرض قرار گرفت. (I2e826)- تغییر نام گزینه پیشفرض
ResizePolicyبهsystemو افزودن گزینه جدیدDefaultبدون پارامتر (Ic8b16) - علامتگذاری
FollowTargetبهعنوان آزمایشی. اکنون کل میانای برنامهسازی کاربردیFollowingSubspaceآزمایشی است. (Id4ee3) - برداشتن میاناهای برنامهسازی کاربردی
GltfAnimation(Ic2894) - نام روش پارامتریشده
MovePolicy.default()بهMovePolicy.system()تغییر کرد. ویژگیval MovePolicy.Defaultرا برای نشان دادن رفتار حرکتی پیشفرض استاندارد معرفی کردیم. (Iedcc9) - Expand
ExperimentalMoveAnchorPolicyopt in requirements toPlaneSemanticandPlaneOrientation(Ief927) - برداشتن
resetMinsازVolumeConstraints.offset(Ib2f2f) - تابع منسوخشده
SceneCoreEntitySizeAdapterبرداشته شد. (Ib6722) -
Subspaceمنسوخشده باallowUnboundedSubspaceجایگزین شد. (I8e97f) - بار اضافی اصلاحکننده معنایی منسوخشده برداشته شد. (I4ac10)
رفع اشکالها
- مشکل مربوط به فرزندان
ComposableباInteractionPolicyپیوستشده که رویدادهای ورودی را راهاندازی میکردند برطرف شد (Icdba6)
نسخه 1.0.0-alpha16
۱۵ ژوئیه ۲۰۲۶
androidx.xr.compose:compose:1.0.0-alpha16 و androidx.xr.compose:compose-testing:1.0.0-alpha16 منتشر شدهاند. نسخه 1.0.0-alpha16 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- برداشتن میاناهای برنامهسازی کاربردی
ComponentOverride(I820c4) - میاناهای برنامهسازی کاربردی
GltfAnimationوSpatialGltfModelAnimationبهعنوان آزمایشی علامتگذاری شدهاند. برخیاز ویژگیها به گیرنده تبدیل شدند. (I8d689، b/524771027) - رفتار تراکم کلی را با ثابت کردن تبدیل بین متر و پیکسل اصلاح کردیم. Meter.kt منسوخ شده است، اکنون میتوان از
Session.scene.virtualPixelDensityبهعنوان جایگزین استفاده کرد. (I122ff، b/430097855، b/474168798) - اصلاحکننده قابلتغییر اندازه بهروز شد تا بهجای دو اصلاحکننده از یک
ResizePolicyاستفاده کند (I7fb0f، b/496257436، b/519672992) - پارامتر «تلورانس:
Dp = Dp(0.5f)» به همه ادعاهای برابری موقعیت و بُعد ممیز شناور عمومی درSubspaceAssertions.ktاضافه شد. رفتار پیشفرض تحمل (0.5.dp) بهطور کامل مستند شده است. (I266cb، b/521491915) - اضافه شدن سربارگذاری قابلجابهجایی با پارامتر
movePolicyو منسوخ شدنtransformingMovableوmovable(Ic88c1، b/481781189) - انواع غیرتعاملی جدیدی از مورد فهرست استاندارد و مورد فهرست بخشبندیشده اضافه شده است که از مشخصات Material Expressive پیروی میکنند. نسخه غیربیانی منسوخ شده است. (Ide4de، b/491994186)
- برای Subspace، پارامتر
allowUnboundedSubspaceاکنون منسوخ و پنهان شده است. اکنون باید بااستفاده ازSubspaceModifier.requiredSizeIn(maxWidth=Dp.Infinity،maxHeight=Dp.Infinity،maxDepth=Dp.Infinity) در اصلاحکننده Subspace به رفتار نامحدود دست یافت. پارامترallowUnboundedSubspaceازFollowingSubspaceبرداشته شده است. (Ia72ae، b/433624021) Session.createبه تابع تعلیق تبدیل شد. (I5d27f)-
SubspaceModifier.spatializedAudioOutputاضافه شد که امکان فضاییسازی بازپخش صدا را ازطریقExoPlayerیا ازطریقSoundEffectPlayerفراهم میکند (I46697، b/489421980، b/497867019) ComponentActivity.requestHomeSpace()وrequestFullSpace()برای برگرداندنSpaceRequestResultجهت درستیسنجی وضعیت بهروز شد. (If1672)- Updated
AnchorEntityto be calledAnchorSpace(Ifa95e, b/513619219) - Unrestricted
fromResourcemethod fromSpatialGltfModelSource(I1f5a1, b/503047416) - اعضای
SubspaceSemanticsMatcherعمومی هستند: ویژگیdescription، روشهای کارخانه همراه (expectValue،keyIsDefined،keyNotDefined)، توابع عضو (matches،matchesAny)، و عملگرها (and،or،not). (I972a4، b/460427288) SubspaceModifier.semantics،SubspaceModifier.testTag،SubspaceSemanticsInfo،SubspaceSemanticsModifierNodeبهروزرسانی شد تا از انواع معناشناسی فضایی سازماندهیشده استفاده کند. (I80dea، b/460427288)-
positionبهalignدرSpatialAlignmentتغییر نام داده شد و روشهای افست جهتدار تکی بهنفع میانای برنامهسازی کاربردیalignیکپارچه برداشته شد. (I9bdb2، b/479805937) - میاناهای برنامهسازی کاربردی منسوخشده «حالت فضا» از
SpatialConfigurationبرداشته شد. (I1ef5c، b/458712461) SubspaceSemanticsConfigurationمعرفی شد. این پیکربندی ویژگیهای معنایی برای گره فضایی است. این کلاس بهطور ایمن روشهای پُرسمان را برای معناشناسی سهبعدی نشان میدهد، بدون اینکه قابلیتهای معناشناسی دوبعدی بنیادی را برای مصرفکنندگان خارجی فاش کند. (Id025e، b/460427288)SubspaceSemanticsPropertyReceiverمعرفی شد: یک پوشاننده اختصاصی که ویژگیهای محفظه چیدمان سهبعدی را به فیلدهای معتبر (در ابتداtestTagوcontentDescription) محدود میکند. (I5cf5c، b/460427288)
رفع اشکالها
hasContentDescriptionاصلاحکننده معنایی بهروز شد تا بهطور پیشفرض با زیررشته مطابقت داشته باشد. (I08214)FollowBehavior.ExponentialDecay()محدودشده اضافه شد که رفتار دنبال کردن نرمی را ارائه میدهد که با فیزیک کشسان هدایت میشود. (I7449c، b/485639909، b/500493335)
اکثر میاناهای برنامهسازی کاربردی تحتتأثیر این موضوع قرار خواهند گرفت. بهطور مشخص، LocalSession CompositionLocal و همه CompositionLocals که به LocalSession وابسته هستند (مثلاً LocalSpatialConfiguration، LocalSpatialCapabilities، و غیره) اکنون پیشاز مقداردهی اولیه Session به null یا نسخههای غیرواقعیت گسترده آن تبدیل میشوند.
وقتی Session دردسترس قرار گرفت، بازترکیب با وضعیت صحیح راهاندازی خواهد شد. (I0cfa4، b/514712835، b/514712835)
- اسناد
ComponentActivity.requestHomeSpaceوComponentActivity.requestFullSpaceدرباره رفتار تعلیق، لغو، و همزمانی شفافسازی شد. آزمایشهای بهروزشده برای درستیسنجی انتشارCancellationException. (I22f75، b/493289528)
نسخه 1.0.0-alpha15
۱۷ ژوئن ۲۰۲۶
androidx.xr.compose:compose:1.0.0-alpha15 و androidx.xr.compose:compose-testing:1.0.0-alpha15 منتشر شدهاند. نسخه 1.0.0-alpha15 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
ResizePolicyو اصلاحکننده قدیمی قابلتغییر اندازه منسوخ شدهاند و با سربارگذاری جدیدSubspaceModifier.resizableوSubspaceModifier.transformingResizableجایگزین شدهاند. (I9e4bc)- میاناهای برنامهسازی کاربردی
SpatialGltfModelبهروزرسانی شد: پشتیبانی از بار کردن مدلها از منابع ازطریقSpatialGltfModelSourceاضافه شد.fromResource. نام speed بهplaybackSpeedدرSpatialGltfModelAnimationتغییر کرد و روش resume() اضافه شد. SpatialGltfModelStatus.Loaded و Loading اکنون شیء هستند. (I523de) rotateToLookAtUserبهعنوان میانای برنامهسازی کاربردی آزمایشی علامتگذاری شد. (I86c16)- متغیر محافظتشده
targetCurrentPoseبه متغیر محلیcurrentTargetPoseMeterمنتقل شد و نام آن تغییر کرد. (Ia557c) - Update
SpatialPanelandSpatialExternalSurfacekdocs to include where the object is rendered within its layout size (I72104) - منطق بار کردن
SpatialGltfModelدرSpatialGltfModelStateکپسولهسازی شد و رفتار ناموفق شفافسازی شد. (Ibe98b) - Clarified
depthinSubspaceModifer.sizekdocs (I0f84f)
نسخه 1.0.0-alpha14
۱۹ مه ۲۰۲۶
androidx.xr.compose:compose:1.0.0-alpha14 و androidx.xr.compose:compose-testing:1.0.0-alpha14 منتشر شدهاند. نسخه 1.0.0-alpha14 حاوی این کدهای تائید است.
تغییرات میانای برنامهسازی کاربردی
-
transformingMovableبرای حرکت سهبعدی پیشفرض تحت مدیریت سیستم معرفی شد و سربار جدیدی برایmovableبرای مدیریت رفتارهای حرکتی سفارشی معرفی شد. (I50960) SpatialGltfModel.fromData()حذف شد. (I4d083)- میانای گره اصلاحکننده جدیدی (
SubspaceMeasuredSizeAwareModifierNode) اضافه شد که پساز گذر اندازهگیری، یک فراخوانی برگشتیonRemeasuredارائه میدهد. SubspaceLayoutAwareModifierNodeاکنون این میانای جدید را گسترش میدهد. اصلاحکنندهonSizeChangedبهروز شده است تا ازonRemeasuredاستفاده کند و اطمینان حاصل شود که فراخوانی برگشتی بلافاصله پساز اندازهگیری، نه پساز جایگذاری، راهاندازی میشود. (Iafbae) -
InteractionPolicyبهInterface(I0ff30) بهروز شد - Compose
compileSdkبه API 37 بهروز شد. این یعنی هنگام استفاده از Compose، حداقل نسخه AGP ۹.۲.۰ لازم است. (Id45cd) -
Sizeسند kdocs بهروز شد (Iefa9a)
نسخه 1.0.0-alpha13
۶ مه ۲۰۲۶
androidx.xr.compose:compose:1.0.0-alpha13 و androidx.xr.compose:compose-testing:1.0.0-alpha13 منتشر شدهاند. نسخه 1.0.0-alpha13 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- Orbiter API درانتظار تغییرات بیشتر است، توصیه میکنیم اعلانهای منسوخ شدن Orbiter را موقتاً غیرفعال کنید و منتظر تغییرات Orbiter در نسخههای آتی باشید.
- کسانی که از
SceneCoreEntityبرای پرداز glTF استفاده میکنند باید مطمئن شوند کهsession.scene.activitySpaceرا به پارامترparentاز فراخوانیGltfModel.createخود ارسال میکنند تا مطمئن شوند که glTF آنها پرداز خواهد شد. - افزودن میانای برنامهسازی کاربردی
SpatialGltfModelبرای اینکه توسعهدهندگان بتوانند Gltf به برنامههای Compose For XR خود اضافه کنند. توسعهدهندگان همچنین میتوانند پویانماییها و گرهها را در مدلهای Gltf خود پُرسمان کنند. (I8b542، b/495422586) - تغییرات
SceneCoreEntitySizeAdapterاز کلاس به میانای (I5a784، b/475292310) - نام
SurfaceProtectionبهSpatialExternalSurfaceProtectionتغییر کرد. UpdatedSpatialExternalSurfacekdocs (Ifad0a, b/485231082) - منسوخ کردن
currentWindowAdaptiveInfoو معرفی نسخه ۲ آن (I40ecf، b/424442112) - اصلاحکننده
resizableاکنون عمومی است و برای گروهها (مثلاًSpatialRow) قابلاعمال است. (I2bcf6، b/348483527، b/489753178، b/479530787) - اصلاحکننده
movableاکنون عمومی است. این اصلاحکننده درحالحاضر برایSpatialPanelsوSpatialExternalSurfaceبهخوبی کار میکند؛ بااینحال، هدف این است که این اصلاحکنندهها برای همهSubspaceComposablesبهخوبی پشتیبانی شوند. (I9a3cd، b/479530787، b/478935063، b/478935063) -
SpatialEnterTransitionوSpatialExitTransitionبهعنوان@Immutableعلامتگذاری شدند (If1710، b/487757837) - میانای برنامهسازی کاربردی
SpatialGltfModelبرای این نسخه محدودشده علامتگذاری شده است و آزمایشهای بیشتری باید روی آن انجام شود. (Ibf003، b/466090694) - نام
DeviceTrackingMode.LAST_KNOWNبهSPATIAL_LAST_KNOWNتغییر کرد (با یک بازگشت منسوخشده)،INERTIAL_LAST_KNOWNبرای ردیابی 3DoF اضافه شد، وTRACKING_DEGRADEDبهTrackingStateاضافه شد. (Ie661c، b/445466590) - Removing deprecated
SpatialLayoutSpacer(I7b36c) - Removing deprecated padding API (If1886)
floatRangeبه مقادیر سوگیری اضافه شد. مقدار پیشفرض برایLayoutDirection(I9d74e) برداشته شد
رفع اشکالها
- نمونههای کد و اسناد KDoc برای
SpatialColumn،SpatialRow، وSpatialCurvedRowاضافه شد. (Iaf54f، b/495777633)
نسخه 1.0.0-alpha12
۲۵ مارس ۲۰۲۶
androidx.xr.compose:compose:1.0.0-alpha12 و androidx.xr.compose:compose-testing:1.0.0-alpha12 منتشر شدهاند. نسخه 1.0.0-alpha12 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- برای ارائه glTF و کنترل پویانماییها، میانای برنامهسازی کاربردی
SpatialGltfModelو میاناهای برنامهسازی کاربردیSpatialGltfModelAnimationرا اضافه کنید. SpatialGltfModelStateبهAutoCloseableتغییر کرد، اکنون باید بسته شود تا منابع آن آزاد شود. (I11fde، b/466065486، b/481379924). بااینحال، میانای برنامهسازی کاربردیSpatialGltfModelبرای این نسخه پخش بهعنوان محدودشده علامتگذاری شده است و آزمایشهای بیشتری باید روی آن انجام شود. (Ibf003، b/466090694) - یک سربارگذاری خالی منسوخشده برای
SubspaceModifier.rotateاضافه شد. (Idceb6) - نام تابع
SpatialSmoothFeatheringEffectبهspatialSmoothFeatheringEffectتغییر کرد و به ماژول ترسیم منتقل شد. مقدار محو کردن پیشفرضSpatialExternalSurfaceبه null بهروز شد که عملکرد قدیمی ZeroFeatheringEffect را تقلید میکند. (I5fdaa، b/460426800) -
onPointSourceParamsAvailableحذف شد. در آینده نزدیک، API فضاییسازی صدای دیگری دردسترس قرار خواهد گرفت. (I86507، b/458513439) - رفتار راست به چپ برای اصلاحکنندههای زیرفضای آفست اضافه شد. همچنین
absoluteOffsetبرای نادیده گرفتن جهت چیدمان اضافه شد. (I30e4b، b/474409165)
نسخه 1.0.0-alpha11
۲۵ فوریه ۲۰۲۶
androidx.xr.compose:compose:1.0.0-alpha11 و androidx.xr.compose:compose-testing:1.0.0-alpha11 منتشر شدهاند. نسخه 1.0.0-alpha11 حاوی این ارسالها است.
ویژگیهای جدید
- درحال افزودن پارامتر
SuperSamplingبهSpatialExternalSurfaces(Icd4d1)
مشکلات شناختهشده
- مشکلی در
SurfaceEntityدر SceneCore میتواند باعث ازکار افتادن برنامهها هنگام ایجاد نمونههایSpatialExternalSurfaceشود. این مشکل درandroidx.xr.scenecore:scenecore-*:1.0.0-alpha13،androidx.xr.compose:compose:1.0.0-alpha12، و نسخههای پخش بعدی آنها برطرف شده است. برنامههای تحتتأثیر قرارگرفته باید به جدیدترین نسخهها بهروزرسانی شوند.
تغییرات میانای برنامهسازی کاربردی
- تغییرات حاشیه اصلاحکننده Subspace برای آگاهی از جهت چیدمان. (I53e25)
SpatialCapabilitiesاکنون مهروموم شده است و نمیتواند تمدید شود. (I07aef)- میاناهای برنامهسازی کاربردی
SpatialRowوSpatialColumnکه پارامتر عمومیSpatialAlignmentرا میپذیرند منسوخ شدهاند؛ درعوض، از میاناهای برنامهسازی کاربردی استفاده کنید که بهترتیبverticalAlignmentیاhorizontalAlignmentرا برایSpatialRowوSpatialColumnمیپذیرند. (Iec390) - Combining overloading
SubspaceLayoutfunction APIs (Idd30a) - نام
SubspaceModifier.lookAtUserبهrotateToLookAtUserو پارامترupبهupDirectionتغییر کرد. (Icafb8) - درحال تبدیل
SpatialRowبه تابع درونخطی (Ia2f20) - تبدیل
SpatialColumnبه تابع درونخطی (I681be) - میانای برنامهسازی کاربردی بیلبورد برداشته شد (Ib76cd)
نسخه 1.0.0-alpha10
۲۸ ژانویه ۲۰۲۶
androidx.xr.compose:compose:1.0.0-alpha10 و androidx.xr.compose:compose-testing:1.0.0-alpha10 منتشر شدهاند. نسخه 1.0.0-alpha10 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- Removing deprecated API -
ApplicationSubspace(Ia6596, b/468345186) - Updated
SpatialShapeto a sealed interface (I7e3f5, b/460426800) - درحال برداشتن میاناهای برنامهسازی کاربردی منسوخشده در
SpatialAlignment. (Ib0b61، b/468011887) - منسوخ کردن
SpatialLayoutSpacerو معرفیSpatialSpacer. (I2ebf3، b/466071383) -
UserSubspaceAPI بهروز شد تا اصطلاح «قفل کردن تنبل» با «قفل کردن نرم» جایگزین شود. (I9ded1، b/464035984)
نسخه 1.0.0-alpha09
۳ دسامبر ۲۰۲۵
androidx.xr.compose:compose:1.0.0-alpha09 و androidx.xr.compose:compose-testing:1.0.0-alpha09 منتشر شدهاند. نسخه 1.0.0-alpha09 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- افزودن
LookAtUserو اصلاحکنندههای «تابلو آگهی» که به محتوا امکان میدهد همیشه رو به کاربر باشد. (I49b99) - امکان تنظیم
InteractionPolicyرویSpatialExternalSurfacesوSpatialPanelsرا اضافه میکند و امکان تشخیص کلیکها و دیگر رویدادهای ورودی سهبعدی را فراهم میکند. (Iae155) - اندازه و سربار اصلاحگر
requiredSizeبا عرض، ارتفاع، و عمق بهعنوان مقادیر Dp اضافه شد. (I92f79) - رابط
ParentLayoutParamsModifierاکنونDelegatableSubspaceNodeرا گسترش میدهد. (I1a6d4) ApplicationSubspaceمنسوخ شده است و Subspace API جایگزین آن شده است.- رفتار Subspace API تغییر کرده است تا فقط یک زیرفضای سراسری برنامه را در حالت و مقیاس توصیهشده ارائه دهد.
PlanarEmbeddedSubspaceAPI برای ارائه زیرفضاهای جاسازیشده در زمینههای دوبعدی معرفی شده است. (Id3343)
- پرچم
shouldAutoInvalidateبه میانای برنامهسازی کاربردیSubspaceModifier.Nodeاضافه شد. (I93902) - Added
required(Size|Width|Depth|Height)In APIs that allow developers to constrain a@SubspaceComposable's size to a specific range, disregarding the parent's incoming measurement constraints. (Ifaa78) SubspaceModifier.onSizeChangedاضافه شد که یک فراخوانی ساده و متمرکز برای توسعهدهندگان فراهم میکند تا هنگام تغییر اندازه@SubspaceComposableواکنش نشان دهند. (I994f9)- Volume API برداشته شد. باید بهجای Volume API از
SceneCoreEntityAPI استفاده شود. (I4162b) -
SubspaceLayoutModifierNode.requestRelayoutبهinvalidateMeasurement/invalidatePlacementتقسیم شد. (I14805) -
SpatialGltfModelAPI اضافه شد که به توسعهدهندگان امکان میدهد glTF را در compose ارائه کنند. (Icc91f) - معرفی
SpatialGltfModelcomposable API برای رندر کردن آسان glTF (Iade67)
رفع اشکالها
- اشکال چیدمان در
SceneCoreEntityبرطرف شد. اکنون باید محدودیتهایش را بهدرستی رعایت کند. (I11bb8) - Lower jxr-compose modules to
Compile sdk = 34(I2d5db)
نسخه 1.0.0-alpha08
۲۲ اکتبر ۲۰۲۵
androidx.xr.compose:compose:1.0.0-alpha08 و androidx.xr.compose:compose-testing:1.0.0-alpha08 منتشر شدهاند. نسخه 1.0.0-alpha08 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
ResizePolicyتغییر کرد تاonResizeStart،onResizeUpdate، وonResizeEndرا بپذیرد. (I7e21f)
رفع اشکالها
- جلوگیری از خرابی هنگام ازبین بردن «فعالیت» با Subspace. (I595a1)
نسخه 1.0.0-alpha07
۲۴ سپتامبر ۲۰۲۵
androidx.xr.compose:compose:1.0.0-alpha07 و androidx.xr.compose:compose-testing:1.0.0-alpha07 منتشر شدهاند. نسخه 1.0.0-alpha07 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- KDocs برای
SpatialMainPanelبهبود یافته است. (I27b70، b/444467891) -
SpatialArrangementبرای چیدن فرزندان در امتداد محور اصلی در چیدمانهای سهبعدی مانندSpatialRowوSpatialColumnمعرفی شد. این API جدید گزینههای چیدمان آشنایی را از Compose دوبعدی ارائه میدهد، ازجملهStart،End،Center،SpaceBetween،SpaceAround، وSpaceEvenly، با پشتیبانی کامل از هر دو جهت چیدمان چپبهراست و راستبهچپ. (I7db38، b/436289959) - میانای پایهای برای
SubspaceModifier.Nodeاضافه شد تا ایمنی تایپی و قابلیت استفاده از میاناهای افزونه بهبود یابد؛ مانندCompositionLocalConsumerSubspaceModifierNodeLayoutCoordinatesAwareModifierNodeSubspaceLayoutModifierNodeCoreEntityNode(internal) (Iede00, b/440599394, b/440599394)
- Unrestrict
SpatialExternalSurface(I33315, b/439646773) -
SubspaceModifierرا به Subspace composables معرفی کنید و پارامتر constraints را باSubspaceModifierباSubspaceModifiersمرتبط با اندازه جایگزین کنید. اگرallowUnboundedSubspaceدرست باشد، «زیرفضاها» همچنان میتوانند محدودیتهای نامحدود داشته باشند. (Ib06e6، b/433331675) - Deprecating movable and resizable
SubspaceModifiersnow thatDragPolicy()andResizePolicy()are a part of theSpatialPanelandSpatialExternalSurfaceAPI (I397bf, b/437924639) - پشتیبانی از
LayoutDirectionدر چیدمانهای فضایی اضافه شد. اکنون Composable بااستفاده ازSpatialAlignmentعناصر را بهدرستی در بافتهای چپبهراست و راستبهچپ قرار میدهد. (I964bb، b/436300273) - پارامترهای «قابلتغییر اندازه» و «قابلجابهجایی» را به میاناهای برنامهسازی کاربردی
Panelاضافه کنید تا مطمئن شوید این رفتارها فقط برای محفظههای پشتیبانیشده اعمال میشود. (Id491c) sizeIn،widthIn،heightIn،depthInSubspaceModifiersاضافه شد که به شما امکان میدهد محدودیتهای دقیق حداقل و حداکثر را برای عرض، ارتفاع، و عمق تنظیم کنید. (I1af09، b/433330761)
نسخه 1.0.0-alpha06
۱۳ اوت ۲۰۲۵
androidx.xr.compose:compose:1.0.0-alpha06 و androidx.xr.compose:compose-testing:1.0.0-alpha06 منتشر شدهاند. نسخه 1.0.0-alpha06 حاوی این ارسالها است.
رفع اشکالها
- وقتی مالک چرخه حیات ازبین میرود،
ComposeXrOwnerLocalsرا دوباره ایجاد کنید. (9123ce1)
نسخه 1.0.0-alpha05
۳۰ ژوئیه ۲۰۲۵
androidx.xr.compose:compose:1.0.0-alpha05 و androidx.xr.compose:compose-testing:1.0.0-alpha05 منتشر شدهاند. نسخه 1.0.0-alpha05 حاوی این ارسالها است.
ویژگیهای جدید
- کلاس حاشیهنویسی
SubspaceComposableعمومی شد. (Ic2a34، b/399432430) - دو
SpatialExternalSurfaceComposable جدید که کرههای ۱۸۰ و ۳۶۰ درجه را نشان میدهند. (I40ef2، b/391705799) -
SubspaceModifier.aspectRatioاضافه شد (Ide5ab، b/399729509، b/414762147) - میانای برنامهسازی کاربردی
SceneCoreEntityبرای بهبود همکنشپذیری بینSceneCoreو Compose for XR اضافه شد. (I50bb3، b/423020989) - میانای برنامهسازی کاربردی
GravityAlignedsubspaceبرای پشتیبانی از ویژگیGravityAlignedبدون مقیاس ارائه شد (I07359)
تغییرات میانای برنامهسازی کاربردی
-
SpatialDialog()از پیکربندی فشار دادنSpatialDialogProperties.dismissOnBackپیروی خواهد کرد. (Ib453b، b/416797132) minimumPanelDimensionرا به اندازه «بُعد» پیشفرض جدیدDimensions(0.1f, 0.1f, 0.1f)بهروز کنید چون به متر نشان داده میشود. (Ib852a)- اکنون «زیرفضاها» و «مدارگردها» وضعیت داخلی خود را در فضای اصلی و زمانی که برنامه در پسزمینه است حفظ خواهند کرد. در حالت فضای خانه، Subspace همچنان صحنه خود را برای آمادهسازی جهت رفتن به حالت فضای کامل راهاندازی میکند. (I40317، b/416037751)
-
SpatialDialogsاکنون وقتی برنامه در پسزمینه است، وضعیت خود را حفظ میکند. (I6aa56) ApplicationSubspaceاکنون مقیاس و موقعیت توصیهشده خود را از سیستم دریافت میکند. (I4565f، b/418834194)- پیام خطای بهتری اضافه شد و وقتی از
SubspaceComposableدر بافت غیرSubspaceComposableاستفاده میشود، خطا زودتر راهاندازی میشود. (Iee2ae، b/416484684) - در حال بهروزرسانی
ExperimentalSubspaceVolumeApiاز «هشدار» به «خطا» هستیم زیرا هشدارها اغلب هنگام سوءاستفاده از میاناهای برنامهسازی کاربردی ترکیبپذیر نادیده گرفته میشوند. (I427aa، b/424864286) - زیرفضا و
ApplicationSubspaceاکنون باrecommendedContentBoxInFullSpaceمحدود شدهاند. قبلاً با «میدان دید»SpatialUserمحدود شده بود. (I41015، b/423074142) - Update
SpatialElevationto use min size to no longer use hard coded size (I2dbe6, b/427785338) - Update how we scrim the
SpatialAcitivityPanelto update when a key variable is modified. (I0f64d، b/427999029) VolumeConstraints.Unboundedرا بردارید و بهجای آن مقادیر محدودیت پیشفرض را روی معادل آن تنظیم کنید. (Ie24ec، b/407938414)SpatialFeatheringSizeis no longer public (I1c15b, b/399432430)-
Placeableواقعیت گسترده بهSubspacePlaceableتغییر نام داد تا ازPlaceableCompose متمایز شود. (I74874) - Removing Orbiter settings and adding
shouldRenderInNonSpatialas a new param. علاوهبراین، کلاسEdgeOffsetبرداشته میشود وorbiterOffsetTypeبهعنوان پارامتر جدیدی برای ادغام کردن توابعOrbiter()اضافه میشود. و همچنین تغییر نامOrbiterEdgeبهContentEdge. (Iebf3d) - نام
MeasurableبهSubspaceMeasurableتغییر کرد تا نوع آن از نوعMeasurableدر Compose متمایز شود. (I9726c) - تغییر نام
MeasureResultبهSubspaceMeasureResult(I9f34d) -
setSubspaceContentAPI را بهنفع استفاده ازsetContentدر Compose باSubspacecomposable حذف کردیم. (Ifff4c، b/421427391، b/421427391) - نام
MeasurePolicyبهSubspaceMeasurePolicyتغییر کرد. (I37a9b، b/422553904) SubspaceSemanticsInfoرا به یک واسط مهرومومشده تبدیل کنید زیرا بدون پیشفرضها نمیتوانیم اعضا را اضافه کنیم. (I372f9، b/423704068)- Updated
SpatialExternalSurfacedocumentation, renamedContentSecurityLeveltoSurfaceProtection(I3c460, b/420982808) - سازنده سربارگذاریشده برای اصلاحگر قابلجابهجایی ارائه شد که امکان لنگراندازی را فراهم میکند. (Ic0c70)
- ارائهدهنده موقعیت بیشتری برای نکتهابزارها اضافه شده است تا توسعهدهندگان بتوانند کنترل کنند که نکتهابزار در بالا، پایین، چپ، یا راست لنگر قرار گیرد. افزودن میانای برنامهسازی کاربردی که «شکل» را برای نشانگرهای درج میگیرد تا بتوان شکلهای سفارشی بیشتری ارائه کرد. (Ie513c، b/374766087، b/418854637)
-
CoreEntityبهعنوانPublishedApiبرداشته شد (Ifee05)
رفع اشکالها
- مشکل چشمک زدن
SpatialDialogهنگام پردازش برطرف شد. (Ife73c، b/401619909) - مشکلی را برطرف میکند که در آن
SpatialDialogنمیتوانست «پانل فعالیت» را تیره کند. (I8ca6c، b/367442109) - Fix XR dialog not showing some content (I17cd5, b/418062437)
- مشکل بسته شدن
SpatialPopupهنگام کلیک کردن در داخل محتوا برطرف شد. (If262c، b/417245722) - مشکلی که باعث میشد هنگام زنجیرهای کردن
resizable().movable()، اندازه SpatialPanel بهدرستی به اندازه جدید تغییر نکند برطرف شد. (I02ee3، b/422264230) - Fixed
topBaroverlapping with menu inSpatialComposeVideoPlayer(Id33bc, b/427168167) - Fixed corner radius not rendering (I975fe, b/428261830)
نسخه 1.0.0-alpha04
۷ مه ۲۰۲۵
androidx.xr.compose:compose:1.0.0-alpha04 و androidx.xr.compose:compose-testing:1.0.0-alpha04 منتشر شدهاند. نسخه 1.0.0-alpha04 حاوی این موارد ثبت است.
ویژگیهای جدید
- رابط
CompositionLocalConsumerSubspaceModifierNodeاضافه شد تا به انواعSubspaceModifierسفارشی اجازه دهد به مقادیر محلی ترکیببندی دسترسی داشته باشند. -
SpatialPanelAPI جدیدی اضافه شد که از سبک پیادهسازی composeAndroidViewپیروی میکند وViewBased SpatialPanelقبلی را منسوخ میکند. - شیء همراه
VolumeConstraints.Unboundedکه نشاندهنده محدودیتهای نامحدود است اضافه شد. SubspaceModifier.onPointSourceParamsاضافه شد تا منبع صوتی فضاییشده مجاز شود.ApplicationSubspaceعمومی اضافه شده است کهVolumeConstraintsاختیاری را برای تعریف ناحیه سهبعدی که برنامه میتواند محتوای فضایی را در آن پرداز کند ارائه میدهد. بهطور پیشفرض، اگر هیچ محدودیتی مشخص نشده باشد، «زیرفضا» ازنظر عرض و ارتفاع به میدان دید فعلیSpatialUserمحدود خواهد شد. کاربران میتوانند محدودیتهایی را ارائه دهند تا درصورت عدم امکان تعیین میدان دید از آنها استفاده شود. درغیراینصورت، از مقادیر پیشفرض عرض و ارتفاع میدان دید استفاده میشود.-
SpatialExternalSurfaceاضافه شد که میتواند برای رندر کردن محتوای برجستهنمایی استفاده شود.SpatialExternalSurfaceبا اصلاحکنندهها (بهجز آلفا) و جلوه محو کردن لبه قابلسفارشیسازی است. pointerHoverIcon«اصلاحکننده زیرفضا» جدیدی اضافه شده است که به کاربران امکان میدهد نماد اشارهگر فضایی را تنظیم کنند.
تغییرات میانای برنامهسازی کاربردی
- محدودیت
RequiresApi(34)در همه بستههای Jetpack XR برداشته شد. این محدودیت زائد بود زیرا Jetpack XR درحالحاضر فقط در دستگاههای دارای سطح میانای برنامهسازی کاربردی ۳۴ و بالاتر دردسترس است. (Iae0f8) - پروژههای منتشرشده با Kotlin 2.0 برای استفاده به KGP 2.0.0 یا جدیدتر نیاز دارند. (Idb6b5)
- مدیریت دکمه «برگشت» اکنون در پانلهای فضایی بدون فعالیتهای جاسازیشده کار خواهد کرد. برای اینکه مدیریت دکمه برگشت کار کند، باید
android:enableOnBackInvokedCallback="true"را در مانیفست Android مشخص کنید. - اکنون «مدیریت دکمه برگشت» در کادرهای گفتگوی فضایی کار میکند. برای اینکه مدیریت برگشت کار کند، باید
android:enableOnBackInvokedCallback="true"را در مانیفست Android مشخص کنید. SpatialPanelهای مبتنی بر Compose و مبتنی بر View اکنون میتوانند اندازه خود را براساس محتوایشان تغییر دهند.- اکنون توسعهدهندگان میتوانند مقادیر
SpatialElevationLevelسفارشی خودشان را تنظیم کنند و به سطوح ازپیشتعریفشده محدود نیستند. - اکنون میتوان سطح ارتفاع Orbiter را ازطریق پارامتر
elevationسفارشیسازی کرد. - اکنون میتوان زیرفضا را بهطور پیشفرض با میدان دید
SpatialUserدر پهنا و ارتفاع محدود کرد. اگر میدان دید قابل تعیین نباشد، از مقادیر پیشفرض عرض و ارتفاع میدان دید استفاده میشود. - فراخوانیهای برگشتی جدید
onMoveStartوonMoveEndبه اصلاحکنندهMovableاضافه شد. وقتی کاربر جابهجایی فضای فرعی ترکیبپذیر را با اصلاحکننده جابهجایی شروع و پایان میدهد، بازخوانهایonMoveStartوonMoveEndفراخوانده میشوند. - پارامتر
nameاز میاناهای برنامهسازی کاربردی فضایی مانندSpatialRowوSpatialPanelبرداشته شده است. برای اشکالزدایی درختهای ترکیببندی فضایی، ازSubspaceModifier.testTagاستفاده کنید. - یک سربار پشتیبانینشده از
SpatialPopupکه فقطspatialElevationLevelوcontentدارد برداشته شد. لطفاً از میانایی استفاده کنید که ازonDimissRequestپشتیبانی میکند. - فراخوانی برگشتی
onPoseChangeاز اصلاحکننده Movable برداشته شده است. درعوض ازonMoveاستفاده کنید. - اگر
SubspaceModifiersجدا شده باشد یا درحال جدا شدن باشد، دیگر جلوههایش را اعمال نخواهد کرد. -
SpatialRowAPI موجود بهSpatialRowوSpatialCurvedRowتقسیم شده است. اگر قبلاً از پارامترcurveRadiusمربوط بهSpatialRowاستفاده میکردید، اکنون بهجای آن ازSpatialCurvedRowاستفاده کنید که عملکرد یکسانی دارد. MainPanelوActivityPanelدیگر هنگام اجرا در تصویر سیستم مشابه اخیر، نوار عنوان ندارند.- اصلاحکنندههای آلفا و مقیاس اکنون قابلانباشت هستند و مقادیر آنها برای مقدار آلفا یا مقیاس نهایی اعمالشده ضرب خواهد شد.
- فراخوانی برگشتی
onPoseChangeاز اصلاحکننده Movable برای انجام حرکت ژست روانتر بهینهسازی شده است. - اصلاحکنندههای قابلجابهجایی و قابلتغییر اندازه اکنون فراخوانیهای برگشتی خود را در رشته اصلی انجام میدهند تا اطمینان حاصل شود که تغییرات وضعیت باعث بازترکیب میشوند.
- مشاهده وضعیت به فازهای چیدمان و اندازهگیری اضافه شد تا اطمینان حاصل شود که تغییرات وضعیت در
SubspaceLayoutباعث راهاندازی مجدد چیدمان میشود. - بهروزرسانیهای زنجیره اصلاحکننده بهینهسازی شد تا از اصلاحکنندههای موجود بهتر استفاده شود.
رفع اشکالها
- وقتی
SpatialDialogنشان داده میشود، تار کردن متوقف میشود. (Ic4594) - درخواستهای بازآرایی که هنگام جدا شدن گرههای اصلاحکننده انجام میشوند، اکنون نادیده گرفته خواهند شد.
- مراحل بازآرایی که توسط اصلاحکنندههای Movable و Resizable راهاندازی میشدند برداشته شد.
- خرابی در ترکیبپذیر
MainPanel()که وقتی یکی از ابعاد بهطور مستقیم یا درطول محاسبه چیدمان (مثلاً محاسبهSpatialRow/SpatialColumn) روی صفر تنظیم میشد رخ میداد برطرف شد. اکنون پانل پنهان خواهد شد. توجه داشته باشید که این اصلاح بهطور خاص به ازکارافتادنها درطول مرحله چیدمان میپردازد؛ تغییر اندازه پانل به صفر ازطریق تعامل کاربر بهطور جداگانه رسیدگی خواهد شد. پانل پنهان فاقد امکانات واسط کاربر است. - مشکل
maintainAspectRatioاز اصلاحکننده تغییراندازه برطرف شد. اکنون نسبت ابعادی باید حفظ شود. - مشکل «زیرفضاهای» تودرتو که باعث میشد برای یک فریم در موقعیت نادرستی قرار بگیرند برطرف شد.
- مشکلی که باعث میشد گوشههای گرد گاهی اوقات در جایی که باید اعمال نشوند برطرف شد.
NestedSubspacesدیگر برای یک فریم در مکان اشتباه نشان داده نخواهد شد.
نسخه 1.0.0-alpha03
۲۶ فوریه ۲۰۲۵
androidx.xr.compose:compose:1.0.0-alpha03 و androidx.xr.compose:compose-testing:1.0.0-alpha03 بدون تغییرات قابلتوجهی نسبتبه نسخه آلفای قبلی منتشر شدهاند. نسخه 1.0.0-alpha03 حاوی این ارسالها است
نسخه 1.0.0-alpha02
۱۲ فوریه ۲۰۲۵
androidx.xr.compose:compose:1.0.0-alpha02 و androidx.xr.compose:compose-testing:1.0.0-alpha02 منتشر شدهاند. نسخه 1.0.0-alpha02 حاوی این ارسالها است.
ویژگیهای جدید
- اکنون وقتی «گفتگوی فضایی» فعال میشود، «پانل فعالیت» میتواند محتوایش را تیره کند.
- اکنون میتوان از میانای برنامهسازی کاربردی
Orbiterدر زمینههایSubspaceComposableاستفاده کرد و این میانای برنامهسازی کاربردی Orbiters را به نزدیکترین والد ترکیبپذیر مبتنی برSubspaceLayoutپیوست خواهد کرد. LayoutCoordinatesAwareModifierNodeرا برای مجاز کردن اصلاحکنندههای سفارشی مبتنی بر موقعیت معرفی کرد.- روشهای چرخه حیات پیوست/جدا کردن به
SubspaceModifier.Nodeاضافه شد. scaleWithDistanceبه اصلاحگر قابلجابهجایی اضافه شد. وقتیscaleWithDistanceفعال باشد، عنصر زیرفضای جابهجاشده بزرگ یا کوچک میشود. همچنین هرگونه مقیاس صریحی را که قبلاز جابهجایی داشته است حفظ خواهد کرد.
تغییرات میانای برنامهسازی کاربردی
-
SessionCallbackProviderبهنفعSpatialCapabilitiesبرداشته شد.
تغییرات دیگر
minSDKبه ۲۴ کاهش یافت. همه میاناهای برنامهسازی کاربردی Jetpack XR همچنان در زمان اجرا به میانای برنامهسازی کاربردی ۳۴ نیاز دارند.- سازندههای
OrbiterEdgeOffset.inner،EdgeOffset.outer، وEdgeOffset.overlapدیگر روشهای@Composableنیستند، که به آنها اجازه میدهد در زمینههای غیرقابلترکیب استفاده شوند. - Update Spatial Elevation Levels to match the latest UX spec.
- میانای
SubspaceSemanticsInfoرا درMeasurableLayoutپیادهسازی کنید. - نام
SubspaceModifierElementبهSubspaceModifierNodeElementتغییر کرد.
رفع اشکالها
- اصلاحاتی برای پایدار کردن سفارش
SubspaceModifier.SubspaceModifierباید قابلاعتمادتر عمل کند. اصلاحکنندههای جابهجایی، چرخش، مقیاس، قابلحرکت، و قابلتغییر اندازه اکنون باید به هر ترتیبی قابلاستفاده باشند.
نسخه 1.0.0-alpha01
۱۲ دسامبر ۲۰۲۴
androidx.xr.compose:compose-*1.0.0-alpha01 منتشر شده است.
ویژگیهای نسخه اولیه
اولین نسخه توسعهدهنده Jetpack Compose برای XR. از مفاهیم آشنای Compose مانند ردیفها و ستونها برای ایجاد چیدمانهای میانای کاربر فضایی در واقعیت گسترده استفاده کنید، چه درحال انتقال یک برنامه دوبعدی موجود به واقعیت گسترده باشید و چه درحال ایجاد یک برنامه واقعیت گسترده جدید از ابتدا باشید. این کتابخانه ترکیبشدنیهای فضایی و زیرفضایی را ارائه میدهد: مانند پانلهای فضایی و مدارگردها، که به شما امکان میدهند رابط کاربری مبتنی بر Views یا Compose دوبعدی موجود خود را در یک چیدمان فضایی قرار دهید. این نسخه، Volume subspace composable را معرفی میکند که به شما امکان میدهد موجودیتهای SceneCore، مانند مدلهای سهبعدی، را نسبت به واسط کاربر خود قرار دهید. در این راهنمای توسعهدهندگان بیشتر بدانید:
Subspace: این ترکیبپذیر را میتوان در هرجایی از سلسلهمراتب واسط کاربر برنامهتان قرار داد، که به شما امکان میدهد چیدمانهای واسط کاربر دوبعدی و فضایی را بدون ازدست دادن بافت بین فایلها حفظ کنید. این کار همرسانی مواردی مانند معماری برنامه موجود بین XR و سایر ضرایب شکل را آسانتر میکند، بدون اینکه لازم باشد وضعیت را در کل درخت میانای کاربری خود بالا ببرید یا معماری برنامهتان را بازسازی کنید.SpatialPanel: پانل فضایی یک ترکیبپذیر زیرفضایی است که به شما امکان میدهد محتوای برنامه را نمایش دهید – برای مثال، میتوانید بازپخش ویدیو، تصاویر ثابت، یا هر محتوای دیگری را در پانل فضایی نمایش دهید.
Orbiter: Orbiter یک مؤلفه واسط کاربر فضایی است. این نوار برای پیوست شدن به پانل فضایی مربوطه طراحی شده است و حاوی موارد کنش بافتاری و پیمایش مربوط به آن پانل فضایی است. برای مثال، اگر پانلی فضایی برای نمایش محتوای ویدیویی ایجاد کردهاید، میتوانید کنترلهای بازپخش ویدیو را در داخل یک مدارگرد اضافه کنید.
حجم: موجودیتهای SceneCore، مانند مدلهای سهبعدی، را نسبت به میانای کاربر خود قرار دهید.
چیدمان فضایی: میتوانید چندین پانل فضایی ایجاد کنید و آنها را بااستفاده از
SpatialRow،SpatialColumn،SpatialBox، وSpatialLayoutSpacerدر «چیدمان فضایی» قرار دهید. ازSubspaceModifierبرای سفارشیسازی کردن چیدمان استفاده کنید.مؤلفههای واسط کاربر فضایی: این عناصر را میتوان در واسط کاربر دوبعدی شما مجدداً استفاده کرد و ویژگیهای فضایی آنها فقط زمانی قابلمشاهده خواهد بود که قابلیتهای فضایی فعال باشند.
SpatialDialog: پانل کمی در عمق z به عقب رانده میشود تا کادر گفتگوی برجستهای نمایش داده شود.SpatialPopUp: پانل کمی در عمق z به عقب رانده میشود تا بالاپر برجستهای را نمایش دهد-
SpatialElevation:SpatialElevationLevelرا میتوان برای افزودن ارتفاع تنظیم کرد.
SpatialCapabilities: قابلیتهای فضایی میتوانند با تعامل کاربران با برنامه یا سیستم شما تغییر کنند، یا حتی میتوانند توسط خود برنامه شما تغییر کنند—برای مثال، رفتن به «فضای خانه» یا «فضای کامل». برای جلوگیری از بروز مشکل، برنامهتان باید
LocalSpatialCapabilities.currentرا بررسی کند تا مشخص شود کدام میاناهای برنامهسازی کاربردی در محیط فعلی پشتیبانی میشوند.isSpatialUiEnabled: عناصر میانای کاربر فضایی (مثلاً SpatialPanel)isContent3dEnabled: اشیاء سهبعدیisAppEnvironmentEnabled: محیطisPassthroughControlEnabled: اینکه برنامه میتواند حالت عبور را کنترل کند یا نهisSpatialAudioEnabled: صدای فضایی
مشکلات شناختهشده
- درحالحاضر برای استفاده از Jetpack Compose برای XR، حداقل SDK ۳۰ لازم است. بهعنوان راهحل، میتوانید ورودی مانیفست
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>زیر را اضافه کنید تا بتوانید با minSDK ۲۳ بسازید و اجرا کنید. - برنامههای Jetpack XR درحالحاضر نیاز به درخواست اجازه
android.permission.SCENE_UNDERSTANDINGدر AndroidManifest دارند. - وقتی برنامهای مستقیماً بااستفاده از ویژگی
PROPERTY_XR_ACTIVITY_START_MODEدر مانیفست خود در «فضای کامل» راهاندازی میشود، «فعالیتها/برنامهها» ابتدا در «فضای خانه» باز میشوند و سپس به «فضای کامل» منتقل میشوند. - glTFها در «ترکیبپذیرهای حجم» ممکن است در ابتدا در مکان اشتباهی چشمک بزنند.
- استفاده از SpatialDialog در پانلی که بهطور قابلتوجهی جابهجا شده است، محتوا را در جهت اشتباهی سوق میدهد.