آموزش ساخت دیالوگ در اندروید استودیو | انواع دیالوگ زیبا و حرفه ای

ساخت دیالوگ استاندارد دوست داشتنی :

ساخت دیالوگ در اندروید استودیو | انواع دیالوگ
ساخت دیالوگ در اندروید استودیوساخت دیالوگ در اندروید استودیو :
شما می توانید دکمه مثبت ، منفی و خنثی را اینجا تنظیم کنید. کاربران را می توان برای هر دکمه به صورت جداگانه تنظیم کرد ، یکی برای هر سه یا اصلاً تنظیم نشده است (onClick روی هر دکمه دکمه فقط رد می شود).

new LovelyStandardDialog(this, LovelyStandardDialog.ButtonLayout.VERTICAL)
      .setTopColorRes(R.color.indigo)
      .setButtonsColorRes(R.color.darkDeepOrange)
      .setIcon(R.drawable.ic_star_border_white_36dp)
      .setTitle(R.string.rate_title)
      .setMessage(R.string.rate_message)
      .setPositiveButton(android.R.string.ok, new View.OnClickListener() {
          @Override
          public void onClick(View v) {
              Toast.makeText(context, "positive clicked", Toast.LENGTH_SHORT).show();
          }
      })
      .setNegativeButton(android.R.string.no, null)
      .show();

LovelyI nfo Dialog

دیالوگ برای نمایش اطلاعات به کاربر ، این محتوا قابل پیمایش است. این دیالوگ گزینه ای دارد که کاربر برای مثال این گزینه رو بزنه دیگه دیگه دیالوگ نشون داده نمیشه به عنوان مثال هنگام نمایش برخی از آموزش ها می تواند مفید باشد.برای مثال دیده ای بعضی از برنامه ها هر بار که وارد برنامه میشوید پیام خوش آمد گویی میدهد ، یک گزینه ای هم هست به نام دیگر این پیام رو نشون نده اگه اون رو بزنید دیگه دیالوگ نشون داده نمیشه .

new LovelyInfoDialog(this)
      .setTopColorRes(R.color.darkBlueGrey)
      .setIcon(R.drawable.ic_info_outline_white_36dp)
      //This will add Don't show again checkbox to the dialog. You can pass any ID as argument
      .setNotShowAgainOptionEnabled(0)
      .setNotShowAgainOptionChecked(true)
      .setTitle(R.string.info_title)
      .setMessage(R.string.info_message)
      .show();

Lovely Choice Dialog
در اینجا می توانید از دیالوگ های یک گزینه یا چند گزینه استفاده کنید. در صورت گفتگوی چند گزینه ای – دکمه تأیید ظاهر می شود. می توانید مواردی را به عنوان آرایه ، لیست (.toString () برای نمایش آنها به عنوان موارد متنی ساده استفاده کنید) یا آداپتور سفارشی خود را ارائه دهید.برای مثال با لمس یک دکمه دیالوگی باز میشود : آیا شما به همراه غذای خود نوشیدنی میخواهید ؟ یا مثلا لطفا نوشیدنی خود را انتخاب کنید . حال شما در اون دیالوگ 5 گزینه دارید که باید یکی یا چند گزینه را انتخاب کنید

ArrayAdapter<DonationOption> adapter = new DonationAdapter(this, loadDonationOptions());
new LovelyChoiceDialog(this)
      .setTopColorRes(R.color.darkGreen)
      .setTitle(R.string.donate_title)
      .setIcon(R.drawable.ic_local_atm_white_36dp)
      .setMessage(R.string.donate_message)
      .setItems(adapter, new LovelyChoiceDialog.OnItemSelectedListener<DonationOption>() {
           @Override
           public void onItemSelected(int position, DonationOption item) {
               Toast.makeText(context, getString(R.string.you_donated, item.amount),Toast.LENGTH_SHORT).show();
           }
      })
      .show();

 

با قابلیت انتخاب چندگانه

