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.