From 5ed07c137417ac758728e9e81979095d65ed8fd9 Mon Sep 17 00:00:00 2001 From: Javier Santos Date: Sat, 16 May 2020 13:21:57 +0200 Subject: [PATCH] Update README.md --- README.md | 198 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 188 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 028da5c..889a4b9 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@

Android Library

- +

@@ -11,11 +11,6 @@ ![MaterialStyledDialogs](https://raw.githubusercontent.com/javiersantos/MaterialStyledDialogs/master/Screenshots/banner.png) -## Sample Project -You can download the latest sample APK from Google Play: - - - ## How to include Add the repository to your project **build.gradle**: ```gradle @@ -28,9 +23,20 @@ repositories { ``` And add the library to your module **build.gradle**: + +**AndroidX** + ```gradle dependencies { - implementation 'com.github.javiersantos:MaterialStyledDialogs:3.0.0' + implementation 'com.github.javiersantos:MaterialStyledDialogs:3.0' +} +``` + +**Pre AndroidX (no longer supported)** + +```gradle +dependencies { + implementation 'com.github.javiersantos:MaterialStyledDialogs:2.2' } ``` @@ -44,6 +50,18 @@ MaterialStyledDialog.Builder(this) .setDescription("What can we improve? Your feedback is always welcome.") .show() ``` + +
Java Sample + +```Java +new MaterialStyledDialog.Builder(this) + .setTitle("Awesome!") + .setDescription("What can we improve? Your feedback is always welcome.") + .show(); +``` + +

+ or using the builder... ```kotlin @@ -54,6 +72,19 @@ val dialog = MaterialStyledDialog.Builder(this) dialog.show() ``` +
Java Sample + +```Java +MaterialStyledDialog dialog = new MaterialStyledDialog.Builder(this) + .setTitle("Awesome!") + .setDescription("What can we improve? Your feedback is always welcome.") + .build(); +... +dialog.show(); +``` + +

+ ## Customizations ([Wiki](https://github.com/javiersantos/MaterialStyledDialogs/wiki)) ### Setting a style @@ -80,6 +111,19 @@ MaterialStyledDialog.Builder(this) .show() ``` +
Java Sample + +```Java +new MaterialStyledDialog.Builder(this) + .setTitle("Awesome!") + .setDescription("What can we improve? Your feedback is always welcome.") + .setStyle(Style.HEADER_WITH_ICON) + //.setStyle(Style.HEADER_WITH_TITLE) + .show(); +``` + +

+ ### Displaying an icon The dialog icon is displayed in the center of the dialog (as seen it the screenshots). @@ -91,6 +135,19 @@ MaterialStyledDialog.Builder(this) .show() ``` +
Java Sample + +```Java +new MaterialStyledDialog.Builder(this) + .setTitle("Awesome!") + .setDescription("What can we improve? Your feedback is always welcome.") + .setIcon(R.drawable.ic_launcher) + //.setIcon(ContextCompat.getDrawable(this, R.drawable.ic_launcher)) + .show(); +``` + +

+ ### Using a custom header color By default, your primary color will be used for the header background. However you can customize this by adding: @@ -102,6 +159,18 @@ MaterialStyledDialog.Builder(this) .show() ``` +
Java Sample + +```Java +new MaterialStyledDialog.Builder(this) + .setTitle("Awesome!") + .setDescription("What can we improve? Your feedback is always welcome.") + .setHeaderColor(R.color.dialog_header) + .show(); +``` + +

+ ### Using an image as the header background Customize your dialog by adding a drawable instead of a color. @@ -113,6 +182,19 @@ MaterialStyledDialog.Builder(this) .show() ``` +
Java Sample + +```Java +new MaterialStyledDialog.Builder(this) + .setTitle("Awesome!") + .setDescription("What can we improve? Your feedback is always welcome.") + .setHeaderDrawable(R.drawable.header) + //.setHeaderDrawable(ContextCompat.getDrawable(this, R.drawable.heaer)) + .show(); +``` + +

+ ### Adding a darker/grey overlay to the header background Some icons or drawables may fit better when using a darker/grey overlay. Using the `.withDarkerOverlay()` method the library will apply a color filter to the header background. `false` by default. @@ -125,6 +207,19 @@ MaterialStyledDialog.Builder(this) .show() ``` +
Java Sample + +```Java +new MaterialStyledDialog.Builder(this) + .setTitle("Awesome!") + .setDescription("What can we improve? Your feedback is always welcome.") + .setHeaderDrawable(R.drawable.header) + .withDarkerOverlay(true) + .show(); +``` + +

+ ### Adding icon and dialog animations An animation to the icon will be displayed when the dialog is opened (`true` by default). You can also add a custom animation using `.setIconAnimation(R.anim.your_animation)`. A zoom in-out animation will be used by default. @@ -138,6 +233,19 @@ MaterialStyledDialog.Builder(this) .show() ``` +
Java Sample + +```Java +new MaterialStyledDialog.Builder(this) + .setTitle("Awesome!") + .setDescription("What can we improve? Your feedback is always welcome.") + .withIconAnimation(true) + .setIconAnimation(R.anim.your_animation) + .show(); +``` + +

+ The dialog will be displayed with an animation when it is opened and closed. `false` by default. ```kotlin @@ -148,6 +256,19 @@ MaterialStyledDialog.Builder(this) .show() ``` +
Java Sample + +```Java +new MaterialStyledDialog.Builder(this) + .setTitle("Awesome!") + .setDescription("What can we improve? Your feedback is always welcome.") + .withDialogAnimation(true) + //.withDialogAnimation(true, Duration.SLOW) + .show(); +``` + +

+ ### Adding buttons and callbacks Buttons are showed at the end of the bottom dialog. You can add your own text and actions/callbacks. @@ -156,12 +277,31 @@ MaterialStyledDialog.Builder(this) .setTitle("Awesome!") .setDescription("What can we improve? Your feedback is always welcome.") .setPositiveText(R.string.button) - .onPositive { - Log.d("MaterialStyledDialogs", "Do something!"); - } + .onPositive { Log.d("MaterialStyledDialogs", "Do something!"); } .show() ``` +
Java Sample + +```Java +new MaterialStyledDialog.Builder(this) + .setTitle("Awesome!") + .setDescription("What can we improve? Your feedback is always welcome.") + .setPositiveText(R.string.button) + .onPositive(new MaterialDialog.SingleButtonCallback() { + @Override + public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { + Log.d("MaterialStyledDialogs", "Do something!"); + }) + //.setNegativeText(...) + //.onNegative(...) + //.setNeutralText(...) + //.onNeutral(...) + .show(); +``` + +

+ If no `onPositive(...)`, `onNegative(...)` or `onNeutral(...)` callbacks are provided, then the bottom dialog will be dismissed when tapping on the button. If `autoDismiss()` is turned `false`, then you must manually dismiss the dialog in these callbacks. Auto dismiss is `true` by default. @@ -179,6 +319,18 @@ MaterialStyledDialog.Builder(this) .show() ``` +
Java Sample + +```Java +new MaterialStyledDialog.Builder(this) + .setTitle("Awesome!") + .setDescription("What can we improve? Your feedback is always welcome.") + .setCancelable(true) + .show(); +``` + +

+ ### Adding a custom view You can add custom view to your bottom dialog just by adding the layout to the `setCustomView()` method. @@ -190,6 +342,19 @@ MaterialStyledDialog.Builder(this) .show() ``` +
Java Sample + +```Java +new MaterialStyledDialog.Builder(this) + .setTitle("Awesome!") + .setDescription("What can we improve? Your feedback is always welcome.") + .setCustomView(your_custom_view) // Old standard padding: .setCustomView(your_custom_view, 20, 20, 20, 0) + //.setCustomView(your_custom_view, 10, 20, 10, 20) // int left, int top, int right, int bottom + .show(); +``` + +

+ A detailed description is available at: https://github.com/javiersantos/MaterialStyledDialogs/wiki/Adding-a-custom-view ### Making the content scrollable @@ -203,6 +368,19 @@ MaterialStyledDialog.Builder(this) .show() ``` +
Java Sample + +```Java +new MaterialStyledDialog.Builder(this) + .setTitle("Awesome!") + .setDescription("A loooooooooong looooooooooong really loooooooooong content. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam pulvinar sem nibh, et efficitur massa mattis eget. Phasellus condimentum ligula.") + .setScrollable(true) + //.setScrollable(true, 10) + .show(); +``` + +

+ ## License Copyright 2016-2020 Javier Santos