Spotlight

Project Url: wooplr/Spotlight
Introduction: 可用来显示功能介绍引导用户的类
More: Author   ReportBugs   
Tags:
用户引导-功能介绍-

Spotlight

Spotlight is an Android library used to onboard users by showcasing specific features in the app.

Platform

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

  1. Define the jitpack remote Maven repository inside the repositories block of your root build.gradle file

     allprojects {
         repositories {
             ...
             maven { url "https://jitpack.io" }
         }
     }
    
  2. Add the Spotlight dependency

     dependencies {
         ...
         implementation 'com.github.wooplr:Spotlight:1.2.3'
     }
    

Maven

  1. 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>
    
  2. 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

Jitender Chaudhary

Proguard rules

-keep class com.wooplr.spotlight.** { *; }
-keep interface com.wooplr.spotlight.**
-keep enum com.wooplr.spotlight.**

Credits

MaterialIntroView

Rahul Khanna

Suraj Barthy

License

Apache 2.0

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools