Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/iamageo/beautifuldialog

🌈 A Beautiful Dialog Library for Android 🗨ī¸
https://github.com/iamageo/beautifuldialog

android android-library android-sdk android-studio android-ui custom-dialog dialog dialog-library example-library hacktobefest hacktoberfest-accepted icon kotlin kotlin-library materail-design showcase

Last synced: 5 days ago
JSON representation

🌈 A Beautiful Dialog Library for Android 🗨ī¸

Awesome Lists containing this project

README

        

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](https://api.star-history.com/svg?repos=iamageo/BeautifulDialog&type=Timeline)](https://star-history.com/#iamageo/BeautifulDialog&Timeline)

## Including in your project
[![](https://jitpack.io/v/iamageo/BeautifulDialog.svg)](https://jitpack.io/#iamageo/BeautifulDialog)

### Gradle
Add below codes to your **root** `build.gradle` file (not your module build.gradle file).
```gradle
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
```
For Ktx
```gradle
allprojects {
repositories {
...
maven { url = uri("https://www.jitpack.io" ) }
}
}
```

And add a dependency code to your **module**'s `build.gradle` file.
```gradle
dependencies {
implementation 'com.github.iamageo:beautiful-dialog:1.0.8'
}
```

## Basic Usage
Add in you Activity file.

```kotlin
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:
```kotlin
.hideNegativeButton(hide = true)
```
## How to change animation 📌
📌 Note: your icon can be of type iconRes (Int)

if you call .dialogAnimation() don't call .type()
```kotlin
.dialogAnimation(iconRes)
```

## how not to cancel dialog on click ❌
just call property shouldIDismissOnClick in onPositive or onNegative:
```kotlin
.onPositive(text = "Confirm", shouldIDismissOnClick = false) {
Toast.makeText(this, "click in positive button", Toast.LENGTH_SHORT).show()
}
```

## Type ✔ī¸ ℹī¸ ⚠ ❌
We can customize the type of Dialog.
```kotlin
TYPE.SUCCESS
TYPE.INFO
TYPE.ALERT
TYPE.ERROR
TYPE.NONE
```

|SUCCESS|INFO| ALERT |ERROR|NONE|
|:---------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------:| :---------------------------------------------------------------------------------------------------------------------------------------------:|
| | | | | |

## Positioning 📱
We can customize the Position of Dialog.
```kotlin
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](https://hacktoberfest.com/)

## 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.
```