تحسينات على تطبيقات Android 12 المصغّرة

يعدّل Android 12 (المستوى 31 من واجهة برمجة التطبيقات) واجهة برمجة التطبيقات الحالية للأدوات لتحسين تجربة المستخدمين والمطوّرين على النظام الأساسي والمشغّلات. استخدِم هذا الدليل للتعرّف على كيفية التأكّد من توافق أداتك مع Android 12، وكذلك كمرجع لواجهات برمجة التطبيقات لتحديث أداتك الحالية.

نص بديل

التأكّد من توافق أداتك مع Android 12

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

في هذه الحالة، قد لا يتم عرض أداتك بشكلٍ صحيح في أيٍّ من الحالتَين التاليتَين:

  • تحتوي الأداة على محتوى في الزوايا: قد يؤدي ذلك إلى قصّ بعض المحتوى في منطقة الزاوية.

  • تستخدم الأداة خلفية لا يمكن قصّها. ويشمل ذلك الخلفية الشفافة أو طرق العرض أو التنسيقات الفارغة أو أي نوع آخر من الخلفيات الخاصة التي لا يمكن قصّها. قد لا يتمكّن النظام من تحديد الخلفية التي سيتم استخدامها بشكلٍ صحيح.

إذا كان هذا التغيير سيؤثر في أداتك، ننصحك بتحديثها بزوايا دائرية (كما هو موضّح في القسم التالي) لضمان عرضها بشكلٍ صحيح.

استخدام النموذج

للاطّلاع على جميع واجهات برمجة التطبيقات هذه أثناء عملها، يمكنك الاطّلاع على نموذج أداة قائمة sample list widget.

تنفيذ الزوايا الدائرية

يقدّم Android 12 مَعلمتَي النظام system_app_widget_background_radius وsystem_app_widget_inner_radius لضبط أنصاف أقطار الزوايا الدائرية لأداتك.

تطبيق الطقس المصغّر في طوكيو
الشكل 1: زوايا دائرية في أداة وطريقة عرض داخل الأداة

1 زاوية الأداة

2 زاوية طريقة عرض داخل الأداة

لمعرفة التفاصيل، يُرجى الاطّلاع على مقالة تنفيذ الزوايا الدائرية.

إضافة تصميم الأجهزة

بدءًا من Android 12، يمكن للأداة استخدام ألوان مظهر الجهاز للأزرار والخلفيات والمكوّنات الأخرى، بما في ذلك المظهران الفاتح والداكن. ويتيح ذلك إجراء عمليات انتقال أكثر سلاسة وتحقيق الاتساق بين الأدوات المختلفة.

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

التطبيق المصغّر في المظهر الفاتح
الشكل 2: الأداة في المظهر الفاتح
التطبيقات المصغّرة في المظهر الداكن
الشكل 3: الأداة في المظهر الداكن

تسهيل تخصيص الأدوات

إذا حدّدت نشاط إعداد باستخدام السمة configure في appwidget-provider، سيشغّل مضيف "أداة التطبيق" هذا النشاط مباشرةً بعد أن يضيف المستخدم الأداة إلى شاشته الرئيسية.

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

إضافة أزرار مركّبة جديدة

يضيف Android 12 دعمًا جديدًا للسلوك الذي يعتمد على الحالة باستخدام المكوّنات الحالية التالية:

تظل الأداة بلا حالة. يجب أن يخزّن تطبيقك الحالة وأن يسجّل أحداث تغيير الحالة.

الشكل 4: نموذج أداة تتضمّن مربّعات اختيار

لمعرفة التفاصيل، يُرجى الاطّلاع على مقالة دعم السلوك الذي يعتمد على الحالة.

استخدام واجهات برمجة تطبيقات محسّنة لأحجام الأدوات وتنسيقاتها

بدءًا من Android 12، يمكنك الاستفادة من سمات الحجم الأكثر دقة والتنسيقات الأكثر مرونة من خلال تحديد قيود إضافية على حجم الأداة وتوفير تنسيقات متجاوبة وتنسيقات دقيقة.

لمعرفة التفاصيل، يُرجى الاطّلاع على مقالة توفير تنسيقات أدوات مرنة.

تحسين تجربة اختيار الأدوات في تطبيقك

يتيح لك Android 12 تحسين تجربة اختيار الأدوات في تطبيقك من خلال إضافة معاينات ديناميكية للأدوات وأوصاف لها. لمعرفة التفاصيل، يُرجى الاطّلاع على مقالتَي إضافة معاينات أدوات قابلة للتوسيع إلى أداة اختيار الأدوات و إضافة وصف لأداتك.

تفعيل عمليات انتقال أكثر سلاسة

بدءًا من Android 12، توفّر المشغّلات عملية انتقال أكثر سلاسة عندما يشغّل المستخدم تطبيقك من أداة. لمعرفة التفاصيل، يُرجى الاطّلاع على مقالة تفعيل عمليات انتقال أكثر سلاسة.

استخدام مجموعات RemoteViews مبسطة

يضيف Android 12 الطريقة setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items) ، التي تتيح لتطبيقك تمرير مجموعة مباشرةً عند تعبئة ListView. في السابق، عند استخدام ListView، كان من الضروري تنفيذ RemoteViewsService والإعلان عنه لعرض RemoteViewsFactory.

لمعرفة التفاصيل، يُرجى الاطّلاع على مقالة استخدام مجموعات.RemoteViews

استخدام التعديل في وقت التشغيل لـ RemoteViews

يضيف Android 12 عدة طرق RemoteViews تتيح تعديل سمات RemoteViews في وقت التشغيل. يُرجى الاطّلاع على مرجع واجهة برمجة التطبيقات RemoteViews للحصول على القائمة الكاملة بالطرق المضافة.

لمعرفة التفاصيل، يُرجى الاطّلاع على مقالة استخدام التعديل في وقت التشغيل لـ RemoteViews.