An easy-to-use customizable show case view with circular reveal animation.
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
Download
Add this in your root build.gradle
file (not your module build.gradle
file):
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
Then, add the library to your module build.gradle
dependencies {
implementation 'com.github.faruktoptas:FancyShowCaseView:1.3.9'
}
Sample Usage
new FancyShowCaseView.Builder(this)
.focusOn(view)
.title("Focus on View")
.build()
.show();
Supported Properties
Command | Description |
---|---|
focusOn |
|
title |
|
typeface |
|
titleStyle |
|
titleGravity |
|
titleSize |
|
enableAutoTextPosition |
Center text position vertically. |
backgroundColor |
|
fitSystemWindows |
|
focusShape |
|
focusBorderColor |
|
focusBorderSize |
|
focusDashedBorder |
|
roundRectRadius |
|
showOnce |
|
clickableOn |
|
focusCircleRadiusFactor |
|
focusRectSizeFactor |
|
customView |
|
closeOnTouch |
|
enableTouchOnFocusedView |
|
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 for more samples.
Already in use in following apps
(feel free to send me new projects)
- News - Newspaper & Magazine
- NN Senin Mobilin
- Umíme česky
- DHIS2 Capture
- Travel Weather - Forecast plan for your trip
- muSync for Spotify
Sample App
Xamarin Port
Thanks to DigitalSa1nt for the Xamarin ported version 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.