خانه اندروید

800 ساعت آموزش اختصاصی

بیش از 30 هزار دانشجو

آموزش های پروژه محور

مطالب پیشنهادی حتما مشاهده کنید :

فیلم آموزش ایجاد کردن Dialog Android Studio دیالوگ چیست ؟

فیلم آموزش ایجاد کردن Dialog Android Studio دیالوگ چیست ؟

فیلم آموزش ایجاد کردن Dialog Android Studio

آموزش دیالوگ اختصاصی اندروید استودیو

Dialog Android Studio ، سلام دوستان عزیز خانه اندروید امروز در خدمت شما هستیم با آموزش ایجاد کردن دیالوگ اختصاصی Dialog ، که امیدواریم مورد رضایت شما کاربران محترم قرار بگیره و بتوانید از آموزش به نحوه احسن استفاده کنید. دیالوگ پیشفرضی که در اندروید استفاده می کنیم کاربردی نیست و اصلا زیبا به نظر نمیرسه گذشته از این شما نمی تونید دکمه و یا ابجکتی رو قرار بدین در این دیالوگ !  اما دیالوگ اختصاصی چیست ؟ و چطور ساخته میشه نکته فیلم آموزشی زیر پست هست و می توانید دانلود کنید.

حتما بخوانید :

آلرت دیالوگ AleartDialog اندروید استودیو

دیالوگ چیست ؟ دیالوگ هشدار هست که در اثر رخداد یا event روی می دهد اما گاهی موقع میشه رویداد ها رو اختصاصی کرد توی اندروید ؛ به عنوان مثال کافه بازار وقتی شما روی دکمه ارسال نظر کلیک می کنید با توجه به Package Name مورد نظر شما می توانید دیدگاه را برای پست ثبت کنید یا اپلیکیشن های مختلف از این قابلیت استفاده کردن و پیغام آپدیت رو به کاربر نشان می دهند.

comments Dialog Android Studio

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

فیلم آموزش ایجاد کردن Dialog Android Studio

 استفاده از دیالوگ های اختصاصی :

-برای ارسال نظرات پست می توانیم استفاده کنیم.

-برای گزارش و ارسال ریپورت

-برای خروج کاربر می توانیم پیغام مناسب را به کاربر نمایش دهیم.

-انعطاف پذیر نسبت به دیالوگ های دیگر

-امکان سفارشی سازی و بدون محدودیت

-قرار دادن ابجکت درون لایه دکمه ها و چک باکس ها و Edittext ها و…

-امکان مدیریت کردن ابجکت ها

-امکان و قابلیت ست کردن فونت روی ابجکت ها

 

مشاهده و ارسال نظر در اپلیکیشن آخرین خبر :

 

ارسال نظر نمایش دیالوگ اختصاصی اندروید استودیو

شروع ایجاد کردن دیالوگ اختصاصی در اندروید استودیو :
در مرحله اول لطفا Package جدیدی را در اندروید ایجاد کنید سپس نام پکیج را Dialog قرار بدین.

ایجاد کردن پکیج جدید در اندروید استودیو
لطفا حالا نام Dialog را اختصاص بدین و روی Ok کلیک کنید. چرا پکیج جدید را ایجاد کرده ایم ؟ دلیل ایجاد کردن پکیج به خاطر مدیریت یعنی هر چی دیالوگ داشتیم توی این فولدر قرار می دهیم تا کد نویسی دقیق تر و از شلوغ کاری جلوگیری کنیم.

حالا کلاسی را با نام Dialog_send_comments کنید سپس والد خود یعنی  Dialog را extends کنید.

حالا کلاسی را با نام Dialog_send_comments

به صورت پیشفرض وقتی شما والد را فراخوانی می کنید باید سازنده ای را تعریف کنید :

public Dialog_send_comments(@NonNull Context context) {
    super(context);
    this.context=context;
}

لطفا لایه جدید را ایجاد کنید سپس نام لایه را layout_message قرار بدین.
در قسمت دیزاین Xml لایه سورس کد زیر را که شامل آبجکت هایی که در تصویر هست ایجاد کنید :
آموزش ایجاد کردن Dialog Android Studio دیالوگ

سورس کد قسمت بالا :

<?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); لایه را معرفی می کنیم.

حال اگر قرار هست دکمه را کست کنیم مثل یک اکتیویتی برخورد می کنیم و تمام موارد مثل یک اکتیویتی هست . طبق تصاویر زیر :

