An open API service indexing awesome lists of open source software.

https://github.com/taimoorsultani/android-sweetalert2

SweetAlert for Android, a beautiful and clever alert dialog
https://github.com/taimoorsultani/android-sweetalert2

alert-dialog alert-dialogs android android-alert android-sweetalert loading loading-dialog sweetalert sweetalert-for-android sweetalert2

Last synced: 3 months ago
JSON representation

SweetAlert for Android, a beautiful and clever alert dialog

Awesome Lists containing this project

README

          

# 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 Sweetalert is to add the library as aar dependency to your build.

**Maven**



jitpack.io
https://jitpack.io



com.github.taimoorsultani
android-sweetalert2
2.0.2

**Gradle**

allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}

dependencies {
implementation 'com.github.taimoorsultani:android-sweetalert2:2.0.2'
}

## Usage

Show material progress

Sweetalert pDialog = new Sweetalert(this, Sweetalert.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 **Sweetalert.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 Sweetalert(this)
.setTitleText("Here's a message!")
.show();

A title with a text under:

new Sweetalert(this)
.setTitleText("Here's a message!")
.setContentText("It's pretty, isn't it?")
.show();

A error message:

new Sweetalert(this, Sweetalert.ERROR_TYPE)
.setTitleText("Oops...")
.setContentText("Something went wrong!")
.show();

A warning message:

new Sweetalert(this, Sweetalert.WARNING_TYPE)
.setTitleText("Are you sure?")
.setContentText("Won't be able to recover this file!")
.setConfirmText("Yes,delete it!")
.show();

A success message:

new Sweetalert(this, Sweetalert.SUCCESS_TYPE)
.setTitleText("Good job!")
.setContentText("You clicked the button!")
.show();

A message with a custom icon:

new Sweetalert(this, Sweetalert.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 Sweetalert(this, Sweetalert.NORMAL_TYPE)
.setTitleText("Custom view")
.setConfirmText("Ok")
.setCustomView(editText)
.show();

Different ways to bind the listener to button:

new Sweetalert(this, Sweetalert.WARNING_TYPE)
.setTitleText("Are you sure?")
.setContentText("Won't be able to recover this file!")
.setConfirmText("Yes,delete it!")
.setConfirmClickListener(new Sweetalert.OnSweetClickListener() {
@Override
public void onClick(Sweetalert sDialog) {
sDialog.dismissWithAnimation();
}
})
.setCancelButton("Cancel", new Sweetalert.OnSweetClickListener() {
@Override
public void onClick(Sweetalert sDialog) {
sDialog.dismissWithAnimation();
}
})
.show();

Disable button

final Sweetalert disabledBtnDialog = new Sweetalert(this, Sweetalert.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(Sweetalert.BUTTON_CONFIRM).setEnabled(false);
}
});
disabledBtnDialog.show();

**Change** the dialog style upon confirming:

new Sweetalert(this, Sweetalert.WARNING_TYPE)
.setTitleText("Are you sure?")
.setContentText("Won't be able to recover this file!")
.setConfirmText("Yes,delete it!")
.setConfirmClickListener(new Sweetalert.OnSweetClickListener() {
@Override
public void onClick(Sweetalert sDialog) {
sDialog
.setTitleText("Deleted!")
.setContentText("Your imaginary file has been deleted!")
.setConfirmText("OK")
.setConfirmClickListener(null)
.changeAlertType(Sweetalert.SUCCESS_TYPE);
}
})
.show();

[more android tech shares: pedant.cn](http://www.pedant.cn)