آموزش DialogFragment در اندروید

سلام دوستان عزیز در این سری از آموزش برنامه نویسی اندروید به آموزش DialogFragment در اندروید می پردازیم در واقع اگر بخواهیم یک اکتیویتی را در یک Dialog نمایش دهیم می توانیم از DialogFragment استفاده کنیم به این شکل که آن اکتیوینی را به فرگمنت (Fragment) تبدیل کرده سپس در Dialog نمایش میدهیم در ادامه چند مثال مختلف برای ایجاد DialogFragment برای شما قرار میدهیم.
 
از این آموزش به منظور نمایش Dialog , AlertDialog یا برای نمایش اطلاعات به کاربران استفاده می شود در ادامه با ما همراه باشید تا نحوه پیاده سازی آن را یاد گیرید.
در ابتدای کار باید در مسیر res/layout یک لایه به نام fragment_edit_name.xml ایجاد کنید این بخش ظاهر اصلی بخش Dialog ما خواهد بود در واقع این layout درون دیالوگ نمایش داده خواهد شد.

در بالا یک EditText به منظور دریافت ورودی و یک TextView برای نمایش اطلاعات قرارگرفته است.
یک کلاس به نام EditNameDialogFragment ایجاد کنید و کدهای زیر را در آن قرار دهید.

در بالا ما آمدیم کلاس رو از DialogFragment گسترش دادیم با این گار باید از یکسری متد به نام های EditNameDialogFragment , onViewCreated , onCreateView استفاده کنیم در اینجا در بخش onViewCreated شئی ها موجود در layout را find کردیم در بخش onCreateView لایه را inflate کردیم تا به شئی های آن دسترسی داشته باشیم و در بخش EditNameDialogFragment داده ای که کاربر در EditText وارد می کند را می توانیم دریافت کنیم
کلاس بالا یک کلاس کمکی بوده حال باید از آن استفاده کنیم.
و در نهایت با استفاده از کد زیر می توانیم آن را در Activity نمایش دهیم.

تا اینجا ما اومدیم یک Dialog فرگمنت ساده ایجاد کردیم در ادامه نحوه ایجاد AlertDialog سفارشی همراه با DialogFragment را به شما نمایش میدهیم.
یک کلاس به نام MyAlertDialogFragment ایجاد کنید و کدهای زیر را در آن قرار دهید.

این کلاس هم همانند کلاس قبلی به شکل کمکی ایجاد شده است و تفاوت آنچنانی نمی کند فقط اینکه در بخش onCreateDialog ما یک Dialog یا AlertDialog ایجاد کردیم که صدا زدن متد آن قابل نمایش خواهد بود.
برای اینکه در اکتیویتی آن را نمایش دهید می توانید از کد زیر استفاده کنید.

در اینجا دید که به چه سادگی آمادیم از DialogFragment استفاده کردیم امکان سفارشی سازی بخش های مختلف AlertDialog وجود دارد همینطور که ما در اینجا یک مقدار را به EditText ارسال می کنیم.
 
این آموزش هم به پایان رسید.
موفق و پیروز باشید.

مطالعه بیشتر