تتضمّن هذه الصفحة تفاصيل حول تحسينات التطبيقات المصغّرة الاختيارية المتوفّرة
بدءًا من الإصدار 12 من Android (المستوى 31 من واجهة برمجة التطبيقات). هذه الميزات اختيارية، ولكن من السهل
تنفيذها وتحسين تجربة المستخدمين مع التطبيقات المصغّرة.
استخدام ألوان ديناميكية
بدءًا من الإصدار 12 من نظام Android، يمكن للتطبيق المصغّر استخدام ألوان مظاهر الجهاز
للأزرار والخلفيات والمكوّنات الأخرى. ويؤدي ذلك إلى توفير انتقالات
أكثر سلاسة وتناسقًا بين التطبيقات المصغّرة المختلفة.
هناك طريقتان للحصول على ألوان ديناميكية:
استخدِم المظهر التلقائي للنظام
(@android:style/Theme.DeviceDefault.DayNight) في تنسيق الجذر.
بعد ضبط المظهر في تنسيق الجذر، يمكنك استخدام سمات الألوان الشائعة في
الجذر أو أيّ من عناصره الفرعية لاختيار الألوان الديناميكية.
في ما يلي بعض الأمثلة على سمات الألوان التي يمكنك استخدامها:
?attr/primary
?attr/primaryContainer
?attr/onPrimary
?attr/onPrimaryContainer
في المثال التالي الذي يستخدم مظهر Material 3، يكون لون مظهر الجهاز هو
"أرجواني". يتم تعديل لون التمييز وخلفية التطبيق المصغّر ليناسبان الوضعَين
الفاتح والداكن، كما هو موضّح في الشكلَين 1 و2.
لا تتوفّر الألوان الديناميكية إلا في الأجهزة التي تعمل بالإصدار 12 من نظام التشغيل Android
أو الإصدارات الأحدث. لتوفير مظهر مخصّص للإصدارات الأدنى، أنشِئ مظهرًا تلقائيًا
باستخدام ألوانك المخصّصة ومؤهِّل جديد (values-v31) باستخدام سمات
المظهر التلقائية.
تتيح الإجراءات في التطبيقات لـ "مساعد Google"
عرض التطبيقات المصغّرة استجابةً للأوامر الصوتية ذات الصلة للمستخدم. من خلال ضبط التطبيقات المصغّرة للردّ على المهام المضمّنة (BIIs)، يمكن لتطبيقك عرض التطبيقات المصغّرة بشكل استباقي على مساحات عرض "مساعد Google"، مثل Android و
Android Auto. يمكن للمستخدمين
تثبيت التطبيقات المصغّرة التي يعرضها "مساعد Google" في
مشغّل التطبيقات، ما يشجع على التفاعل في المستقبل.
على سبيل المثال، يمكنك ضبط التطبيق المصغّر لملخّص التمارين الرياضية في تطبيق التمارين الرياضية
لتنفيذ الأوامر الصوتية للمستخدم التي تؤدي إلى بدء
GET_EXERCISE_OBSERVATION
BII. يعرض "مساعد Google" تطبيقك المصغّر بشكل استباقي عندما يشغّل المستخدمون ميزة "التفاعل الذكي مع المعلومات" من خلال طرح طلبات مثل "Ok Google، كم ميل ركضت هذا الأسبوع على
ExampleApp؟"
يتيح لك نظام التشغيل Android 12 إضافة معاينات التطبيقات المصغّرة الموسّعة ووصف التطبيقات المصغّرة. يتيح لك نظام التشغيل Android 15 تحسين تجربت
مستخدمي تطبيقك في اختيار التطبيقات المصغّرة من خلال معاينات التطبيقات المصغّرة التي يتم إنشاؤها.
لتحسين تجربة أداة اختيار التطبيقات المصغّرة في تطبيقك، قدِّم معاينة لتطبيق مصغّر تم إنشاؤه على أجهزة Android 15 والإصدارات الأحدث، ومعاينة لتطبيق مصغّر مكبَّر (من خلال تحديد previewLayout) لأجهزة Android 12 وحتى
Android 14، وpreviewImage للإصدارات الأقدم.
إضافة معاينات التطبيقات المصغّرة التي تم إنشاؤها إلى أداة اختيار التطبيقات المصغّرة
يجب أن تضبط التطبيقات قيمة compileSdk على 35 أو إصدار أحدث فيملفbuild.gradle الوحدة لتكون قادرة على تقديمRemoteViews إلى أداة اختيار التطبيقات المصغّرة على أجهزة Android 15 أو الإصدارات الأحدث. وهذا يعني أنّ التطبيقات يمكنها تعديل المحتوى في أداة الاختيار ليكون أكثر تمثيلاً لما يراه المستخدم.
ينفِّذ Glance.compose تركيبة واحدة، وبالتالي لا يتم استخدام أيّ دوال تعليق أو
عمليات تدفق أو طلبات غير متزامنة مشابهة في نص العنصر القابل للتجميع. بدلاً من ذلك،
يجب استخدام بيانات ثابتة.
يستخدم المثال التالي Jetpack Glance لإنشاء معاينة معدَّلة.
يجب ضبط الإصدار 35 من إعداد compileSdk أو إصدار أحدث حتى يظهر setWidgetPreview كطريقة في هذا المقتطف.
يمكنك استخدام "RemoteViews" بدون ميزة "نظرة سريعة". في المثال التالي، يتم تحميل مورد تنسيق أدوات XML
وتعيينه كمعاينة. يجب ضبط الإعداد compileSdk على
35 أو إصدار أحدث لكي يظهر setWidgetPreview كأحد
الطرق في هذا المقتطف.
إضافة معاينات قابلة للتكبير/التصغير للتطبيقات المصغّرة إلى أداة اختيار التطبيقات المصغّرة
بدءًا من Android 12، يمكن تغيير حجم معاينة التطبيق المصغّر المعروضة في
أداة اختيار التطبيقات المصغّرة. يمكنك تقديمه كتخطيط XML تم ضبطه على الحجم
التلقائي للتطبيق المصغّر. في السابق، كانت معاينة الأداة موردًا ثابتًا قابل للرسم، وفي بعض الحالات كانت تؤدي إلى معاينات تعكس بشكل غير دقيق كيفية ظهور التطبيقات المصغّرة عند إضافتها إلى الشاشة الرئيسية.
لتنفيذ معاينات التطبيقات المصغّرة القابلة للتغيير، استخدِم سمة
previewLayout
لعنصر appwidget-provider لتوفير تنسيق XML بدلاً من ذلك:
ننصحك باستخدام التنسيق نفسه المُستخدَم في التطبيق المصغّر الفعلي، مع قيم تلقائية
أو اختبارية واقعية. تستخدم معظم التطبيقات previewLayout وinitialLayout نفسهما. للحصول على إرشادات حول إنشاء تنسيقات معاينة دقيقة، يمكنك الاطّلاع على القسم التالي في هذه الصفحة.
ننصحك بتحديد السمتَين previewLayout وpreviewImage،
كي يتمكّن تطبيقك من استخدام previewImage كخيار احتياطي إذا كان جهاز المستخدم
لا يتيح استخدام previewLayout. تكون للسمة previewLayout الأولوية
على السمة previewImage.
لعرض معاينة دقيقة، يمكنك تقديم التنسيق الفعلي للتطبيق المصغّر
بالقيم التلقائية مباشرةً من خلال إكمال الخطوات التالية:
ضبط android:text="@string/my_widget_item_fake_1" لـ TextView
العناصر
ضبط صورة أو رمز تلقائي أو عنصر نائب، مثل
android:src="@drawable/my_widget_icon"، لمكوّنات ImageView
في حال عدم توفّر قيم تلقائية، قد تعرض المعاينة قيمًا غير صحيحة أو فارغة. ومن بين ميزات هذا الأسلوب المُهمّة أنّه يمكنك تقديم محتوى معاينة مترجم.
للحصول على الأساليب المقترَحة للمعاينات الأكثر تعقيدًا التي تحتوي على ListView أو
GridView أو StackView، اطّلِع على إنشاء معاينات دقيقة تتضمّن
عناصر ديناميكية للاطّلاع على التفاصيل.
التوافق مع الإصدارات السابقة من خلال معاينات التطبيقات المصغّرة القابلة للتوسيع
للسماح لأداة اختيار التطبيقات المصغّرة على نظام التشغيل Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو الإصدارات الأقدم بعرض معاينات للأداة، حدِّد السمة previewImage.
إذا غيّرت مظهر التطبيق المصغّر، عدِّل صورة المعاينة.
إضافة اسم إلى التطبيق المصغّر
يجب أن يكون للتطبيقات اسم فريد عند عرضها في منتقي التطبيقات المصغّرة.
يتم تحميل أسماء التطبيقات المصغّرة من سمة label لعنصر receiver
التطبيق المصغّر في ملف AndroidManifest.xml.
يمكن لتطبيقك استخدام @android:id/background على الإصدارات السابقة من Android
بدون حدوث أي مشاكل، ولكن يتم تجاهله.
استخدام تعديل وقت تشغيل RemoteViews
بدءًا من الإصدار 12 من نظام التشغيل Android، يمكنك الاستفادة من العديد من
طرق RemoteViews التي تتيح تعديل سمات RemoteViews
في وقت التشغيل. اطّلِع على مرجع RemoteViews API
للحصول على القائمة الكاملة للطُرق المُضافة.
يوضح مثال الرمز التالي كيفية استخدام بعض هذه الطرق.
Kotlin
// Set the colors of a progress bar at runtime.remoteView.setColorStateList(R.id.progress,"setProgressTintList",createProgressColorStateList())// Specify exact sizes for margins.remoteView.setViewLayoutMargin(R.id.text,RemoteViews.MARGIN_END,8f,TypedValue.COMPLEX_UNIT_DP)
Java
// Set the colors of a progress bar at runtime.remoteView.setColorStateList(R.id.progress,"setProgressTintList",createProgressColorStateList());// Specify exact sizes for margins.remoteView.setViewLayoutMargin(R.id.text,RemoteViews.MARGIN_END,8f,TypedValue.COMPLEX_UNIT_DP);
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2024-11-12 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2024-11-12 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]]