Book Image

Learning Material Design

By : Kyle Mew, Nadir Belhaj
Book Image

Learning Material Design

By: Kyle Mew, Nadir Belhaj

Overview of this book

Google's Material Design language has taken the web development and design worlds by storm. Now available on many more platforms than Android, Material Design uses color, light, and movements to not only generate beautiful interfaces, but to provide intuitive navigation for the user. Learning Material Design will teach you the fundamental theories of Material Design using code samples to put these theories into practice. Focusing primarily on Android Studio, you’ll create mobile interfaces using the most widely used and powerful material components, such as sliding drawers and floating action buttons. Each section will introduce the relevant Java classes and APIs required to implement these components. With the rules regarding structure, layout, iconography, and typography covered, we then move into animation and transition, possibly Material Design's most powerful concept, allowing complex hierarchies to be displayed simply and stylishly. With all the basic technologies and concepts mastered, the book concludes by showing you how these skills can be applied to other platforms, in particular web apps, using the powerful Polymer library.
Table of Contents (17 chapters)


Android versions with an API level of 21 or higher come with a set of material-design-compliant transition animations. As one would imagine, transition animations give us control over how components exit a screen and how they enter. This is all made possible with the TransitionManager.

Exits and entrances

The best introduction to the TransitionManager is to see it in action. This can be achieved with a simple example, where we get to see the types of animation available to us before tackling the mechanics of actually moving from one activity to another. This will also give us the opportunity to take a quick look at the GridLayout, which we have not yet covered:

  1. Start a new Android project with an API level of 21 or higher.

  2. Inside the root layout, add a GridLayout.

  3. You will need to include the ID, rowCount, and columnCount attributes in the layout definition, as highlighted next:

    <GridLayout xmlns:android=""