Jetpack Compose للواقع المعزّز
آخر تعديل | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار التجريبي الأول |
---|---|---|---|---|
12 كانون الأول (ديسمبر) 2024 | - | - | - | 1.0.0-alpha01 |
الإعلان عن التبعيات
لإضافة تبعية على XR compose، عليك إضافة مستودع Google Maven إلى مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف التبعيات للعناصر التي تحتاج إليها في ملف build.gradle
ل
تطبيقك أو وحدتك:
Groovy
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") }
لمزيد من المعلومات عن العناصر الاعتمادية، اطّلِع على مقالة إضافة عناصر الاعتماد الخاصة بالإنشاء.
ملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا واجهت مشاكل جديدة أو كان لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مكتبة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية عن طريق النقر على زر النجمة.
اطّلِع على مستندات أداة تتبُّع المشاكل لمزيد من المعلومات.
الإصدار 1.0
الإصدار 1.0.0-alpha01
12 كانون الأول (ديسمبر) 2024
تم إصدار androidx.xr.compose:compose-*1.0.0-alpha01
.
ميزات الإصدار الأولي
الإصدار الأولي من Jetpack Compose للمطوّرين في الواقع المعزّز استخدِم مفاهيم Compose المألوفة، مثل الصفوف والأعمدة، لإنشاء تنسيقات واجهة مستخدم مكانية في الواقع المعزّز، سواء كنت بصدد نقل تطبيق ثنائي الأبعاد حالي إلى الواقع المعزّز أو إنشاء تطبيق جديد للواقع المعزّز من الصفر. توفّر هذه المكتبة عناصر قابلة للتجميع في المساحات الفرعية والمساحات المكانية، مثل اللوحات المكانية وعناصر الالتفاف، التي تتيح لك وضع واجهة المستخدم الحالية المستندة إلى Compose أو Views في تنسيق مكاني. ويقدّم هذا الإصدار مساحة فرعية قابلة للتجميع، ما يتيح لك وضع عناصر SceneCore، مثل النماذج الثلاثية الأبعاد، بالنسبة إلى واجهة المستخدم. اطّلِع على مزيد من المعلومات في دليل المطوّر هذا:
Subspace
: يمكن وضع هذا المكوّن القابل للتجميع في أي مكان ضمن التسلسل الهرمي لواجهة المستخدم في تطبيقك، ما يتيح لك الاحتفاظ بتنسيقات لواجهة المستخدم ثنائية الأبعاد وواجهة المستخدم المكانية بدون فقدان السياق بين الملفات. يسهّل ذلك مشاركة عناصر مثل بنية التطبيق الحالية بين الواقع المعزّز وأشكال الأجهزة الأخرى بدون الحاجة إلى رفع الحالة من خلال شجرة واجهة المستخدم بالكامل أو إعادة هندسة تطبيقك.SpatialPanel: اللوحة المكانية هي مساحة فرعية قابلة للتجميع تتيح لك عرض محتوى التطبيق. على سبيل المثال، يمكنك عرض تشغيل الفيديو أو الصور الثابتة أو أي محتوى آخر في لوحة مكانية.
المدار: هو مكوّن لواجهة مستخدِم مكانية. تم تصميمه ليتم إرفاقه بلوحة مكانية مقابلة، ويحتوي على عناصر التنقّل والإجراءات المستندة إلى السياق المرتبطة بهذه اللوحة المكانية. على سبيل المثال، إذا أنشأت لوحة مكانية لعرض محتوى الفيديو، يمكنك إضافة عناصر التحكّم في تشغيل الفيديو داخل مسار مداري.
الحجم: يمكنك وضع عناصر SceneCore، مثل النماذج الثلاثية الأبعاد، بالنسبة إلى واجهة المستخدم.
التنسيق المكاني: يمكنك إنشاء عدة لوحات مكانية ووضعها ضمن تنسيق مكاني باستخدام
SpatialRow
وSpatialColumn
وSpatialBox
وSpatialLayoutSpacer
. استخدِمSubspaceModifier
لتخصيص التنسيق.مكونات واجهة المستخدم المكانية: يمكن إعادة استخدام هذه العناصر في واجهة المستخدم ثنائية الأبعاد، ولن تكون سماتها المكانية مرئية إلا عند تفعيل الإمكانات المكانية.
SpatialDialog
: سيتم دفع اللوحة للخلف قليلاً في العمق (z) لعرض مربّع حوار مرتفع.SpatialPopUp
: سيتم دفع اللوحة للخلف قليلاً في العمق (z) لعرض نافذة منبثقة مرتفعة.SpatialElevation
: يمكن ضبطSpatialElevationLevel
لإضافة ارتفاع.
SpatialCapabilities: يمكن أن تتغيّر الإمكانات المكانية عندما يتفاعل المستخدمون مع تطبيقك أو النظام، أو يمكن أن يغيّرها تطبيقك نفسه، على سبيل المثال، الانتقال إلى "المساحة الرئيسية" أو "المساحة الكاملة". لتجنُّب حدوث مشاكل، يجب أن يتحقّق تطبيقك من
LocalSpatialCapabilities.current
لتحديد واجهات برمجة التطبيقات المتوافقة في البيئة الحالية. isSpatialUiEnabled
: عناصر واجهة المستخدم المكانية (مثل SpatialPanel)isContent3dEnabled
: الأجسام الثلاثية الأبعادisAppEnvironmentEnabled
: البيئةisPassthroughControlEnabled
: ما إذا كان بإمكان التطبيق التحكّم في حالة السماح بالمرورisSpatialAudioEnabled
: الصوت المكاني
المشاكل المعروفة
- يجب حاليًا استخدام الإصدار 30 من حزمة تطوير البرامج (SDK) كحد أدنى لاستخدام Jetpack Compose مع تطبيقات الواقع المعزّز. كحل بديل، يمكنك إضافة إدخال البيان التالي
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>
لتتمكّن من إنشاء التطبيق وتشغيله باستخدام الإصدار 23 من حزمة تطوير البرامج (SDK) كحد أدنى. - تتطلّب تطبيقات Jetpack XR حاليًا طلب إذن
android.permission.SCENE_UNDERSTANDING
في ملف AndroidManifest. - عند تشغيل تطبيق مباشرةً في "المساحة الكاملة" باستخدام سمة
PROPERTY_XR_ACTIVITY_START_MODE
في البيان، يتم فتح "الأنشطة" أو "التطبيقات" في البداية في "المساحة الرئيسية" قبل الانتقال إلى "المساحة الكاملة". - قد يلمع ملف glTF في "العناصر القابلة للتجميع في الحجم" في البداية في مكان غير صحيح.
- سيؤدي استخدام SpatialDialog في لوحة تم نقلها بشكل كبير إلى دفع المحتوى في الاتجاه الخطأ.