Skip to main content

Right Way to create Splash Screen in Android


In this tutorial, we will learn how to create splash screen without creating splash screen activity. Splash Screen is the screen which you show before the start of the application. What happen some time your application have lots of coding stuff on your main activity and its take lots of time in loading the all these stuff like inflating your layout, downloading bitmap, music and other program logic, which create bad user experience to user because user see black screen until your application not finish with all coding stuff. So in this scenario Splash Screen is very useful where you show custom graphics to end user and create better user experience.


Initially, I have done lots stuff about creating splash screen by starting a light activity before main activity and putting some sleep inside that activity and then start the main activity, but I don't think that is the best way create a splash screen. Because in this case you are creating an activity just to show a graphics before your application start and user have to wait for few second whether they required or not. For example one device with more advance hardware that can load the all stuff within two seconds but still user has to wait for 10 sec because you have put 10-second sleep in your splash screen activity.

Finally, after doing lots of stuff, I saw a video of google to show the splash screen in right way and then I have implemented that and found yes this is the right way create the splash screen.

What we will do in this we create the custom theme and put our graphics inside that theme and set that theme for our main activity inside our AndroidManifest.xml file and in our main activity we change the theme just before the start of our main activity.

Please note I was showing you this example inside the app which we have created in our last post, you can refer it if you have not gone through the last tutorial.

Create drawable for splash screen


Right click on the drawable folder and select new and then drawable resource file and put the following code inside your resource file. You may need to change the logo name in your resource file or can download the logo from GitHub source code of this example,  link given at the end of this page.

splash.xml
 <?xml version="1.0" encoding="utf-8"?>  
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
android:opacity="opaque">
<item
android:drawable="@color/transGray"/>
<item>
<bitmap
android:gravity="center"
android:src="@drawable/logo"/>
</item>
</layer-list>

Create a customer Theme inside your style.xml file and set the above drawable as the background of the theme.
 <style name="AppTheme.Launcher">  
<item name="android:windowBackground">@drawable/splash</item>
</style>

Modify your AndroidManifest.xml and set the AppThem.Launcher as your main activity theme.
 <activity android:name=".MainActivity"  
android:theme="@style/AppTheme.Launcher">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

We can run and test our application but you will get the same theme all over your activity which was not good. So for that we have to set our actually theme inside our activity. So open the MainActivity.java file and below line before you super.onCreate method called.
 setTheme(R.style.AppTheme);  
super.onCreate(savedInstanceState);

We are all set to test you similar to screen shots are given below.

Right Way to Create Splash Screen in androidRight Way to create Splash Screen

You can download the source code from GitHub project page here.

Comments

Popular posts from this blog

Flutter How to Start Android Activity from Flutter View

Flutter and Dart is an excellent combination for creating the UI, but for accessing the platform-specific service we need to open platform-specific activity. So lets in this article we will explore how to start an android activity and access the service from Flutter View. Create a Project for this Android Activity Flutter View Demo Create a Project From File menu select the New Flutter Project Enter the project name Select the AndroidX support and click on next After the above, we step click on Finish We will have the following project structure created. Create the Second Activity in Android Just go to the android folder and open it in separate windows. We will have the following project structure. Create the Activity Just right-click on the Kotlin folder and create a blank activity from the menu. If you create the activity then you may be required to upgrade the Gradle and do some import. So Just click on update and wait for the project s

Kotlin Parcelable Array Objects Send To Activity

We know that IPC (Inter Process Communication) between the activity is an extremely important part of any application development. We often required that we need to send some data to other activity. For example, we may be required to send an array of data, data could be an Integer, String, Long, Double, Float or any other custom data objects. So, In this example, we are going to learn how to implement the Kotlin Parcelable Array object to send the data from one activity to second activity. What is Parcel? The parcel class is designed as a high-performance IPC transport. A Parcel can contain both flattened data that will be unflattened on the other side of the IPC, and references to live IBinde r objects that will result in the other side receiving a proxy IBinder connected with the original IBinder in the Parcel. Create Kotlin Parcelable Array Objects Parcelable is API for placing the arbitrary objects into the Parcel. In Actual in android app development, Parcelable is an interface

Scan and List All Available WiFi Network In Android

In this tutorial, we learn how to connect to a WiFi hotspot in android by code. In this Demo we will create an as small app which will scan the all available network or Hotspot and list down the network when you select specific network, the application will connect that particular network. You May Like Below Topic: How to Read and Write JSON data using GSON WP Android App using REST and volley WP Android App using REST and volley part2 Implementation of SwipeRefreshLayout in RecyclerView Create Amazing Bottom Navigation Bar Without Any External Library Introduction In this tutorial, we learn how to connect to a WiFi hotspot in android by code. In this Demo we will create an as small app which will scan the all available network or Hotspot and list down the network when you select specific network, the application will connect that particular network. We will add this functionality to our existing Demo app " Video Gallery ". If you would like to check out t