Many thanks to blennerSilva.
This library is a set of simple wrapper classes that was created to help you easily make SCLA like dialogs.
add jitpack to your project
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
compile on your dependencies
dependencies {
compile 'com.github.eminsr:AwesomeDialog:master-SNAPSHOT'
}
Each Dialog has its own top color, icon, title and message + its own featured. There are 6 types of dialogs available:
- AwesomeInfoDialog
- AwesomeErrorDialog
- AwesomeProgressDialog
- AwesomeWarningDialog
- AwesomeNoticeDialog
- AwesomeSuccessDialog
- AwesomeCustomDialog
- AwesomeWebDialog
- AwesomePickerDialog
You can set posite and negative buttons here. Closures can be individually set for each button (onClick of any button with closure the button will be dismissed).
new AwesomeInfoDialog(this)
.setTitle(R.string.app_name)
.setMessage(R.string.app_name)
.setColoredCircle(R.color.dialogInfoBackgroundColor)
.setDialogIconAndColor(R.drawable.ic_dialog_info, R.color.white)
.setCancelable(true)
.setPositiveButtonText(getString(R.string.dialog_yes_button))
.setPositiveButtonbackgroundColor(R.color.dialogInfoBackgroundColor)
.setPositiveButtonTextColor(R.color.white)
.setNegativeButtonText(getString(R.string.dialog_no_button))
.setNegativeButtonbackgroundColor(R.color.dialogInfoBackgroundColor)
.setNegativeButtonTextColor(R.color.white)
.setPositiveButtonClick(new Closure() {
@Override
public void exec() {
//click
}
})
.setNegativeButtonClick(new Closure() {
@Override
public void exec() {
//click
}
})
.show();
Display an Error dialog with one button
new AwesomeErrorDialog(this)
.setTitle(R.string.app_name)
.setMessage(R.string.app_name)
.setColoredCircle(R.color.dialogErrorBackgroundColor)
.setDialogIconAndColor(R.drawable.ic_dialog_error, R.color.white)
.setCancelable(true).setButtonText(getString(R.string.dialog_ok_button))
.setButtonBackgroundColor(R.color.dialogErrorBackgroundColor)
.setButtonText(getString(R.string.dialog_ok_button))
.setErrorButtonClick(new Closure() {
@Override
public void exec() {
// click
}
})
.show();
}
Display a Progress Dialog
new AwesomeInfoDialog(this)
.setTitle(R.string.app_name)
.setMessage(R.string.app_name)
.setColoredCircle(R.color.dialogInfoBackgroundColor)
.setDialogIconAndColor(R.drawable.ic_dialog_info, R.color.white)
.setCancelable(true)
.show();
Display Warning to user with or without button
new AwesomeWarningDialog(this)
.setTitle(R.string.app_name)
.setMessage(R.string.app_name)
.setColoredCircle(R.color.dialogWarningBackgroundColor)
.setDialogIconAndColor(R.drawable.ic_warning, R.color.white)
.setCancelable(true)
.setButtonText(getString(R.string.dialog_ok_button))
.setButtonBackgroundColor(R.color.dialogWarningBackgroundColor)
.setButtonText(getString(R.string.dialog_ok_button))
.setWarningButtonClick(new Closure() {
@Override
public void exec() {
// click
}
})
.show();
Display notice to user
new AwesomeNoticeDialog(this)
.setTitle(R.string.app_name)
.setMessage(R.string.app_name)
.setColoredCircle(R.color.dialogNoticeBackgroundColor)
.setDialogIconAndColor(R.drawable.ic_notice, R.color.white)
.setCancelable(true)
.setButtonText(getString(R.string.dialog_ok_button))
.setButtonBackgroundColor(R.color.dialogNoticeBackgroundColor)
.setButtonText(getString(R.string.dialog_ok_button))
.setNoticeButtonClick(new Closure() {
@Override
public void exec() {
// click
}
})
.show();
Displays a success message, with max of three buttons
new AwesomeSuccessDialog(this)
.setTitle(R.string.app_name)
.setMessage(R.string.app_name)
.setColoredCircle(R.color.dialogSuccessBackgroundColor)
.setDialogIconAndColor(R.drawable.ic_dialog_info, R.color.white)
.setCancelable(true)
.setPositiveButtonText(getString(R.string.dialog_yes_button))
.setPositiveButtonbackgroundColor(R.color.dialogSuccessBackgroundColor)
.setPositiveButtonTextColor(R.color.white)
.setNegativeButtonText(getString(R.string.dialog_no_button))
.setNegativeButtonbackgroundColor(R.color.dialogSuccessBackgroundColor)
.setNegativeButtonTextColor(R.color.white)
.setPositiveButtonClick(new Closure() {
@Override
public void exec() {
//click
}
})
.setNegativeButtonClick(new Closure() {
@Override
public void exec() {
//click
}
})
.show();
Displays a message, a textedit and max of three buttons
new AwesomeCustomDialog(this)
.setTitle(R.string.app_name)
.setMessage(R.string.app_name)
.setColoredCircle(R.color.dialogCustomBackgroundColor)
.setDialogIconAndColor(R.drawable.ic_dialog_info, R.color.white)
.setCancelable(true)
.setEditTextUnderlineColor(R.color.dialogCustomBackgroundColor)
.setEditTextColor(R.color.dialogCustomBackgroundColor)
.setCustomButtonText(getString(R.string.dialog_ok_button))
.setCustomButtonClick(new ClosureEdit() {
@Override
public Boolean exec(EditText editText) {
//click
return false;//return true; to hide the dialog
}
})
.setDoneButtonText(getString(R.string.dialog_done_button))
.setDoneButtonClick(new Closure() {
@Override
public void exec() {
//click
}
})
.show();
Displays a message that contains html tags and max of one button setMessage now accepts Spanned and you can set the max height of the textview that shows the message and make it scrollable.
new AwesomeWebDialog(this)
.setTitle(R.string.app_name)
.setMessage(R.string.app_name)
.setMessageMovementWithMaxHight(300)
.setCancelable(true)
.setColoredCircle(R.color.dialogWebBackgroundColor)
.setButtonText(getString(R.string.dialog_ok_button))
.setButtonBackgroundColor(R.color.dialogWebBackgroundColor)
.setWebButtonClick(new Closure() {
@Override
public void exec() {
}
})
.show();
Web icon: By Yannick
Displays an array of icons and their labels(@Nullable) You can set the max height of the images. onClick returns the current items index number.
new AwesomePickerDialog(this)
.setTitle(R.string.app_name)
.setMessage(R.string.app_name)
.setCancelable(true)
.setPickerContent(new int[]{R.drawable.emoji,R.drawable.emoji2}, new String[]{getString(R.string.dialog_yes_button),getString(R.string.dialog_no_button)})
.setPickerButtonText(getString(R.string.dialog_ok_button))
.setContentHeight(100)
.setBackButtonBackgroundColor(R.color.dialogPickerBackgroundColor)
.setForwardButtonBackgroundColor(R.color.dialogPickerBackgroundColor)
.setPickerButtonBackgroundColor(R.color.dialogPickerBackgroundColor)
.setColoredCircle(R.color.colorWhite)
.setDialogIconAndColor(R.drawable.ic_notice, R.color.white)
.setPickerButtonClick(new ClosurePicker() {
@Override
public void exec(int current) {
//click
}
})
.show();