Skip to main content

Splash Screens : Doing It The Right Way !


An Android application takes a little amount of time to start up , especially during the cold start i.e. the first time it runs on the device.

The very idea of splash screen irritates me. I mean they just waste your time and show you a highly crafted logo. As an Android Developer, just kidding I am just a beginner, when I see splash screen I just imagine that some poor developer had to add a three second delay to the code, just under the society's pressure.

Every time I open an application I have to just stare to a random picture for 3 seconds without any reason. I mean I just know which application I have opened and what it does, just let me use the app.

According to the Google Recommendation :

Google advocates that one should use a Splash Screen according to the Material Design Specs.
It’s still not a good idea to use a splash screen that wastes a user’s time. Please don’t do that.

Doing It The Right Way! :

However Android app do take some time to start up , especially on a cold start. There is a delay that you may not able to avoid . Instead of just leaving the blank screen why not just show user something nice. This is the approach Google is advocating. Don't waste user's time , but also don't show them blank  section of the app, the first time it loads.

If you look at recent updates to Google apps, you’ll see appropriate uses of the splash screen. Take a look at the YouTube app, for example.





The amount of time you just spent looking the splash screen was just the time it took to configure the application.This is on a cold launch, too, which means this is the slowest launch possible. If the app is cached, the splash screen will go away almost immediately.

Implementing Splash Screen:


Implementing a splash screen the right way is a little different than you might imagine. Its not like loading an activity and add a 3 second delay and then load the Main/Home activity. The splash view that you see has to be ready immediately, even before you can inflate a layout file in your splash activity.

So you will not use a layout file. Instead, specify your splash screen’s background as the activity’s theme background. To do this, first create an XML drawable in res/drawable.



Here, I’ve set up a background image.

Next, I will set this as my splash activity’s background in the theme. Now just navigate to your styles.xml file and add a new theme for your splash activity:





 In your new SplashScreen, set the window background attribute to your XML drawable. Configure this as your splash activity’s theme in your AndroidManifest.xml:





Finally, MainActivity (which is supposed to be SplashActivity) class should just forward you along to your main activity:








Notice that you don’t even set up a view for this MainActivity. The view comes from the theme. When you set up the UI for your splash activity in the theme, it is available immediately.

If you did have a layout file for your splash activity, that layout file would be visible to the user only after your app has been fully initialized, which is too late. You want the splash to be displayed only in that small amount of time before the app is initialized.


Armed with this knowledge, make your splash screen work the right way. Don’t waste the user’s time, but give them something nice to look at while they wait.






Comments

Popular posts from this blog

How To Backup Your Blogger Site/Blog ?

I hope , all those who are reading this post will be aware of Blogger or any other blog publishing service like Wordpress. If not, lets take a peek at that. Currently Blogger is owned by Google, which was developed by Pyra Labs. The blogs are hosted under sub-domain blogspot.com Blogger is one of the top free blogging platform. The major drawback of Blogger is that it is full of limitations. Google literally owns your blog, it has complete control over your blog. Google has the right to delete your blog anytime , if it founds you violating its Terms Of Services. It usually happens if you are spamming or doing something which somehow violates the Blogger Term of Services. That is the reason why I suggest to move to WordPress, where you can get self-hosted blog. For the above mentioned reason it is highly recommended for the Bloggers to take complete backup of their Blog including the content, template, themes and comments. By doing this you can have a safe side, if someth...

10 Major Android O features !

Google is surely coming out with its new high-calorie name for Android O, mean while techies are thinking about the possibilities for O....... Google could come ahead with Oreo, Orange, Oatcake.(Most probably Oreo) The very first developer preview of android O is out now,  ahead of its annual Google I/O developer's conference  and like every other update of Android I am excited.While I don't know what Android O will be called , but I do know about all the features that Android O will bring. Google could come ahead with Oreo, Orange, Oatcake.(Most probably Oreo) So here are 10 cool Android O features that you should definitely know. Improved Notification The first Android O feature I'm going to talk about is the improved notifications. Google has been refining the notification center since Lollipop and they are not done yet . Android O brings notification channel which lets you customize notifications for different categories of an app. Let...

Microsoft's Restucturing : Will Launch upto 6 Smartphones each year.

Microsoft's on Wednesday announced that it will reorganize the Windows Phone unit. Microsoft had planned to go through major transition in the Windows Phone mobile business by cutting 7800 jobs. According to resources Microsoft has decided to launch one or maximum of two models each year in each category namely affordable class, business class, and flagship segment or the premium end. Just after the news broke out, Satya Nadella through email discussed the plans of firm's business focus with his employees . In email he discussed about the firm's business focus in detail and also about the three particular segments. Describing the categories which could be detailed as budget phones, business phones and flagship phones or high end phones he said " We plan to narrow our focus to three customer segments where we can make unique contributions and where we can differentiate through the combination of our hardware and software. We'll bring business cus...