يتم اليوم استخدام أكثر من 300 مليون جهاز Android بشاشة كبيرة، بما في ذلك الأجهزة اللوحية والأجهزة القابلة للطي وأجهزة ChromeOS وشاشات عرض السيارات وأجهزة التلفزيون، وسيتم طرح المزيد منها باستمرار. لتقديم تجربة مثالية للمستخدمين على العدد المتزايد والأجهزة المتنوعة ذات الشاشات الكبيرة بالإضافة إلى الهواتف العادية، يمكنك إنشاء تطبيقات تكيُّفية.
ما هي التطبيقات التكيُّفية؟
تغيّر التطبيقات التكيُّفية التصميمات استنادًا إلى التغييرات في طريقة عرض التطبيق، وبشكل أساسي حجم نافذة التطبيق. ولكنها تستوعب أيضًا التغييرات في وضع الأجهزة القابلة للطي، مثل وضع "التثبيت على سطح مستوٍ" أو وضع "الكتاب"، والتغييرات في كثافة الشاشة وحجم الخط.
بدلاً من مجرد توسيع عناصر واجهة المستخدم أو تصغيرها استجابةً لأحجام النوافذ المختلفة، تستبدل التطبيقات التكيُّفية مكوّنات التصميم وتعرض المحتوى أو تخفيه. على سبيل المثال، قد يعرض تطبيق تكيُّفي شريط تنقّل سفلي على الهواتف العادية، ولكن يعرض شريط تنقّل عمودي على الشاشات الكبيرة. على الشاشات الكبيرة، تعرض التطبيقات التكيُّفية المزيد من المحتوى، مثل عرض على شكل قائمة مع تفاصيل؛ وعلى الشاشات الصغيرة، تعرض محتوى أقل، إما القائمة أو التفاصيل.
في الماضي، كانت التطبيقات تعمل عادةً بملء الشاشة. أما اليوم، فتعمل التطبيقات في وضع النوافذ المتعدّدة في نوافذ ذات أحجام عشوائية مستقلة عن حجم شاشة الجهاز. ويمكن للمستخدمين تغيير حجم النافذة في أي وقت. لذلك، يجب أن تكون التطبيقات تكيُّفية حتى على نوع جهاز واحد.
تبدو التطبيقات التكيُّفية رائعة وتعمل بشكل جيد على أي جهاز بأي إعداد.
لماذا يجب إنشاء واجهات مستخدم تكيُّفية؟
يتوقع المستخدمون أن يعمل تطبيقك بلا أخطاء على جميع أجهزتهم وأن يقدّم إمكانات محسّنة على الشاشات الكبيرة. ويُجري المستخدمون مهام متعدّدة في وضع النوافذ المتعدّدة للحصول على تجربة محسّنة للتطبيق وزيادة الإنتاجية.
تفوت التطبيقات التي تقتصر على مهمة واحدة على الهواتف العادية قاعدة مستخدمين متزايدة من إمكانات متنوعة.
Google Play
يوفّر Google Play مجموعات وتوصيات تطبيقات خاصة بالأجهزة اللوحية والأجهزة القابلة للطي، ما يتيح للمستخدمين اكتشاف تطبيقات عالية الجودة.
يرتّب Play التطبيقات والألعاب المحسّنة للشاشات الكبيرة أعلى من التطبيقات غير المحسّنة. ويستند Play في الترتيب إلى إرشادات جودة التطبيقات على الشاشات الكبيرة. يزيد الترتيب الأعلى من قابلية العثور على التطبيق من خلال السماح للمستخدمين الذين لديهم أجهزة متعدّدة بالاطّلاع على التقييمات والمراجعات الخاصة بالشاشات الكبيرة على هواتفهم.
تعرض التطبيقات التي لا تستوفي معايير الجودة للشاشات الكبيرة في "متجر Play" تحذيرًا على صفحة تفاصيل التطبيق. وينصح التحذير المستخدمين بأنّ التطبيق قد لا يعمل بشكل جيد على أجهزتهم ذات الشاشات الكبيرة.
يمكنك إنشاء تطبيقات تكيُّفية لتوسيع نطاق قابلية العثور عليها على Google Play وزيادة عدد الأجهزة التي يمكنها تنزيل تطبيقك إلى أقصى حد.
كيفية البدء
يجب التفكير في التصميم التكيُّفي في جميع مراحل تطوير التطبيق، بدءًا من التخطيط وحتى النشر. يجب إعلام مصمّمي الرسومات بالتصميم التكيُّفي. إذا صمّمت تطبيقك ليكون تكيُّفيًا، فستنشئ تطبيقًا قابلاً للإدارة والتوسيع وجاهزًا لأشكال الأجهزة وأوضاع عرض المحتوى في النافذة الحالية المستقبلية.
لإنشاء تطبيق تكيُّفي يتيح جميع أحجام العرض والإعدادات، يُرجى اتّباع الخطوات التالية:
- استخدام فئات أحجام النوافذ لاتخاذ قرارات بشأن التصميم
- الإنشاء باستخدام مكتبة Compose Material 3 Adaptive
- إتاحة طرق إدخال أخرى غير اللمس
- الاختبار على جميع أنواع الأجهزة
مهارات Android
عرض على GitHubجعل تطبيقك تكيُّفيًا
adaptive مهارة Android لتعديل واجهة مستخدم تطبيقك بحيث تتكيّف مع أجهزة 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.
الوضع
تستجيب التطبيقات التكيُّفية للتغييرات في وضع الأجهزة القابلة للطي. تشمل الأوضاع وضع "التثبيت على سطح مستوٍ" ووضع "الكتاب".
تتيح لك واجهة 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 في Compose 1.7 والإصدارات الأحدث
إلغاء جوانب مختلفة من إعداد الجهاز. تحاكي واجهة برمجة التطبيقات إعدادات مختلفة للجهاز بطريقة محلية لأي محتوى قابل للإنشاء تريد اختباره. على سبيل المثال، يمكنك اختبار أحجام متعددة وعشوائية لواجهة المستخدم في عملية تشغيل واحدة لمجموعة الاختبارات على جهاز أو محاكي واحد.
باستخدام دالة الإضافة 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 تكيُّفية