آلرت دیالوگ (AlertDialog) چیست و نحوهی کار با آن چگونه است؟
فیلم آشنایی با آلرتدیالوگ (AlertDialog) چیست و نحوهی کار با آن چگونه است؟
متن به همراه عکس آشنایی با آلرتدیالوگ (AlertDialog) چیست و نحوهی کار با آن چگونه است؟
در این مقالهی آموزشی میخواهیم با نحوهی کار با نوعی از دیالوگها به نام آلرت دیالوگ (AlertDialog) و کاربرد و جزییات مربوط به آن آشنا شویم. در ابتدا تعریف دیالوگ و سپس به تعریف و چگونگی آلرت دیالوگ (AlertDialog) میپردازیم.
دیالوگ (Dialog) و آلرت دیالوگ (AlertDialog) چیست؟
دیالوگ (Dialog) یک پیغام نمایشی است که روی اکتیویتی نمایش داده میشود تا بتوانیم یک پیغامی را به کاربر نشان دهیم. مثلا اگر کاربر بخواهد یک آیتمی را حذف کند، یک پیغام به عنوان هشدار نشان میدهد که “آیا از حذف آیتم مطمئن هستید؟” و گزینهی بله و خیر هست که کاربر میتواند هرکدام را انتخاب کند.
آلرت دیالوگ (AlertDialog) نوعی از دیالوگها هستند که به صورت پیش فرض در اندروید وجود دارد؛ در واقع آلرت دیالوگ، یک دیالوگ ساده است که میتوانیم در برنامهی خود از آن استفاده کنیم.
روش استفاده از آلرت دیالوگ (AlertDialog):
برای استفاده از آلرت دیالوگ در پروژهی خود، ابتدا از طریق مسیر زیر وارد قسمت لایه میشویم:
app>res>layout>activity_main.xml
به صورت پیش فرض یک تکست ویو وجود دارد که آن را پاک میکنیم.
سپس یک باتن به لایه اضافه میکنیم و از هر چهار طرف به دیواره وصل میکنیم، چون نوع لایه کانسترینت لیوت است. (شما میتوانید هر ویوی دیگری را اضافه کنید، صرفا برای خاصیت کلیک و توضیح آلرت دیالوگ (AlertDialog)، باتن را اضافه کردیم)
حال برای کدنویسی آلرت دیالوگ، از طریق مسیر زیر وارد قسمت جاوا میشویم:
app>java>اولین پوشه>MainActivity
سپس کدنویسی باتنی را که به لایه اضافه کردیم، انجام میدهیم و به آن خاصیت کلیک شدن میدهیم:
کدنویسی:
1 2 3 4 5 6 7 8 |
Button button=findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity.this); dialog.setTitle("این عنوان ما است") .setMessage("این متن نمایشی ما است") |
توضیح کدها:
- در خط 1، باتن را تعریف میکنیم.
- در خط 2، به باتن خاصیت کلیک شدن میدهیم.
- در داخل کدهای باتن،در خط 5،کد مربوط به آلرت دیالوگ (AlertDialog) را اضافه میکنیم تا وقتی کاربر روی دکمه کلیک کرد، آلرت دیالوگ (AlertDialog) را به کاربر نشان دهد. در این خط شی از نوع Builder میسازیم و یک اسم برای آن انتخاب میکنیم (در اینجا همان dialog را به عنوان اسم انتخاب کردیم)
- در خط 5، از ما ورودی کانتکست میخواهد که همان MainActivity را مینویسیم.
- در خط 6، یکی از پرکاربردترین ویژگیهای دیالوگ که اضافه کردن عنوان (Title) است را اضافه میکنیم و به عنوان string، متن “این عنوان ما است” را مینویسیم.
- در خط 7، کد مربوط به نشان دادن یک پیغام به کاربر (setMessage) را مینویسیم و به عنوان string، متن “این متن نمایشی ما است” را مینویسیم.
- میتوانیم در خطهای بعد با نوشتن ، ویژگیهای دیگر را نیز اضافه کنیم.
حال میخواهیم به آلرت دیالوگ (AlertDialog) دکمه اضافه کنیم. به صورت پیش فرض میتوانیم دو دکمهی PositiveButton و NegativeButton را اضافه کنیم.
کدنویسی:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
.setPositiveButton("ok", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "دکمه تایید کلیک شد", Toast.LENGTH_SHORT).show(); } }) .setNegativeButton("cancle", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "دکمه کنسل کلیک شد", Toast.LENGTH_SHORT).show(); } }) .show(); } }); |
توضیح کدها:
- در خط 1، PositiveButton را اضافه میکنیم که دو ورودی از ما میخواهد. اول عنوان که مثلا مینویسیم “ok” (میتوانیم به فارسی نیز بنویسیم) و دوم خاصیت کلیک شدن که به آن میدهیم.
- مشابه باتن میتوانیم هر ویژگی دیگری که میخواهیم برای دکمهی خود اضافه کنیم. مثلا در خط 4، یک توست اضافه میکنیم و یک پیغام برای توست انتخاب میکنیم. مثلا “دکمه تایید کلیک شد”
- در خط 7، NegativeButton را اضافه میکنیم که دو ورودی از ما میخواهد. یک عنوان که مثلا مینویسیم “cancele” (میتوانیم به فارسی نیز بنویسیم) و دوم خاصیت کلیک شدن که به آن میدهیم.
- در خط 10، یک توست اضافه میکنیم و برای پیغام مینویسیم ” دکمه کنسل کلیک شد “
- در نهایت در خط 13، کد ;()show. را مینویسیم. توجه داشته باشید که اگر آن را ننویسیم نمیتوانیم از کدها اجرا بگیریم.
حال از پروژه اجرا میگیریم:
مشاهده میکنیم که باتن را به ما نشان میدهد و وقتی روی آن کلیک میکنیم آلرت دیالوگ (AlertDialog) را نشان میدهد.
رنگ دکمههای PositiveButton و NegativeButton را نیز میتوانیم تغییر دهیم. رنگ دکمهها به صورت پیش فرض از بخش values>styles.xml در قسمت coloraccent خوانده میشود که برای تغییر باید به قسمت values>color.xml برویم و هر رنگی که مدنظرمان هست را به پروژه اضافه کنیم.
در نهایت در این مقاله یاد گرفتیم که چگونه میتوانیم یک آلرت دیالوگ (AlertDialog) در پروژهی خود پیادهسازی و ویژگیهای مدنظر را به آن اضافه کنیم.
کدهای کامل جاوا:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
package com.kazemieh.www.simpledialog; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button=findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity.this); dialog.setTitle("این عنوان ما است") .setMessage("این متن نمایشی ما است") .setPositiveButton("تایید", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "دکمه تایید کلیک شد", Toast.LENGTH_SHORT).show(); } }) .setNegativeButton("کنسل", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "دکمه کنسل کلیک شد", Toast.LENGTH_SHORT).show(); } }) .show(); } }); } } |
برای مشاهده لینک دانلود لطفا وارد حساب کاربری خود شوید!
وارد شویدپسورد فایل : ندارد گزارش خرابی لینک
مطالب زیر را حتما بخوانید
-
نحوهی کار با ویدئوپلیر (Video Player) از طریق پوشهی raw
7.42k بازدید
-
اسنکبار (Snackbar) در اندروید
4.56k بازدید
-
ّFloating action Button (فلوتینگ اکشن باتن) در اندروید
4.39k بازدید
-
نحوهی کار با فریم لیوت (FrameLayout)
4.83k بازدید
-
یک روش برای تمرکز در برنامهنویسی
3.27k بازدید
-
رادیو باتن (RadioButton) در اندروید
1.93k بازدید
دیدگاهتان را بنویسید