CustomizableDialog

Lightweight library that allows you to use a Customizable Dialog instead of the boring and predefined AlertDialogs

Example Designs

errorv2

questionv2

warningv2

infov2

Add to the project

Step 1. Add it in your settings.gradle at the end of repositories:

maven { url ‘https://jitpack.io‘ }

image

Step 2. Add the dependency

implementation 'com.github.cnovaezDev:CustomizableDialog:1.0.1'

Example of use

 
 showGenericDialog(CustomizableDialogItem(
                    title = "App finished loading", //Title of the dialog
                    content = "All the data is ready to be used!", //Content of the dialog
                    cancelBtnLabel = "Nop", // Label of the cancel button
                    acceptBtnLabel = "Understood", //Label of the accept button
                    selectedMode = GenericModeType.info_type, //Predefined mode to use with design defined by default, optional and customizable.
                    twoButtons = true //Quantity of buttons to display, depending of the type of message that you want to display, is true by default.
                ),
                object : OnInteractionSelectedListener {
                    override fun onAccept(result: Any?) {
                        Toast.makeText(this@MainActivity, "Accept Button", Toast.LENGTH_LONG).show()
                        //Action to perform in case of the user pressing accept button
                    }

                    override fun onCancel(result: Any?) {
                        Toast.makeText(this@MainActivity, "Cancel Button", Toast.LENGTH_LONG).show()
                        //Action to perform in case of the user pressing the cancel button

                    }
                })

All the properties

CustomizableDialogItem(
                    title = "App finished loading", //Title of the dialog
                    content = "All the data is ready to be used!", //Content of the dialog
                    cancelBtnLabel = "Nop", // Label of the cancel button
                    acceptBtnLabel = "Understood", //Label of the accept button
                    selectedMode = GenericModeType.info_type, //Predefined mode to use with design defined by default, optional and customizable.
                    twoButtons = true, //Quantity of buttons to display, depending of the type of message that you want to display, is true by default.
                     acceptBtnCustomColor = R.color.blue, // Accept button color
                    cancelBtnCustomColor = R.color.red, // Cancel button color
                    titleTextColor = R.color.white, //Title text color
                    contentTextColor = R.color.black, //Content text color
                    customCardHeaderBackgroundColor = R.color.green, //Card header background color
                    image = GenericImageType.question_pic, // Predefine pics to choose from
                    customImage = R.drawable.info_pic, // A custom pic to be used, if especified the previous image property is ignored.
                )

Requirements

  • kotlin version 1.6
  • min sdk 23

GitHub

View Github