ورچر

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

آموزش متریال دیزاین - استفاده از آلرت دیالوگ ها post image

آموزش متریال دیزاین - استفاده از آلرت دیالوگ ها

تگ ها : آموزش متریال دیزاین,آموزش برنامه نویسی متریال دیزاین,استفاده از آلرت دیالوگ در اندروید,ایجاد دیالوگ در اندروید,استایل دادن دیالوگ در اندروید,دیالوگ متریال دیزاین در اندروید
آخرین ویرایش : 1395/5/29

براساس مستندات ارائه شده گوگل تعریف آلرت دیالوگ ها به این شکل می باشد.

Alerts are urgent interruptions, requiring acknowledgement, that inform the user about a situation.

 

نحوه افزودن

1- در فایل build.gradle آخرین نسخه کتابخانه appcompat را اضافه کنید.

dependencies {  
    compile 'com.android.support:appcompat-v7:X.X.X' // where X.X.X version
}

2- مطمئن بشید اکتیویتی که میسازید از android.support.v7.app.AppCompatActivity مشتق شده باشد.

public class MainActivity extends AppCompatActivity {  
    ...
}

3- برای ساخت دیالوگ از android.support.v7.app.alertdialog.builder استفاده کنید. همانند کد زیر

private void showLocationDialog() {  
    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); // ایجاد دیالوگ بیلدر
    builder.setTitle(getString(R.string.dialog_title));  // ست کردن عنوان دیالوگ
    builder.setMessage(getString(R.string.dialog_message)); // ست کردن متن دیالوگ

    String positiveText = getString(android.R.string.ok); // تعریف نوشته برای دکمه مثبت دیالوگ
    builder.setPositiveButton(positiveText, //تعریف دکمه مثبت دیالوگ با ست کردن نوشته و کلیک لیسنر
            new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            // positive button logic
        }
    });

    String negativeText = getString(android.R.string.cancel); // تعریف نوشته برای دکمه منفی دیالوگ
    builder.setNegativeButton(negativeText,//تعریف دکمه منفی دیالوگ با ست کردن نوشته و کلیک لیسنر
            new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            // negative button logic
        }
    });

    AlertDialog dialog = builder.create(); // ایجاد دیالوگ
    // display dialog
    dialog.show(); // نمایش دیالوگ
}

 

نحوه استایل دادن

1- یک فایل drawable.xml در فولدر drawable پروژه ایجاد کنید.

<?xml version="1.0" encoding="utf-8"?>  
<!-- From: support/v7/appcompat/res/drawable/abc_dialog_material_background_light.xml -->  
<inset xmlns:android="http://schemas.android.com/apk/res/android"  
    android:insetLeft="16dp"
    android:insetTop="16dp"
    android:insetRight="16dp"
    android:insetBottom="16dp">

    <shape android:shape="rectangle">
        <corners android:radius="2dp" />
        <solid android:color="@color/indigo" />
    </shape>

</inset> 

 

نکته : inset ها برای اعمال فاصله از اطراف در بک گراند ها استفاده میشود.

نکته 2 : فایل های xml در فولدر drawable برای ساخت بک گراند با شکل ها رو رنگ های مختلف به کار می روند. در حالت پیشرفته می توان بک گراند دکمه ها در حالت های مختلف را با این فایل ها تعریف کرد.

 

2- در فایل styles.xml پروژه یک استایل کاستوم تعریف کنید.

<style name="MyDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">  
    <!--buttons color-->
    <item name="colorAccent">@color/pink</item>
    <!--title and message color-->
    <item name="android:textColorPrimary">@android:color/white</item>
    <!--dialog background-->
    <item name="android:windowBackground">@drawable/background_dialog</item>
</style> 

3- استایل ایجاد شده را در AlertDialog.Builde به صورت پارامتر اعمال کنید.

AlertDialog.Builder builder =  
        new AlertDialog.Builder(this, R.style.MyDialogTheme);

 

سورس کد آموزش های متریال در گیت هاب به اشتراک گزاشته می شود.