String[] items = getResources().getStringArray(R.array.food);
new LovelyChoiceDialog(this, R.style.CheckBoxTintTheme)
      .setTopColorRes(R.color.darkRed)
      .setTitle(R.string.order_food_title)
      .setIcon(R.drawable.ic_food_white_36dp)
      .setItemsMultiChoice(items, new LovelyChoiceDialog.OnItemsSelectedListener<String>() {
          @Override
          public void onItemsSelected(List<Integer> positions, List<String> items) {
              Toast.makeText(MainActivity.this,
                      getString(R.string.you_ordered, TextUtils.join("\n", items)),
                      Toast.LENGTH_SHORT)
                      .show();
          }
      })
      .setConfirmButtonText(R.string.confirm)
      .show();

ساخت دیالوگ در اندروید استودیو  Lovely Text Input Dialog

دیالوگ با دکمه EditText و تأیید. می توانید شیء TextFilter را برای مشخص کردن ورودی قابل قبول تنظیم کنید.

new LovelyTextInputDialog(this, R.style.EditTextTintTheme)
      .setTopColorRes(R.color.darkDeepOrange)
      .setTitle(R.string.text_input_title)
      .setMessage(R.string.text_input_message)
      .setIcon(R.drawable.ic_assignment_white_36dp)
      .setInputFilter(R.string.text_input_error_message, new LovelyTextInputDialog.TextFilter() {
          @Override
          public boolean check(String text) {
              return text.matches("\\w+");
          }
      })
      .setConfirmButton(android.R.string.ok, new LovelyTextInputDialog.OnTextInputConfirmListener() {
           @Override
           public void onTextInputConfirmed(String text) {
              Toast.makeText(MainActivity.this, text, Toast.LENGTH_SHORT).show();
           }
      })
      .show();

Lovely Progress Dialog
دیالوگ استاندارد اندروید ProgressBar. به طور پیش فرض قابل فسخ نیست.

new LovelyProgressDialog(this)
      .setIcon(R.drawable.ic_cast_connected_white_36dp)
      .setTitle(R.string.connecting_to_server)
      .setTopColorRes(R.color.teal)
      .show();

Lovely Custom Dialog
در اینجا می توانید نمای خود را برای نمایش منتقل کنید. عنوان ، پیام ، هدر رنگ و نماد همچنان برای استفاده در دسترس خواهد بود. می توانید تنظیم کننده ها ، کلیک شنوندگان و نمونه گیرندگان صرفه جویی در حالت را ارائه دهید.

new LovelyCustomDialog(this)
      .setView(R.layout.item_donate_option)
      .setTopColorRes(R.color.darkDeepOrange)
      .setTitle(R.string.text_input_title)
      .setMessage(R.string.text_input_message)
      .setIcon(R.drawable.ic_assignment_white_36dp)
      .configureView(/* ... */)
      .setListener(R.id.ld_btn_yes, /* ... */)
      .setInstanceStateManager(/* ... */)
      .show();

پیکربندی تغییر می کند
یک کلاس LovelySaveStateHandler وجود دارد که به شما کمک می کند تا اطلاعاتی را که درباره گفتگو نشان داده شده است (در صورت وجود) بین تغییرات پیکربندی ، ادامه دهید. هر گفتگو (به جز LovelyCustomDialog) می داند که چگونه حالت خود را ذخیره و بازیابی کند. برای مثال در مورد نحوه مقابله با تغییرات پیکربندی ، به نمونه پروژه مراجعه کنید.
کنترل های رنگی
اگر می خواهید CheckBoxes ، EditTexts و غیره از رنگ های مختلفی برخوردار باشند – آنچه شما نیاز دارید تعریف تم در xml است

<style name="TintTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
      <item name="colorAccent">@color/colorToTintWith</item>
</style>

و آن را به عنوان استدلال دوم به سازنده دیالوگ منتقل کنید

new LovelyTextInputDialog(this, R.style.TintTheme)

سازگاری دیالوگ های استاندارد
اگر نمی خواهید بازنویسی کنید

Dialog.OnClickListener

پیاده سازی ، شما به سادگی می توانید استفاده کنید

LovalyDialogCompat.wrap(yourImplementation)

برای انتقال آن به یکی از

.setPositiveButton(...)
.setNegativeButton(...)

تموم شد انشااله موفق باشی.

مطلب مفیدی برای شما بود ؟ پس به اشتراک بگذارید برای دوستانتان

codesrcReza

109 مطلب منتشر شده

درباره این مطلب نظر دهید !