Skip to main content

Skeleton content loading animation in android | Facebook Shimmer

What is Facebook Shimmer

Skeleton content loading animation in android
Today we are going to see what is Facebook shimmer and how to use it?
See below example to understand Facebook shimmer.

content loading animation

The Facebook shimmer is used to show or indicate the user that the content is loading from somewhere which takes sometimes so that users need to wait. While content is loading, it is necessary to show the user an indication that content is loading and it is bad practice to leave screen blank which confuses user what is happening in the app or maybe the user thinks the app is hanging.

How to use Facebook Shimmer

So enough talking, let do some code on how to make content loading animation using facebook shimmer library. See below facebook shimmer android example

To use facebook shimmer first we need to add the dependency to your project. See below to add facebook shimmer dependency.

After adding dependency, let's create our layout. For demo purposes, we are creating our layout some like below.
cardview layout

To make the above layout we are using this code.
You can make your own layout according to your need.
Note: we use cardview for making this layout you can read here about how to use cardview in android.
After the layout, we need to add code for facebook shimmer effect.
First, we need to add ShimmerFrameLayout as parent container of the shimmer effect we can simply copy our main layout and with minor changes, we have done with our shimmer layout part. See below code and remember to set the visibility of main layout to gone.
Notice the ids we have assigned to the ShimmerFrameLayout (facebookShimmerLayout).
Now, this all for layout part now its time to come to java part.
See the below code.
First, we are getting our main container which is cardview and then ShimmerFrameLayout.
To start the shimmer animation we need to call the startShimmer method of ShimmerFrameLayout
if you run your app at this point, your shimmer effect will show but it will not end as we never stopping it.
To stop the shimmer we need to call stopShimmer methods of ShimmerFrameLayout.
For showing some delay and faking data loading we are using handler then we stop the shimmer and change its visibility and also change the visibility of the main container to visible.

You can use this effect with recyclerview and change its visibility.

Thank you for reading this article on the skeleton shimmer effect in android. If you learn something new then share this article with your batchmates and friends

Share this Article 👇

Subscribe to our Newsletter


By subscribing to our newsletter you're agreeing with our T&C.

Popular Posts

Gradient Status bar and Toolbar in Android

How to make Gradient Toolbar and Status bar in Android

Hello there, Today we are going to learn how we can make an amazing custom toolbar with gradient effect and also apply the gradient to the status bar like below.



First, let's create a new project or open your existing one.

To make gradient to status bar and toolbar we need to edit our styles.xml file to make it no action bar theme and apply fullscreen so that we can add our custom status bar.

See below snippet of styles.xml and edit your like this.

Open res folder then open values folder and select style.xml.



First, we need to change the parent attribute and replace the value with Theme.AppCompat.Light.NoActionBar by doing this default action bar will remove.

Now we add some property in the styles.xml



This will give us the ability to add a custom status bar.

For the custom toolbar, we need to make a custom layout file.

To do that we create a new layout file by right click on the layout folder and then click on new and then cli…

What is CardView in Android?

CardView in Android
Hello World, Today we are going to see what is cardview in android and what it's advantages. 
CardView is a widget provided by the android to build a new look and efficient UI. You can make your app look more professional see examples below. Cardview is an amazing concept which makes your user experience better than old android UI. Cardview was released with Android version 5.0 which is android lollipop.
According to Android's Official Site, what is cardview:
CardView API as an easy way for you to show information inside cards that have a consistent look across the platform. These cards have a default elevation above their containing view group, so the system draws shadows below them. Cards provide an easy way to contain a group of views while providing a consistent style for the container.
What are the advantages of CardView?
Before the cardview, if we want to make something look like a card we mostly use framelayout b…

How to make splash screen in Android in 2020 [Best Guide]

How to make splash screen in Android
splash screen in android github, splash screen in android tutorials point, splash screen in android javatpoint, android studio splash screen animation, advanced splash screen in android, splash screen in android geeksforgeeks
Hello World, Today we are going to see how we can make a beautiful Splash Screen in your Android App. 
Before start coding let's see, According to Wikipedia what is splash screen:

A splash screen is a graphical control element consisting of a window containing an image, a logo, and the current version of the software. A splash screen usually appears while a game or program is launching. 

A splash page is an introduction page on a website.[1][2] A splash screen may cover the entire screen or web page, or may simply be a rectangle near the center of the screen or page. The splash screens of operating systems and some applications that expect to be run in full screen usually cover the entire screen.

So basically a Splash Screen…

Load Image from URL in Android

How to show/load Image from URL in Android App

Today, we are going to learn how we can load or show an image from the internet or URL or link and show it in the ImageView in your android app.

Let's start by creating a new android project.

After creating the project we have to add our dependency to the app level Gradle file.

Open your build.gradle (Module: app) and add these dependencies



After adding the dependencies, hit the sync now button at the top right corner.

