Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/faruktoptas/FancyShowCaseView

An easy-to-use customisable show case view with circular reveal animation.
https://github.com/faruktoptas/FancyShowCaseView

android android-development android-library android-ui animation circular-reveal fancyshowcaseview kotlin kotlin-android kotlin-library material-design material-ui

Last synced: 9 days ago
JSON representation

An easy-to-use customisable show case view with circular reveal animation.

Awesome Lists containing this project

README

        

![FancyShowCaseView](https://user-images.githubusercontent.com/1595227/56747421-9aafc580-6786-11e9-9344-e3216f7aa660.png)

An easy-to-use customizable show case view with circular reveal animation.



Status
Download








@MaterialUp Best of the Day

## Features
* Circular reveal animation (API Level 21+)
* Focus on a specific view or position
* Background color
* Circle and Rounded Rectangle focus shapes
* Title style and position
* Custom view inflation
* Custom enter/exit animations
* Chaining multiple FancyShowCaseView instances
* Showing only one time

![!gif](https://cloud.githubusercontent.com/assets/1595227/24331187/ad143b80-1237-11e7-919c-36111c1ce559.gif)![!gif](https://cloud.githubusercontent.com/assets/1595227/24331189/afec8d9e-1237-11e7-986d-0ab7c44db7c7.gif)

## Download
Add this in your root `build.gradle` file (**not** your module `build.gradle` file):

```gradle
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
```

Then, add the library to your module `build.gradle`
```gradle
dependencies {
implementation 'com.github.faruktoptas:FancyShowCaseView:1.3.9'
}
```

## Sample Usage
```java
new FancyShowCaseView.Builder(this)
.focusOn(view)
.title("Focus on View")
.build()
.show();
```

## Supported Properties

| Command | Description |
| --- | --- |
| `focusOn` | The view to be focused. |
| `title` | The title text to be displayed. |
| `typeface` | The custom typeface for the title text. |
| `titleStyle` | The text style for the title. (style defined in xml file) |
| `titleGravity` | The gravity (alignment) of the title within the view (e.g., start, center, end). |
| `titleSize` | The size of the title text, typically in sp units. |
| `enableAutoTextPosition` | Center text position vertically. |
| `backgroundColor` | The background color of the view, typically in hexadecimal or resource ID format. |
| `fitSystemWindows` | This should be set to true, if your root view has this property set to true. |
| `focusShape` | The shape of the focus area (e.g., rounded rectangle, circle). |
| `focusBorderColor` | The color of the border around the focus area. |
| `focusBorderSize` | The thickness of the border around the focus area (px) |
| `focusDashedBorder` | Makes focus border dashed |
| `roundRectRadius` | The radius for rounded corners when the focus shape is a rectangle with rounded edges. Use 0 for rectangle shape. |
| `showOnce` | Determines if the focus should be shown only once. |
| `clickableOn` | Let the touch event pass through to clickable view zone only if clicking within |
| `focusCircleRadiusFactor` | Circle radius factor. Default value is 1. Bigger value makes bigger circle. |
| `focusRectSizeFactor` | Focus rectangle size factor. Default value is 1. Bigger value makes bigger rectangle. |
| `customView` | Use a fully customized view. If custom view used, title and title properties (titleStyle, titleGravity etc.) will be ignored. |
| `closeOnTouch` | Closes the FancyShowCaseView when touching it. |
| `enableTouchOnFocusedView` | Enables touching the focused view. Default value is false. |
| `enterAnimation` | |
| `exitAnimation` | |
| `animationListener` | |
| `disableFocusAnimation` | |
| `focusAnimationMaxValue` | Focus animation max value. Bigger value makes larger focus area. |
| `focusAnimationStep` | Step for focus animation. Default value is 1. |
| `focusRectAtPosition` | |
| `focusCircleAtPosition` | |
| `dismissListener` | |
| `delay` | Shows the FancyShowCaseView after a delay. |

Please see [wiki](https://github.com/faruktoptas/FancyShowCaseView/wiki) for more samples.

## Already in use in following apps
(feel free to send me new projects)

* [News - Newspaper & Magazine](https://play.google.com/store/apps/details?id=com.moblino.countrynews)
* [NN Senin Mobilin](https://play.google.com/store/apps/details?id=com.eteration.ing.mobile.android)
* [Umíme česky](https://play.google.com/store/apps/details?id=cz.muni.fi.umimecesky)
* [DHIS2 Capture](https://play.google.com/store/apps/details?id=com.dhis2)
* [Travel Weather - Forecast plan for your trip](https://play.google.com/store/apps/details?id=pozzo.apps.travelweather)
* [muSync for Spotify](https://play.google.com/store/apps/details?id=com.kloczl.musync.android)

## Sample App
[Latest Release](https://github.com/faruktoptas/FancyShowCaseView/releases)

## Xamarin Port
Thanks to [DigitalSa1nt](https://github.com/DigitalSa1nt) for the Xamarin ported version [Xamarin.ShowcaseView](https://github.com/DigitalSa1nt/Xamarin.ShowcaseView)

## Contribute
You can contribute by opening a pull request to **dev** branch.
Please try to push one feature in one commit for a clean commit history.

## Buy Me a Coffee

Buy Me A Coffee

## License
[Apache License 2.0](https://github.com/faruktoptas/FancyShowCaseView/blob/master/LICENSE)