Content Placeholder Animation using Shimmer in Android
We have seen a unique design for loading screen which is seen in Facebook for loading purpose and it is also used to display the content placeholder for the purpose of loading. GitHub provides this type of loading placeholder, and it looks beautiful than the normal progress bar. In this article, we will take a look at the implementation of Content Placeholder using Shimmer animation in Android.
What we are going to build in this article?
We will be building a simple application in which we will be loading data from a URL in JSON format and during the process of loading, we will be displaying a shimmer layout for loading. A sample video is given below to get an idea about what we are going to do in this article. Note that we are going to implement this project using the Java language.
Step by Step Implementation
Step 1: Create a New Project
To create a new project in Android Studio please refer to How to Create/Start a New Project in Android Studio. Note that select Java as the programming language.
Step 2: Adding dependency for using Facebook Shimmer layout
Navigate to the app > Gradle Scripts > build.gradle file and add the below dependency to it.
// below line is used for volley library
// below line is used for image loading library
// depenancy for using facebook shimmer layout.
Now sync your project and move towards your XML file.
Step 3: Adding permissions for the internet in Android
Navigate to the app > AndroidManifest.xml and add permissions to it for the internet as we are loading data from the internet.
Step 4: Working with the activity_main.xml file
Navigate to the app > res > layout > activity_main.xml and add the below code to that file. Below is the code for the activity_main.xml file.
Step 5: Working with the MainActivity.java file
Go to the MainActivity.java file and refer to the following code. Below is the code for the MainActivity.java file. Comments are added inside the code to understand the code in more detail.
Now run your app and see the output of the app.