تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تتضمّن هذه الصفحة تفاصيل حول تحسينات التطبيقات المصغّرة الاختيارية المتوفّرة
بدءًا من الإصدار 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 للإصدارات الأقدم.
إضافة معاينات التطبيقات المصغّرة التي تم إنشاؤها إلى أداة اختيار التطبيقات المصغّرة
ينفِّذ Glance.compose تركيبة واحدة، وبالتالي لا يتم استخدام أيّ دوال تعليق أو
عمليات تدفق أو طلبات غير متزامنة مشابهة في نص العنصر القابل للتجميع. بدلاً من ذلك،
يجب استخدام بيانات ثابتة.
يستخدم المثال التالي Jetpack Glance لإنشاء معاينة معدَّلة.
يجب ضبط الإصدار compileSdk على 35 أو إصدار أحدث
لكي يظهر setWidgetPreview كطريقة في هذا المقتطف.
يمكنك استخدام RemoteViews بدون ميزة "نظرة سريعة". يحمِّل المثال التالي مورد تنسيق شاشة widget بتنسيق XML ويضبطه كمعاينة. يجب ضبط الإعداد compileSdk على
35 أو إصدار أحدث لكي يظهر setWidgetPreview كأحد methods في هذا المقتطف.
إضافة معاينات قابلة للتكبير/التصغير للتطبيقات المصغّرة إلى أداة اختيار التطبيقات المصغّرة
بدءًا من الإصدار 12 من Android، يمكن تغيير حجم معاينة التطبيق المصغّر المعروضة في
أداة اختيار التطبيقات المصغّرة. يمكنك تقديمه كتخطيط 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، اطّلِع على إنشاء معاينات دقيقة تتضمّن
عناصر ديناميكية للاطّلاع على التفاصيل.
التوافق مع الإصدارات السابقة من خلال معاينات التطبيقات المصغّرة القابلة للتوسيع
للسماح لأدوات اختيار التطبيقات المصغّرة على الإصدار 11 من نظام التشغيل Android (المستوى 30 لواجهة برمجة التطبيقات) أو الإصدارات الأقدم بعرض معاينات لتطبيقك المصغّر، حدِّد السمة previewImage.
إذا غيّرت مظهر التطبيق المصغّر، عدِّل صورة المعاينة.
إضافة اسم إلى التطبيق المصغّر
يجب أن يكون للتطبيقات المصغّرة اسم فريد عند عرضها في أداة اختيار التطبيقات المصغّرة.
يتم تحميل أسماء التطبيقات المصغّرة من سمة label لعنصر receiver
التطبيق المصغّر في ملف AndroidManifest.xml.
يمكن لتطبيقك استخدام @android:id/background على الإصدارات السابقة من Android
بدون حدوث أي مشاكل، ولكن يتم تجاهله.
استخدام تعديل RemoteViews أثناء التشغيل
بدءًا من Android 12، يمكنك الاستفادة من عدة methods
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-12-22 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2024-12-22 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]]