Material Design is a new trend in the design of Android apps, which is rapidly gaining momentum.


Basic principles of Material Design 


There are four main principles of Material Design:


  1. Touch surface. 

All interface components consist of layers that interact with each other (cast shadows, animate). This helps the user to understand how to interact with the application. 


Touch surface in mobile app



Touch surfaces in Google concept is a digital paper that has the properties of being able to stretch and change shape. 

 Touch surface in mobile app

Touch surface


  1. Printing design.

The mobile device works with graphic and text information. This means that all of the content follows the same rules as any magazines. During the course of the history of printing, a set of printing rules has been developed; these should be learned and applied in the development of the application design.


Printing rules in app development

 Printing rules


  1. Meaningful animations.

In the real world, each object has some special features and behavior which it exhibits when one interacts with it. Also, objects cannot appear out of nowhere or disappear into thin air. Consequently, Material Design uses meaningful animation. It shows the user the action and emphasizes the importance of the content, to draw attention to it.

  Meaningful animation in app development

Meaningful animation 


  1. Responsive design.

The market for Android devices is very large, so developers need to maintain and adapt the designs for devices with both high and low resolutions. The easiest way to achieve the desired goal is to reduce the amount of information that is displayed on the screen. For example, tablets can display a list of data and its description on one screen, but smartphones can display the description only on separate screens.

Responsive design in mobile apps

 Responsive design


Supporting tools for Android


Unfortunately, in Android SDK 16+ none of the capabilities of Material Design are supported by standard tools. To do this, you can use a set of libraries that will help to achieve the desired result. 

Also, Google developed a separate library with the major components (Floating button, Navigation View, Snackbar, etc.).


Problems with implementation


We would like to mention the positive aspects of the new IDE Android Studio update. Google developers have provided new samples to create projects that fully comply with the new design, with examples of the use of new Android Design Support Library components, such as: CoordinatorLayout, AppBarLayout, FloatingActionButton, NavigationView etc. 

As for the problems, the only stumbling block that prevents full compliance with the Material Design guidelines for Android SDK 16+ devices is transitions between activities (activity). 

Unfortunately, Android SDK 16+ does not support the full scope of the animation (explode, circular reveal, etc.). If you want to implement simple transitions (scale, translate, alpha, rotate), you can get the standard resources «anim» and methods «overridePendingTransition» or «startActivity» with «ActivityOptions» parameter

Another solution is to use “fragment” instead of “activity” (if possible) and animate their containers. Fortunately, there are no problems with View animation. The implementation is outlined in GitHub library.

Material Design is one of the most promising guidelines for the software design. The main features of Material Design are:

  • touch surface;
  • meaningful animation;
  • the use of printing rules in the implementation.

Applying these basic rules will make it possible to create an exciting application in the corporate style with a clear interface for users.