Material Intro Screen for Android Apps

Filip Skowron
Tango
Published in
3 min readSep 19, 2016

--

You want to write an app which will be used by thousands of users, but according to the fortune.com article, less than 25% of users will open your app more than once. So how can you increase the retention rate? Try to engage every user — with an Intro Screen.

There are currently two main libraries available for Android developers, which offer really good looking intro screens to include in your project. Everything seems great, an application works and you just need to implement one feature which is not available in a library. Five hours later you have realised how big mistake was using that tool. That is why we have decided to write new Android intro screen implementation using all clean code rules, with easy to use and as extensible as possible API. Today we are releasing the library which we made by extracting source code from one of our Tango projects. All code is available at github.com.

Usage of the library

Step 1 — Gradle:

Add gradle dependencies

Step 2 — Preparation:

First, your intro activity class needs to extend MaterialIntroActivity:

Step 3 — Modifying Manifest:

Secondly, add the activity to the AndroidManifest.xml with predefined theme:

Step 4 — Adding slides:

And the last step - add slides:

Step 5 — Customisation :

Of course, there is an option to add a completely custom slide with your own implementation. The only thing you must do is extend SlideFragment and implement backgroundColor() and buttonsColor().

While using this library you are free to choose custom buttons, view pager, or page indicator animation on different view pager states. For example, I wanted an alpha animation on the next button, while moving from the first slide. That never was so easy!

There is also available api for customizing whole behaviour of material intro activity. In my application I would like to show toast on end of the screen. How to do it? Implement onFinish() method in your extended intro activity.

It doesn’t look really hard, does it? The main purpose while creating this library, was to create code which will work smoothly, fast and will be easily included in the application without any problems. I think I’ve done my best to create this library.

Are you looking for a great mobile development team that gets things done? Ping us at contact@tango.agency or @tango_agency on Twitter.

--

--