Introduction to Material Design in Android

Material Design Components (MDC Android) offers designers and developers a way to implement Material Design in their Android application. Developed by a core team of engineers and UX designers at Google, these components enable a reliable development workflow to build beautiful and functional Android applications. Material design in Android is one of the key features that attracts and engages the customer towards the application. This is a special type of design, which is guided by Google. So in this article, it has been introduced to the basic things that need to be considered before designing or developing any Materialistic Android Application.

The topics covered in these articles are

  1. Color and theming
  2. Typography (Choosing the right font)
  3. Material design components
  4. Shaping the material design components

1. Colors and Theming

By choosing the right kind of color combination reflects the application’s brand and style. For example, the application’s main or primary color is the Green, then in the whole application, the green color will be frequently shown. Choosing the color for the application, there are three types of colors to be chosen for developing the android application.

  • Primary Color: This color should be chosen very cautiously because this color is frequently visible in the application components like high emphasis buttons or the button ripple color, and also the top and bottom navigation bar.
  • Secondary Color: This color should be chosen only when there is a low complexity level of the application. This color will be applied to those elements which need a little color accent like the background color for the Floating Action Buttons (FAB), sliders, toggle buttons, chips (Active State), progress bars, etc.
  • Light and Dark variants: These colors are the variants of the primary color. The dark variant of the primary color is set for the status bar and the light variant of the primary color is set for the Floating action button, outline for the edit texts, and where the elements need some color accents the light variant of the primary colors will be set for them. Have a look at the following image when only the primary color is set for the application theme looks like.

Color and theming

But according to the complexity of the application, there are various types of color can be chosen.



  • Have a look at the following image, having selected the primary color, with that the Complementary color can be chosen or Analogous color can be chosen or Triadic color can be chosen or Secondary color can be chosen to meet the required style.

Color and theming

  • To make color swatches of their own can visit here.

2. Typography (Choosing the Right Font)

  • In android, however, the Roboto font meets all the requirements. But too, if the developer wants to customize the application more with the font, the font needs to be chosen where it has all its variants. The variants are the light face, regular face, medium face, and sometimes the dark face.
  • Choosing the font from Google Font is recommended. As it offers a variety of font families, and almost all the fonts have contained all the variants.
  • There are some guidelines that need to be followed by having the font chosen. In this case, the Roboto is chosen for demonstration purposes only. Looking at the following image which is the type scale chart for applying the styles of the fonts for various contexts.
  • The various contexts include captions, Body, Subtitles, Button, captions, etc.
  • In the below image left side column contains the font is chosen, font style, and the font size. The second column contains the preview of the selected context of the font.

Typography

  • To select the right kind of font for the application can visit this.

3. Material Design Components

  • Material design components are the components that allow a lot of features for the users and easy to implement for the developers.
  • Have a look at the following image on how material design components stand out in terms of the customization, styling, and look, from the normal UI components.

Material design components

  • The features offered by the material design components can be implemented in various contexts. One can notice in the above image how the normal button and edit text has adapted to the application’s theme and how the material design button has adapted to the application’s theme.
  • These components can even adapt to the dark theme and change their styles when it is toggled by the user. Have look at the following image to differentiate the behaviors between the material design components and normal UI components.

Material design components

  • For step-by-step implementations of some of the material design components and their theming can be found in the following articles.
  1. Material Design Buttons in Android with Example
  2. Theming Material Design Buttons in Android with Examples
  3. Floating Action Button (FAB) in Android with Example
  4. Extended Floating Action Button in Android with Example
  5. Theming Floating Action Buttons in Android with Example
  6. Material Design Date Picker in Android
  7. More Functionalities of Material Design Date Picker in Android
  8. Material Design EditText in Android with Examples
  • For various material design components can be found here.

4. Shaping the Components

  • In material design, there are three types of shaping methods.
  1. Cut corner
  2. Rounded corner
  3. Triangle edge

Shaping the Components

  • These methods are also can be applied for the material design buttons, text fields, chips, floating action buttons, cards, navigation bars, bottom sheets, etc.
  • These features are available with the Material design components out of the proverbial box. Just need to add the dependency of the material design components and start implementing the styling for material design components.
  • For more of the hard coding, customization refers to this.
My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.