diff --git a/README.md b/README.md index e69de29..176a669 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,224 @@ +# Sweet Alert Dialog + +SweetAlert for Android, a beautiful and clever alert dialog +Inspired by JavaScript [SweetAlert](https://sweetalert.js.org/guides/) + +### A very big thanks to + +- [pedant](https://github.com/pedant) +- [F0RIS](https://github.com/F0RIS) +- [nico2sh](https://github.com/nico2sh) +- [croccio](https://github.com/croccio) + +**The original project belongs to [pedant](https://github.com/pedant), can be viewed here [pedant/sweet-alert-dialog](https://github.com/pedant/sweet-alert-dialog).** + +**[F0RIS](https://github.com/F0RIS) also has added major contribution, which can be view here [F0RIS/sweet-alert-dialog](https://github.com/F0RIS/sweet-alert-dialog).** + +#### This is the most advanced and contemporary fork of the apparently dead project + +**Added:** + +- Ability to set custom view +- More convenient interface to bind listeners (like in AlertDialog) +- Third neutral button with own listener, colors, methods and etc. +- Ability to disable buttons +- Ability to set buttons stroke width +- Dark style of dialogs +- Ability to make dialogs without buttons +- Support of HTML tags +- Ability to set text size +- Ability to set buttons color + +Some screenshots of the new features: + + + + + +#### Known issues: + +- [ ] Bug with buttons height if custom view too big and need scrollview +- [ ] Buttons can handle only one line strings + +[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-Sweet%20Alert%20Dialog-brightgreen.svg?style=flat)](https://android-arsenal.com/details/1/1065) + +## Preview + +![image](https://github.com/taimoorsultani/android-sweetalert2/raw/main/preview.gif) + +## Setup + +The simplest way to use SweetAlertDialog is to add the library as aar dependency to your build. + +**Maven** + + + + jitpack.io + https://jitpack.io + + + + com.github.taimoorsultani + android-sweetalert2 + 1.0.0 + + +**Gradle** + + allprojects { + repositories { + maven { url 'https://jitpack.io' } + } + } + + dependencies { + implementation 'com.github.taimoorsultani:android-sweetalert2:1.0.0' + } + +## Usage + +Show material progress + + SweetAlertDialog pDialog = new SweetAlertDialog(this, SweetAlertDialog.PROGRESS_TYPE); + pDialog.getProgressHelper().setBarColor(Color.parseColor("#A5DC86")); + pDialog.setTitleText("Loading"); + pDialog.setCancelable(false); + pDialog.show(); + +![image](https://github.com/taimoorsultani/android-sweetalert2/raw/main/play_progress.gif) + +You can customize progress bar dynamically with materialish-progress methods via **SweetAlertDialog.getProgressHelper()**: + +- resetCount() +- isSpinning() +- spin() +- stopSpinning() +- getProgress() +- setProgress(float progress) +- setInstantProgress(float progress) +- getCircleRadius() +- setCircleRadius(int circleRadius) +- getBarWidth() +- setBarWidth(int barWidth) +- getBarColor() +- setBarColor(int barColor) +- getRimWidth() +- setRimWidth(int rimWidth) +- getRimColor() +- setRimColor(int rimColor) +- getSpinSpeed() +- setSpinSpeed(float spinSpeed) + +thanks to the project [materialish-progress](https://github.com/pnikosis/materialish-progress) and [@croccio](https://github.com/croccio) participation. + +more usages about progress, please see the sample. + +A basic message: + + new SweetAlertDialog(this) + .setTitleText("Here's a message!") + .show(); + +A title with a text under: + + new SweetAlertDialog(this) + .setTitleText("Here's a message!") + .setContentText("It's pretty, isn't it?") + .show(); + +A error message: + + new SweetAlertDialog(this, SweetAlertDialog.ERROR_TYPE) + .setTitleText("Oops...") + .setContentText("Something went wrong!") + .show(); + +A warning message: + + new SweetAlertDialog(this, SweetAlertDialog.WARNING_TYPE) + .setTitleText("Are you sure?") + .setContentText("Won't be able to recover this file!") + .setConfirmText("Yes,delete it!") + .show(); + +A success message: + + new SweetAlertDialog(this, SweetAlertDialog.SUCCESS_TYPE) + .setTitleText("Good job!") + .setContentText("You clicked the button!") + .show(); + +A message with a custom icon: + + new SweetAlertDialog(this, SweetAlertDialog.CUSTOM_IMAGE_TYPE) + .setTitleText("Sweet!") + .setContentText("Here's a custom image.") + .setCustomImage(R.drawable.custom_img) + .show(); + +A message with a custom view: + + final EditText editText = new EditText(this); + new SweetAlertDialog(this, SweetAlertDialog.NORMAL_TYPE) + .setTitleText("Custom view") + .setConfirmText("Ok") + .setCustomView(editText) + .show(); + +Different ways to bind the listener to button: + + new SweetAlertDialog(this, SweetAlertDialog.WARNING_TYPE) + .setTitleText("Are you sure?") + .setContentText("Won't be able to recover this file!") + .setConfirmText("Yes,delete it!") + .setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() { + @Override + public void onClick(SweetAlertDialog sDialog) { + sDialog.dismissWithAnimation(); + } + }) + .setCancelButton("Cancel", new SweetAlertDialog.OnSweetClickListener() { + @Override + public void onClick(SweetAlertDialog sDialog) { + sDialog.dismissWithAnimation(); + } + }) + .show(); + +Disable button + + final SweetAlertDialog disabledBtnDialog = new SweetAlertDialog(this, SweetAlertDialog.NORMAL_TYPE) + .setTitleText("Title") + .setContentText("Disabled button dialog") + .setConfirmText("Confirm") + .setCancelText("Cancel") + + disabledBtnDialog.setOnShowListener(new DialogInterface.OnShowListener() { + @Override + public void onShow(DialogInterface dialog) { + disabledBtnDialog.getButton(SweetAlertDialog.BUTTON_CONFIRM).setEnabled(false); + } + }); + disabledBtnDialog.show(); + +**Change** the dialog style upon confirming: + + new SweetAlertDialog(this, SweetAlertDialog.WARNING_TYPE) + .setTitleText("Are you sure?") + .setContentText("Won't be able to recover this file!") + .setConfirmText("Yes,delete it!") + .setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() { + @Override + public void onClick(SweetAlertDialog sDialog) { + sDialog + .setTitleText("Deleted!") + .setContentText("Your imaginary file has been deleted!") + .setConfirmText("OK") + .setConfirmClickListener(null) + .changeAlertType(SweetAlertDialog.SUCCESS_TYPE); + } + }) + .show(); + +[more android tech shares: pedant.cn](http://www.pedant.cn) diff --git a/play_progress.gif b/play_progress.gif new file mode 100644 index 0000000..1158c6e Binary files /dev/null and b/play_progress.gif differ diff --git a/preview.gif b/preview.gif new file mode 100644 index 0000000..2c0ec9d Binary files /dev/null and b/preview.gif differ