Jetpack Compose لتجربة الواقع المختلط
| آخر الأخبار | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار الأوّلي |
|---|---|---|---|---|
| 22 أكتوبر 2025 | - | - | - | 1.0.0-alpha08 |
تحديد الاعتماديات
لإضافة اعتمادية على XR compose، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:
Groovy
dependencies { implementation "androidx.xr.compose:compose:1.0.0-alpha08" // Use to write unit tests testImplementation "androidx.xr.compose:compose-testing:1.0.0-alpha08" }
Kotlin
dependencies { implementation("androidx.xr.compose:compose:1.0.0-alpha08") // Use to write unit tests testImplementation("androidx.xr.compose:compose-testing:1.0.0-alpha08") }
لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات البناء.
الملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.
يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.
الإصدار 1.0
الإصدار 1.0.0-alpha08
22 أكتوبر 2025
تم طرح 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)
إصلاح الأخطاء
- منع حدوث عُطل عند إيقاف نشاط يتضمّن مساحة فرعية (I595a1)
الإصدار 1.0.0-alpha07
24 سبتمبر 2025
تم طرح 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. توفّر واجهة برمجة التطبيقات الجديدة هذه خيارات ترتيب مألوفة من Compose ثنائي الأبعاد، بما في ذلكStartوEndوCenterوSpaceBetweenوSpaceAroundوSpaceEvenly، مع توفير دعم كامل لاتجاهَي التنسيق من اليمين إلى اليسار ومن اليسار إلى اليمين. (I7db38، b/436289959) - تمت إضافة واجهة أساسية إلى
SubspaceModifier.Nodeلتحسين أمان الأنواع وسهولة استخدام واجهات الإضافات، مثلCompositionLocalConsumerSubspaceModifierNodeLayoutCoordinatesAwareModifierNodeSubspaceLayoutModifierNodeCoreEntityNode(داخلي) (Iede00، b/440599394، b/440599394)
- إزالة القيود
SpatialExternalSurface(I33315، b/439646773) - إضافة
SubspaceModifierإلى عناصر Subspace القابلة للإنشاء واستبدال مَعلمة القيود بـSubspaceModifierمعSubspaceModifiersذات الصلة بالحجم إذا كانت قيمةallowUnboundedSubspaceهي "صحيح"، يمكن أن تظل المساحات الفرعية تتضمّن قيودًا غير محدودة. (Ib06e6، b/433331675) - إيقاف
SubspaceModifiersالقابلة للنقل وتغيير الحجم نهائيًا بعد أن أصبحDragPolicy()وResizePolicy()جزءًا من واجهة برمجة التطبيقاتSpatialPanelوSpatialExternalSurface(I397bf، b/437924639) - تمت إضافة إمكانية استخدام
LayoutDirectionفي التصاميم المكانية. سيتم الآن تحديد موضع العناصر بشكل صحيح في سياقات الكتابة من اليسار إلى اليمين ومن اليمين إلى اليسار عند استخدامSpatialAlignment. (I964bb، b/436300273) - أضِف المَعلمتَين "قابلة لتغيير الحجم" و"قابلة للنقل" إلى واجهات برمجة التطبيقات
Panelللتأكّد من أنّه لا يمكن تطبيق هذه السلوكيات إلا على الحاويات المتوافقة. (Id491c) - تمت إضافة
sizeInوwidthInوheightInوdepthInSubspaceModifiersالتي تتيح لك ضبط الحدّين الأدنى والأقصى الدقيقَين للعرض والارتفاع والعمق. (I1af09، b/433330761)
الإصدار 1.0.0-alpha06
13 أغسطس 2025
تم طرح 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
30 يوليو 2025
تم طرح 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) - عنصران جديدان من
SpatialExternalSurfaceComposables يمثّلان كرتين بزاوية 180 و360 درجة. (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) - ستحتفظ المساحات الفرعية وOrbiters الآن بحالتها الداخلية في المساحة الرئيسية وعندما يكون التطبيق في الخلفية. في وضع "مساحات منزلية"، سيستمر تطبيق 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) - تعديل
SpatialElevationلاستخدام الحد الأدنى للحجم بدلاً من الحجم المحدّد مسبقًا (I2dbe6، b/427785338) - عدِّل طريقة عرض
SpatialAcitivityPanelلتعديلها عند تعديل متغيّر رئيسي. (I0f64d، b/427999029) - أزِل
VolumeConstraints.Unboundedواستخدِم القيم التلقائية المكافئة للقيود. (Ie24ec، b/407938414) - لم يعُد
SpatialFeatheringSizeمتاحًا للجميع (I1c15b، b/399432430) - تمت إعادة تسمية
Placeableفي XR إلىSubspacePlaceableللتمييز بينه وبينPlaceableفي Compose. (I74874) - إزالة إعدادات Orbiter وإضافة
shouldRenderInNonSpatialكمعلَمة جديدة بالإضافة إلى ذلك، تمت إزالة الفئةEdgeOffsetوإضافةorbiterOffsetTypeكمعلَمة جديدة لدمج الدوالOrbiter(). بالإضافة إلى إعادة تسميةOrbiterEdgeإلىContentEdge. (Iebf3d) - تمت إعادة تسمية
MeasurableإلىSubspaceMeasurableللتمييز بين النوعين في Compose.Measurable(I9726c) - تمّت إعادة تسمية
MeasureResultإلىSubspaceMeasureResult(I9f34d) - تمت إزالة واجهة برمجة التطبيقات
setSubspaceContentلصالح استخدامsetContentفي Compose مع الدالة البرمجية القابلة للإنشاءSubspace. (Ifff4c، b/421427391، b/421427391) - تمت إعادة تسمية
MeasurePolicyإلىSubspaceMeasurePolicy. (I37a9b، b/422553904) - حوِّل
SubspaceSemanticsInfoإلى واجهة محكمة الإغلاق لأنّنا لن نتمكّن من إضافة أعضاء بدون القيم التلقائية. (I372f9، b/423704068) - تم تعديل مستندات
SpatialExternalSurface، وتمت إعادة تسميةContentSecurityLevelإلىSurfaceProtection(I3c460، b/420982808) - تم توفير أداة إنشاء محمّلة بشكل زائد للمعدِّل القابل للنقل الذي يتيح التثبيت. (Ic0c70)
- أضِفنا المزيد من مقدّمي المواضع لتلميحات الأدوات، ما يتيح للمطوّرين الآن التحكّم في ما إذا كان سيتم وضع تلميح الأداة أعلى أو أسفل أو يمين أو يسار العنصر الأساسي. أضِف واجهة برمجة تطبيقات تقبل شكلاً للعلامات الإدراج، حتى يمكن توفير المزيد من الأشكال المخصّصة. (Ie513c، b/374766087، b/418854637)
- تمت إزالة
CoreEntityمن قائمةPublishedApi(Ifee05)
إصلاح الأخطاء
- تم إصلاح المشكلة التي كانت تؤدي إلى وميض
SpatialDialogعند عرضه. (Ife73c، b/401619909) - تم إصلاح المشكلة التي كانت تتسبّب في عدم إمكانية
SpatialDialogإخفاء "لوحة الأنشطة". (I8ca6c، b/367442109) - إصلاح مشكلة عدم عرض بعض المحتوى في مربّع حوار XR (I17cd5، b/418062437)
- تم إصلاح المشكلة التي كانت تؤدي إلى إغلاق
SpatialPopupعند النقر داخل المحتوى. (If262c، b/417245722) - تم إصلاح المشكلة التي كانت تؤدي إلى عدم تغيير حجم SpatialPanel بشكل صحيح إلى الحجم الجديد عند ربط
resizable().movable(). (I02ee3، b/422264230) - تم إصلاح مشكلة تداخل
topBarمع القائمة فيSpatialComposeVideoPlayer(Id33bc، b/427168167) - عدم عرض نصف قطر الزاوية الثابت (I975fe، b/428261830)
الإصدار 1.0.0-alpha04
7 مايو 2025
تم طرح androidx.xr.compose:compose:1.0.0-alpha04 وandroidx.xr.compose:compose-testing:1.0.0-alpha04. يتضمّن الإصدار 1.0.0-alpha04 هذه التعديلات.
الميزات الجديدة
- تمت إضافة واجهة
CompositionLocalConsumerSubspaceModifierNodeللسماح لأنواعSubspaceModifierالمخصّصة بالوصول إلى القيم المحلية للتركيب. - تمت إضافة واجهة برمجة تطبيقات
SpatialPanelجديدة تتّبع أسلوب التنفيذAndroidViewفي Compose، وتم إيقافViewBased SpatialPanelالسابقة نهائيًا. - تمت إضافة عنصر مصاحب
VolumeConstraints.Unboundedيمثّل قيودًا غير محدودة. - تمت إضافة
SubspaceModifier.onPointSourceParamsللسماح بمصدر صوتي مكاني. - تمت إضافة
ApplicationSubspaceعام، ما يوفّرVolumeConstraintsاختياريًا لتحديد مساحة ثلاثية الأبعاد يمكن للتطبيق عرض المحتوى المكاني فيها. بشكلٍ تلقائي، في حال عدم تحديد أي قيود، سيتم تحديد حدود Subspace من خلال مجال الرؤية الحالي لـSpatialUserمن حيث العرض والارتفاع. يمكن للمستخدمين تقديم قيود لاستخدامها في حال تعذّر تحديد مجال الرؤية. بخلاف ذلك، يتم استخدام القيم التلقائية لعرض وارتفاع مجال الرؤية. - تمت إضافة
SpatialExternalSurface، ويمكن استخدامها لعرض المحتوى المجسّم. يمكن تخصيصSpatialExternalSurfaceباستخدام المعدِّلات (باستثناء قناة ألفا)، وتأثير تمويه الحواف. - تمت إضافة
pointerHoverIconأداة تعديل المساحة الفرعية الجديدة التي تتيح للمستخدمين ضبط رمز المؤشر المكاني.
تغييرات واجهة برمجة التطبيقات
- تمت إزالة القيود المفروضة على
RequiresApi(34)في جميع حِزم Jetpack XR. كان هذا القيد غير ضروري لأنّ Jetpack XR لا يتوفّر حاليًا إلا على الأجهزة التي تعمل بالإصدار 34 من واجهة برمجة التطبيقات أو الإصدارات الأحدث. (Iae0f8) - تتطلّب المشاريع التي تم إصدارها باستخدام Kotlin 2.0 استخدام الإصدار 2.0.0 أو إصدار أحدث من KGP. (Idb6b5)
- ستعمل الآن ميزة "الرجوع" على اللوحات المكانية بدون أنشطة مضمّنة. لكي يعمل معالج الرجوع، عليك تحديد
android:enableOnBackInvokedCallback="true"في ملف البيان Android. - ستعمل ميزة "التعامل مع الرجوع" الآن على مربّعات الحوار المكانية. لكي يعمل معالج الرجوع، عليك تحديد
android:enableOnBackInvokedCallback="true"في ملف البيان Android. - يمكن الآن تحديد حجم
SpatialPanels المستندة إلى Compose وView استنادًا إلى محتواها. - يمكن للمطوّرين الآن ضبط قيم
SpatialElevationLevelالمخصّصة الخاصة بهم، ولا يقتصر الأمر على المستويات المحدّدة مسبقًا. - يمكن الآن تخصيص مستوى ارتفاع Orbiter من خلال المَعلمة
elevation. - يمكن الآن تحديد مساحة فرعية ضمن مجال رؤية
SpatialUserمن حيث العرض والارتفاع تلقائيًا. في حال تعذُّر تحديد مجال الرؤية، يتم استخدام قيم العرض والارتفاع التلقائية لمجال الرؤية. - تمت إضافة وظيفتَي ردّ الاتصال الجديدتَين
onMoveStartوonMoveEndإلى المعدِّلMovable. يتم استدعاء عمليات معاودة الاتصالonMoveStartوonMoveEndعندما يبدأ المستخدم وينتهي من تحريك عنصر قابل للإنشاء في مساحة فرعية باستخدام المعدِّل movable. - تمّت إزالة المَعلمة
nameمن واجهات برمجة التطبيقات المكانية، مثلSpatialRowوSpatialPanel. لتصحيح أخطاء العروض التدرّجية المكانية، استخدِمSubspaceModifier.testTagبدلاً من ذلك. - تمت إزالة حمولة زائدة غير متوافقة من
SpatialPopupتحتوي فقط علىspatialElevationLevelوcontent. يُرجى استخدام الواجهة التي تتوافق معonDimissRequest. - تمت إزالة دالة الاستدعاء
onPoseChangeمن المعدِّل Movable. يمكنك استخدامonMoveكبديل. - لن تطبّق
SubspaceModifiersتأثيراتها إذا تم فصلها أو إذا كانت في طور الفصل. - تم تقسيم واجهة برمجة التطبيقات الحالية
SpatialRowإلىSpatialRowوSpatialCurvedRow. إذا كنت تستخدم المَعلمةcurveRadiusالخاصة بـSpatialRowسابقًا، استخدِمSpatialCurvedRowالآن بدلاً منها، إذ إنّها تقدّم السلوك نفسه. - لم يعُد
MainPanelوActivityPanelيتضمّنان أشرطة عناوين عند تشغيلهما على صورة نظام حديثة بالمثل. - أصبحت معدِّلات ألفا والمقياس قابلة للتجميع وسيتم ضرب قيمها للحصول على قيمة ألفا أو المقياس النهائية.
- تم تحسين
onPoseChangeوظيفة معاودة الاتصال من أداة التعديل Movable لتنفيذ حركة أكثر سلاسة للوضع. - ستنفِّذ المعدِّلات القابلة للنقل وتغيير الحجم الآن عمليات معاودة الاتصال في سلسلة التعليمات الرئيسية لضمان أنّ تغييرات الحالة ستؤدي إلى إعادة التركيب.
- تمت إضافة مراقبة الحالة إلى مرحلتَي التنسيق والقياس لضمان أنّ تغييرات الحالة في
SubspaceLayoutستؤدي إلى إعادة التنسيق. - تحسينات على سلسلة المعدِّلات المحسَّنة لإعادة استخدام المعدِّلات الحالية بشكلٍ أفضل
إصلاح الأخطاء
- تم إيقاف التظليل عند عرض
SpatialDialog. (Ic4594) - سيتم الآن تجاهل طلبات إعادة التخطيط التي يتم إجراؤها أثناء فصل عُقد المعدِّل.
- تمت إزالة مراحل إعادة التخطيط التي يتم تشغيلها بواسطة المعدّلين Movable وResizable.
- تم إصلاح عُطل في العنصر القابل للإنشاء
MainPanel()حدث عندما تم ضبط أي من السمتين على صفر، إما مباشرةً أو أثناء عملية احتساب التنسيق، مثل عملية احتسابSpatialRow/SpatialColumn. سيتم إخفاء اللوحة بدلاً من ذلك. يُرجى العِلم أنّ هذا الإصلاح يتناول تحديدًا الأعطال التي تحدث أثناء مرحلة التنسيق، وسيتم التعامل بشكل منفصل مع تغيير حجم اللوحة إلى صفر من خلال تفاعل المستخدم. لا تتضمّن اللوحة المخفية إشارات مرئية في واجهة المستخدم. - تم إصلاح المشكلة المتعلّقة بـ
maintainAspectRatioمن أداة التعديل القابلة لتغيير الحجم. يجب الحفاظ على نسبة العرض إلى الارتفاع الآن. - تم إصلاح مشكلة في المساحات الفرعية المتداخلة حيث يتم وضعها بشكل غير صحيح لإطار واحد.
- تم إصلاح المشكلة المتمثّلة في عدم تطبيق الزوايا الدائرية في بعض الأحيان عند الحاجة إلى ذلك.
- لن يظهر
NestedSubspacesبعد ذلك في إطار واحد في الموقع الجغرافي غير الصحيح.
الإصدار 1.0.0-alpha03
26 فبراير 2025
تم إصدار 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
12 فبراير 2025
تم طرح 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إلى 24. ستظل جميع واجهات برمجة تطبيقات Jetpack XR تتطلّب المستوى 34 لواجهة برمجة التطبيقات في وقت التشغيل. - لم يعُد منشئون
OrbiterوEdgeOffset.innerوEdgeOffset.outerوEdgeOffset.overlapعبارة عن طرق@Composable، ما يتيح استخدامها في سياقات غير قابلة للإنشاء. - تعديل مستويات الارتفاع المكاني لتتطابق مع أحدث مواصفات تجربة المستخدم
- تنفيذ واجهة
SubspaceSemanticsInfoفيMeasurableLayout - تمت إعادة تسمية
SubspaceModifierElementإلىSubspaceModifierNodeElement.
إصلاح الأخطاء
- إصلاحات لتحسين استقرار ترتيب
SubspaceModifierمن المفترض أن يكون أداءSubspaceModifierأكثر موثوقية. يجب أن يكون المعدِّل القابل للتحريك والتغيير في الحجم والإزاحة والتدوير والتوسيع/التصغير قابلاً للاستخدام بأي ترتيب.
الإصدار 1.0.0-alpha01
12 ديسمبر 2024
تم طرح androidx.xr.compose:compose-*1.0.0-alpha01.
ميزات الإصدار الأوّلي
الإصدار الأولي من Jetpack Compose for XR للمطوّرين استخدِم مفاهيم Compose المألوفة، مثل الصفوف والأعمدة، لإنشاء تصاميم واجهة مستخدم مكانية في تجارب الواقع الممتد، سواء كنت تنقل تطبيقًا ثنائي الأبعاد حاليًا إلى تجارب الواقع الممتد أو تنشئ تطبيقًا جديدًا من البداية. توفّر هذه المكتبة عناصر قابلة للإنشاء في المساحات الفرعية والمساحات، مثل اللوحات المكانية والأجرام السماوية التي تتيح لك وضع واجهة المستخدم الحالية المستندة إلى Compose أو Views في تصميم مكاني. تقدّم هذه السمة العنصر القابل للإنشاء Volume subspace، الذي يتيح لك وضع عناصر SceneCore، مثل النماذج الثلاثية الأبعاد، بالنسبة إلى واجهة المستخدم. يمكنك الاطّلاع على مزيد من المعلومات في دليل المطوِّر التالي:
Subspace: يمكن وضع هذا العنصر القابل للإنشاء في أي مكان ضمن بنية واجهة المستخدم في تطبيقك، ما يتيح لك الحفاظ على التصاميم لواجهة المستخدم الثنائية الأبعاد والمكانية بدون فقدان السياق بين الملفات. يسهّل ذلك مشاركة عناصر مثل بنية التطبيق الحالية بين تجارب الواقع الممتد وأشكال الأجهزة الأخرى بدون الحاجة إلى نقل الحالة عبر شجرة واجهة المستخدم بأكملها أو إعادة تصميم بنية تطبيقك.SpatialPanel: لوحة Spatial هي مساحة فرعية قابلة للإنشاء تتيح لك عرض محتوى التطبيق، على سبيل المثال، يمكنك عرض تشغيل الفيديو أو الصور الثابتة أو أي محتوى آخر في لوحة Spatial.
المدار: المدار هو أحد مكوّنات واجهة المستخدم المكانية. وهو مصمّم ليتم ربطه بلوحة مكانية مقابلة، ويتضمّن عناصر التنقّل والإجراءات المستنِدة إلى السياق ذات الصلة بهذه اللوحة المكانية. على سبيل المثال، إذا أنشأت لوحة مكانية لعرض محتوى فيديو، يمكنك إضافة عناصر التحكّم في تشغيل الفيديو داخل أداة Orbiter.
الحجم: يمكنك وضع عناصر SceneCore، مثل التصاميم الثلاثية الأبعاد، بالنسبة إلى واجهة المستخدم.
التخطيط المكاني: يمكنك إنشاء لوحات مكانية متعددة ووضعها ضمن "تخطيط مكاني" باستخدام
SpatialRowوSpatialColumnوSpatialBoxوSpatialLayoutSpacer. استخدِمSubspaceModifierلتخصيص التنسيق.مكوّنات واجهة المستخدم المكانية: يمكن إعادة استخدام هذه العناصر في واجهة المستخدم الثنائية الأبعاد، ولن تكون سماتها المكانية مرئية إلا عند تفعيل الإمكانات المكانية.
SpatialDialog: سيتم إرجاع اللوحة قليلاً إلى الخلف في العمق z لعرض مربّع حوار مرتفع.-
SpatialPopUp: سيتم إرجاع اللوحة قليلاً إلى الخلف في العمق z لعرض نافذة منبثقة مرتفعة SpatialElevation: يمكن ضبطSpatialElevationLevelلإضافة ارتفاع.
SpatialCapabilities: يمكن أن تتغيّر الإمكانات المكانية عندما يتفاعل المستخدمون مع تطبيقك أو النظام، أو يمكن أن يغيّرها تطبيقك نفسه، مثلاً عند الانتقال إلى "المساحة الرئيسية" أو "المساحة الكاملة". لتجنُّب حدوث مشاكل، يجب أن يتحقّق تطبيقك من
LocalSpatialCapabilities.currentلتحديد واجهات برمجة التطبيقات المتوافقة مع البيئة الحالية. isSpatialUiEnabled: عناصر واجهة المستخدم المكانية (مثل SpatialPanel) isContent3dEnabled: الكائنات الثلاثية الأبعاد isAppEnvironmentEnabled: البيئة isPassthroughControlEnabled: ما إذا كان بإمكان التطبيق التحكّم في حالة العرض المباشر isSpatialAudioEnabled: الصوت المكاني
المشاكل المعروفة
- يجب حاليًا استخدام minSDK 30 لاستخدام Jetpack Compose في الواقع الممتد. كحلّ بديل، يمكنك إضافة إدخال البيان التالي
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>لتتمكّن من الإنشاء والتشغيل باستخدام minSDK 23. - تتطلّب تطبيقات Jetpack XR حاليًا طلب الإذن
android.permission.SCENE_UNDERSTANDINGفي ملف AndroidManifest. - عندما يتم تشغيل تطبيق مباشرةً في "المساحة الكاملة" باستخدام السمة
PROPERTY_XR_ACTIVITY_START_MODEفي ملف البيان، يتم فتح الأنشطة/التطبيقات في "مساحة العمل" أولاً قبل الانتقال إلى "المساحة الكاملة". - قد تومض ملفات glTF في Volume Composables في البداية في الموقع الجغرافي غير الصحيح.
- سيؤدي استخدام SpatialDialog في لوحة تم نقلها بشكل كبير إلى دفع المحتوى في الاتجاه الخاطئ.