يسرّنا الإعلان عن أنّ الإصدار 1.5.0 من Jetpack WindowManager أصبح مستقرًا الآن.
يستند هذا الإصدار إلى الأساس القوي لقابلية التكيّف في WindowManager، ما يسهّل أكثر من أي وقت مضى إنشاء واجهات مستخدم مصقولة وقابلة للتكيّف تبدو رائعة على جميع أحجام الشاشات. مع استمرار نمو منظومة Android المتكاملة، يتفاعل المستخدمون مع التطبيقات على مجموعة متنوعة من الأجهزة أكثر من أي وقت مضى، بدءًا من الهواتف والأجهزة القابلة للطي إلى الأجهزة اللوحية والشاشات المتصلة وأجهزة Chromebook وحتى شاشات السيارات في وضع الركن.
يركّز الإصدار 1.5 من WindowManager على توفير أدوات أفضل لهذه البيئة المتنوّعة من الأجهزة.
الميزات الجديدة في الإصدار 1.5 من WindowManager
يقدّم هذا الإصدار المستقر نقاط توقف جديدة للشاشات الكبيرة جدًا، ويحسّن واجهة برمجة التطبيقات (API) لتضمين الأنشطة، ويوفر مزيدًا من المرونة لحساب مقاييس النوافذ.
فئات جديدة لأحجام النوافذ: كبيرة وكبيرة جدًا
أهم تحديث في الإصدار 1.5 هو إضافة فئتَين جديدتَين لأحجام النوافذ حسب العرض: كبيرة وكبيرة جدًا.
فئات أحجام النوافذ هي مجموعة رسمية ومحدّدة من نقاط توقف إطار العرض التي تساعدك في تصميم وتطوير تنسيقات قابلة للتكيّف. في الإصدار 1.5، نوسّع هذا التوجيه ليشمل الشاشات التي تتجاوز حجم الأجهزة اللوحية العادية.
في ما يلي نقاط التوقف الجديدة حسب العرض:
- كبيرة: للعروض التي تتراوح بين 1200dp و1600dp
- كبيرة جدًا: للعروض التي تزيد عن 1600dp
فئات أحجام النوافذ المختلفة استنادًا إلى عرض الشاشة
ما أهمية هذه الفئات؟
بدءًا من الإصدار التجريبي 2 من Android 16 QPR1، يتيح Android استخدام الشاشات المتصلة، ما يسمح للمستخدمين بتوصيل شاشة خارجية بأجهزتهم وتحويلها إلى أداة تشبه سطح المكتب مع شاشة كبيرة.
هاتف متصل بشاشة خارجية، مع جلسة سطح مكتب على الشاشة الخارجية
مع توفّر هذه الميزة الجديدة، من الضروري تقديم إرشادات محدّدة لتضمين شاشات أكبر.
على هذه الشاشات الكبيرة جدًا، لا تكون عملية توسيع تنسيق الجهاز اللوحي في وضع "التوسيع" دائمًا أفضل تجربة للمستخدم. على سبيل المثال، قد يعرض برنامج البريد الإلكتروني بشكل مريح لوحتَين (صندوق بريد ورسالة) في فئة حجم النافذة "التوسيع". ولكن على شاشة سطح مكتب كبيرة جدًا، يمكن لبرنامج البريد الإلكتروني عرض ثلاث لوحات أو حتى أربع لوحات بشكل أنيق، ربما صندوق بريد وقائمة رسائل ومحتوى الرسالة الكامل ولوحة تقويم/مهام، كل ذلك في وقت واحد.
من خلال توفير نقاط توقف رسمية لأحجام الشاشات الكبيرة جدًا، يمنحك الإصدار 1.5 من WindowManager إشارة واضحة لتقديم تنسيقات مصمّمة خصيصًا لتوفير تجربة سطح مكتب منتجة وغنية بالمعلومات.
يمكن حساب فئات أحجام النوافذ باستخدام computeWindowSizeClass()، وهي دالة إضافة مكتبة androidx.window.core.layout التي توسّع نوع Set<WindowSizeClass>
لتضمين فئات أحجام النوافذ الجديدة في مشروعك، ما عليك سوى استدعاء الدالة من مجموعة WindowSizeClass.BREAKPOINTS_V2 بدلاً من WindowSizeClass.BREAKPOINTS_V1:
val currentWindowMetrics = WindowMetricsCalculator.getOrCreate() .computeCurrentWindowMetrics(LocalContext.current) val sizeClass = WindowSizeClass.BREAKPOINTS_V2 .computeWindowSizeClass(currentWindowMetrics)
بعد ذلك، طبِّق التنسيق الصحيح عندما تتأكّد من أنّ تطبيقك لديه مساحة كافية على الأقل:
if(sizeClass.isWidthAtLeastBreakpoint(
WindowSizeClass.WIDTH_DP_LARGE_LOWER_BOUND)){
...
// window is at least 1200 dp wide
}المكتبات القابلة للتكيّف
تساعدك مكتبة Compose Material 3 Adaptive في إنشاء واجهات مستخدم قابلة للتكيّف تتكيّف تلقائيًا وفقًا لإعدادات النافذة الحالية، مثل فئات أحجام النوافذ أو أوضاع الجهاز.
الخبر السار هو أنّ المكتبة محدّثة حاليًا بنقاط التوقف الجديدة. بدءًا من الإصدار 1.2 (الذي أصبح الآن في مرحلة المرشّح للإصدار)، تتوافق توجيهات السقالة التلقائية للوحة مع فئات أحجام النوافذ الكبيرة والكبيرة جدًا حسب العرض.
ما عليك سوى الموافقة من خلال الإعلان في ملف تصميم Gradle عن رغبتك في استخدام نقاط التوقف الجديدة:
currentWindowAdaptiveInfo( supportLargeAndXLargeWidth = true)
تحسينات إضافية
- تضمين الأنشطة: الحفظ التلقائي والاستعادة: يمكن لـ WindowManager الآن حفظ حالة تقسيمات تضمين الأنشطة واستعادتها تلقائيًا. يساعد ذلك في الحفاظ على تنسيق المستخدم عند إعادة إنشاء العملية، ما يؤدي إلى تجربة أكثر استقرارًا واتساقًا. لم يعُد على المطوّرين حفظ الحالة واستعادتها يدويًا، بل يمكنهم ببساطة الموافقة على الحفظ والاستعادة التلقائيَين من خلال ضبط السمة EmbeddingConfiguration#isAutoSaveEmbeddingState.
- WindowMetrics في وضع "التوسيع": يمكنك الآن حساب WindowMetrics من سياق Application، وليس فقط من سياق Activity. يوفر ذلك مزيدًا من المرونة للوصول إلى معلومات النافذة من أجزاء مختلفة من تطبيقك.
كيفية البدء
لبدء استخدام فئتَي الحجم الكبير والكبير جدًا الجديدتَين والميزات الأخرى في الإصدار 1.5 في مشاريع Android، عليك تعديل تبعيات تطبيقك في build.gradle.kts إلى أحدث إصدار مستقر:
dependencies {
implementation("androidx.window:window:1.5.0")
// or, if you're using the WindowManager testing library:
testImplementation("androidx.window:window-testing:1.5.0")
}يمثّل الإصدار 1.5 من WindowManager خطوة أخرى للأمام نحو إنشاء تطبيقات قابلة للتكيّف بالكامل تعمل على جميع أشكال أجهزة Android. يمكنك الاطّلاع على ملاحظات الإصدار الرسمية للحصول على قائمة كاملة بالتغييرات وعمليات إصلاح الأخطاء.
مع أطيب التحيّات،
-
أخبار المنتجاتيسرّنا الإعلان عن إنجاز كبير في تقريب الحوسبة على الأجهزة الجوّالة وأجهزة سطح المكتب على Android، فقد أصبح دعم الشاشات المتصلة متاحًا للجميع مع إصدار Android 16 QPR3.
Francesco Romano • قراءة لمدة 7 دقائق -
أخبار المنتجاتإنّ توفير تجربة آمنة على الإنترنت وحماية المستخدمين من الأذى من أهم الأولويات في Google Play.
Paul Feng • قراءة لمدة دقيقتَين -
أخبار المنتجاتنحتفل اليوم رسميًا بمرور خمسة أعوام على إطلاق Jetpack Compose 1.0. من الإصدار 1.0 الذي تم الإعلان عنه في 28 يوليو 2021 إلى أحدث إصدار 1.11، شهدنا تطوّر واجهات برمجة التطبيقات بشكل كبير على مرّ السنين، ونحن نأخذ لحظة للاحتفال.
Rebecca Franks, Nick Butcher, Loryn Hairston • قراءة لمدة 5 دقائق
يمكنك تلقّي أحدث الإحصاءات حول تطوير تطبيقات Android أسبوعيًا في بريدك الوارد.