{"id":15564319,"url":"https://github.com/hatamiarash7/flashbar","last_synced_at":"2026-01-07T05:47:22.257Z","repository":{"id":40540959,"uuid":"133512728","full_name":"hatamiarash7/Flashbar","owner":"hatamiarash7","description":"A highly customizable, powerful and easy-to-use alerting library for Android ( RTL Version )","archived":false,"fork":false,"pushed_at":"2025-03-21T00:07:53.000Z","size":2759,"stargazers_count":0,"open_issues_count":9,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-21T01:19:38.713Z","etag":null,"topics":["android","java","kotlin","snackbar","snackbars"],"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/hatamiarash7.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":"2018-05-15T12:26:24.000Z","updated_at":"2022-06-26T13:59:07.000Z","dependencies_parsed_at":"2023-11-08T07:47:03.308Z","dependency_job_id":"a4be9bd7-0c18-4386-aeec-7590c37e14d0","html_url":"https://github.com/hatamiarash7/Flashbar","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hatamiarash7%2FFlashbar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hatamiarash7%2FFlashbar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hatamiarash7%2FFlashbar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hatamiarash7%2FFlashbar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hatamiarash7","download_url":"https://codeload.github.com/hatamiarash7/Flashbar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246140594,"owners_count":20729802,"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","java","kotlin","snackbar","snackbars"],"created_at":"2024-10-02T16:40:33.136Z","updated_at":"2026-01-07T05:47:17.239Z","avatar_url":"https://github.com/hatamiarash7.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Flashbar\nA highly customizable, powerful and easy-to-use alerting library for Android.\n\nIt's Forked from [This Repository](https://github.com/aritraroy/Flashbar) and converted to RTL\n\n### Specs\n[![Download](https://api.bintray.com/packages/aritraroy/maven/flashbar/images/download.svg)](https://bintray.com/aritraroy/maven/flashbar/_latestVersion) [![API](https://img.shields.io/badge/API-14%2B-orange.svg?style=flat)](https://android-arsenal.com/api?level=14) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Android Weekly](https://img.shields.io/badge/Android%20Weekly-%23308-blue.svg)](http://androidweekly.net/issues/issue-308)\n\nThis library allows you to show messages or alerts in your app **quickly and easily**. It can be used as an alternative to `Snackbar` or `Toast` and offers a plethora of useful features and customization options for you to play with.\n\nIt has been written **100% in Kotlin**. ❤️\n\n![](/raw/banner.png)\n\n# Table of Contents\n* [Download](#download)\n* [Sample Project](#sample-project)\n* [Usage](#usage)\n    * [Basics](#basics)\n    * [Gravity](#gravity)\n    * [Title](#title)\n    * [Message](#message)\n    * [Background \u0026 Overlay](#background-overlay)\n      * [Background](#background)\n      * [Overlay](#overlay)\n    * [Actions](#actions)\n      * [Primary](#primary)\n      * [Positive/Negative](#positivenegative)\n    * [Icon \u0026 Progress](#icon-progress)\n      * [Icon](#icon)\n      * [Progress](#progress)\n    * [Animations](#animations)\n      * [Enter/Exit](#enterexit)\n      * [Icon](#icon)\n    * [Event Listeners](#event-listeners)\n      * [Show](#show)\n      * [Dismiss](#dismiss)\n      * [Taps](#taps)\n    * [Miscellaneous](#miscellaneous)\n      * [Swipe-to-dismiss](#swipe-to-dismiss)\n      * [Shadow](#shadow)\n      * [Vibration](#vibration)\n* [Roadmap](#roadmap)\n* [Contribution](#contribution)\n* [License](#license)\n\n### Spread Some :heart:\n[![GitHub followers](https://img.shields.io/github/followers/aritraroy.svg?style=social\u0026label=Follow)](https://github.com/aritraroy)  [![Twitter Follow](https://img.shields.io/twitter/follow/aritraroy.svg?style=social)](https://twitter.com/aritraroy) \n\n# Download\n\nThis library is available in **jCenter** which is the default Maven repository used in Android Studio. You can also import this library from source as a module.\n \n```groovy\ndependencies {\n    // other dependencies here\n    implementation 'com.andrognito.flashbar:flashbar:{latest_version}'\n}\n```\n\n# Sample Project\nWe have an exhaustive sample project demonstrating almost every feature of the library in both languages - Java \u0026 Kotlin.\n\nCheckout the Java samples [here](https://github.com/aritraroy/Flashbar/blob/develop/app/src/main/java/com/andrognito/flashbardemo/JavaSampleActivity.java) and the Kotlin samples [here](https://github.com/aritraroy/Flashbar/blob/develop/app/src/main/java/com/andrognito/flashbardemo/KotlinSampleActivity.kt).\n\n# Usage\nIt is recommended to check the sample project to get a complete understanding of all the features offered by the library.\n\nThe library offers a huge amount of customization options and leverages the `Builder` pattern for ease of use. You will find details of each of these features described below.\n\n## Basics\n\n![](/raw/basic.png)\n\nFlashbar attaches a full-height, full-width view (`FlashbarContainerView`) to the decor view of the `Activity` and places a full width, dynamic height view(`FlashbarView`) inside it. These classes are internal classes and are not exposed for public use.\n\nHere's an example of showing a basic flashbar,\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.BOTTOM)\n        .message(\"This is a basic flashbar\")\n        .build()\n```\n\n You can specify the duration (in millis) for which you want the flashbar to be displayed. The default duration is infinite, i.e. it won't dismiss automatically if you do not specify any duration. You can also use these constants, `DURATION_SHORT` or `DURATION_LONG` for convenience.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .duration(500)\n        .message(\"This is a flashbar with duration\")\n        .build()\n```\n\n## Gravity\n![](/raw/gravity.png)\n\nYou can show the flashbar either at the top or at the bottom of the screen using the gravity property. By default, it is shown at the bottom.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .message(\"Flashbar is shown at the top\")\n        .build()\n```\nOr,\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.BOTTOM)\n        .message(\"Flashbar is shown at the bottom\")\n        .build()\n```\n\n## Title\n![](/raw/title.png)\n\nYou can show an optional title in the flashbar. You can also customize the color, size, typeface and appearance of it.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.BOTTOM)\n        .title(\"Hello World!\")\n        .build();\n```\n\n![](/raw/title-advanced.png)\n\nYou can change the color using `titleColor()`, size using `titleSizeInSp()`, `titleSizeInPx()`, typeface using `titleTypeface()` and appearance using `titleAppearance()`. Also, look out for other variants of this methods.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.BOTTOM)\n        .title(\"Hello World!\")\n        .titleColorRes(R.color.white)\n        .titleSizeInSp(12f)\n        .titleAppearance(R.style.CustomTextStyle)\n        .titleTypeface(Typeface.createFromAsset(getAssets(), \"ShineBright.ttf\"))\n        .build();\n```\n\n## Message\n![](/raw/message.png)\n\nYou can show an optional message in the flashbar. You can also customize the color, size and appearance of it.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.BOTTOM)\n        .message(\"This is a short message. But your message can be of any length and the view will dynamically adjust itself.\")\n        .build();\n```\n\n![](/raw/message-advanced.png)\n\nYou can change the color using `messageColor()`, size using `messageSizeInSp()`, `messageSizeInPx()`, typeface using `messageTypeface()` and appearance using `messageAppearance()`. Also, look out for other variants of this methods.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .message(\"This is a short message\")\n        .messageColor(ContextCompat.getColor(this, R.color.white))\n        .messageSizeInSp(16f)\n        .messageTypeface(Typeface.createFromAsset(assets, \"BeautifulAndOpenHearted.ttf\"))\n        .build()\n```\n\n## Background \u0026 Overlay\n![](/raw/background.png)\n\nYou can change the background color of the flashbar and add a modal overlay as well.\n\n####  Background\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .title(\"Hello World!\")\n        .message(\"The background color can be changed to any color of your choice.\")\n        .backgroundColorRes(R.color.colorPrimaryDark)\n        .build()\n```\n\n![](/raw/background-advanced.png)\n\nYou can also change the background using drawables, like the above, to have a cool gradient effect.\n\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .title(\"Hello World!\")\n        .message(\"You can have gradients by setting background drawable.\")\n        .backgroundDrawable(R.drawable.bg_gradient)\n        .build()\n```\n####  Overlay\n![](/raw/overlay.gif)\n\nThe overlay creates a dim effect over the entire screen bringing more focus on the flashbar and its content. It is automatically added/removed along with the flashbar.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .title(\"Hello World!\")\n        .message(\"You can show a modal overlay to give a dim effect in the entire screen.\")\n        .backgroundColorRes(R.color.colorPrimaryDark)\n        .showOverlay()\n        .build()\n```\nYou can also customize the overlay color using `overlayColor()` and also make the overlay block any click/touch events using `overlayBlockable()`.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .title(\"Hello World!\")\n        .message(\"You can show a modal overlay to give a dim effect in the entire screen.\")\n        .backgroundColorRes(R.color.colorPrimaryDark)\n        .showOverlay()\n        .overlayColorRes(R.color.modal)\n        .overlayBlockable()\n        .build()\n```\n\n## Actions\nThere are three types of action buttons available - primary (placed at the right side), positive and negative (placed at the bottom).\n\n### Primary\n![](/raw/action-primary.png)\n\nYou can customize the primary action button's text color, size, typeface, appearance and also listen to its tap events.\n\nThe quickest way to show an action button is to put some text into it.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .title(\"Hello World!\")\n        .message(\"You can click on the primary action button.\")\n        .primaryActionText(\"TRY NOW\")\n        .build()\n```\n\n![](/raw/action-primary-advanced.png)\n\nYou can also customize its appearance in a lot of ways,\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .title(\"Hello World!\")\n        .backgroundColorRes(R.color.colorPrimaryDark)\n        .message(\"You can click on the primary action button.\")\n        .primaryActionText(\"TRY\")\n        .primaryActionTextColorRes(R.color.colorAccent)\n        .primaryActionTextSizeInSp(20f)\n        .build()\n```\n\nYou can also listen to its tap/click events through the `OnActionTapListener`,\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .title(\"Hello World!\")\n        .message(\"You can click on the primary action button.\")\n        .primaryActionText(\"TRY\")\n        .primaryActionTapListener(object : Flashbar.OnActionTapListener {\n            override fun onActionTapped(bar: Flashbar) {\n                bar.dismiss()\n            }\n        })\n        .build()\n```\n### Positive/Negative\n![](/raw/action-positive-negative.png)\n\nYou can customize the positive and negative buttons in the same way as the primary button. These buttons appear at the bottom part of the view. You can show the positive, or negative or both the buttons. You can also listen to the tap events in the same way as before.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .title(\"Hello World!\")\n        .message(\"You can show either or both of the positive/negative buttons and customize them similar to the primary button.\")\n        .backgroundColorRes(R.color.colorPrimaryDark)\n        .positiveActionText(\"YES\")\n        .negativeActionText(\"NO\")\n        .positiveActionTextColorRes(R.color.colorAccent)\n        .negativeActionTextColorRes(R.color.colorAccent)\n        .positiveActionTapListener(object : Flashbar.OnActionTapListener {\n            override fun onActionTapped(bar: Flashbar) {\n                bar.dismiss()\n            }\n        })\n        .negativeActionTapListener(object : Flashbar.OnActionTapListener {\n            override fun onActionTapped(bar: Flashbar) {\n                bar.dismiss()\n            }\n        })\n        .build()\n```\n\n## Icon \u0026 Progress\n\nYou can show icon (left) and progress bar (left or right) in the flashbar. You can also customize their look \u0026 feel in a lot of ways.\n\n### Icon\n![](/raw/icon.png)\n\nYou can show an icon on the left side of the view using `showIcon()` which will show the default icon.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .title(\"Hello World!\")\n        .message(\"You can show a default icon on the left side of the withView\")\n        .showIcon()\n        .build()\n```\n\nYou can show any custom icon (drawable or bitmap) and apply color filters (change modes too) on it. You can also scale the icon up/down and specify scale type using the variants of `showIcon(scale, scaleType)`.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .title(\"Hello World!\")\n        .message(\"You can show a default icon on the left side of the withView\")\n        .backgroundColorRes(R.color.colorPrimaryDark)\n        .showIcon(0.8f, ScaleType.CENTER_CROP)\n        .icon(R.drawable.ic_drop)\n        .iconColorFilterRes(R.color.colorAccent)\n        .build()\n\n```\n\n### Progress\n![](/raw/progress_left.gif)\n\nYou might also want to show indeterminate progress bars to indicate that you are fetching some data, downloading a file, etc. The progress bar can be shown at either the left or the right hand side of the view.\n\n**Caveat**: If the progress bar is shown on the left side, then you cannot show the icon with it. If the progress bar is shown on the right side, then you cannot show the action button along with it.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .title(\"Hello World!\")\n        .message(\"You can show the progress bar on either the left or right side of the view\")\n        .showProgress(Flashbar.ProgressPosition.LEFT)\n        .build()\n```\n![](/raw/progress_right.gif)\n\nYou can change the color of the progress bar to any color of your choice.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .title(\"Hello World!\")\n        .message(\"You can show the progress bar on either the left or right side of the view\")\n        .backgroundColorRes(R.color.colorPrimaryDark)\n        .showProgress(Flashbar.ProgressPosition.RIGHT)\n        .progressTintRes(R.color.colorAccent)\n        .build()\n```\n\n## Animations\n\nYou can customize the enter/exit animation of the flashbar. You can also add custom animations to the icon for drawing attention towards it. The library provides a fluent API-styled animation framework to customize these animations.\n\n### Enter/Exit\n![](/raw/enter_exit_anim.gif)\n\nYou can start animating the bar using `FlashAnim.with(this).animateBar()`. You can change the duration of the animation using `duration()`, apply custom interpolators using `interpolator()` or choose from a set of interpolators available, add alpha transition using `alpha()`, etc.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .title(\"Hello World!\")\n        .message(\"You can change the enter/exit animation of the flashbar\")\n        .backgroundColorRes(R.color.colorPrimaryDark)\n        .enterAnimation(FlashAnim.with(this)\n                .animateBar()\n                .duration(750)\n                .alpha()\n                .overshoot())\n        .exitAnimation(FlashAnim.with(this)\n                .animateBar()\n                .duration(400)\n                .accelerateDecelerate())\n        .build()\n```\n\n![](/raw/slide_left_anim.gif)\n\nYou can also make the flashbar enter/exit from the left/right side of the screen,\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .title(\"Hello World!\")\n        .message(\"You can change the enter/exit animation of the flashbar\")\n        .backgroundColorRes(R.color.colorPrimaryDark)\n        .enterAnimation(FlashAnim.with(this)\n                .animateBar()\n                .duration(400)\n                .slideFromLeft()\n                .overshoot())\n        .exitAnimation(FlashAnim.with(this)\n                .animateBar()\n                .duration(250)\n                .slideFromLeft()\n                .accelerate())\n        .build()\n```\n\n**Note** - You can configure the animations with your desired specifications in the builder and pass it on. You can not call `build()` on these animations as it is reserved to be used internally from inside the library only.\n\n### Icon\n![](/raw/icon_anim.gif)\n\nYou can start animating the icon using `FlashAnim.with(this).animateIcon()`. You can change the duration of the animation using `duration()`, apply custom interpolators using `interpolator()` or choose from a set of interpolators available, add pulsating effect using `pulse()` and alpha transition using `alpha()`, etc.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .title(\"Hello World!\")\n        .message(\"You can show a default icon on the left side of the with view.\")\n        .backgroundColorRes(R.color.colorPrimaryDark)\n        .showIcon()\n        .icon(R.drawable.ic_drop)\n        .iconColorFilterRes(R.color.colorAccent)\n        .iconAnimation(FlashAnim.with(this)\n                .animateIcon()\n                .pulse()\n                .alpha()\n                .duration(750)\n                .accelerate())\n        .build()\n```\n\n## Event Listeners\nYou can listen to events like when the flashbar is showing, or dismissing. You can also listen to progress updates when the flashbar is being shown or dismissed to perform animations on other views if needed.\n\nYou can also listen to tap events inside or outside the bar.\n\n### Show\nYou can listen to events on `OnBarShowListener` like `onShowing`, `onShowProgress` and `onShown`. The progress ranges from from 0.0 to 1.0. But in some special cases (like with bounce interpolator) it can go below 0.0 or above 1.0.\n \n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.BOTTOM)\n        .title(\"Hello World!\")\n        .message(\"You can listen to events when the flashbar is shown\")\n        .barShowListener(object : Flashbar.OnBarShowListener {\n            override fun onShowing(bar: Flashbar) {\n                Log.d(TAG, \"Flashbar is showing\")\n            }\n\n            override fun onShowProgress(bar: Flashbar, progress: Float) {\n                Log.d(TAG, \"Flashbar is showing with progress: $progress\")\n            }\n\n            override fun onShown(bar: Flashbar) {\n                Log.d(TAG, \"Flashbar is shown\")\n            }\n        })\n        .build()\n```\n### Dismiss\nYou can listen to events on `OnBarDismissListener` like `onDismissing`, `onDismissProgress` and `onDismissed`. The progress ranges from from 0.0 to 1.0. But in some special cases (like with bounce interpolator) it can go below 0.0 or above 1.0. \n\nYou can also specifically get to know the reason behind the bar dismiss action - `TIMEOUT`, `MANUAL`, `TAP_OUTSIDE` and `SWIPE`.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.BOTTOM)\n        .title(\"Hello World!\")\n        .duration(500)\n        .message(\"You can listen to events when the flashbar is dismissed\")\n        .barDismissListener(object : Flashbar.OnBarDismissListener {\n            override fun onDismissing(bar: Flashbar, isSwiped: Boolean) {\n                Log.d(TAG, \"Flashbar is dismissing with $isSwiped\")\n            }\n\n            override fun onDismissProgress(bar: Flashbar, progress: Float) {\n                Log.d(TAG, \"Flashbar is dismissing with progress $progress\")\n            }\n\n            override fun onDismissed(bar: Flashbar, event: Flashbar.DismissEvent) {\n                Log.d(TAG, \"Flashbar is dismissed with event $event\")\n            }\n        })\n        .build()\n```\n\n### Taps\nYou can listen to tap events inside or outside of the bar.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .title(\"Hello World!\")\n        .message(\"You can listen to tap events inside or outside te bar.\")\n        .listenBarTaps(object : Flashbar.OnTapListener {\n            override fun onTap(flashbar: Flashbar) {\n                Log.d(TAG, \"Bar tapped\")\n            }\n        })\n        .listenOutsideTaps(object : Flashbar.OnTapListener {\n            override fun onTap(flashbar: Flashbar) {\n                Log.d(TAG, \"Outside tapped\")\n            }\n        })\n        .build()\n```\n\n## Miscellaneous\nA quick look at some of the miscellaneous features available in flashbar.\n\n### Swipe-to-dismiss\n![](/raw/swipe_bar.gif)\n\nYou can enable this feature to dismiss the flashbar by swiping it left/right. By default this feature is disabled. You can also know if the bar was dismissed by a swipe from the `DismissEvent` as `SWIPE`.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.TOP)\n        .title(\"Hello World!\")\n        .message(\"You can swipe the flasbar to dismiss it.\")\n        .enableSwipeToDismiss()\n        .build() \n```\n\n### Shadow\nYou can show a synthetically generated shadow on the flashbar irrespective of its position - top or bottom. By default the shadow is always shown.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.BOTTOM)\n        .title(\"Hello World!\")\n        .message(\"You can swipe the flashbar to dismiss it.\")\n        .castShadow(true, 4)\n        .build()\n```\n\n### Vibration\nThe flashbar can produce a short vibration to seek the attention of the user when it is shown, dismissed or both.\n\n```kotlin\nFlashbar.Builder(this)\n        .gravity(Flashbar.Gravity.BOTTOM)\n        .title(\"Hello World!\")\n        .message(\"You can swipe the flashbar to dismiss it.\")\n        .vibrateOn(Flashbar.Vibration.SHOW, Flashbar.Vibration.DISMISS)\n        .build()\n```\n\n# Roadmap\nThese are some of the prioritized features in the pipeline awaiting to be implemented in the near future - \n\n- [ ] Add coordinator layout support\n- [ ] Add flashbar manager for queue management\n- [ ] Add custom layout inflation support\n- [ ] Improve shadow rendering\n\n# Contribution\n\nI highly encourage the community to step forward and improve this library further. You can fix any reported bug, propose or implement new features, write tests, etc.\n\nHere is a quick list of things to remember -\n* Check the open issues before creating a new one,\n* Help me in reducing the number of open issues by fixing any existing bugs,\n* Check the roadmap to see if you can help in implementing any new feature,\n* You can contribute by writing unit and integration tests for this library,\n* If you have any new idea that aligns with the goal of this library, feel free to raise a feature request and discuss it.\n\n# About The Author\n\n### Aritra Roy\n\nDesign-focussed Engineer. Full-stack Developer. Hardcore Android Geek. UI/UX Designer. Part-time Blogger.\n\n\u003ca href=\"https://play.google.com/store/apps/details?id=com.codexapps.andrognito\u0026hl=en\" target=\"_blank\"\u003e\u003cimg src=\"https://github.com/aritraroy/social-icons/blob/master/play-store-icon.png?raw=true\" width=\"60\"\u003e\u003c/a\u003e \u003ca href=\"https://blog.aritraroy.in/\" target=\"_blank\"\u003e\u003cimg src=\"https://github.com/aritraroy/social-icons/blob/master/medium-icon.png?raw=true\" width=\"60\"\u003e\u003c/a\u003e\n\u003ca href=\"http://stackoverflow.com/users/2858654/aritra-roy\" target=\"_blank\"\u003e\u003cimg src=\"https://github.com/aritraroy/social-icons/blob/master/stackoverflow-icon.png?raw=true\" width=\"60\"\u003e\u003c/a\u003e\n\u003ca href=\"https://twitter.com/aritraroy\" target=\"_blank\"\u003e\u003cimg src=\"https://github.com/aritraroy/social-icons/blob/master/twitter-icon.png?raw=true\" width=\"60\"\u003e\u003c/a\u003e\n\u003ca href=\"http://linkedin.com/in/aritra-roy\"\u003e\u003cimg src=\"https://github.com/aritraroy/social-icons/blob/master/linkedin-icon.png?raw=true\" width=\"60\"\u003e\u003c/a\u003e\n\n\n# License\n\n```\nCopyright 2016 aritraroy\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhatamiarash7%2Fflashbar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhatamiarash7%2Fflashbar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhatamiarash7%2Fflashbar/lists"}