😍 A beautiful, fluid, and extensible dialogs API for Kotlin & Android.

Overview

Material Dialogs

View Releases and Changelogs

Android CI Codacy Badge License


Showcase

Modules

The core module is the fundamental module that you need in order to use this library. The others are extensions to core.

Please note that since Material Dialogs 2.x.x, this library only supports Kotlin. The latest Java version is 0.9.6.0 and can be found here. Note that 0.9.6.0 is unsupported, bugs & improvements will not be made to that version.

Core

Core

Core Tutorial and Samples

The core module contains everything you need to get started with the library. It contains all core and normal-use functionality.

dependencies {
  ...
  implementation 'com.afollestad.material-dialogs:core:3.3.0'
}

Input

Input

Input Tutorial and Samples

The input module contains extensions to the core module, such as a text input dialog.

dependencies {
  ...
  implementation 'com.afollestad.material-dialogs:input:3.3.0'
}

Files

Files

Files Tutorial and Samples

The files module contains extensions to the core module, such as a file and folder chooser.

dependencies {
  ...
  implementation 'com.afollestad.material-dialogs:files:3.3.0'
}

Color

Color

Color Tutorial and Samples

The color module contains extensions to the core module, such as a color chooser.

dependencies {
  ...
  implementation 'com.afollestad.material-dialogs:color:3.3.0'
}

DateTime

DateTime

DateTime Tutorial and Samples

The datetime module contains extensions to make date, time, and date-time picker dialogs.

dependencies {
  ...
  implementation 'com.afollestad.material-dialogs:datetime:3.3.0'
}

Bottom Sheets

Bottom Sheets

Bottom Sheets Tutorial and Samples

The bottomsheets module contains extensions to turn modal dialogs into bottom sheets, among other functionality like showing a grid of items. Be sure to checkout the sample project for this, too!

dependencies {
  ...
  implementation 'com.afollestad.material-dialogs:bottomsheets:3.3.0'
}

Lifecycle

Lifecycle

Lifecycle Tutorial and Samples

The lifecycle module contains extensions to make dialogs work with AndroidX lifecycles.

