نمایش پیام های پاپ آپ یا درخواست های ورودی کاربر

مؤلفه Dialog پیام‌های پاپ‌آپ را نمایش می‌دهد یا ورودی کاربر را در لایه‌ای بالای محتوای اصلی برنامه درخواست می‌کند. این یک تجربه رابط کاربری وقفه‌ای ایجاد می‌کند تا توجه کاربر را به خود جلب کند.

از جمله موارد استفاده برای دیالوگ موارد زیر است:

  • تأیید عملکرد کاربر، مانند هنگام حذف یک فایل.
  • درخواست ورودی کاربر، مانند برنامه فهرست کارها.
  • ارائه فهرستی از گزینه‌ها برای انتخاب کاربر، مانند انتخاب کشور در تنظیمات نمایه.

این موضوع پیاده سازی های زیر را ارائه می دهد:

سازگاری نسخه

این پیاده سازی مستلزم آن است که minSDK پروژه شما روی سطح API 21 یا بالاتر تنظیم شود.

وابستگی ها

یک گفتگوی هشدار ایجاد کنید

AlertDialog composable یک API مناسب برای ایجاد یک گفتگو با موضوع طراحی مواد ارائه می دهد. مثال زیر دو دکمه را در یک گفتگوی هشدار اجرا می کند، یکی که گفتگو را رد می کند و دیگری که درخواست آن را تایید می کند:

این پیاده سازی مستلزم یک composable والد است که آرگومان های قابل ترکیب را به این ترتیب به فرزند ارسال می کند:

نتایج

یک گفتگوی هشدار باز که دارای دکمه رد کردن و تأیید است.
شکل 1. گفتگوی هشدار با دکمه ها.

نکات کلیدی

AlertDialog دارای پارامترهای خاصی برای مدیریت عناصر خاصی از گفتگو است. از جمله موارد زیر است:

  • title : متنی که در بالای دیالوگ ظاهر می شود.
  • text : متنی که در مرکز گفتگو ظاهر می شود.
  • icon : گرافیکی که در بالای دیالوگ ظاهر می شود.
  • onDismissRequest : تابعی که وقتی کاربر دیالوگ را رد می کند، مثلاً با ضربه زدن در خارج از آن، فراخوانی می شود.
  • dismissButton : قابل ترکیب که به عنوان دکمه رد کردن عمل می کند.
  • confirmButton : قابل ترکیب که به عنوان دکمه تایید عمل می کند.

  • هنگامی که کاربر روی هر یک از دکمه ها کلیک می کند، گفتگو بسته می شود. وقتی کاربر تأیید را کلیک می کند، تابعی را فراخوانی می کند که تأیید را نیز کنترل می کند. در این مثال، آن توابع onDismissRequest() و onConfirmRequest() هستند.

    در مواردی که گفتگوی شما به مجموعه پیچیده تری از دکمه ها نیاز دارد، ممکن است از استفاده از Dialog composable و پر کردن آن به شیوه ای آزادتر بهره مند شوید.

یک دیالوگ ایجاد کنید

Dialog یک ترکیب اولیه است که هیچ گونه استایل یا جایگاه های از پیش تعریف شده ای برای محتوا ارائه نمی دهد. این یک ظرف ساده است که باید آن را با ظرفی مانند Card پر کنید. در زیر برخی از پارامترهای کلیدی یک دیالوگ آمده است:

  • onDismissRequest : زمانی که کاربر کادر گفتگو را می بندد، لامبدا فراخوانی می شود.
  • properties : نمونه ای از DialogProperties که فضای بیشتری را برای سفارشی سازی فراهم می کند.

یک گفتگوی اساسی ایجاد کنید

مثال زیر یک پیاده سازی اساسی از Dialog composable است. توجه داشته باشید که از یک Card به عنوان ظرف ثانویه استفاده می کند. بدون Card ، جزء Text به تنهایی بالای محتوای اصلی برنامه ظاهر می‌شود.

نتیجه

توجه داشته باشید که وقتی کادر گفتگو باز است، محتوای اصلی برنامه در زیر آن تیره و خاکستری به نظر می رسد:

دیالوگی که حاوی چیزی جز برچسب نیست.
شکل 2. گفتگوی حداقل.

یک گفتگوی پیشرفته ایجاد کنید

زیر یک پیاده سازی پیشرفته تر از Dialog composable است. در این مورد، کامپوننت به صورت دستی یک رابط مشابه با مثال قبلی AlertDialog پیاده سازی می کند.

نتیجه

دیالوگی با عکسی از کوه Feathertop، ویکتوریا. در زیر تصویر یک دکمه رد کردن و یک دکمه تایید وجود دارد.
شکل 3. یک گفتگو که شامل یک تصویر است.

مجموعه هایی که حاوی این راهنما هستند

این راهنما بخشی از مجموعه‌های راهنمای Quick Guide است که اهداف توسعه Android گسترده‌تری را پوشش می‌دهد:

متن بخش مرکزی هر رابط کاربری است. روش های مختلفی را بیابید که می توانید متن را در برنامه خود ارائه دهید تا تجربه کاربری لذت بخشی را ارائه دهید.
بیاموزید که چگونه با وارد کردن متن و استفاده از سایر ابزارهای ورودی، راه‌هایی را برای تعامل کاربران با برنامه‌تان پیاده‌سازی کنید.
بیاموزید که چگونه توابع ترکیب‌پذیر می‌توانند به شما کمک کنند تا به راحتی اجزای رابط کاربری زیبا را بر اساس سیستم طراحی مواد طراحی کنید.

سوال یا بازخورد داشته باشید

به صفحه سوالات متداول ما بروید و درباره راهنماهای سریع بیاموزید یا با ما تماس بگیرید و نظرات خود را با ما در میان بگذارید.