DroidDialog
This is an Android Library for showing Material Dialog with little customization with icons, colors, divider line.
Example is available in app module.
Download
Gradle dependency:
- Add the following to your project level build.gradle:
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
- Add this to your app build.gradle:
dependencies {
compile 'com.github.droidbyme:DroidDialog:c6decc7167'
}
Usage
- Create Builder Pattern for default Dialog.
Default Dialog has "Title" as dialog title, "Content Description" as content, "Yes" & "No" buttons.
new DroidDialog.Builder(context)
.show();
- Add Icon
.icon(int icon)
new DroidDialog.Builder(context)
.icon(R.drawable.ic_action_tick)
.show();
- Add Title
.title(String title)
new DroidDialog.Builder(context)
.icon(R.drawable.ic_action_tick)
.title("All Well!")
.show();
- Add Content
.content(String content)
new DroidDialog.Builder(context)
.icon(R.drawable.ic_action_tick)
.title("All Well!")
.content(getString(R.string.short_text))
.show();
- Cancelable and CancelableTouchOutside
.cancelable(boolean isCancelable, boolean isCancelableTouchOutside)
default : .cancelable(true, false)
new DroidDialog.Builder(context)
.icon(R.drawable.ic_action_tick)
.title("All Well!")
.content(getString(R.string.short_text))
.cancelable(true, false)
.show();
- Add buttons and click event
.positiveButton(String positiveText, onPositiveListener onPositiveListener)
.negativeButton(String negativeText, onNegativeListener onNegativeListener)
.neutralButton(String neutralText, onNeutralListener onNeutralListener)
new DroidDialog.Builder(context)
.icon(R.drawable.ic_action_tick)
.title("All Well!")
.content(getString(R.string.short_text))
.cancelable(true, true)
.positiveButton("OK", new DroidDialog.onPositiveListener() {
@Override
public void onPositive(Dialog droidDialog) {
Toast.makeText(context, "YES", Toast.LENGTH_SHORT).show();
}
})
.negativeButton("NO", new DroidDialog.onNegativeListener() {
@Override
public void onNegative(Dialog droidDialog) {
Toast.makeText(context, "NO", Toast.LENGTH_SHORT).show();
}
})
.neutralButton("DISMISS", new DroidDialog.onNeutralListener() {
@Override
public void onNeutral(Dialog droidDialog) {
Toast.makeText(context, "DISMISS", Toast.LENGTH_SHORT).show();
}
})
.show();
- Add custom font from .ttf. Put your .ttf file at assets\fonts. Font will apply everywhere title, content, buttons
.typeface(String typeface)
new DroidDialog.Builder(context)
.icon(R.drawable.ic_action_tick)
.title("All Well!")
.content(getString(R.string.short_text))
.cancelable(true, true)
.positiveButton("OK", new DroidDialog.onPositiveListener() {
@Override
public void onPositive(Dialog droidDialog) {
Toast.makeText(context, "YES", Toast.LENGTH_SHORT).show();
}
})
.negativeButton("No", new DroidDialog.onNegativeListener() {
@Override
public void onNegative(Dialog droidDialog) {
}
})
.neutralButton("Neutral", new DroidDialog.onNeutralListener() {
@Override
public void onNeutral(Dialog droidDialog) {
}
})
.typeface("Roboto.ttf")
.show();
- Add animation while appear and disappearing dialog. 8 Types of animation is defined in
AnimationUtils
class..animation(int animType)
new DroidDialog.Builder(context)
.icon(R.drawable.ic_action_tick)
.title("All Well!")
.content(getString(R.string.short_text))
.cancelable(true, true)
.positiveButton("OK", new DroidDialog.onPositiveListener() {
@Override
public void onPositive(Dialog droidDialog) {
Toast.makeText(context, "YES", Toast.LENGTH_SHORT).show();
}
})
.negativeButton("No", new DroidDialog.onNegativeListener() {
@Override
public void onNegative(Dialog droidDialog) {
}
})
.neutralButton("Neutral", new DroidDialog.onNeutralListener() {
@Override
public void onNeutral(Dialog droidDialog) {
}
})
.typeface("regular.ttf")
.animation(AnimUtils.AnimFadeInOut)
.show();
- Customized Color
.color(int titleBgColor, int iconTintColor, int buttonTextColor)
default : .color(ContextCompat.getColor(context, R.color.indigo), ContextCompat.getColor(context, R.color.white), ContextCompat.getColor(context, R.color.dark_indigo))
new DroidDialog.Builder(context)
.icon(R.drawable.ic_action_tick)
.title("All Well!")
.content(getString(R.string.short_text))
.cancelable(true, true)
.positiveButton("OK", new DroidDialog.onPositiveListener() {
@Override
public void onPositive(Dialog droidDialog) {
Toast.makeText(context, "YES", Toast.LENGTH_SHORT).show();
}
})
.negativeButton("No", new DroidDialog.onNegativeListener() {
@Override
public void onNegative(Dialog droidDialog) {
}
})
.neutralButton("Neutral", new DroidDialog.onNeutralListener() {
@Override
public void onNeutral(Dialog droidDialog) {
}
})
.typeface("regular.ttf")
.animation(AnimUtils.AnimFadeInOut)
.color(ContextCompat.getColor(context, R.color.indigo), ContextCompat.getColor(context, R.color.white),
ContextCompat.getColor(context, R.color.dark_indigo))
.show();
- Divider between topbar and title. If isDivider true then dividerColor is as params, if false then its negligible
.divider(boolean isDivider, int dividerColor)
default : .divider(false, ContextCompat.getColor(context, R.color.orange))
new DroidDialog.Builder(context)
.icon(R.drawable.ic_action_tick)
.title("All Well!")
.content(getString(R.string.short_text))
.cancelable(true, true)
.positiveButton("OK", new DroidDialog.onPositiveListener() {
@Override
public void onPositive(Dialog droidDialog) {
Toast.makeText(context, "YES", Toast.LENGTH_SHORT).show();
}
})
.negativeButton("No", new DroidDialog.onNegativeListener() {
@Override
public void onNegative(Dialog droidDialog) {
}
})
.neutralButton("Neutral", new DroidDialog.onNeutralListener() {
@Override
public void onNeutral(Dialog droidDialog) {
}
})
.typeface("regular.ttf")
.animation(AnimUtils.AnimFadeInOut)
.color(ContextCompat.getColor(context, R.color.indigo), ContextCompat.getColor(context, R.color.white),
ContextCompat.getColor(context, R.color.dark_indigo))
.divider(true, ContextCompat.getColor(context, R.color.orange))
.show();
- Dismiss Droid Dialog
.dismiss()
DroidDialog dialog = new DroidDialog.Builder(context)
.icon(R.drawable.ic_action_tick)
.title("All Well!")
.content(getString(R.string.short_text))
.show();
dialog.dismiss();