dependencies {
  ...
  implementation 'com.afollestad.material-dialogs:lifecycle:3.3.0'
}
Comments
  • Switch to ListView + ListAdapter for dialog lists

    Switch to ListView + ListAdapter for dialog lists

    This pull request is somewhat big, and switches over the list implementation to a ListView + ListAdapter style.

    This accomplishes two important things:

    • It brings the API to be more in line with a real dialog (think setAdapter() and getListView())
    • Dramatically improves list scrolling performance due to not inflating all views upfront.

    The basic structure of this is that it uses a new in-house adapter called MaterialDialogAdapter for first-party list options (single, multi, and regular). For custom adapters (set via .adapter() in the Builder), it delegates their logic to the user's implementation (like a real dialog!).

    This also improved performance of handling callbacks, as now we can retrieve the item directly rather than iterate over the inflated views to find the selected one.

    Here's a short screen record going through the list items in the sample: https://www.dropbox.com/s/gs8qn6ytrktrc6d/device-2014-12-01-182852.mp4?dl=0

    NOTE: This removes the ItemProcessor API, as it's now unnecessary since users can build the dialog with their own (much more flexible) adapter.

    I made a couple other minor changes when I saw them, like c2ad109

    opened by ZacSweers 19
  • WIP Color chooser custom ARGB selection

    WIP Color chooser custom ARGB selection

    I added a simple argb color selector and fixed this bug: https://github.com/afollestad/material-dialogs/issues/1627

    I kept it quite simple, let me know what you think of it

    improvement 
    opened by MFlisar 16
  • Respect theme's textAllCaps setting

    Respect theme's textAllCaps setting

    Lollipop's alert dialogs respect the current theme's android:textAllCaps attribute. It would be great if these did too. I don't know if there is any other way to override this.

    opened by shekibobo 11
  • Refactor padding to be more efficient

    Refactor padding to be more efficient

    The previous setup was causing lag when showing or updating the dialog, because it needed to wait until everything was laid out before adjusting the padding, which would trigger a second layout.

    This method uses a custom ViewGroup (MDRootLayout) which determines padding and button stacking onMeasure.

    Changes were also made with how the padding was split up, to avoid having to move padding between views.

    opened by teslacoil 9
  • Added option to set maximum icon size

    Added option to set maximum icon size

    This pull request allows setting maximum icon size through the following methods:

    • to a default limit of 32dp (based from the platform AlertDialog)
      • limitIconToDefaultSize() builder method
      • md_icon_limit_icon_to_default_size global theme attribute
    • to a specified maximum size
      • maxIconSize(int maxIconSize) builder method
      • md_icon_max_size global theme attribute

    This feature was requested in #297.

    opened by lordcodes 8
  • Fix vibrating windows

    Fix vibrating windows

    Some windows with just the right amount of scrollable content would trigger the removal of the bottom margin, however the new layout pass would show that the content is no longer scrollable so the bottom margin would be reenabled. This would cause the window to continously vibrate up and down.

    This fix verifies the available space before adding the margin, and doesn't add it, if it would cause the content to scroll.

    opened by teslacoil 8
  • Custom Theme Enabled

    Custom Theme Enabled

    https://github.com/afollestad/material-dialogs/issues/100 Added some global attributes such as

    <item name="md_custom_theme">true</item>
    <item name="md_bg_color">#673AB7</item>
    <item name="md_divider_color">#673AB7</item>
    <item name="md_selector">@drawable/selector</item>
    <item name="md_btn_selector">@drawable/selector</item>
    

    New attribute md_bg_color, md_divider_color, md_selector, md_btn_selector will be enabled only if md_custom_theme is true.

    We can also set new attributes programmatically.

    public Builder backgroundColor(int color)
    public Builder backgroundColorRes(@ColorRes int colorRes)
    public Builder dividerColor(int color) 
    public Builder dividerColorRes(@ColorRes int colorRes)
    public Builder selector(@DrawableRes int selector)
    public Builder btnSelector(@DrawableRes int btnSelector)
    

    If we don't set default for each attribute while using custom dialog, the default light or dark theme will be set as default. For example, when md_dark_theme is true and md_custom_theme is also true, but md_bg_color hasn't set yet, the background color might follow background color of md_dark_theme.

    opened by TheFinestArtist 7
  • Added EditText to the dialog

    Added EditText to the dialog

    This pull request adds an EditText to the dialog.

    • Turn it on through a Builder method.
    • Specify EditText hint
    • Provide a default value to pre-fill the EditText with
    • Set a TextWatcher on the EditText to be informed of changes to the text
    • Provide a callback to be informed of the text when the positive button is pressed
    • Perform input validation on the entered text
      • Provide a validator class to use
      • Specify an error message to display when the input is invalid
      • Error appears as message below the EditText, there is option to instead display it in little popup with error icon (standard EditText setError(String) method.
    • EditText is tinted (color filter used for pre-Android 5).
    opened by lordcodes 6
  • Builder.customViewRaw to bypass default ScrollView and padding

    Builder.customViewRaw to bypass default ScrollView and padding

    Title bar no longer scrolls with custom content There is no longer a seperate titlebarframe for custom content Added top divider when content scrolls

    It's a bit of an invasive change so let me know if it breaks anything or something isn't done in the style you'd prefer.

    Fixes https://github.com/afollestad/material-dialogs/issues/45

    opened by teslacoil 6
  • Fixed issue with callbacks not being called when there was no positive button...

    Fixed issue with callbacks not being called when there was no positive button...

    ... but there were other action buttons. If there is a positive button it will be used to trigger the callbacks. But when it is not present, the callbacks need to be called on each change produced by a click since no click on a positive button will trigger them.

    opened by jrgonzalezg 5
  • Add support for 'About Libraries' Android library

    Add support for 'About Libraries' Android library

    This is to support About Libraries, a library to facilitate listing dependencies. Your project is currently embedded in that project, which means the version number needs to be manually changed. Having it in your project directly along with the resValue in gradle will make this automatic.

    These resources will be removed if users have proguard. Those who choose to use about libraries with proguard will keep the R classes to resolve that.

    Attached below is an example of how it looks. (Note that the UI can be customized, but the text will be the same throughout projects)

    screenshot_20170723-123845

    opened by AllanWang 4
  • Add renovate.json

    Add renovate.json

    Guidelines

    1. You must run the spotlessApply task before commiting, either through Android Studio or with ./gradlew spotlessApply.
    2. A PR should be focused and contained. If you are changing multiple unrelated things, they should be in separate PRs.
    3. A PR should fix a bug or solve a problem - something that only you would use is not necessarily something that should be published.
    4. Give your PR a detailed title and description - look over your code one last time before actually creating the PR. Give it a self-review.

    If you do not follow the guidelines, your PR will be rejected.

    opened by jen801 0
  • BottomSheet bugfixes (crash, animation)

    BottomSheet bugfixes (crash, animation)

    Feel free to only merge the bottom sheet changes and the dismiss change.

    This does fix following issue: https://github.com/afollestad/material-dialogs/issues/2076

    Changes

    • Updated MaterialDialog dismiss function to make sure it's only called if the activity is not being finished (only if it is attached to an activity and only on android API >= 17)
    • Updated BottomSheet to allow to enable/disable animation and to allow to define an initial state (half expanded, full expanded) => animation must be disabled inside a DialogFragment because this fragment will call onShow after screen rotation and also after screen off/on => this leads to collapsed sheets sometimes and to repeated animations on every screen on/off => if animation is disabled, everything works perfectly fine inside a DialogFragment as well now

    Additionally I would have also done following:

    • updated gradle to 7.2
    • made the project jitpack compatible again after update to gradle 7 (forks can be retrieved easily via jitpack now)
    • made the project compatible to include it as local fork
      • added a "namespace" to all modules (prefix md)
      • made gradle definitions relative to project instead of root project

    TODO after merge (seems like you do not merge anything anymore, but still here are the steps to undo my "special" changes)

    • Change the maven config back to yours: https://github.com/MFlisar/material-dialogs/blob/b8f8203513466b1c30dc8046ef5e61a3e61495b5/gradle/android_library_config.gradle#L6-L9
    • Enable spotless again (I don't use spotless and so I disabled this plugin, it does not work out of the box in a local fork the way its set up in your repo) https://github.com/MFlisar/material-dialogs/blob/b8f8203513466b1c30dc8046ef5e61a3e61495b5/gradle/android_common_config.gradle#L6

    Note

    If someone else wants to use it already, it's already published on jitpack and can be used like following:

    implementation "com.github.MFlisar.material-dialogs:core:3.3.0-1"
    ....
    
    opened by MFlisar 0
  • Increase title, message and button text sizes in tablet screens

    Increase title, message and button text sizes in tablet screens

    Updated the sw600dp dimens.xml file to make the dialog's text readable in a tablet's screen. New text size was tested in several tablets.

    Guidelines

    1. You must run the spotlessApply task before commiting, either through Android Studio or with ./gradlew spotlessApply.
    2. A PR should be focused and contained. If you are changing multiple unrelated things, they should be in separate PRs.
    3. A PR should fix a bug or solve a problem - something that only you would use is not necessarily something that should be published.
    4. Give your PR a detailed title and description - look over your code one last time before actually creating the PR. Give it a self-review.

    If you do not follow the guidelines, your PR will be rejected.

    opened by daehan-lim 0
  • Changed logic regarding minDate and maxDate in dateTime module to allow currentDate to be equal to one of them

    Changed logic regarding minDate and maxDate in dateTime module to allow currentDate to be equal to one of them

    Guidelines

    1. You must run the spotlessApply task before commiting, either through Android Studio or with ./gradlew spotlessApply.
    2. A PR should be focused and contained. If you are changing multiple unrelated things, they should be in separate PRs.
    3. A PR should fix a bug or solve a problem - something that only you would use is not necessarily something that should be published.
    4. Give your PR a detailed title and description - look over your code one last time before actually creating the PR. Give it a self-review.

    If you do not follow the guidelines, your PR will be rejected.

    PR Description

    Changed logic regarding minDate and maxDate in dateTime module to allow currentDate to be equal to one of them. This is to make it possible to have two dates as allowed dates, and preselect one of them, which was not possible before. The user was able to select one of the two dates, but the code was not allowing preselection of the dates. For example with these dates:

    minDate = 2021.01.01
    maxDate = 2021.01.02
    currentDate = 2021.01.01
    
    opened by peter-witt 0
  • Fix Issues #2036 and #1973: Changed currentDate comparisons to minDate and maxDate to be inclusive

    Fix Issues #2036 and #1973: Changed currentDate comparisons to minDate and maxDate to be inclusive

    Issues #2036 and #1973 refer to crashes when minDate or maxDate are equal to currentDate in the datetime module datePicker. This request changes the checks for minDate and maxDate validity to allow for these dates to also be the currentDate.

    opened by gobrien37 1
Releases(3.3.0)
  • 3.3.0(Feb 18, 2020)

    • Added md_line_spacing_body global theme attribute, which sets a global default for message line spacing. See #1903.
    • Added some assertions and sanity checks to avoid choice list adapter out of bounds crashes. See #1906.
    • Corner radius should not apply to the bottom of bottom sheet dialogs. See #1941.
    • Fix dialog titles being cut off with custom fonts. See #1936.
    • If noVerticalPadding is set with customView(...), padding is not applied to the bottom of the content ScrollView if scrollable is enabled. Resolves #1834.
    • Input dialog styling is not enforced by the dialog. The global default for TextInputLayout (textInputStyle) is used instead. See #1857.
    Source code(tar.gz)
    Source code(zip)
  • 3.2.1(Feb 8, 2020)

    • Fixed the module-name given to the Kotlin compiler for each Gradle module, should fix extension function resolution issues.

    3.2.0

    • Dependency upgrades.
    • Reduce single/multi choice list dialog margin between text and controls.
    • Fix updateTextColor(Int) on action buttons not always persisting. See #1783.
    • Fix corner radius not working when views have a background. See #1840.
    • All dialogs will have a default corner radius of 4dp. See #1909.
    • Non-cancelable bottom sheet dialogs cannot be swiped to dismiss.
    • Other minor changes.
    Source code(tar.gz)
    Source code(zip)
  • 3.2.0(Feb 8, 2020)

    • Dependency upgrades.
    • Reduce single/multi choice list dialog margin between text and controls.
    • Fix updateTextColor(Int) on action buttons not always persisting. See #1783.
    • Fix corner radius not working when views have a background. See #1840.
    • All dialogs will have a default corner radius of 4dp. See #1909.
    • Non-cancelable bottom sheet dialogs cannot be swiped to dismiss.
    • Other minor changes.
    Source code(tar.gz)
    Source code(zip)
  • 3.1.1(Sep 4, 2019)

  • 3.1.0(Jul 2, 2019)

    • Upgraded afollestad/date-picker library to 0.6.1.
    • The updateListItems(...) method has been split into three variants so that a new listener can be passed for plain, single, and multi-choice list dialogs.
    • Add horizontalPadding boolean parameter to customView(...) - when true, 24dp padding is added to the left and right of your custom view.
    Source code(tar.gz)
    Source code(zip)
    sample.apk(3.25 MB)
  • 3.0.2(Jun 29, 2019)

  • 3.0.1(Jun 27, 2019)

    • Set module names for the Kotlin compiler, so that they don't clash with other third party libs.
    • The module name for the newer date-picker dependency is also being set now, so your app won't have to exclude its module file.
    Source code(tar.gz)
    Source code(zip)
  • 3.0.0(Jun 25, 2019)

  • 3.0.0-rc4(Jun 15, 2019)

  • 3.0.0-rc3(Jun 8, 2019)

  • 3.0.0-rc2(Jun 6, 2019)

  • 3.0.0-rc1(May 31, 2019)

  • 3.0.0-beta2(May 20, 2019)

  • 3.0.0-beta1(May 19, 2019)

  • 3.0.0-alpha4(May 19, 2019)

    Minor API change: The message(...) function no longer provides html and lineSpacingMultiplier as parameters. Instead, it works like this:

    MaterialDialog(this).show {
      ...
      message(R.string.htmlContent) {
          html() // or...
          html { toast("Clicked link: $it") }
          
          lineSpacing(1.4f)
          messageTextView.doSomething() // you can act directly on the TextView
      }
    }
    
    Source code(tar.gz)
    Source code(zip)
  • 3.0.0-alpha3(May 17, 2019)

    • The BottomSheet() dialog behavior now accepts an optional LayoutMode parameter, which you can use to instruct the bottom sheet to be expandable to the screen height or limit itself to wrap the content of its content. See the updated Bottom Sheets documentation.
    • Added a setPeekHeight(...) extension method for MaterialDialog that you can use to set the default peek height and animate peek height changes.
    Source code(tar.gz)
    Source code(zip)
    sample.apk(3.14 MB)
  • 3.0.0-alpha2(May 15, 2019)

  • 3.0.0-alpha1(May 8, 2019)

  • 2.8.1(Apr 18, 2019)

    1. Make some classes internal which don't need to be exposed to consumers.
    2. Allow plain date and time dialogs to require a future date/time, like the datetime dialog does.
    3. When the datetime dialogs require a future time, the action button is auto-invalidated when the system time changes.

    In 2.8.0:

    1. Kotlin 1.3.30.
    2. Add an updateListItems(...) method to update plain/single/multi-choice items after dialog creation.
    3. Fix datetime dialog layouts looking uncentered by only applying dialog width wrap in landscape.
    4. Other bug fixes and tweaks.
    Source code(tar.gz)
    Source code(zip)
  • 2.8.0(Apr 18, 2019)

    1. Kotlin 1.3.30.
    2. Add an updateListItems(...) method to update plain/single/multi-choice items after dialog creation.
    3. Fix datetime dialog layouts looking uncentered by only applying dialog width wrap in landscape.
    4. Other bug fixes and tweaks.
    Source code(tar.gz)
    Source code(zip)
  • 2.7.0(Apr 6, 2019)

    1. Undid dialog max width changes again, to what they were before they looked small. Added maxWidth setter function that you can use to custom dialog max widths if you wish, although it's discouraged.
    2. Added a dialogWrapContent parameter to customView(...) which instructs the dialog to set its max width to the measured width of your custom view.
    3. The datetime dialogs use the dialogWrapContent parameter above, which fixes how they look in landscape etc.
    4. You can set a maxDate for date picker dialogs.
    5. Misc. bug fixes and code cleanup.
    Source code(tar.gz)
    Source code(zip)
  • 2.6.0(Mar 26, 2019)

    1. Added md_color_widget_unchecked attribute to compliment the previously added md_color_widget attribute.
    2. Fixed time and datetime pickers not handling default time correctly. See #1766.
    3. Use JDK 8 version of the Kotlin plugin dependency.
    Source code(tar.gz)
    Source code(zip)
  • 2.5.0(Mar 23, 2019)

    1. Added md_color_widget theme attribute to apply custom coloring to checkbox prompts and controls in single/multi-choice lists.
    2. Fix the list selection callback in plain lists when waitForPositiveButton=false. See #1751.
    Source code(tar.gz)
    Source code(zip)
  • 2.4.0(Mar 20, 2019)

    1. Fix action button selectors being cut off on the bottom, see #1759.
    2. Re-applied smaller dialog max width values to match the Material spec.
    3. Fix vertical spacing on datetime dialogs when there is no dialog title, see #1757.
    4. Fixed neutral button positioning, although you still should prefer to not use it.
    5. Use semi-transparent primary theme color for the ripple of action buttons on API 21+.
    Source code(tar.gz)
    Source code(zip)
    sample.apk(3.09 MB)
  • 2.3.0(Mar 19, 2019)

    datetime no longer has a dependency on ThreetenBP. Uses Java's Calendar instead. Sorry to those who are already using it with LocalDateTime.

    Source code(tar.gz)
    Source code(zip)
  • 2.2.0(Mar 18, 2019)

    1. Added a datetime module which provides date, time, and date/time selector dialogs.
    2. Reverted dialog max-width values to the previous values.
    3. Action buttons should use the primary theme color by default per the newer specs.
    Source code(tar.gz)
    Source code(zip)
  • 2.1.0(Mar 16, 2019)

    1. Fix layout issues with action buttons and content views (to match Material Spec correctly, again). To visualize this, call debugMode(true) on your dialogs before opening them.
    2. Dependency upgrades.
    3. A new lifecycle module is available, which for now just adds an extension method to auto close dialogs when a lifecycle owner is destroyed. Check out the README for details. (will be available through jCenter shortly)
    4. Fixed background fill color on input field of input dialogs when using alpha versions of Material Components alongside this lib.
    Source code(tar.gz)
    Source code(zip)
    sample.apk(3.08 MB)
  • 2.0.3(Feb 26, 2019)

  • 2.0.2(Feb 25, 2019)

  • 2.0.1(Feb 25, 2019)

    1. Fix input dialog button enabled invalidation logic when using max length and allowEmpty=false.
    2. Include ColorPalette class in the color module, which provides primary and accent colors to use in the color chooser dialogs.
    3. Added a theme attribute you can use in your app to not use all caps in action buttons.
    4. Fix an input dialog crash.
    Source code(tar.gz)
    Source code(zip)
Owner
Aidan Follestad
25 years old. Senior Android Engineer @square. Apple fan. Full stack (Android, iOS, web, backend). Triumph Street Triple RS, Tesla Model 3. Gamer (PS5). Metal.
Aidan Follestad
⭐ ‎‎‎‏‏‎ ‎Offers a range of beautiful sheets (dialogs & bottom sheets) for quick use in your project. Includes many ways to customize sheets.

Sheets Sleek dialogs and bottom-sheets for quick use in your app. Choose one of the available sheets or build custom sheets on top of the existing fun

Maximilian Keppeler 838 Dec 30, 2022
Backport of Material dialogs with easy-to-use API based on DialogFragment

StyledDialogs for Android Demo app: Features: Compatible with Material Design Guidelines Same look for Android 2.2+ Built on top of standard DialogFra

Avast 2.2k Dec 29, 2022
Backport of Material dialogs with easy-to-use API based on DialogFragment

StyledDialogs for Android Demo app: Features: Compatible with Material Design Guidelines Same look for Android 2.2+ Built on top of standard DialogFra

Avast 2.2k Nov 29, 2022
Sleek dialogs and bottom-sheets for quick use in your app

⭐ ‎‎‎‏‏‎ ‎Offers a range of beautiful sheets (dialogs & bottom sheets) for quick use in your project. Includes many ways to customize sheets.

Maximilian Keppeler 835 Dec 25, 2022
A simple library for creating animated warnings/dialogs/alerts for Android.

Noty A simple library for creating animated warnings/notifications for Android. Examples Show me code Show me code Show me code Show me code Show me c

Emre 144 Nov 29, 2022
A small library replicating the new dialogs in android L.

L-Dialogs A small library replicating the new dialogs in android L. Set Up (Android Studio): Download the aar here: https://www.dropbox.com/s/276bhapr

Lewis Deane 572 Nov 11, 2022
AlertDialog for Android, a beautiful and material alert dialog to use in your android app.

AlertDialog for Android, a beautiful and material alert dialog to use in your android app. Older verion of this library has been removed

Akshay Masram 124 Dec 28, 2022
SweetAlert for Android, a beautiful and clever alert dialog

Sweet Alert Dialog SweetAlert for Android, a beautiful and clever alert dialog 中文版 Inspired by JavaScript SweetAlert Demo Download ScreenShot Setup Th

书呆子 7.3k Dec 30, 2022
An beautiful and easy to use dialog library for Android

An beautiful and easy to use dialog library for Android

ShouHeng 22 Nov 8, 2022
An easy-to-use Android library that will help you to take screenshots of specif views of your app and save them to external storage (Including API 29 Q+ with Scope Storage)

???? English | ???? Português (pt-br) ???? English: An easy to use Library that will help you to take screenshots ?? of the views in your app Step 1.

Thyago Neves Silvestre 2 Dec 25, 2021
Make your native android Dialog Fancy and Gify. A library that takes the standard Android Dialog to the next level with a variety of styling options and Gif's. Style your dialog from code.

FancyGifDialog-Android Prerequisites Add this in your root build.gradle file (not your module build.gradle file): allprojects { repositories { ...

Shashank Singhal 522 Jan 2, 2023
[Deprecated] This project can make it easy to theme and custom Android's dialog. Also provides Holo and Material themes for old devices.

Deprecated Please use android.support.v7.app.AlertDialog of support-v7. AlertDialogPro Why AlertDialogPro? Theming Android's AlertDialog is not an eas

Feng Dai 468 Nov 10, 2022
AwesomeDialog 3.1 0.0 Kotlin No description, website, or topics provided.

AwesomeDialog This library is a set of simple wrapper classes that was created to help you easily make SCLA like dialogs. Gradle add jitpack to your p

null 152 Nov 30, 2022
Android has a built in microphone through which you can capture audio and store it , or play it in your phone. There are many ways to do that but with this dialog you can do all thats with only one dialog.

# Media Recorder Dialog ![](https://img.shields.io/badge/Platform-Android-brightgreen.svg) ![](https://img.shields.io/badge/Android-CustomView-blue.sv

Abdullah Alhazmy 73 Nov 29, 2022
A highlight lib and also it can be a simple popup window lib for android

HighlightPro 中文 HighlightPro is a highlight library for android and also it can be a simple popup window library for android. Features: One or more hi

heyangyang 192 Jan 2, 2023
🗣 An overlay that gets your user’s voice permission and input as text in a customizable UI

Overview Voice overlay helps you turn your user's voice into text, providing a polished UX while handling for you the necessary permission. Demo You c

Algolia 228 Nov 25, 2022
Make a Popup appear long pressing on a view and handle drag-release events on its elements

LongPressPopup You can try the demo app on google play store. https://play.google.com/store/apps/details?id=rm.com.longpresspopupsample Or see the ful

Riccardo Moro 253 Dec 29, 2022
Advanced dialog solution for android

DialogPlus Simple and advanced dialog solution. Uses normal view as dialog Provides expandable option Multiple positioning Built-in options for easy i

Orhan Obut 5k Dec 29, 2022
An Android Dialog Lib simplify customization.

FlycoDialog-Master 中文版 An Android Dialog Lib simplify customization. Supprot 2.2+. Features [Built-in Dialog, convenient to use](#Built-in Dialog) [Ab

Flyco 2.3k Dec 8, 2022