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)

Transitions and motion


One of Material Design's most appealing characteristics is the way elements move. Having content slide in and out of view allows us to manage data in a way that keeps the interface as uncomplicated as possible, while allowing users to access deeper content as and when they choose.

Wave animations

The wave effect is probably the most widely recognized material animation, and implementing it with Materialize could not be easier. In its simplest form, it looks like this:

<a class="btn waves-effect">OK</a>

The default implementation provides a gray ripple effect, but the framework provides seven other colors, plus a simple way to generate our own custom colors with CSS. The seven provided colors are:

waves-light
waves-red
waves-yellow
waves-orange
waves-purple
waves-green
waves-teal

They are implemented as shown here:

<a class="btn waves-effect waves-purple">OK</a>

These colors are fine for very many purposes, but creating our own custom waves is very simple...