{"id":24482481,"url":"https://github.com/iamageo/beautifuldialog","last_synced_at":"2025-07-31T14:35:19.712Z","repository":{"id":42223428,"uuid":"479791812","full_name":"iamageo/BeautifulDialog","owner":"iamageo","description":"🌈 A Beautiful Dialog Library for Android 🗨️","archived":false,"fork":false,"pushed_at":"2025-03-24T01:06:09.000Z","size":234,"stargazers_count":41,"open_issues_count":5,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-27T07:47:51.678Z","etag":null,"topics":["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"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iamageo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-09T17:06:49.000Z","updated_at":"2025-02-17T00:45:21.000Z","dependencies_parsed_at":"2024-04-22T02:42:54.765Z","dependency_job_id":"29456c67-8104-4a34-a9d0-c4f54d2d1a9a","html_url":"https://github.com/iamageo/BeautifulDialog","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamageo%2FBeautifulDialog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamageo%2FBeautifulDialog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamageo%2FBeautifulDialog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamageo%2FBeautifulDialog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iamageo","download_url":"https://codeload.github.com/iamageo/BeautifulDialog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248747427,"owners_count":21155448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2025-01-21T12:13:55.890Z","updated_at":"2025-04-13T16:43:10.219Z","avatar_url":"https://github.com/iamageo.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eBeautiful Dialog\u003c/h1\u003e\u003cbr/\u003e\n\u003cp align=\"center\"\u003e \n🗨️ Beautiful Dialog is a Simple and Beautiful custom dialog.\n\u003c/p\u003e\n\u003cbr/\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://opensource.org/licenses/Apache-2.0\"\u003e\u003cimg alt=\"License\" src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://android-arsenal.com/api?level=21\"\u003e\u003cimg alt=\"API\" src=\"https://img.shields.io/badge/API-21%2B-brightgreen.svg?style=flat\"/\u003e\u003c/a\u003e\n  \u003cimg alt=\"repo size\" src=\"https://img.shields.io/github/repo-size/iamageo/beautiful-dialog\"/\u003e\n  \u003cbr/\u003e\n    \u003cimg alt=\"forks\" src=\"https://img.shields.io/github/forks/iamageo/beautiful-dialog?style=social\"/\u003e\n    \u003cimg alt=\"stars\" src=\"https://img.shields.io/github/stars/iamageo/beautiful-dialog?style=social\"/\u003e\n\u003c/p\u003e\n\n[![Android CI](https://github.com/iamageo/BeautifulDialog/actions/workflows/android.yml/badge.svg)](https://github.com/iamageo/BeautifulDialog/actions/workflows/android.yml)\n[![Android Unit Test](https://github.com/iamageo/BeautifulDialog/actions/workflows/android_unit_test.yml/badge.svg)](https://github.com/iamageo/BeautifulDialog/actions/workflows/android_unit_test.yml)\n[![](https://jitpack.io/v/iamageo/BeautifulDialog.svg)](https://jitpack.io/#iamageo/BeautifulDialog)\n\n## Demonstration\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/iamageo/BeautifulDialog/assets/26925002/0a45b075-b1f1-48ea-9618-95157146305e\" width=\"20%\"/\u003e\n    \u003cimg src=\"https://github.com/iamageo/BeautifulDialog/assets/26925002/48eab16c-1e7d-4a72-81f8-7f2db87fd65f\" width=\"20%\"/\u003e\n    \u003cimg src=\"https://github.com/iamageo/BeautifulDialog/assets/26925002/422e8da6-9601-4f9e-bd49-e6e0d9d8a5b0\" width=\"20%\"/\u003e\n    \u003cimg src=\"https://github.com/iamageo/BeautifulDialog/assets/26925002/fdf2d920-0d91-422e-92fc-398036f5c3ab\" width=\"20%\"/\u003e\n\u003c/p\u003e\n\n## Star history 🌟\n[![Star History Chart](https://api.star-history.com/svg?repos=iamageo/BeautifulDialog\u0026type=Timeline)](https://star-history.com/#iamageo/BeautifulDialog\u0026Timeline)\n\n## Including in your project\n[![](https://jitpack.io/v/iamageo/BeautifulDialog.svg)](https://jitpack.io/#iamageo/BeautifulDialog)\n\n### Gradle \nAdd below codes to your **root** `build.gradle` file (not your module build.gradle file).\n```gradle\nallprojects {\n  repositories {\n    ...\n    maven { url 'https://jitpack.io' }\n  }\n}\n```\nFor Ktx\n```gradle\nallprojects {\n  repositories {\n    ...\n     maven { url = uri(\"https://www.jitpack.io\" ) }\n  }\n}\n```\n\n\nAnd add a dependency code to your **module**'s `build.gradle` file.\n```gradle\ndependencies {\n        implementation 'com.github.iamageo:beautiful-dialog:1.0.8'\n}\n```\n\n## Basic Usage\nAdd in you Activity file.\n\n```kotlin\nBeautifulDialog.build(this)\n    .title(\"Title success\", titleColor = R.color.black)\n    .description(\"Description success\",  color = R.color.black)\n    .type(type= BeautifulDialog.TYPE.SUCCESS)\n    .position(BeautifulDialog.POSITIONS.CENTER)\n    .onPositive(text = \"Confirm\", shouldIDismissOnClick = false) {\n        Toast.makeText(this, \"confirm\", Toast.LENGTH_SHORT).show()\n    }\n    .onNegative(text = \"Cancel\") {\n        Toast.makeText(this, \"cancel\", Toast.LENGTH_SHORT).show()\n    }\n```\n\n## How to hide Negative Button\njust call in build:\n```kotlin\n.hideNegativeButton(hide = true)\n```\n## How to change animation 📌\n📌 Note: your icon can be of type iconRes (Int)\n\nif you call .dialogAnimation() don't call .type()\n```kotlin\n.dialogAnimation(iconRes)\n```\n\n## how not to cancel dialog on click ❌\njust call property shouldIDismissOnClick in onPositive or onNegative:\n```kotlin\n.onPositive(text = \"Confirm\", shouldIDismissOnClick = false) {\n        Toast.makeText(this, \"click in positive button\", Toast.LENGTH_SHORT).show()\n}\n```\n\n## Type ✔️ ℹ️ ⚠ ❌\nWe can customize the type of Dialog.\n```kotlin\nTYPE.SUCCESS\nTYPE.INFO\nTYPE.ALERT\nTYPE.ERROR\nTYPE.NONE\n```\n\n|SUCCESS|INFO| ALERT |ERROR|NONE|\n|:---------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------:| :---------------------------------------------------------------------------------------------------------------------------------------------:| \n| \u003cimg src=\"https://github.com/iamageo/BeautifulDialog/assets/26925002/b9354c50-fb29-44a9-af2c-0693b6e1c9ff\" align=\"center\" width=\"100%\"/\u003e | \u003cimg src=\"https://github.com/iamageo/BeautifulDialog/assets/26925002/0babdd7c-b4e8-4bdd-850a-dc0c8c512b63\" align=\"center\" width=\"100%\"/\u003e |     \u003cimg src=\"https://github.com/iamageo/BeautifulDialog/assets/26925002/60638801-e226-4f92-987f-6daa086efe85\" align=\"center\" width=\"100%\"/\u003e   | \u003cimg src=\"https://github.com/iamageo/BeautifulDialog/assets/26925002/04513979-e505-4acd-8c36-4917302d4b59\" align=\"center\" width=\"100%\"/\u003e | \u003cimg src=\"https://github.com/iamageo/BeautifulDialog/assets/26925002/fd56d62d-ff54-45e5-8f2c-f3d91ea0c138\" align=\"center\" width=\"100%\"/\u003e |\n\n## Positioning 📱\nWe can customize the Position of Dialog.\n```kotlin\nPOSITIONS.TOP\nPOSITIONS.CENTER\nPOSITIONS.BOTTOM\n```\nBy default, the Position is **CENTER**.\n\n|                                                                    TOP                                                                     |                                                                   CENTER                                                                      |                                                                    BOTTOM   \n|:---------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------:| :---------------------------------------------------------------------------------------------------------------------------------------------:| \n| \u003cimg src=\"https://github.com/iamageo/BeautifulDialog/assets/26925002/8811dcf0-a1de-42b8-9774-914a7874bfb1\" align=\"center\" width=\"50%\"/\u003e | \u003cimg src=\"https://github.com/iamageo/BeautifulDialog/assets/26925002/95aaad55-76a2-4f63-b7dd-c046b230f5c1\" align=\"center\" width=\"50%\"/\u003e | \u003cimg src=\"https://github.com/iamageo/BeautifulDialog/assets/26925002/3b2b21f2-a62d-44df-9e65-503e022fe5d7\" align=\"center\" width=\"50%\"/\u003e |\n\n## Hacktoberfest 2022\nThis project has been submitted for hacktoberfest 2022. [See more here](https://hacktoberfest.com/)\n\n## Beautiful Dialog Attributes\n| Attributes            | Type                                                         | Default          | Description                                                 |\n|-----------------------|--------------------------------------------------------------|------------------|-------------------------------------------------------------|\n| title                 | String                                                       | none             | Title of you dialog.                                        |\n| description           | String                                                       | none             | Description of you dialog.                                  |\n| position              | POSITIONS.BOTTOM, POSITIONS.CENTER                           | POSITIONS.BOTTOM | Indicates the position of the dialog.                       |\n| type                  | TYPE.SUCCESS, TYPE.INFO, TYPE.ALERT, TYPE.ERROR or TYPE.NONE | success          | Indicates the dialog type, each type contains an icon.      |\n| onPositive            | onClick                                                      | none             | Button positive click.                                      |\n| onNegative            | onClick                                                      | none             | Button negative click.                                      |\n| hideNegativeButton    | Boolean                                                      | false            | hide negative button.                                       |\n| cancelable            | Boolean                                                      | false            | set if Beautiful is cancelable on click in screen ❌.        |\n| shouldIDismissOnClick | boolean                                                      | true             | set if dialog dismiss on click in onPositive or onNegative. |\n| dialogIcon            | Int, drawable                                                | none             | set dialog icon.                                            |\n\n## Attributes of Positive and Negative Buttons\n| Attributes            | Type     | Default | Description                   |\n|-----------------------|----------|---------|-------------------------------|\n| text                  | String   | none    | Text of button                |\n| fontStyle             | typeface | default | Fontstyle of button           |\n| buttonBackroundColor  | Int      | black   | Backround resource of button  |\n| textColor             | Int      | gray    | Text color of button          |\n| shouldIDismissOnClick | Boolean  | none    | Cancel dialog onclick if true |\n| action                | Unit     | none    | what to do                    |\n\n## Attributes of Title And Description\n| Attributes | Type     | Default | Description      |\n|------------|----------|---------|------------------|\n| text       | String   | none    | Text             |\n| fontStyle  | typeface | default | Fontstyle        |\n| fontSize   | Int      | 14      | Change font size |\n| color      | Int      | gray    | Text Color       |\n\n## License\n```\n    Copyright 2022 Geovani Amaral\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamageo%2Fbeautifuldialog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiamageo%2Fbeautifuldialog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamageo%2Fbeautifuldialog/lists"}