Skip to content

Commit

Permalink
Feat: ReadME added, along with the preview
Browse files Browse the repository at this point in the history
  • Loading branch information
taimoorsultani committed Jun 18, 2021
1 parent 6851c21 commit ae8a3e8
Show file tree
Hide file tree
Showing 3 changed files with 224 additions and 0 deletions.
224 changes: 224 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -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:

<img src="https://cloud.githubusercontent.com/assets/10178982/24260517/c6f72da6-0ffc-11e7-9a16-67fea4010a34.jpg" width="30%"/>

<img src="https://user-images.githubusercontent.com/10178982/59605653-eee87d80-9117-11e9-9421-b116536c9388.png" width="30%"/>

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

<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependency>
<groupId>com.github.taimoorsultani</groupId>
<artifactId>android-sweetalert2</artifactId>
<version>1.0.0</version>
</dependency>

**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)
Binary file added play_progress.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added preview.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit ae8a3e8

Please sign in to comment.