/ Dialogs

Android Library for showing Material Dialog with little customization

Android Library for showing Material Dialog with little customization

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();

GitHub