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

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

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

مراجع إضافية

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

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

الفيديوهات