Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
javiersantos authored May 16, 2020
1 parent afffedf commit 5ed07c1
Showing 1 changed file with 188 additions and 10 deletions.
198 changes: 188 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<h4 align="center">Android Library</h4>

<p align="center">
<a target="_blank" href="https://android-arsenal.com/api?level=11"><img src="https://img.shields.io/badge/API-11%2B-orange.svg"></a>
<a target="_blank" href="https://android-arsenal.com/api?level=14"><img src="https://img.shields.io/badge/API-14%2B-orange.svg"></a>
<a target="_blank" href="https://travis-ci.org/javiersantos/MaterialStyledDialogs"><img src="https://travis-ci.org/javiersantos/MaterialStyledDialogs.svg?branch=master"></a>
<a target="_blank" href="http://android-arsenal.com/details/1/3136"><img src="https://img.shields.io/badge/Android%20Arsenal-MaterialStyledDialogs-blue.svg"></a>
</p>
Expand All @@ -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:

<a target="_blank" href="https://play.google.com/store/apps/details?id=com.github.javiersantos.materialstyleddialogs.demo"><img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png" height="60"></a>

## How to include
Add the repository to your project **build.gradle**:
```gradle
Expand All @@ -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'
}
```

Expand All @@ -44,6 +50,18 @@ MaterialStyledDialog.Builder(this)
.setDescription("What can we improve? Your feedback is always welcome.")
.show()
```

<details><summary><b>Java Sample</b></summary>

```Java
new MaterialStyledDialog.Builder(this)
.setTitle("Awesome!")
.setDescription("What can we improve? Your feedback is always welcome.")
.show();
```

</details><br>

or using the builder...

```kotlin
Expand All @@ -54,6 +72,19 @@ val dialog = MaterialStyledDialog.Builder(this)
dialog.show()
```

<details><summary><b>Java Sample</b></summary>

```Java
MaterialStyledDialog dialog = new MaterialStyledDialog.Builder(this)
.setTitle("Awesome!")
.setDescription("What can we improve? Your feedback is always welcome.")
.build();
...
dialog.show();
```

</details><br>

## Customizations ([Wiki](https://github.com/javiersantos/MaterialStyledDialogs/wiki))
### Setting a style

Expand All @@ -80,6 +111,19 @@ MaterialStyledDialog.Builder(this)
.show()
```

<details><summary><b>Java Sample</b></summary>

```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();
```

</details><br>

### Displaying an icon
The dialog icon is displayed in the center of the dialog (as seen it the screenshots).

Expand All @@ -91,6 +135,19 @@ MaterialStyledDialog.Builder(this)
.show()
```

<details><summary><b>Java Sample</b></summary>

```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();
```

</details><br>

### Using a custom header color
By default, your primary color will be used for the header background. However you can customize this by adding:

Expand All @@ -102,6 +159,18 @@ MaterialStyledDialog.Builder(this)
.show()
```

<details><summary><b>Java Sample</b></summary>

```Java
new MaterialStyledDialog.Builder(this)
.setTitle("Awesome!")
.setDescription("What can we improve? Your feedback is always welcome.")
.setHeaderColor(R.color.dialog_header)
.show();
```

</details><br>

### Using an image as the header background
Customize your dialog by adding a drawable instead of a color.

Expand All @@ -113,6 +182,19 @@ MaterialStyledDialog.Builder(this)
.show()
```

<details><summary><b>Java Sample</b></summary>

```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();
```

</details><br>

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

Expand All @@ -125,6 +207,19 @@ MaterialStyledDialog.Builder(this)
.show()
```

<details><summary><b>Java Sample</b></summary>

```Java
new MaterialStyledDialog.Builder(this)
.setTitle("Awesome!")
.setDescription("What can we improve? Your feedback is always welcome.")
.setHeaderDrawable(R.drawable.header)
.withDarkerOverlay(true)
.show();
```

</details><br>

### 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.
Expand All @@ -138,6 +233,19 @@ MaterialStyledDialog.Builder(this)
.show()
```

<details><summary><b>Java Sample</b></summary>

```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();
```

</details><br>

The dialog will be displayed with an animation when it is opened and closed. `false` by default.

```kotlin
Expand All @@ -148,6 +256,19 @@ MaterialStyledDialog.Builder(this)
.show()
```

<details><summary><b>Java Sample</b></summary>

```Java
new MaterialStyledDialog.Builder(this)
.setTitle("Awesome!")
.setDescription("What can we improve? Your feedback is always welcome.")
.withDialogAnimation(true)
//.withDialogAnimation(true, Duration.SLOW)
.show();
```

</details><br>

### Adding buttons and callbacks
Buttons are showed at the end of the bottom dialog. You can add your own text and actions/callbacks.

Expand All @@ -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()
```

<details><summary><b>Java Sample</b></summary>

```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();
```

</details><br>

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.
Expand All @@ -179,6 +319,18 @@ MaterialStyledDialog.Builder(this)
.show()
```

<details><summary><b>Java Sample</b></summary>

```Java
new MaterialStyledDialog.Builder(this)
.setTitle("Awesome!")
.setDescription("What can we improve? Your feedback is always welcome.")
.setCancelable(true)
.show();
```

</details><br>

### Adding a custom view
You can add custom view to your bottom dialog just by adding the layout to the `setCustomView()` method.

Expand All @@ -190,6 +342,19 @@ MaterialStyledDialog.Builder(this)
.show()
```

<details><summary><b>Java Sample</b></summary>

```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();
```

</details><br>

A detailed description is available at: https://github.com/javiersantos/MaterialStyledDialogs/wiki/Adding-a-custom-view

### Making the content scrollable
Expand All @@ -203,6 +368,19 @@ MaterialStyledDialog.Builder(this)
.show()
```

<details><summary><b>Java Sample</b></summary>

```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();
```

</details><br>

## License
Copyright 2016-2020 Javier Santos

Expand Down

0 comments on commit 5ed07c1

Please sign in to comment.