لوحة عرض دوّارة

تعرض لوحة العرض الدوّارة قائمة عناصر يمكن الانتقال بينها تتكيّف ديناميكيًا استنادًا إلى حجم النافذة. ويمكنك استخدامها لعرض مجموعة من المحتوى ذي الصلة. تُبرز عناصر لوحة العرض الدوّارة المرئيات، لكنها قد تتضمّن أيضًا نصًا موجزًا يتكيّف مع حجم العنصر.

تتوفّر أربعة تصاميم للوحات العرض الدوّارة لتناسب حالات الاستخدام المختلفة:

  • للتصفّح المتعدّد: يتضمّن هذا التصميم عناصر بأحجام مختلفة. يُنصح به لتصفّح العديد من العناصر في الوقت نفسه، مثل الصور.
  • ممتدة خارج الحاوية: يتضمّن هذا التصميم عناصر بحجم واحد وتتجاوز حافة الشاشة. يمكن تخصيصه لعرض المزيد من النص أو عناصر أخرى في واجهة المستخدم أعلى أو أسفل كل عنصر.
  • الصورة المميّزة: يعرض هذا التصميم صورة كبيرة واحدة للتركيز عليها، ويقدّم لمحة عن المحتوى التالي عبر عنصر صغير. يُنصح به لتسليط الضوء على المحتوى المميّز، مثل الصور المصغّرة للأفلام أو البرامج التلفزيونية.
  • ملء الشاشة: يعرض هذا التصميم عنصرًا كبيرًا واحدًا من الحافة إلى الحافة في كل مرة، مع إمكانية التمرير للأعلى أو للأسفل. يُنصح به للمحتوى الذي يكون ارتفاعه أكبر من عرضه.
نوعان من لوحات العرض الدوّارة، أحدهما ممتد خارج الحاوية‎.والآخر بملء الشاشة، يظهران جنبًا إلى جنب يحتوي النوع الممتد خارج الحاوية على عدة عناصر، بينما‎.يحتوي النوع بملء الشاشة على عنصر واحد يملأ الشاشة
الشكل 1. أنواع لوحات العرض الدوّارة: (1)‎ الممتد خارج الحاوية (2) بملء الشاشة.

توضّح هذه الصفحة كيفية تنفيذ تصاميم لوحات العرض الدوّارة للتصفّح المتعدّد والممتدة خارج الحاوية. راجِع إرشادات Material 3 الخاصة بلوحات العرض الدوّارة للحصول على مزيد من المعلومات حول أنواع التصاميم.

مساحة عرض واجهة برمجة التطبيقات

لتنفيذ تصميمي لوحتي العرض الدوّارتين للتصفّح المتعدّد والممتدة خارج الحاوية، استخدِم المركّبين HorizontalMultiBrowseCarousel وHorizontalUncontainedCarousel. تتشارك هذه العناصر المركّبة المَعلمات الرئيسية التالية:

  • state: مثيل CarouselState يدير فهرس العنصر الحالي وموضع التمرير. أنشئ هذه الحالة باستخدام rememberCarouselState { itemCount }، حيث يمثّل itemCount إجمالي عدد العناصر في لوحة العرض الدوّارة.
  • itemSpacing: تحدّد هذه السمة مقدار المساحة الفارغة بين العناصر المتجاورة في لوحة العرض الدوّارة.
  • contentPadding: يطبّق مساحة متروكة حول مساحة المحتوى في لوحة العرض الدوّارة. استخدِم هذه السمة لإضافة مساحة قبل العنصر الأول أو بعد العنصر الأخير، أو لتوفير هوامش للعناصر ضمن المنطقة القابلة للتمرير.
  • content: دالة مركّبة تستقبل فهرسًا صحيحًا. استخدِم دالة lambda هذه لتحديد واجهة المستخدم لكل عنصر في لوحة العرض الدوّارة استنادًا إلى فهرسه.

تختلف هذه المركّبات في طريقة تحديد حجم العناصر:

  • itemWidth (لـ HorizontalUncontainedCarousel): تحدّد هذه السمة العرض الدقيق لكل عنصر في لوحة العرض الدوّارة الممتدة خارج الحاوية.
  • preferredItemWidth (لـ HorizontalMultiBrowseCarousel): يشير إلى العرض المثالي للعناصر في لوحة عرض دوّارة للتصفّح المتعدّد، ما يتيح للمكوِّن عرض عدة عناصر إذا سمحت المساحة بذلك.

مثال: لوحة عرض دوّارة للتصفّح المتعدّد

تنفّذ هذه المقتطفة لوحة عرض دوّارة للتصفّح المتعدّد:

نقاط أساسية حول الرمز

  • يحدّد فئة بيانات CarouselItem تنظّم البيانات لكل عنصر في لوحة العرض الدوّارة.
  • ينشئ List من عناصر CarouselItem ويتذكّرها، ويتم ملؤها بموارد الصور والأوصاف.
  • يستخدِم المركّب HorizontalMultiBrowseCarousel المصمَّم لعرض عناصر متعددة في لوحة عرض دوّارة.
    • يتم إعداد حالة لوحة العرض الدوّارة باستخدام rememberCarouselState، الذي يتم إعطاؤه إجمالي عدد العناصر.
    • تحتوي العناصر على preferredItemWidth (186.dp هنا)، ما يشير إلى العرض المثالي لكل عنصر. تُستخدم لوحة العرض الدوّارة هذه لتحديد عدد العناصر التي يمكن عرضها على الشاشة في الوقت نفسه.
    • تضيف المَعلمة itemSpacing مسافة صغيرة بين العناصر.
    • تكرّر دالة lambda الأخيرة في HorizontalMultiBrowseCarousel CarouselItems. في كل تكرار، يتم استرداد العنصر في الفهرس i وعرض عنصر Image المركّب له.
    • تطبِّق Modifier.maskClip(MaterialTheme.shapes.extraLarge) قناع شكل محدّدًا مسبقًا على كل صورة، ما يمنحها زوايا مستديرة.
    • يقدّم contentDescription وصفًا مناسبًا للصورة.

النتيجة

تعرض الصورة التالية النتيجة من المقتطف السابق:

لوحة عرض دوّارة للتصفّح المتعدّد تتضمّن ثلاث صور: تظهر‎.صورتان منها بالكامل، بينما تظهر الثالثة جزئيًا خارج الشاشة
الشكل 2. لوحة عرض دوّارة للتصفّح المتعدّد مع اقتصاص العنصر الأخير.

مثال: لوحة عرض دوّارة ممتدة خارج الحاوية

ينفّذ المقتطف التالي لوحة عرض دوّارة ممتدة خارج الحاوية:

نقاط أساسية حول الرمز

  • ينشئ المركّب HorizontalUncontainedCarousel تصميم لوحة العرض الدوّارة.
    • تحدّد المَعلمة itemWidth عرضًا ثابتًا لكل عنصر في لوحة العرض الدوّارة.

النتيجة

تعرض الصورة التالية النتيجة من المقتطف السابق:

لوحة عرض دوّارة ممتدة خارج الحاوية تحتوي على 3 عناصر ‎.يظهر العنصر الأخير بشكل جزئي، ولكن بدون قص
الشكل 3. لوحة عرض دوّارة ممتدة خارج الحاوية، حيث لا يتم اقتصاص العنصر الأخير.