Dialog Android Studio

 

سورس کد کامل کلاس دیالوگ :

/**
 * 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

خانه اندروید منبع آموزش : خانه اندروید

درباره نویسنده

جواد محمدی هستم بنیان‌گذار سایت خانه اندروید در خدمتون هستیم با آموزش و مفاهیم برنامه نویسی اندروید-نزدیک به 10 سال هست در حوزه برنامه نویسی فعالیت می کنم. مسلط به kotlin,java,flutter,php هستم . در خانه اندروید دانستی های خودم را در اختیار تمامی علاقمندان به برنامه نویسی قرار میدم.تشکر از اینکه خانه اندرورید رو دنبال می کنید.

قبل از ارسال دیدگاه

  • قبل از ارسال دیدگاه: لطفا دیدگاه خودتون رو فقط در مورد این مطلب بنویسید.سپاسگزارم.

    دیدگاه های طولانی نادیده گرفته می شوند لذا دیدگاه خودتان را در دو خط خلاصه کنید.

    دیدگاه های که شامل توهین یا متن توهین آمیز اصلا تایید نمی شود.

    به دیدگاه های بی نام و نشان که ایمیل فیک و نام فیک وارد می کنند پاسخ داده نمی شود

17 دیدگاه

  1. مرتضی گفت:

    عالی و ساده و مفید بود.
    فقط یک سوال؟؟
    اگر برای ایتم های ریسایکلر ویو بخواهیم دیالوگ تعریف کنیم باید چیکار کنیم؟؟؟

    • سلام دوست عزیز لطفا دارین
      دقت کنید میتوانید به جای context یک اکتیویتی پاس بدین و برای دیالوگ recyclerview استفاده کنید. هم چنین دقت کنید باید actiivty رو از طریق adapter recyclerview بفرستین.
      با احترام.

  2. ANA گفت:

    سلام ممنون بخاطر اینکه وقت گذاشتید و این اموزش مفید رو تهیه کردید

  3. سینا گفت:

    سلام این فیلم دانبود نمیشه باید چکار کرد؟؟؟

  4. سهیل گفت:

    سلام
    ممنون عالی بود

  5. ستایش گفت:

    سلام ممنون از آموزشتون من می خواستم بدونم کد مربوط به خطا که در کادر مشکی رنگ می گویید نام خود را وارد کنید چیست ؟

    • Admin گفت:

      سلام و احترام خدمت شما
      معمولا نام شبیه ساز رو می خواهد برای نام گذاری بهتره با توجه به api یک نام براش در نظر بگیرن.
      به عنوان مثال api 17
      تا بعدها به عنوان تست و ارزیابی متوجه بشین که کدوم شبیه ساز رو می خواهین اجرا بگیرن یا بهتره بگیم کدوم api
      بازم مشکلی داشتین لطفا در تلگرام مطرح کنید.
      با احترام.

  6. آنا گفت:

    سلام روزتون بخیر. من recycleviewای را داخل فرگمنت ایجاد کرده ام حال میخواهم با زدن روی آیتم های موجود در recyclerviewدیالوگی برای من باز شود که توضیحاتی درمورد آن آیتم داخلش قرار گرفته باشد‌. خیلی ممنونم ازشما.

    • Admin گفت:

      سلام خدمت شما
      دوست گرامی باید در بخش onclicklistner مربوط به adapter recyclerview بنوسین. و کافی کلاس دیالوگ رو فراخوانی کنید .
      توی کانال تلگرام در این مورد فیلم اموزشی هست که وقتی روی ایتم ها کلیک کردین یک عملی رو انجام بده توی recyclerview
      لینک فیلم آموزشی کانال تلگرام خانه اندروید
      https://t.me/homeandroid_ir/558
      موفق باشین.
      با احترام.

  7. عیسی گفت:

    سلام . پارت ۱ از حالت فشرده خارج نمیشه رمز هم درست میزنم.!

  8. سجاد گفت:

    ۴۰۴ – File or directory not found.
    The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.
    سلام متاسفانه با این ارور هنگام دانلود مواجه میشم لطفا برسی کنید قادر به دانلود نمیباشم

  9. nima گفت:

    سلام ممنون بابت توضیحات عالی .
    لطفا لینک دانلود رو چک کنید .!!!!!!!!!