explaingit

ethanhua/skeleton

Analysis updated 2026-07-03

3,722JavaAudience · developerComplexity · 2/5Setup · easy

TLDR

Android library that shows shimmering grey placeholder shapes while your app loads data, giving users a sense of incoming content instead of a blank screen or a spinning spinner.

Mindmap

mindmap
  root((Skeleton))
    What it does
      Shimmer placeholders
      Loading animations
      RecyclerView support
    Tech stack
      Java
      Android
      Gradle
      ShimmerLayout
    Use cases
      Replace spinners
      List placeholders
      Card skeletons
    Setup
      Two Gradle lines
      Separate layout file
      show and hide calls
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

What do people build with it?

USE CASE 1

Add Facebook-style shimmer loading placeholders to an Android list screen with two lines of code

USE CASE 2

Show a skeleton preview of a card layout while your app fetches data from an API

USE CASE 3

Replace a loading spinner in a RecyclerView with animated grey placeholder rows

What is it built with?

JavaAndroidGradleRecyclerView

How does it compare?

ethanhua/skeletonandotp/andotpfasterxml/jackson-databind
Stars3,7223,7213,721
LanguageJavaJavaJava
Setup difficultyeasyeasyeasy
Complexity2/51/52/5
Audiencedevelopergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Project is deprecated, maintainer recommends switching to other maintained solutions.

In plain English

Skeleton is an Android library that shows placeholder animations while your app is loading data. The visual effect it produces is the same kind you see in apps like Facebook or Alipay: grey shaded shapes that roughly match the layout of the real content, sometimes with a sweeping shimmer animation passing over them, giving the user a sense of what is about to appear rather than a blank screen or a spinning wheel. The library works by letting you define a separate layout file that represents the skeleton version of your screen, usually a simplified version with grey rectangles where text and images will go. You bind your real view or list to the library with one or two lines of code, tell it which skeleton layout to use, and call show(). When your data arrives, you call hide() and the real content appears. The README emphasizes that it does not require changes to your existing layout code. It works with both regular Android views and RecyclerView, which is the standard component for displaying scrollable lists. Configuration options let you control whether the shimmer animation plays, how fast it moves, what color it uses, and how many placeholder list items to show. The README marks the project as deprecated, meaning the author no longer actively maintains it and recommends moving to other solutions. The shimmer animation itself is built on a dependency called ShimmerLayout from a separate open-source project. Adding the library requires two lines in your app's Gradle build file. No complex setup is needed beyond that.

Copy-paste prompts

Prompt 1
Using the ethanhua skeleton Android library, add a shimmer loading effect to a RecyclerView that shows 5 placeholder rows while data loads from a REST API
Prompt 2
Show me how to define a skeleton layout XML file for a card view with a title, subtitle, and image placeholder using the skeleton library
Prompt 3
How do I configure the skeleton library to use a custom shimmer color and animation speed in my Android app?
Prompt 4
Migrate from ethanhua skeleton to a modern Android loading placeholder library, keeping the same shimmer animation behavior

Frequently asked questions

What is skeleton?

Android library that shows shimmering grey placeholder shapes while your app loads data, giving users a sense of incoming content instead of a blank screen or a spinning spinner.

What language is skeleton written in?

Mainly Java. The stack also includes Java, Android, Gradle.

How hard is skeleton to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is skeleton for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub ethanhua on gitmyhub

Verify against the repo before relying on details.