يسرّنا الإعلان عن أنّ الإصدار 1.5.0 من Jetpack WindowManager أصبح مستقرًا الآن.
يستند هذا الإصدار إلى الأساس القوي لقابلية التكيّف في WindowManager، ما يسهّل أكثر من أي وقت مضى إنشاء واجهات مستخدم مصقولة وقابلة للتكيّف تبدو رائعة على جميع أحجام الشاشات. مع استمرار نمو منظومة Android المتكاملة، يتفاعل المستخدمون مع التطبيقات على مجموعة متنوعة من الأجهزة أكثر من أي وقت مضى، بدءًا من الهواتف والأجهزة القابلة للطي إلى الأجهزة اللوحية والشاشات المتصلة وأجهزة Chromebook وحتى شاشات السيارات في وضع الركن.
يركّز الإصدار 1.5 من WindowManager على توفير أدوات أفضل لهذه البيئة المتنوّعة من الأجهزة.
ما الجديد في الإصدار 1.5 من WindowManager
يقدّم هذا الإصدار المستقر نقاط توقف جديدة للشاشات الكبيرة جدًا، ويحسّن واجهة برمجة التطبيقات (API) لتضمين الأنشطة، ويوفر مرونة أكبر لحساب مقاييس النوافذ.
فئات جديدة لأحجام النوافذ: كبيرة وكبيرة جدًا
أهم تحديث في الإصدار 1.5 هو إضافة فئتَين جديدتَين لأحجام النوافذ حسب العرض: كبيرة وكبيرة جدًا.
فئات أحجام النوافذ هي مجموعة نقاط توقف رسمية ومحدّدة لوجهات العرض تساعدك في تصميم وتطوير تنسيقات قابلة للتكيّف. مع الإصدار 1.5، نوسّع هذا التوجيه ليشمل الشاشات التي تتجاوز الأجهزة اللوحية العادية.
في ما يلي نقاط التوقف الجديدة حسب العرض:
- كبيرة: للعروض التي تتراوح بين 1200dp و1600dp
- كبيرة جدًا: للعروض التي تزيد عن 1600dp
فئات أحجام النوافذ المختلفة استنادًا إلى عرض الشاشة
ما أهمية هذه الفئات؟
بدءًا من الإصدار التجريبي الثاني من 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 دقائق -
أخبار المنتجاتنحتفل اليوم رسميًا بمرور خمسة أعوام على إطلاق Jetpack Compose 1.0. من الإصدار 1.0 الذي تم الإعلان عنه في 28 يوليو 2021 إلى أحدث إصدار 1.11، شهدنا تطور واجهات برمجة التطبيقات (API) بشكل كبير على مر السنين، ونحن نأخذ لحظة للاحتفال.
Rebecca Franks, Nick Butcher, Loryn Hairston • مدة القراءة: 5 دقائق -
أخبار المنتجاتأصبح استوديو Android Quail 2 مستقرًا ومتاحًا لك الآن لتستخدمه في الإصدار العلني، ما يغيّر بيئة التطوير المتكاملة (IDE) من خلال سير عمل الوكيل المتزامن، وإعداد تقارير عن تسرّب الذاكرة المدمج أصلاً، وإصلاح الأعطال المستند إلى السياق.
Amman Asfaw • مدة القراءة: 3 دقائق
يمكنك تلقّي أحدث الإحصاءات حول تطوير تطبيقات Android في بريدك الوارد أسبوعيًا.