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

بدءًا من الإصدار 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() لاستبعاد المناطق التي تتداخل مع المناطق المحجوزة لإيماءات النظام. يجب أن تضمن الألعاب عدم استبعاد هذه المناطق إلا عند الضرورة، مثلاً أثناء اللعب.

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

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

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

راجِع مقالة إتاحة إيماءة الرجوع التوقّعية للحصول على التفاصيل.

مصادر إضافية

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

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

الفيديوهات