يتم حاليًا استخدام أكثر من 300 مليون جهاز Android بشاشة كبيرة، بما في ذلك الأجهزة اللوحية والأجهزة القابلة للطي وأجهزة Googlebook وأجهزة ChromeOS وشاشات السيارات وأجهزة التلفزيون، مع توفّر المزيد من الأجهزة باستمرار. لتقديم تجربة مستخدم مثالية على العدد المتزايد والمتنوع من الأجهزة ذات الشاشات الكبيرة، وكذلك على الهواتف العادية، عليك إنشاء تطبيقات تكيُّفية.
ما هي التطبيقات التكيّفية؟
تغيّر التطبيقات التكيُّفية تنسيقاتها استنادًا إلى التغييرات في طريقة عرض التطبيق، وبشكل أساسي حجم نافذة التطبيق. وتتكيّف أيضًا مع التغييرات في وضعية الأجهزة القابلة للطي، مثل وضعية سطح الطاولة أو وضعية الكتاب، والتغييرات في كثافة الشاشة وحجم الخط.
بدلاً من تمديد عناصر واجهة المستخدم أو تقليصها استجابةً لأحجام النوافذ المختلفة، تستبدل التطبيقات التكيُّفية مكوّنات التنسيق وتُظهر المحتوى أو تخفيه. على سبيل المثال، على الهواتف العادية، قد يعرض التطبيق التكيُّفي شريط تنقّل سفليًا، ولكن على الشاشات الكبيرة، قد يعرض شريط تنقّل جانبيًا. على الشاشات الكبيرة، تعرض التطبيقات التكيُّفية المزيد من المحتوى، مثل عرض على شكل قائمة مع تفاصيل؛ على الشاشات الصغيرة، محتوى أقل، إما القائمة أو التفاصيل.
في السابق، كانت التطبيقات تعمل عادةً في وضع ملء الشاشة. واليوم، يتم تشغيل التطبيقات في وضع النوافذ المتعددة في نوافذ ذات أحجام عشوائية مستقلة عن حجم شاشة الجهاز. ويمكن للمستخدمين تغيير حجم النافذة في أي وقت. لذلك، حتى على نوع جهاز واحد، يجب أن تكون التطبيقات قابلة للتكيف.
تظهر التطبيقات المتكيّفة بشكل رائع وتعمل بشكل جيد على أي جهاز وبأي إعدادات.
ما أهمية إنشاء واجهات مستخدم تكيُّفية؟
يتوقّع المستخدمون أن يعمل تطبيقك بسلاسة على جميع أجهزتهم وأن يوفّر إمكانات محسّنة على الشاشات الكبيرة. ينفّذ المستخدمون مهام متعددة في وضع النوافذ المتعددة لتحسين تجربة التطبيق وزيادة الإنتاجية.
إنّ التطبيقات التي تقتصر على تنفيذ مهمة واحدة على الهواتف العادية تفوّت فرصة الوصول إلى قاعدة مستخدمين متزايدة توفّر إمكانيات متنوعة.
Google Play
يوفّر Google Play مجموعات واقتراحات من التطبيقات المخصّصة للأجهزة اللوحية والأجهزة القابلة للطي، ما يتيح للمستخدمين استكشاف التطبيقات العالية الجودة.
يمنح Google Play التطبيقات والألعاب المحسَّنة للشاشات الكبيرة ترتيبًا أعلى من التطبيقات غير المحسَّنة. ويستند Play في الترتيب إلى إرشادات جودة التطبيقات على الشاشات الكبيرة. يؤدي الترتيب الأعلى إلى زيادة قابلية الاكتشاف من خلال تمكين مستخدمي الأجهزة المتعددة من الاطّلاع على التقييمات والمراجعات الخاصة بالشاشات الكبيرة على هواتفهم.
التطبيقات التي لا تستوفي معايير الجودة على الشاشات الكبيرة في "متجر Google Play" تعرض تحذيرًا في صفحة تفاصيل التطبيق. ينصح التحذير المستخدمين بأنّ التطبيق قد لا يعمل بشكل جيد على أجهزتهم ذات الشاشات الكبيرة.
يمكنك إنشاء تطبيقات تكيُّفية لزيادة فرص العثور عليها على Google Play وزيادة عدد الأجهزة التي يمكنها تنزيل تطبيقك إلى أقصى حد.
كيفية البدء
فكِّر في التصميم التكيُّفي في جميع مراحل تطوير التطبيق، بدءًا من التخطيط وحتى النشر. إعلام مصمّمي الغرافيك بالتصميم التكيُّفي صمِّم تطبيقك ليكون متكيّفًا، وستتمكّن من إنشاء تطبيق قابل للإدارة والتوسيع وجاهز لأشكال الأجهزة وأوضاع النوافذ المستقبلية.
لإنشاء تطبيق متكيّف يتوافق مع جميع أحجام الشاشات وإعداداتها، اتّبِع الخطوات التالية:
- استخدام فئات حجم النافذة لاتخاذ قرارات بشأن التنسيق
- إنشاء تطبيقات باستخدام مكتبة Compose Material 3 Adaptive
- إتاحة طرق إدخال أخرى غير اللمس
- الاختبار على جميع أنواع الأجهزة
مهارات Android
العرض على GitHubجعل تطبيقك متكيّفًا
adaptive لتحديث واجهة مستخدم تطبيقك كي تتوافق مع أجهزة Android وشاشاتها المختلفة.android skills add adaptiveفئات حجم النافذة
يمكن أن تختلف أبعاد نافذة التطبيق على الأجهزة المختلفة، أو على الجهاز نفسه في حالة الأجهزة القابلة للطي، حتى عندما يكون التطبيق في وضع ملء الشاشة. تؤدي اتجاهات الأجهزة المختلفة إلى نسب عرض إلى ارتفاع مختلفة. في وضع النوافذ المتعددة، يمكن أن يختلف حجم نافذة التطبيق ونسبة العرض إلى الارتفاع واتجاه الشاشة عن شاشة الجهاز.
تعمل التطبيقات التكيُّفية على تبسيط وتعميم مشكلة تحديد حجم النافذة ونسبة العرض إلى الارتفاع والاتجاه وإدارتها من خلال مراعاة نافذة التطبيق فقط عند عرض التنسيقات، وهو ما يعمل أيضًا عندما تكون نافذة التطبيق في وضع ملء الشاشة.
فئات حجم النافذة تصنّف نوافذ التطبيق على أنّها صغيرة أو متوسطة أو موسّعة استنادًا إلى عرض النافذة أو ارتفاعها.
يمكنك احتساب WindowSizeClass لتطبيقك باستخدام دالة المستوى الأعلى currentWindowAdaptiveInfo() من مكتبة Compose Material 3 Adaptive. تعرض الدالة مثيلاً من
WindowAdaptiveInfo، والذي يحتوي على windowSizeClass. يتلقّى تطبيقك
تحديثات كلما تغيّرت فئة حجم النافذة:
val windowSizeClass = currentWindowAdaptiveInfo().windowSizeClass
لوحات المحتوى
يُشار أحيانًا إلى تنسيق النشاط باسم شاشة. على سبيل المثال، قد يحتوي تطبيقك على شاشة رئيسية وشاشة قائمة وشاشة تفاصيل عنصر. تشير المصطلحات إلى أن كل نشاط يملأ شاشة الجهاز.
ومع ذلك، على شاشات الأجهزة الكبيرة بما يكفي لدعم فئة حجم النافذة ذات العرض الموسّع، يمكن أن تظهر شاشات أنشطة متعددة على الشاشة في الوقت نفسه. اللوحة هي مصطلح أكثر دقة لعروض المحتوى للأنشطة الفردية.
تتيح لك فئات حجم النافذة تحديد عدد لوحات المحتوى التي سيتم عرضها في التنسيقات المتعددة اللوحات، كما هو محدّد في التصميم المتعدد الأبعاد.
يمكن التنقّل بين الأقسام. في فئات حجم النافذة المصغّرة والمتوسطة، تعرض التطبيقات لوحة واحدة، وبالتالي، يؤدي الانتقال إلى أي وجهة إلى عرض لوحة واحدة.
في فئة حجم النافذة الموسّعة، يمكن للتطبيقات عرض المحتوى ذي الصلة في لوحات متعددة، مثل تنسيق القائمة والتفاصيل. يؤدي التنقل إلى أي من الجزأين إلى عرض تخطيط الجزءين. إذا تغير حجم النافذة إلى صغير أو متوسط، تعرض التطبيقات التكيفية جزءًا واحدًا فقط، وجهة التنقل، إما القائمة أو التفاصيل.
|
|
|
Compose Material 3 Adaptive
Jetpack Compose هو النهج الحديث والتعريفي لإنشاء تطبيقات تكيُّفية بدون تكرار ملفات التنسيق المتعددة وتحمُّل عبء صيانتها.
تحتوي مكتبة Compose Material 3 Adaptive على دوال مركّبة تدير فئات حجم النافذة ومكوّنات التنقّل والتنسيقات المتعدّدة الأجزاء ووضعيات الأجهزة القابلة للطي وموقع المفصلة، على سبيل المثال:
NavigationSuiteScaffold: يتم التبديل تلقائيًا بين شريط التنقّل وشريط التنقّل الجانبي حسب فئة حجم نافذة التطبيق ووضعية الجهاز.ListDetailPaneScaffold: لتنفيذ عرض على شكل قائمة مع تفاصيليتم تكييف التنسيق مع حجم نافذة التطبيق. تعرض قائمة وتفاصيل عنصر القائمة في لوحات جنبًا إلى جنب في فئة حجم النافذة الموسّعة، ولكن تعرض القائمة أو التفاصيل فقط في فئات حجم النافذة الصغير والمتوسط.
SupportingPaneScaffold: لتنفيذ التنسيق الأساسي للوحة المساعدة.يعرض هذا التنسيق جزء المحتوى الرئيسي وجزءًا داعمًا في فئة حجم النافذة الموسّعة، ولكن يعرض جزء المحتوى الرئيسي فقط في فئتَي حجم النافذة الصغير والمتوسط.
تُعدّ مكتبة Compose Material 3 Adaptive من العناصر الأساسية لتطوير التطبيقات التكيُّفية.
الإعداد والاستمرارية
تحافظ التطبيقات المتكيّفة على استمرارية عملها أثناء تغيير الإعدادات.
يحدث تغيير في الإعدادات عند تغيير حجم نافذة التطبيق أو تغيير وضعية الجهاز القابل للطي أو تغيير كثافة الشاشة أو الخط.
بشكل تلقائي، تؤدي تغييرات الإعدادات إلى إعادة إنشاء نشاط التطبيق، ويتم فقدان جميع حالات النشاط. للحفاظ على الاستمرارية، تحفظ التطبيقات التكيُّفية الحالة في طريقة onSaveInstanceState() الخاصة بالنشاط أو في ViewModel.
Posture
تستجيب التطبيقات التكيُّفية للتغييرات في وضعية الأجهزة القابلة للطي. وتشمل هذه الأوضاع وضعية "سطح الطاولة" ووضعية "الكتاب".
تتيح لك واجهة WindowInfoTracker في Jetpack WindowManager الحصول على قائمة بعناصر DisplayFeature للجهاز. ومن بين ميزات العرض FoldingFeature.State، التي تشير إلى ما إذا كان الجهاز مفتوحًا بالكامل أو نصف مفتوح.
توفّر مكتبة Compose Material 3 Adaptive الدالة currentWindowAdaptiveInfo() ذات المستوى الأعلى، والتي تعرض مثيلاً من WindowAdaptiveInfo يحتوي على windowPosture.
طرق إدخال تتجاوز اللمس
غالبًا ما يوصّل المستخدمون لوحات مفاتيح خارجية ولوحات لمس وأجهزة ماوس وأقلام شاشة بالأجهزة ذات الشاشات الكبيرة. وتعمل هذه الأجهزة على تحسين إنتاجية المستخدم ودقة الإدخال والتعبير الشخصي وإمكانية الوصول. تأتي معظم أجهزة ChromeOS مزوّدة بلوحات مفاتيح ولوحات لمس مدمجة.
تتوافق التطبيقات التكيُّفية مع أجهزة الإدخال الخارجية، ولكن إطار عمل Android يؤدي معظم العمل نيابةً عنك:
Jetpack Compose 1.7 والإصدارات الأحدث: تتيح تلقائيًا التنقّل باستخدام علامة التبويب في لوحة المفاتيح والنقر على الماوس أو لوحة اللمس والتحديد والتمرير.
مكتبة Jetpack
androidx.compose.material3: تتيح للمستخدمين الكتابة في أي مكوّنTextFieldباستخدام قلم الشاشة.مساعد اختصارات لوحة المفاتيح: يتيح للمستخدمين العثور على اختصارات لوحة المفاتيح في نظام Android الأساسي والتطبيقات. يمكنك نشر اختصارات لوحة المفاتيح الخاصة بتطبيقك في "مساعد اختصارات لوحة المفاتيح" من خلال إلغاء دالة الاستدعاء
onProvideKeyboardShortcuts()للنافذة.
لإتاحة أشكال الأجهزة بجميع أحجامها بشكل كامل، تتيح التطبيقات التكيُّفية إدخال جميع الأنواع.
كيفية اختبار التطبيقات التكيُّفية
اختبِر أحجام الشاشات والنوافذ المختلفة وإعدادات الأجهزة المختلفة. استخدِم لقطات الشاشة على جهاز المضيف ومعاينات Compose للتحقّق من تنسيقات تطبيقك. يمكنك تشغيل تطبيقك على محاكيات "استوديو Android" وأجهزة Android البعيدة المستضافة في مراكز بيانات Google.
إرشادات جودة التطبيقات على الشاشات الكبيرة
تساعدك إرشادات جودة التطبيقات على الشاشات الكبيرة في التأكّد من أنّ تطبيقك التكيُّفي يعمل بشكل جيد على الأجهزة اللوحية والأجهزة القابلة للطي وأجهزة ChromeOS. وتتضمّن الإرشادات اختبارات تتيح لك التحقّق من وظائف التطبيق لرحلات المستخدم الأساسية. على الرغم من أنّ الإرشادات تركّز على الشاشات الكبيرة، فهي متوافقة مع جميع أحجام الشاشات.
إعدادات متعددة
تتيح لك واجهة DeviceConfigurationOverride في الإصدار 1.7 من Compose والإصدارات الأحدث
إلغاء جوانب مختلفة من إعدادات الجهاز. تحاكي واجهة برمجة التطبيقات
إعدادات الأجهزة المختلفة بطريقة مترجَمة لأي
محتوى قابل للإنشاء تريد اختباره. على سبيل المثال، يمكنك اختبار أحجام متعددة وعشوائية لواجهة المستخدم في عملية تشغيل واحدة لحزمة الاختبار على جهاز واحد أو محاكي واحد.
باستخدام دالة الإضافة DeviceConfigurationOverride.then()، يمكنك اختبار مَعلمات ضبط متعددة، مثل حجم الخط واللغة والمظهر وحجم التنسيق، في الوقت نفسه.
لقطات شاشة على جهاز المضيف
تُعدّ اختبارات لقطات الشاشة على جهاز المضيف طريقة سريعة وقابلة للتوسّع للتحقّق من المظهر المرئي لتنسيقات تطبيقك. استخدِم لقطات الشاشة على جهاز المضيف لاختبار واجهة المستخدم على مجموعة متنوعة من أحجام الشاشات.
لمزيد من المعلومات، يُرجى الاطّلاع على اختبار لقطات الشاشة لمعاينة Compose.
معاينات Compose
تتيح لك معاينات Compose التحقّق من واجهة مستخدم تطبيقك في طريقة عرض التصميم في "استوديو Android". تستخدم المعاينات التعليقات التوضيحية، مثل @PreviewScreenSizes و@PreviewFontScale و@PreviewLightDark، لتتيح لك الاطّلاع على المحتوى المركّب في إعدادات مختلفة. ويمكنك أيضًا التفاعل مع المعاينات.
يُبرز "استوديو Android" أيضًا مشاكل سهولة الاستخدام الشائعة في المعاينات، مثل الأزرار أو حقول النص العريضة جدًا.
لمزيد من المعلومات، يُرجى الاطّلاع على مقالة معاينة واجهة المستخدم باستخدام المعاينات القابلة للإنشاء.
المحاكيات
يوفّر استوديو Android مجموعة متنوعة من المحاكيات لاختبار أحجام التنسيقات المختلفة:
- المحاكي القابل لتغيير الحجم: يحاكي هاتفًا أو جهازًا لوحيًا أو جهازًا قابلاً للطي ويتيح لك التبديل بينها بسرعة
- محاكي Pixel Fold: يحاكي هاتف Pixel Fold القابل للطي ذي الشاشة الكبيرة
- محاكي Pixel Tablet: يحاكي جهاز Pixel Tablet ذي الشاشة الكبيرة
- محاكي الكمبيوتر المكتبي: يتيح لك اختبار عرض النوافذ الحرة، وتمرير مؤشر الماوس، واختصارات لوحة المفاتيح
بث محتوى الجهاز عن بُعد
يمكنك الاتصال بأمان بأجهزة Android البعيدة المستضافة في مراكز بيانات Google وتشغيل تطبيقك على أحدث أجهزة Pixel وSamsung. يمكنك تثبيت التطبيقات وتصحيح أخطائها وتنفيذ أوامر ADB وتدوير الأجهزة وطيّها للتأكّد من أنّ تطبيقك يعمل بشكل جيد على مجموعة متنوعة من الأجهزة الحقيقية.
تم دمج ميزة "بث الجهاز عن بُعد" في "استوديو Android". لمزيد من المعلومات، يُرجى الاطّلاع على ميزة "الوصول عن بُعد إلى أجهزة Android" من Firebase.
مراجع إضافية
- عرض تقديمي في مؤتمر I/O: إنشاء تطبيقات Android تكيُّفية