Skip to content

🌈 A Beautiful Dialog Library for Android πŸ—¨οΈ

License

Notifications You must be signed in to change notification settings

iamageo/BeautifulDialog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

97 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Beautiful Dialog


πŸ—¨οΈ Beautiful Dialog is a Simple and Beautiful custom dialog.


License API repo size
Code quality Build Build
forks stars

Demonstration

Star history 🌟

Star History Chart

Including in your project

Gradle

Add below codes to your root build.gradle file (not your module build.gradle file).

allprojects {
  repositories {
    ...
    maven { url 'https://jitpack.io' }
  }
}

For Ktx

allprojects {
  repositories {
    ...
     maven { url = uri("https://www.jitpack.io" ) }
  }
}

And add a dependency code to your module's build.gradle file.

dependencies {
        implementation 'com.github.iamageo:beautiful-dialog:1.0.8'
}

Basic Usage

Add in you Activity file.

BeautifulDialog.build(this)
    .title("Title success", titleColor = R.color.black)
    .description("Description success",  color = R.color.black)
    .type(type= BeautifulDialog.TYPE.SUCCESS)
    .position(BeautifulDialog.POSITIONS.CENTER)
    .onPositive(text = "Confirm", shouldIDismissOnClick = false) {
        Toast.makeText(this, "confirm", Toast.LENGTH_SHORT).show()
    }
    .onNegative(text = "Cancel") {
        Toast.makeText(this, "cancel", Toast.LENGTH_SHORT).show()
    }

How to hide Negative Button

just call in build:

.hideNegativeButton(hide = true)

How to change animation πŸ“Œ

πŸ“Œ Note: your icon can be of type iconRes (Int)

if you call .dialogAnimation() don't call .type()

.dialogAnimation(iconRes)

how not to cancel dialog on click ❌

just call property shouldIDismissOnClick in onPositive or onNegative:

.onPositive(text = "Confirm", shouldIDismissOnClick = false) {
        Toast.makeText(this, "click in positive button", Toast.LENGTH_SHORT).show()
}

Type βœ”οΈ ℹ️ ⚠ ❌

We can customize the type of Dialog.

TYPE.SUCCESS
TYPE.INFO
TYPE.ALERT
TYPE.ERROR
TYPE.NONE
SUCCESS INFO ALERT ERROR NONE

Positioning πŸ“±

We can customize the Position of Dialog.

POSITIONS.TOP
POSITIONS.CENTER
POSITIONS.BOTTOM

By default, the Position is CENTER.

TOP CENTER BOTTOM

Hacktoberfest 2022

This project has been submitted for hacktoberfest 2022. See more here

Beautiful Dialog Attributes

Attributes Type Default Description
title String none Title of you dialog.
description String none Description of you dialog.
position POSITIONS.BOTTOM, POSITIONS.CENTER POSITIONS.BOTTOM Indicates the position of the dialog.
type TYPE.SUCCESS, TYPE.INFO, TYPE.ALERT, TYPE.ERROR or TYPE.NONE success Indicates the dialog type, each type contains an icon.
onPositive onClick none Button positive click.
onNegative onClick none Button negative click.
hideNegativeButton Boolean false hide negative button.
cancelable Boolean false set if Beautiful is cancelable on click in screen ❌.
shouldIDismissOnClick boolean true set if dialog dismiss on click in onPositive or onNegative.
dialogIcon Int, drawable none set dialog icon.

Attributes of Positive and Negative Buttons

Attributes Type Default Description
text String none Text of button
fontStyle typeface default Fontstyle of button
buttonBackroundColor Int black Backround resource of button
textColor Int gray Text color of button
shouldIDismissOnClick Boolean none Cancel dialog onclick if true
action Unit none what to do

Attributes of Title And Description

Attributes Type Default Description
text String none Text
fontStyle typeface default Fontstyle
fontSize Int 14 Change font size
color Int gray Text Color

License

    Copyright 2022 Geovani Amaral

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.