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)

Revealing and hiding

Placing views and view groups in a layout and setting them as invisible, to be revealed later, is a lightweight and useful technique for changing the appearance of a screen without having to load separate activities or fragments. Furthermore, the circular reveal is designed specifically with material in mind.

Any view can be hidden and revealed, but for the sake of this exercise, we will use the following ImageView XML definition:

android:visibility="invisible" />

Reveal animations can be triggered by almost any event, but here we will simply use a button press. In your Java activity file, declare the button and image views as fields:

private ImageView imageView;
private Buttton button;

These need to be associated with their XML counterparts in the...