فیلم آموزش ایجاد کردن Dialog Android Studio دیالوگ چیست ؟
آموزش دیالوگ اختصاصی اندروید استودیو
Dialog Android Studio ، سلام دوستان عزیز خانه اندروید امروز در خدمت شما هستیم با آموزش ایجاد کردن دیالوگ اختصاصی Dialog ، که امیدواریم مورد رضایت شما کاربران محترم قرار بگیره و بتوانید از آموزش به نحوه احسن استفاده کنید. دیالوگ پیشفرضی که در اندروید استفاده می کنیم کاربردی نیست و اصلا زیبا به نظر نمیرسه گذشته از این شما نمی تونید دکمه و یا ابجکتی رو قرار بدین در این دیالوگ ! اما دیالوگ اختصاصی چیست ؟ و چطور ساخته میشه نکته فیلم آموزشی زیر پست هست و می توانید دانلود کنید.
حتما بخوانید :
آلرت دیالوگ AleartDialog اندروید استودیو
دیالوگ چیست ؟ دیالوگ هشدار هست که در اثر رخداد یا event روی می دهد اما گاهی موقع میشه رویداد ها رو اختصاصی کرد توی اندروید ؛ به عنوان مثال کافه بازار وقتی شما روی دکمه ارسال نظر کلیک می کنید با توجه به Package Name مورد نظر شما می توانید دیدگاه را برای پست ثبت کنید یا اپلیکیشن های مختلف از این قابلیت استفاده کردن و پیغام آپدیت رو به کاربر نشان می دهند.
دیالوگ ها در داخل اکتیویتی نمایش داده می شوند. در برخی اپلیکیشن اگر دقت کنید دسته بندی را نمایش می دهند. در این فیلم آموزشی به شما عزیزان یاد میدیم چطور دیالوگ اختصاصی درست کنید و ابجکت قرار بدین یا هر چیزی که مورد نظر شماست و می خواهید استفاده کنید.
استفاده از دیالوگ های اختصاصی :
-برای ارسال نظرات پست می توانیم استفاده کنیم.
-برای گزارش و ارسال ریپورت
-برای خروج کاربر می توانیم پیغام مناسب را به کاربر نمایش دهیم.
-انعطاف پذیر نسبت به دیالوگ های دیگر
-امکان سفارشی سازی و بدون محدودیت
-قرار دادن ابجکت درون لایه دکمه ها و چک باکس ها و Edittext ها و…
-امکان مدیریت کردن ابجکت ها
-امکان و قابلیت ست کردن فونت روی ابجکت ها
مشاهده و ارسال نظر در اپلیکیشن آخرین خبر :
شروع ایجاد کردن دیالوگ اختصاصی در اندروید استودیو :
در مرحله اول لطفا Package جدیدی را در اندروید ایجاد کنید سپس نام پکیج را Dialog قرار بدین.
لطفا حالا نام Dialog را اختصاص بدین و روی Ok کلیک کنید. چرا پکیج جدید را ایجاد کرده ایم ؟ دلیل ایجاد کردن پکیج به خاطر مدیریت یعنی هر چی دیالوگ داشتیم توی این فولدر قرار می دهیم تا کد نویسی دقیق تر و از شلوغ کاری جلوگیری کنیم.
حالا کلاسی را با نام Dialog_send_comments کنید سپس والد خود یعنی Dialog را extends کنید.
به صورت پیشفرض وقتی شما والد را فراخوانی می کنید باید سازنده ای را تعریف کنید :
public Dialog_send_comments(@NonNull Context context) { super(context); this.context=context; }
لطفا لایه جدید را ایجاد کنید سپس نام لایه را layout_message قرار بدین.
در قسمت دیزاین Xml لایه سورس کد زیر را که شامل آبجکت هایی که در تصویر هست ایجاد کنید :
سورس کد قسمت بالا :
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:layoutDirection="rtl"> <EditText android:id="@+id/Et_name" android:padding="10dp" android:hint="نام شما..." android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp"/> <EditText android:id="@+id/Et_email" android:padding="10dp" android:hint="ایمیل شما..." android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:layout_below="@+id/Et_name"/> <EditText android:id="@+id/Et_phone" android:padding="10dp" android:hint="شماره موبایل..." android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:layout_below="@+id/Et_email"/> <EditText android:id="@+id/Et_message" android:padding="10dp" android:layout_width="match_parent" android:layout_height="100dp" android:layout_margin="10dp" android:hint="متن پیام ...." android:layout_below="@+id/Et_phone"/> <LinearLayout android:id="@+id/liner1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/Et_message" android:orientation="horizontal"> <Button android:id="@+id/btn_send" android:layout_width="0dp" android:padding="10dp" android:layout_margin="5dp" android:layout_height="wrap_content" android:layout_weight=".50" android:text="ارسال نظر"/> <Button android:id="@+id/btn_cancel" android:layout_width="0dp" android:padding="10dp" android:layout_margin="5dp" android:layout_height="wrap_content" android:layout_weight=".50" android:text="بیخیال"/> </LinearLayout> <CheckBox android:id="@+id/checkboxandroid" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/liner1" android:text="اندروید"/> <ProgressBar android:id="@+id/progress" android:visibility="gone" android:layout_width="50dp" android:layout_height="50dp" android:layout_below="@+id/checkboxandroid" android:layout_centerHorizontal="true"/> </RelativeLayout>
حال بر می گرده ایم به کلاس دیالوگ و متد oncreate را ایجاد می کنیم :
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout_message); }
سپس توسط setContentView(R.layout.layout_message); لایه را معرفی می کنیم.
حال اگر قرار هست دکمه را کست کنیم مثل یک اکتیویتی برخورد می کنیم و تمام موارد مثل یک اکتیویتی هست . طبق تصاویر زیر :
سورس کد کامل کلاس دیالوگ :
/** * Created by Home Android on 19/02/2018. */ public class Dialog_send_comments extends Dialog{ Context context; Button btn_send,btn_cancel; EditText Et_name; CheckBox checkboxandroid; ProgressBar progress; public Dialog_send_comments(@NonNull Context context) { super(context); this.context=context; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout_message); btn_send=findViewById(R.id.btn_send); btn_cancel=findViewById(R.id.btn_cancel); progress=findViewById(R.id.progress); btn_cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { dismiss(); } }); Et_name=findViewById(R.id.Et_name); checkboxandroid=findViewById(R.id.checkboxandroid); btn_send.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String name=Et_name.getText().toString(); progress.setVisibility(View.VISIBLE); if(name.isEmpty()){ Et_name.setError("لطفا نام خود را وارد کنید."); } if(checkboxandroid.isChecked()){ Toast.makeText(context, "ok", Toast.LENGTH_SHORT).show(); } } }); } }
برای فراخوانی کلاس کافی است در هرجایی که نیاز داریم از کلاس مورد نظر نمونه بسازیم و متد show را فراخوانی کنیم.
public class MainActivity extends AppCompatActivity { Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button=(Button) findViewById(R.id.btn_send_meassge); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Dialog_send_comments dialog_send_comments=new Dialog_send_comments(MainActivity.this); dialog_send_comments.show(); } }); } }
سورس کد دیزارین Mainactivity :
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="applicationsite.homeandroid.com.coustomdialog.MainActivity"> <Button android:id="@+id/btn_send_meassge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:layout_marginTop="8dp" android:text="Button" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> </android.support.constraint.ConstraintLayout>
لطفا فیلم آموزشی رو هم ببنید برای توضیحات بیشتر :
حجم فیلم : ۷۹ مگابایت
پسورد فایل فشرده : homeandroid.ir
منبع آموزش : خانه اندروید
عالی و ساده و مفید بود.
فقط یک سوال؟؟
اگر برای ایتم های ریسایکلر ویو بخواهیم دیالوگ تعریف کنیم باید چیکار کنیم؟؟؟
سلام دوست عزیز لطفا دارین
دقت کنید میتوانید به جای context یک اکتیویتی پاس بدین و برای دیالوگ recyclerview استفاده کنید. هم چنین دقت کنید باید actiivty رو از طریق adapter recyclerview بفرستین.
با احترام.
سلام ممنون بخاطر اینکه وقت گذاشتید و این اموزش مفید رو تهیه کردید
سلام و احترام
انجام وظیفه بود.
با احترام.
سلام این فیلم دانبود نمیشه باید چکار کرد؟؟؟
سلام و احترام
مشکل برطرف شده می توانید مشاهده کنید.
با احترام.
سلام
ممنون عالی بود
سلام ممنون از آموزشتون من می خواستم بدونم کد مربوط به خطا که در کادر مشکی رنگ می گویید نام خود را وارد کنید چیست ؟
سلام و احترام خدمت شما
معمولا نام شبیه ساز رو می خواهد برای نام گذاری بهتره با توجه به api یک نام براش در نظر بگیرن.
به عنوان مثال api 17
تا بعدها به عنوان تست و ارزیابی متوجه بشین که کدوم شبیه ساز رو می خواهین اجرا بگیرن یا بهتره بگیم کدوم api
بازم مشکلی داشتین لطفا در تلگرام مطرح کنید.
با احترام.
سلام روزتون بخیر. من recycleviewای را داخل فرگمنت ایجاد کرده ام حال میخواهم با زدن روی آیتم های موجود در recyclerviewدیالوگی برای من باز شود که توضیحاتی درمورد آن آیتم داخلش قرار گرفته باشد. خیلی ممنونم ازشما.
سلام خدمت شما
دوست گرامی باید در بخش onclicklistner مربوط به adapter recyclerview بنوسین. و کافی کلاس دیالوگ رو فراخوانی کنید .
توی کانال تلگرام در این مورد فیلم اموزشی هست که وقتی روی ایتم ها کلیک کردین یک عملی رو انجام بده توی recyclerview
لینک فیلم آموزشی کانال تلگرام خانه اندروید
https://t.me/homeandroid_ir/558
موفق باشین.
با احترام.
سلام . پارت ۱ از حالت فشرده خارج نمیشه رمز هم درست میزنم.!
سلام و احترام
لطفا توی تلگرام برای بنده پیام بزارید.
با احترام.
۴۰۴ – File or directory not found.
The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.
سلام متاسفانه با این ارور هنگام دانلود مواجه میشم لطفا برسی کنید قادر به دانلود نمیباشم
سلام و درود
لینک جدیدی براتون ارسال میشه
با احترام.
سلام ممنون بابت توضیحات عالی .
لطفا لینک دانلود رو چک کنید .!!!!!!!!!
سلام و درود خدمت شما
فیلم آموزشی به خوبی پخش میشه و لینک دانلود هم کار می کنه مشکلی نداره دوست عزیز.می تونید از این لینک به صورت مستقیم از سرور خانه اندروید دانلود کنید.
http://dl.homeandroid.ir/homeandroid/film/Dailog_homeandroid.ir.mp4
موفق باشین.