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

بدءًا من الإصدار 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، مثل الهواتف والشاشات الكبيرة والأجهزة القابلة للطي. تُعدّ إيماءة "الرجوع التوقّعي" جزءًا من إصدار متعدد السنوات. عند اكتمال تنفيذ هذه الميزة، ستتيح للمستخدمين معاينة الوجهة أو النتيجة الأخرى لإيماءة الرجوع قبل إكمالها بالكامل، ما يتيح لهم تحديد ما إذا كانوا يريدون مواصلة الرجوع أو البقاء في الشاشة الحالية.

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

مراجع إضافية

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

مشاركات المدونة

الفيديوهات