Spotlight
Spotlight
Spotlight is an Android library used to onboard users by showcasing specific features in the app.
Screen
Usage
new SpotlightView.Builder(this)
.introAnimationDuration(400)
.enableRevealAnimation(isRevealEnabled)
.performClick(true)
.fadeinTextDuration(400)
.headingTvColor(Color.parseColor("#eb273f"))
.headingTvSize(32)
.headingTvText("Love")
.subHeadingTvColor(Color.parseColor("#ffffff"))
.subHeadingTvSize(16)
.subHeadingTvText("Like the picture?\nLet others know.")
.maskColor(Color.parseColor("#dc000000"))
.target(view)
.lineAnimDuration(400)
.lineAndArcColor(Color.parseColor("#eb273f"))
.dismissOnTouch(true)
.dismissOnBackPress(true)
.enableDismissAfterShown(true)
.usageId(usageId) //UNIQUE ID
.show();
Download
Gradle
Define the jitpack remote Maven repository inside the repositories block of your root
build.gradle
fileallprojects { repositories { ... maven { url "https://jitpack.io" } } }
Add the Spotlight dependency
dependencies { ... implementation 'com.github.wooplr:Spotlight:1.2.3' }
Maven
Define the jitpack remote Maven repository in your
pom.xml
at the end of repositories<repositories> ... <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository> </repositories>
Add the Spotlight dependency
<dependency> <groupId>com.github.wooplr</groupId> <artifactId>Spotlight</artifactId> <version>1.2.3</version> </dependency>
Builder Methods
maskColor(int)
Overlay Color
target(View)
View to showcase
introAnimationDuration(long)
Intro animation duration (For Reveal and Fadein)
enableRevealAnimation(boolean)
Enable reveal animation (Only for Lollipop and above)
fadeinTextDuration(long)
Fade in animation duration for spotlight text (Heading and Sub-heading)
headingTvSize(int)
Size of heading text
headingTvColor(int)
Color of heading text
headingTvText(CharSequence)
Text to display in heading
subHeadingTvSize(int)
Size of sub-heading text
subHeadingTvColor(int)
Color of sub-heading text
subHeadingTvText(CharSequence)
Text to display in sub-heading
setTypeface(Typeface)
Custom font for text in spotlight view
lineAndArcColor(int)
Color of the spotlight line
lineAnimDuration(long)
Line animation duration
performClick(boolean)
Perform a click on target view
usageId(String)
Unique id for each spotlight
dismissOnTouch(boolean)
Dismiss spotlight on touch outside
enableDismissAfterShown(boolean)
Dismiss spotlight on touch outside after spotlight is completely visible
Configuration Method
//Create global config instance to reuse it
SpotlightConfig config = new SpotlightConfig();
config.isDismissOnTouch(true);
config.setLineAndArcColor(0xFFFFFFFF);
...
.setConfiguration(config)
Author
Proguard rules
-keep class com.wooplr.spotlight.** { *; }
-keep interface com.wooplr.spotlight.**
-keep enum com.wooplr.spotlight.**