ضمان التوافق مع التنقُّل بالإيماءات

بدءًا من الإصدار 10 من نظام التشغيل Android (المستوى 29 من واجهة برمجة التطبيقات)، يتيح نظام Android التنقّل المستند إلى الإيماءات بشكل كامل. هناك أمران يجب أن يحرص مطوّرو التطبيقات على تنفيذهما لضمان توافق تطبيقاتهم مع هذه الميزة:

  • توسيع محتوى التطبيق من الحافة إلى الحافة
  • التعامل مع إيماءات التطبيقات المتعارضة

بالإضافة إلى ذلك، يقدّم نظام التشغيل Android 13 (المستوى 33 لواجهة برمجة التطبيقات) إيماءة الرجوع التوقّعية لأجهزة Android، مثل الهواتف والشاشات الكبيرة والأجهزة القابلة للطي، وهي جزء من إصدار متعدد السنوات. يمكن لمطوّري التطبيقات اتّخاذ خطوات لضمان توافق تطبيقاتهم مع إيماءة الرجوع التوقّعية.

توفير محتوى التطبيق من الحافة إلى الحافة

للاستفادة من مساحة الشاشة الإضافية التي يوفّرها شريط التنقّل العائم، عليك ضبط بعض التغييرات في تطبيقك.

لمزيد من التفاصيل، يُرجى الاطّلاع على عرض المحتوى من الحافة إلى الحافة في تطبيقك.

التعامل مع إيماءات التطبيقات المتعارضة

قد يتعارض نموذج التنقّل بالإيماءات مع الإيماءات التي كان يستخدمها مطوّرو التطبيقات سابقًا. وقد تحتاج إلى إجراء تعديلات على واجهة المستخدم في تطبيقك نتيجةً لذلك.

التعارض مع إيماءات الرجوع

إيماءة نظام التشغيل الجديدة للرجوع هي التمرير سريعًا للداخل من الحافة اليسرى أو اليمنى للشاشة. وقد يتداخل ذلك مع عناصر التنقّل في التطبيق في تلك المناطق. للحفاظ على وظائف العناصر على الحافتَين اليمنى واليسرى من الشاشة، يمكنك إيقاف الإيماءة الرجوع بشكل انتقائي من خلال تحديد المناطق التي يجب أن تتلقّى إدخال اللمس للنظام. يمكنك إجراء ذلك من خلال تمرير List<Rect> إلى واجهة برمجة التطبيقات View.setSystemGestureExclusionRects() التي تم طرحها في نظام التشغيل Android 10. تتوفّر هذه الطريقة أيضًا في ViewCompat اعتبارًا من androidx.core:core:1.1.0-dev01.

على سبيل المثال:

Kotlin

var exclusionRects = listOf(rect1, rect2, rect3)

fun onLayout(
        changedCanvas: Boolean, left: Int, top: Int, right: Int, bottom: Int) {
  // Update rect bounds and the exclusionRects list
  setSystemGestureExclusionRects(exclusionRects)
}

fun onDraw(canvas: Canvas) {
  // Update rect bounds and the exclusionRects list
  setSystemGestureExclusionRects(exclusionRects)
}

Java

List<Rect> exclusionRects;

public void onLayout(
        boolean changedCanvas, int left, int top, int right, int bottom) {
    // Update rect bounds and the exclusionRects list
    setSystemGestureExclusionRects(exclusionRects);
}

public void onDraw(Canvas canvas) {
    // Update rect bounds and the exclusionRects list
    setSystemGestureExclusionRects(exclusionRects);
}

تعارض مع إيماءات الصفحة الرئيسية أو التبديل السريع

تتضمّن إيماءات النظام الجديدة للشاشة الرئيسية والتبديل السريع التمرير سريعًا في أسفل الشاشة في المساحة التي كان يشغلها شريط التنقّل سابقًا. لا يمكن للتطبيقات إيقاف هذه الإيماءات كما يمكنها إيقاف إيماءة الرجوع.

للتخفيف من حدة هذه المشكلة، يقدّم نظام التشغيل Android 10 واجهة برمجة التطبيقات WindowInsets.getMandatorySystemGestureInsets() التي تُعلم التطبيقات بحدود التعرّف على اللمس.

الألعاب والتطبيقات الأخرى غير View

تتطلّب الألعاب والتطبيقات الأخرى التي لا تتضمّن هيكلية طرق العرض من المستخدم غالبًا التمرير سريعًا بالقرب من مناطق إيماءات نظام التشغيل. في هذه الحالات، يمكن للألعاب استخدام Window.setSystemGestureExclusionRects() لاستبعاد المناطق التي تتداخل مع المناطق المحجوزة لإيماءات النظام. يجب أن تحرص الألعاب على استبعاد هذه المناطق فقط عند الضرورة، مثلاً أثناء اللعب.

إذا كانت إحدى الألعاب تتطلّب من المستخدم التمرير سريعًا بالقرب من منطقة إيماءة الرجوع إلى الشاشة الرئيسية، يمكن للتطبيق طلب عرضها في وضع ملء الشاشة. يؤدي ذلك إلى إيقاف إيماءات نظام التشغيل أثناء تفاعل المستخدم مع اللعبة، ولكنّه يتيح للمستخدم إعادة تفعيل إيماءات نظام التشغيل من خلال التمرير سريعًا من أسفل الشاشة.

تحديث التطبيق ليتوافق مع إيماءة الرجوع التوقّعية

يقدّم الإصدار Android 13 (المستوى 33 لواجهة برمجة التطبيقات) ميزة "الرجوع التوقّعي" على أجهزة Android، مثل الهواتف والشاشات الكبيرة والأجهزة القابلة للطي. إيماءة "الرجوع التوقّعي" هي جزء من إصدار متعدد السنوات. عند اكتمال تنفيذ هذه الميزة، ستتيح للمستخدمين معاينة الوجهة أو النتيجة الأخرى لإيماءة الرجوع قبل إكمالها بالكامل، ما يتيح لهم تحديد ما إذا كانوا يريدون مواصلة الرجوع أو البقاء في الشاشة الحالية.

لمزيد من التفاصيل، يُرجى الاطّلاع على مقالة إتاحة استخدام إيماءة إظهار شاشة الرجوع.

مراجع إضافية

لمزيد من المعلومات حول التنقّل بالإيماءات، يُرجى الاطّلاع على ما يلي:

منشورات المدوّنات

الفيديوهات