تتضمّن هذه الصفحة تفاصيل حول تحسينات التطبيقات المصغّرة الاختيارية المتاحة بدءًا من الإصدار 12 من نظام التشغيل Android (المستوى 31 من واجهة برمجة التطبيقات). هذه الميزات اختيارية، ولكنّها سهلة التنفيذ وتحسّن تجربة المستخدمين مع التطبيقات المصغّرة.
للاطّلاع على طرق إضافية لتحسين التطبيق المصغّر، يُرجى مراجعة دليل Compose تحسين التطبيق المصغّر.
استخدام الألوان الديناميكية
بدءًا من الإصدار 12 من نظام التشغيل Android، يمكن للتطبيق المصغّر استخدام ألوان مظهر الجهاز للأزرار والخلفيات والمكوّنات الأخرى. يوفر هذا انتقالات أكثر سلاسة واتساقًا عبر التطبيقات المصغّرة المختلفة.
هناك طريقتان للحصول على ألوان ديناميكية:
استخدِم المظهر التلقائي للنظام (
@android:style/Theme.DeviceDefault.DayNight) في التنسيق الجذر.استخدِم مظهر Material 3 (
Theme.Material3.DynamicColors.DayNight) من مكتبة مكوّنات Material لنظام التشغيل Android، والمتوفّرة بدءًا من الإصدار 1.6.0 من مكوّنات Material لنظام التشغيل Android.
بعد ضبط المظهر في التنسيق الجذر، يمكنك استخدام سمات الألوان الشائعة في الجذر أو أي من العناصر الفرعية لاختيار الألوان الديناميكية.
في ما يلي بعض الأمثلة على سمات الألوان التي يمكنك استخدامها:
?attr/primary?attr/primaryContainer?attr/onPrimary?attr/onPrimaryContainer
في المثال التالي الذي يستخدم مظهر Material 3، يكون لون مظهر الجهاز "أرجوانيًا". يتكيّف لون التمييز وخلفية التطبيق المصغّر مع الوضعَين الفاتح والداكن، كما هو موضّح في الشكلَين 1 و2.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:background="?attr/colorPrimaryContainer" android:theme="@style/Theme.Material3.DynamicColors.DayNight"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" app:tint="?attr/colorPrimaryContainer" android:src="@drawable/ic_cloud" /> <!-- Other widget content. --> </LinearLayout>
التوافق مع الأنظمة القديمة للألوان الديناميكية
لا تتوفّر الألوان الديناميكية إلا في الأجهزة التي تعمل بنظام التشغيل Android 12
أو الإصدارات الأحدث. لتوفير مظهر مخصّص للإصدارات الأقدم، أنشئ مظهرًا تلقائيًا
بألوانك المخصّصة ومحدِّد جديد (values-v31) باستخدام سمات المظهر
التلقائية.
في ما يلي مثال على استخدام مظهر Material 3:
/values/styles.xml
<resources> <style name="MyWidgetTheme" parent="Theme.Material3.DynamicColors.DayNight"> <!-- Override default colorBackground attribute with custom color. --> <item name="android:colorBackground">@color/my_background_color</item> <!-- Add other colors/attributes. --> </style> </resources>
/values-v31/styles.xml
<resources> <!-- Do not override any color attribute. --> <style name="MyWidgetTheme" parent="Theme.Material3.DynamicColors.DayNight" /> </resources>
/layout/my_widget_layout.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="?android:attr/colorBackground" android:theme="@style/MyWidgetTheme" />
تفعيل الدعم الصوتي
تتيح إجراءات التطبيقات لـ "مساعد Google" عرض التطبيقات المصغّرة استجابةً للطلبات الصوتية ذات الصلة التي يوجّهها المستخدمون. من خلال ضبط التطبيق المصغّر للاستجابة للأهداف المضمّنة (BII)، يمكن لتطبيقك عرض التطبيقات المصغّرة بشكل استباقي على مساحات عرض "مساعد Google"، مثل Android وAndroid Auto. يمكن للمستخدمين تثبيت التطبيقات المصغّرة التي يعرضها "مساعد Google" في مشغّل التطبيقات، ما يشجّعهم على التفاعل معها في المستقبل.
على سبيل المثال، يمكنك ضبط تطبيق مصغّر لملخّص التمرين في تطبيق التمارين الرياضية
لتنفيذ الطلبات الصوتية للمستخدم التي تؤدي إلى تفعيل
GET_EXERCISE_OBSERVATION
BII. يعرض "مساعد Google" تطبيقك المصغّر بشكل استباقي عندما يفعّل المستخدمون هذا الغرض المضمّن من خلال
تقديم طلبات مثل، "Ok Google، كم ميلاً ركضتُ هذا الأسبوع على
ExampleApp؟"
هناك العشرات من الأهداف المضمّنة التي تغطي عدة فئات من تفاعل المستخدمين، ما يتيح لأي تطبيق Android تقريبًا تحسين تطبيقاته المصغّرة لتفعيل الصوت. للبدء، يُرجى الاطّلاع على دمج "إجراءات التطبيقات" مع تطبيقات Android المصغّرة.
تفعيل الانتقالات الأكثر سلاسة
بدءًا من الإصدار 12 من نظام التشغيل Android، توفّر مشغّلات التطبيقات انتقالاً أكثر سلاسة عندما يشغّل المستخدم تطبيقك من تطبيق مصغّر.
لتفعيل هذه العملية المحسّنة، استخدِم @android:id/background أو
android.R.id.background لتحديد عنصر الخلفية:
<!-- Top-level layout of the widget. --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/background" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> </LinearLayout>
يمكن لتطبيقك استخدام @android:id/background في الإصدارات السابقة من Android
بدون تعطُّل، ولكن يتم تجاهله.
استخدام تعديل وقت التشغيل في RemoteViews
بدءًا من الإصدار Android 12، يمكنك الاستفادة من عدة طرق في RemoteViews تتيح تعديل سمات RemoteViews أثناء التشغيل. يمكنك الاطّلاع على مرجع واجهة برمجة التطبيقات RemoteViews للحصول على القائمة الكاملة بالطرق التي تمت إضافتها.
يوضّح مثال الرمز البرمجي التالي كيفية استخدام بعض هذه الطرق.
// 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_DIP )