The following is the first few sections of a chapter from The Busy Coder's Guide to Android Development, plus headings for the remaining major sections, to give you an idea about the content of the chapter.

The Android Design Support Library

In 2014, to much fanfare, Google released their first edition of the Material Design guidelines.

What was missing was an actual implementation of most of these guidelines.

Beyond the obvious question of “how do you know that it will work well if you have not tried it?”, it put Android developers in the unenviable position of being pressured to make their apps “look more material” without having anything really to do that.

In the months that followed Google I|O 2014, various developers took this implementation gap as a challenge and created their own implementations of many bits of Material Design. Much of this was released in the form of open source components, easily added to an app via dependencies added to a project’s build.gradle file (at least, for Android Studio developers and other Gradle users).

In 2015, to a bit less fanfare, Google released the Android Design Support Library. The vision is that this would be the official implementation of many Material Design core components, like floating action buttons (FABs), snackbars, and the like.

This chapter explores some components from the Android Design Support Library. This chapter also explores some independent implementations of the same components, particularly ones that seem to be superior to what Google is offering at present.


Understanding this chapter requires that you have read the core chapters, particularly the one on the action bar. You also should read the chapter on the appcompat-v7 action bar backport.

Note that the examples in this chapter are clones of a couple from the core chapters. This chapter’s prose was written assuming that you were familiar with those samples, so you may need to go back and review them as needed.

One of the book samples makes use of the animator framework.

GUIs and the Support Package

Many developers think that the libraries in the Android Support Package are purely backports. They then get confused when they realize that certain classes, like ViewPager, are not part of the core Android framework for any API level and exist only in the Android Support Package.

In truth, a lot of what is in the Android Support Package consists of backports: fragments, the action bar, NotificationCompat, and so on. However, the Android Support Package really consists of code that Google wants to make available to developers that can be used right away, even on older devices.

Many pieces of the Android Support Package are GUI-related, yet are not backports:

Now, we can add the Android Design Support Library to that list. Right now, this library is focused on Material Design components, and that is likely to remain its near-term focus. It remains to be seen if other GUI components, not specifically tied to Material Design, wind up in the Android Design Support Library, in support-v4/support-v13, or in other libraries.

Adding the Library… and What Comes With It

The preview of this section was traded for a bag of magic beans.

Introducing CWAC-CrossPort

The preview of this section is being chased by zombies.

Snackbars: Sweeter than Toasts

The preview of this section is en route to Mars.

Absolutely FABulous

The preview of this section was the victim of a MITM ('Martian in the middle') attack.

Material Tabs with TabLayout

The preview of this section was the victim of a MITM ('Martian in the middle') attack.

Floating Labels

The preview of this section is in the process of being translated from its native Klingon.