explaingit

amlcurran/showcaseview

5,556JavaAudience · developerComplexity · 2/5Setup · easy

TLDR

An archived Android library that places a spotlight overlay on any UI element to guide users through onboarding or feature tours, used in production by Google, the BBC, and The Guardian.

Mindmap

mindmap
  root((showcaseview))
    What it does
      Spotlight overlay
      Onboarding tour
      Feature highlight
    Visual Styles
      Holo
      Flat
      Material
    Setup
      Gradle dependency
      Builder pattern
      XML styling
    Status
      Archived 2014
      API 11 plus
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Add a first-run tutorial that spotlights a specific button with a dimmed background and descriptive tooltip text.

USE CASE 2

Highlight a newly released menu item with an animated ring to draw returning users' attention to it.

USE CASE 3

Style the spotlight overlay in Holo, flat, or Material theme to match your app's design using standard Android XML.

Tech stack

JavaAndroidGradle

Getting it running

Difficulty · easy Time to first run · 30min

Archived since ~2014 with no security updates, may conflict with newer Android SDK minimum requirements.

License terms were not described in the explanation.

In plain English

ShowcaseView is an Android library (now archived) that lets app developers draw an attention-grabbing overlay on top of their app to highlight a specific button, menu item, or area of the interface. The overlay dims everything except the target, drawing the user's eye toward a particular feature. It is the kind of UI pattern you have likely seen when an app first opens and says something like "Tap here to get started" with a circle spotlighting the relevant button. To add the overlay, you use a builder pattern in your Java code: specify which element on the screen to target, provide a short title and description, and optionally configure whether tapping outside the overlay dismisses it. The library handles the drawing, animation, and layout positioning so you do not need to build those pieces yourself. ShowcaseView supports three visual styles: Holo (the older Android look), a newer flat style, and Material (following Google's Material Design guidelines). The style can be customized further using Android's standard XML styling system. A sample app is available on the Google Play Store to see the library in action before adding it to your own project. The library was used in production by apps from Google, the BBC, and The Guardian, among others. Installation via Gradle is a single dependency line in your project's build file. The project has been archived and has not been updated since around 2014. It targets Android API level 11 and above, which covers very old Android versions. A legacy branch with more features exists but is unsupported and must be compiled manually. For new Android projects, more actively maintained alternatives are likely a better fit.

Copy-paste prompts

Prompt 1
Using ShowcaseView, write Java builder code to spotlight the FAB with id R.id.fab, with title 'Get Started' and description 'Tap to create your first item', dismissing on outside tap.
Prompt 2
Show me how to chain three sequential ShowcaseView overlays that walk a user through different buttons in order on the same screen.
Prompt 3
Write Android XML styling to apply the Material style to ShowcaseView with a blue background and white text.
Prompt 4
How do I trigger a ShowcaseView overlay programmatically from a button click rather than automatically on launch?
Open on GitHub → Explain another repo

← amlcurran on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.