يسرّنا الإعلان عن أنّ الإصدار 1.5.0 من Jetpack WindowManager أصبح ثابتًا الآن.
يستند هذا الإصدار إلى الأساس القوي لقابلية التكيّف في WindowManager، ما يسهّل إنشاء واجهات مستخدم متكيّفة ومصقولة تبدو رائعة على جميع أحجام الشاشات. مع استمرار نمو نظام Android الأساسي، يتفاعل المستخدمون مع التطبيقات على مجموعة متنوعة من الأجهزة أكثر من أي وقت مضى، بدءًا من الهواتف والأجهزة القابلة للطي ووصولاً إلى الأجهزة اللوحية والشاشات المتصلة وأجهزة Chromebook وحتى شاشات السيارات في وضع الركن.
يركّز الإصدار 1.5 من WindowManager على توفير أدوات أفضل لبيئة الأجهزة المتنوعة هذه.
الميزات الجديدة في الإصدار 1.5 من WindowManager
يقدّم هذا الإصدار الثابت نقاط توقّف جديدة للشاشات الكبيرة جدًا، ويحسّن واجهة برمجة التطبيقات الخاصة بتضمين الأنشطة، ويوفر المزيد من المرونة لاحتساب مقاييس النوافذ.
فئات جديدة لأحجام النوافذ: كبيرة وكبيرة جدًا
أهم ما يميّز الإصدار 1.5 هو إضافة فئتَين جديدتَين لحجم النافذة حسب العرض: "كبير" و"كبير جدًا".
فئات حجم النافذة هي مجموعتنا الرسمية من نقاط توقّف إطار العرض التي تساعدك في تصميم وتطوير التصاميم المتكيّفة. في الإصدار 1.5، سنوسّع نطاق هذه الإرشادات ليشمل الشاشات التي تتجاوز الأجهزة اللوحية العادية.
في ما يلي نقاط التوقف الجديدة للعرض:
- كبير: للعروض التي تتراوح بين 1200 وحدة بكسل مستقلة الكثافة و1600 وحدة بكسل مستقلة الكثافة
- كبير جدًا: للعروض ≥1600dp
فئات أحجام النوافذ المختلفة استنادًا إلى عرض الشاشة
لماذا هي مُهمّة؟
بدءًا من الإصدار التجريبي الثاني من Android 16 QPR1، يتيح نظام التشغيل Android الشاشات المتصلة، ما يتيح للمستخدمين توصيل شاشة خارجية بأجهزتهم وتحويلها إلى أداة تشبه الكمبيوتر المكتبي مع شاشة كبيرة.
هاتف متصل بشاشة خارجية، مع جلسة على الشاشة الخارجية.
مع توفّر هذه الميزة الجديدة، من الضروري تقديم إرشادات واضحة بشأن تضمين شاشات أكبر.
على هذه المساحات الكبيرة جدًا، لا يكون مجرد توسيع التصميم الموسّع للأجهزة اللوحية هو أفضل تجربة للمستخدمين دائمًا. على سبيل المثال، يمكن لبرنامج البريد الإلكتروني عرض لوحتَين (صندوق بريد ورسالة) بسهولة في فئة حجم النافذة "موسّع". ولكن على شاشة سطح مكتب كبيرة جدًا، يمكن لبرنامج بريد إلكتروني عرض ثلاث لوحات أو حتى أربع لوحات بشكل أنيق، ربما صندوق بريد إلكتروني وقائمة رسائل ومحتوى الرسالة الكامل ولوحة تقويم/مهام، كل ذلك في وقت واحد.
من خلال توفير نقاط توقّف رسمية لأحجام الشاشات الكبيرة جدًا، يمنحك WindowManager 1.5 إشارة واضحة لتقديم تصميمات مخصّصة لتوفير تجربة سطح مكتب فعّالة وغنية بالمعلومات.
يمكن احتساب فئات حجم النافذة باستخدام 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 من سياق التطبيق، وليس من سياق النشاط فقط. ويوفّر ذلك مرونة أكبر للوصول إلى معلومات النافذة من أجزاء مختلفة من تطبيقك.
كيفية البدء
لبدء استخدام فئات الحجم الجديدة "كبير" و"كبير جدًا" وميزات الإصدار 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 I/O 2026، أعلنّا عن تحوّل Android من نظام تشغيل إلى نظام ذكي. أوضحنا أيضًا كيف يمكنك إنشاء تجارب ذكية بشكلٍ أصلي باستخدام النظام والاستفادة من إمكانات الذكاء الاصطناعي من Google في تطبيقاتك.
Jingyu Shi • مدة القراءة: دقيقتان
-
أخبار المنتجات
يسرّنا الإعلان عن أنّنا أتحنا رسميًا استخدام Unreal Engine و Godot على Android XR. نحن بصدد إطلاق أداتَين جديدتَين مصمّمتَين لتعزيز إنتاجيتك وإتاحة إمكانات جديدة للواقع الممتد، وهما Android XR Engine Hub وAndroid XR Interaction Framework.
Luke Hopkins, Ryan Bartley • مدة القراءة: 4 دقائق
البقاء على اطّلاع على آخر التحديثات
يمكنك تلقّي أحدث الإحصاءات حول تطوير تطبيقات Android في بريدك الوارد أسبوعيًا.