This will add the glide dependency in your project. Now open your activity xml file and add an ImageView. Like this.



We have a ConstraintLayout as parent layout and in the ConstraintLayout, we have a child ImageView and we set its id imageView.

Now open your activity java file, and add this code in your onCreate method.



In the above code, first, we are getting our image view from xml by using findViewById.

And then, we are calling the glide library, and it's with function and passing context and after that, we are c…

How to customize button in android

How to customize button in android
Hello, Today we are going to see how we can customize the button in android. We will see how we can make a rounded corner button with background color and also see how we can gradient to the button. 
See the below gif for both examples.


First, let's see  How to change button background color in android Follow these steps to change your button background in android. To apply or change the background color of a button in android, we need to make a button in our layout and a new drawable file.
We have added our button in layout as below, 


we will make a drawable file and write the code for the background of the button.




After creating the file. Add this code in the drawable file, here we have named this file as bg_btn.xml.

In the above code, first, we specify the shape of the button by setting the root element as shape and pass attribute shape and set its value to rectangle. …

Twitter Like Button in Android

How to make Twitter like button in Android


Today, we gonna learn how to make like button the same as Twitter has on their website with animation. See the below gif.

Let's get started. First, create a new project in Android Studio if you not created already.
After creating the project, we need to add some dependencies to our project.
So first, open your build.gradle (Project: <app_name>) file and add below line in allprojects repositories section as shown below.

Now after that, we need to open our build.gradle (Module: app) and this dependency.

This is all our dependency part. Now hit the sync now button at the top right corner.
This will add the dependency in our project. 
Now we can move forward and open an activity xml file and this code in our layout for the like button.

Our activity xml file has ConstraintLayout as parent layout so we have to add constraints attributes.
As you can see in our like button we have icon_type attribute has heart value. You can add thumb or st…

JSON Rest API in Android

How to use JSON Rest API in Android App

Hello guys, Today we are going to see how we can consume JSON API in Android or we can say consume REST API in Android.
First, let's see what is REST API?
According to restfullapi.net
REST is acronym for REpresentational State Transfer. It is architectural style for distributed hypermedia systems and was first presented by Roy Fielding in 2000 in his famous dissertation.
So basically we can fetch data and create data on the server.
Now let's make a working example on JSON API.
First, we have to create a new project in the android studio if you already not created it.
Our end result app will look like this.


To make this UI, we are using android recyclerview and cardview. To use them we need to add the dependency to our project.

After adding the dependency hit the sync button.
We need internet permission as we will fetch the data from the internet.

For demo purposes, we are using https://jsonplaceholder.typicode.com/ user API it is free t…

Image Slider in Android

How to make Image Slider in Android App Today, I am going to show you how you can make a decent image slider in your android app very easily without writing lots of code.

check this gif below for end result what we will be going to make.


is it look beautiful? To make this type of image slider or image carousel. Follow these simple step which is given below.

First, of course, you have to create a new project in android studio.

Choose an empty activity and then choose the app name and hit the finish button.

Wait for some time to build your project and after the build.

Move your images to your drawable folder.


here as you can see, I have move 3 images name img1, img2 and img3.

After this, now we have to add our dependency for image slider.

Add this dependency in your build.gradle(app) file


After adding the dependency hit the sync now button (top right corner).

Now go to the activity xml file.

Remove Textview from the xml file and also remove ConstraintLayout and add LinearLayout

Your fil…

LocalBroadcastManager in Android

What is LocalBroadcastManager and How to use LocalBroadcastManager in Android

Today, we are going to learn what is localbroadcastmanager and how to use it our application.

Let's start.

Whats is LocalBroadcastManager?  Just like Global Broadcast receiver where we receive various broadcasts from different applications. 
For example, we can the listener broadcast for battery percentage when it very low or we can set various listeners for various events.
We can also make our custom broadcast and can set the receiver from other applications and can communicate between different applications.
But what if you only want that your custom broadcast can only listen within the application to pass some sensitive data something like user data or some transaction information.
The problem with global broadcast is that it is system-wide and can be vulnerable which can be very harmful especially when we are working with some sensitive data.
By using local broadcast we can pass data from one point to…

Pass Data between Activities

How to pass data from one activity to other activity

Today, we are going to see how we can send data from one activity to the second activity.
So let's get started,
First, create a new project if you do not create already.
Then open your first activity xml file and we are going to add a button.
This button will be our trigger to open the second activity. So to do that we need to create a button and set on click listener.
Remove textview created by the android studio by default and add a new button like the below image.

Note that I have changed my parent layout from ConstraintLayout to LinearLayout which is optional.
I have specified id to the button e.g openAcitivityButton.
Now it's time set click listener. To do that we need to open our activity java file.



In the above code, we initialize our button name it as openActivityButton with its's id and then we are calling method setOnClickListener in the onCreate method.

At this point, we have only one activity to open the next…