لتوفير تجربة متسقة وعالية الجودة للمستخدمين، ولمنع حدوث مشاكل تؤدي إلى تعذُّر اجتياز "مجموعة أدوات اختبار التوافق" (CTS)، عليك تنفيذ مبادئ WindowManager (WM) الأساسية الموضّحة هنا. تنطبق هذه المبادئ على ما يلي:
إصدارات Android التي تستخدم بنية متعددة النوافذ، والتي بدأت في Android 14 واستمرت في Android 15 مع واجهة المستخدم القابلة للتوسيع
واجهة المستخدم القابلة للتوسيع في Android وعمليات التنفيذ المخصّصة
ومن خلال تطبيق هذه المبادئ، ستتجنّب بشكل استباقي معظم المشاكل المتعلقة بالتوافق مع CTS واختبارات الوظائف.
المصطلحات
- ثابت
- شرط منطقي يظل صحيحًا طوال فترة تنفيذ تطبيق يؤدي إلى سلامة البنية. يعمل الثابت كقاعدة حدودية.
- نشاط خاص
- يُعرف هذا النوع من الأنشطة أيضًا باسم نشاط واجهة المستخدم التلقائي أو نشاط واجهة مستخدم النظام، وهو نشاط مهم للتطبيق وله مساحة مخصّصة على الشاشة تكون مرئية دائمًا أو في معظم الأوقات، حتى عندما يضغط المستخدم على الصفحة الرئيسية، مثل تطبيق التنقّل الأساسي أو تطبيق المجموعة.
- النشاط العادي
- أي نشاط عادي للتطبيق غير ضروري لواجهة المستخدم الأساسية للنظام، مثل تطبيق وسائط تابع لجهة خارجية يتم تشغيله من شبكة التطبيقات
مبادئ إدارة المستودع
لتحقيق أقصى قدر من الامتثال لمجموعة أدوات اختبار التوافق (CTS)، طبِّق هذه المبادئ في عمليات تنفيذ إدارة حقوق النشر الرقمية.
استخدام إعداد ثابت عند تشغيل النشاط
ابدأ كل نشاط جديد عادي بانتقال واحد في إدارة النوافذ يضبط الموضع النهائي والحجم والكثافة. يجب عدم بدء عملية انتقال ثانية تغيّر إعدادات نافذة المهمة الأساسية (مثل الحجم أو الكثافة) بعد العملية الأولى مباشرةً، لأنّ ذلك يؤدي إلى تغيير الإعدادات بعد إنشاء النشاط مباشرةً.
نقل الأنشطة العادية إلى حالة الإيقاف
عندما ينتقل المستخدم إلى مهمة أو مشهد الصفحة الرئيسية، عليك نقل جميع الأنشطة العادية الجارية إلى الحالة المتوقفة للحفاظ على دورة حياة تطبيق Android المتوقّعة التي تتطلّبها اختبارات CTS.
منع حجب محتوى النشاط العادي
لا ترسم أي زخارف أو عناصر واجهة مستخدم مخصّصة تحجب محتوى نشاط عادي. إذا كنت ترسم تراكبات مخصّصة (مثل شريط مخصّص للتحكّم في المناخ)، عليك إبلاغ النظام بالأبعاد باستخدام SystemOverlay. في الإصدار 15 من نظام التشغيل Android والإصدارات الأحدث، استخدِم DecorPanel في واجهة المستخدم القابلة للتوسيع.
إخفاء التراكبات عند طلب وضع ملء الشاشة
عندما يطلب تطبيق وضعًا غامرًا، عليك إخفاء أي عناصر واجهة مستخدم مخصّصة مؤقتة وإزالة SystemOverlayالحواف الداخليةSystemOverlay الخاصة بها. تتداخل العوائق الثابتة مع توقعات التطبيق بشأن عدد وحدات البكسل.
تطبيق الزوايا المنحنية على مستوى الشاشة فقط
طبِّق الزوايا المنحنية على مستوى العرض فقط باستخدام إعدادات الموارد المناسبة في frameworks/base. لا تطبِّق زوايا مستديرة عشوائية على سطح نشاط عادي.
ويؤدي ذلك إلى تعارض مع اختبارات عناصر واجهة المستخدم. كإجراء مؤقت، يمكنك تحديد نصف قطر الزوايا المنحنية نفسه الذي تستخدمه في العرض كما هو الحال مع سطح النشاط العادي.
الحفاظ على حجم التطبيق عند طلب الوضع الغامر
عندما يطلب تطبيق الدخول إلى الوضع الغامر، لا تغيِّر حجم نافذة التطبيق. ويؤدي ذلك إلى تغيير في الإعدادات يؤثر في الأداء. بدلاً من ذلك، يمكنك توفير زر ملء الشاشة الذي يتحكّم فيه المستخدم لتحقيق أقصى استفادة من التطبيق.