عرض رسائل منبثقة أو طلبات لإدخال المستخدمين

يعرض المكوّن Dialog رسائل منبثقة أو يطلب إدخال المستخدم في طبقة فوق محتوى التطبيق الرئيسي. تؤدي إلى إنشاء تجربة واجهة مستخدم متداخلة لجذب انتباه المستخدمين.

تشمل حالات استخدام مربّع الحوار ما يلي:

  • تأكيد إجراء المستخدم، مثل حذف ملف
  • طلب إدخال المستخدم، مثل طلب إدخال بيانات في تطبيق قائمة المهام
  • عرض قائمة خيارات للمستخدم لاختيارها، مثل اختيار بلد في إعداد الملف الشخصي

يقدّم هذا الموضوع عمليات التنفيذ التالية:

توافق الإصدار

يتطلّب هذا التنفيذ ضبط الحد الأدنى من إصدار حزمة تطوير البرامج (SDK) لمشروعك على المستوى 21 من واجهة برمجة التطبيقات أو مستوى أعلى.

التبعيات

إنشاء مربّع حوار تنبيه

يقدّم العنصر القابل للتجميع AlertDialog واجهة برمجة تطبيقات ملائمة لإنشاء مربع حوار بتصميم مستوحى من أسلوب Material Design. ينفِّذ المثال التالي زرَّين في مربّع حوار تنبيه، أحدهما لإغلاق مربّع الحوار والآخر لتأكيد طلبه:

يشير هذا التنفيذ إلى عنصر مكوّن رئيسي يُرسِل الوسيطات إلى العنصر المكوّن الثانوي بهذه الطريقة:

النتائج

مربّع حوار تنبيه مفتوح يحتوي على زرَّي إغلاق وتأكيد
الشكل 1. مربّع حوار تنبيه مزوّد بأزرار

النقاط الرئيسية

يحتوي AlertDialog على مَعلمات محدّدة لمعالجة عناصر معيّنة من المربّع الحواري. ومن بين هذه التحسينات ما يلي:

  • title: النص الذي يظهر في أعلى مربّع الحوار
  • text: النص الذي يظهر في وسط مربّع الحوار
  • icon: الرسم الذي يظهر في أعلى مربّع الحوار
  • onDismissRequest: الدالة التي يتمّ استدعاؤها عندما يغلِق المستخدِم مربّع الحوار، مثلاً من خلال النقر خارج مربّع الحوار
  • dismissButton: عنصر قابل للتجميع يعمل كزر لإغلاق التطبيق
  • confirmButton: عنصر قابل للتجميع يعمل كزر تأكيد

  • عندما ينقر المستخدم على أيّ من الزرَّين، يتم إغلاق مربّع الحوار. عندما يُقرّ المستخدم على الإجراء، يتمّ استدعاء وظيفة تعالج أيضًا عملية التأكيد. في هذا المثال، الدالتان هما onDismissRequest() و onConfirmRequest().

    في الحالات التي يتطلّب فيها مربّع الحوار مجموعة أكثر تعقيدًا من الأزرار، يمكنك الاستفادة من استخدام عنصر Dialog القابل للتجميع وملؤه بطريقة أكثر حرية.

إنشاء مربّع حوار

Dialog هو عنصر تركيبي أساسي لا يقدّم أيّ تنسيق أو مواقع محدّدة مسبقًا للمحتوى. وهي حاوية بسيطة يجب ملؤها بحاوية مثل Card. في ما يلي بعض المناقشات العميقة عن المَعلمات الرئيسية للمحادثة:

  • onDismissRequest: دالة lambda التي يتمّ استدعاؤها عندما يغلق المستخدِم مربّع الحوار
  • properties: مثيل DialogProperties يقدّم بعض النطاق الإضافي للتخصيص

إنشاء مربّع حوار أساسي

المثال التالي هو عملية تنفيذ أساسية للعنصر القابل للتجميع Dialog. يُرجى ملاحظة أنّه يستخدم Card كحاوية ثانوية. بدون الرمز Card، سيظهر المكوّن Text بمفرده أعلى محتوى التطبيق الرئيسي.

النتيجة

يُرجى العلم أنّه عندما يكون مربّع الحوار مفتوحًا، يظهر محتوى التطبيق الرئيسي تحته مظلمًا ورمماديًا:

مربّع حوار لا يحتوي على أي شيء سوى تصنيف
الشكل 2. استخدام الحد الأدنى من مربّعات الحوار

إنشاء مربّع حوار متقدّم

في ما يلي تنفيذ أكثر تقدمًا للعنصر القابل للتجميع Dialog. في هذا الحالة، ينفِّذ المكوّن يدويًا واجهة مشابهة للمثال السابق AlertDialog.

النتيجة

مربّع حوار يتضمّن صورة لجبل Feathertop في فيكتوريا تحت الصورة، يظهر زر إغلاق وزر تأكيد.
الشكل 3. مربّع حوار يتضمّن صورة

المجموعات التي تتضمّن هذا الدليل

هذا الدليل هو جزء من مجموعات الأدلة السريعة المنظَّمة التي تتناول أهداف تطوير Android الأوسع نطاقًا:

يشكّل النص جزءًا أساسيًا من أي واجهة مستخدم. تعرَّف على الطرق المختلفة التي يمكنك من خلالها عرض النص في تطبيقك لتوفير تجربة رائعة للمستخدم.
تعرَّف على كيفية توفير طرق للمستخدمين للتفاعل مع تطبيقك من خلال إدخال نص واستخدام وسائل إدخال أخرى.
تعرَّف على كيفية استخدام الدوال القابلة للتجميع لإنشاء مكونات جميلة لواجهة المستخدم بسهولة استنادًا إلى نظام التصميم المتعدّد الأبعاد.

إذا كانت لديك أسئلة أو ملاحظات

يمكنك الانتقال إلى صفحة الأسئلة الشائعة والاطّلاع على الأدلة السريعة أو التواصل معنا وإعلامنا برأيك.