Material Design in Practice.



  • Uses both app wide and widget level theming.
  • Min SDK support is API 19.
  • This app will respond and auto switch to day/ night mode depending on the system settings.


  • themes.xml will do the job of referring to the appropriate styling templates on runtime - whether day or night.

  • Use color palette generator tool for preparing a new color scheme, export to the Android format (color.xml) and use the color variables to replace the existing set in the project.

  • For applying app-wide default colors, you will be largely dealing with:

      * colorPrimary
      * colorPrimaryDark/ colorPrimaryVariant
      * colorSecondary
      * colorSecondaryVariant
      * android:textColorPrimary
      * android:textColorSecondary
      * android:colorBackground
  • If you wish to try different new schemes - simply replace the colors under "Base Color Scheme" and above "Other colors" in color.xml. You may leave 'Other colors' constant since they are neutral for most cases.

  • Concept: concept.

  • Concept applied: demo.

  • Take advantage of a new feature in the latest material design library that allows app-wide application of common styling for widgets from a single place - Refer to the base theme for an example.


What's coming soon

  • Application of material typography and shapes.
  • Application of conditional theming attributes to take advantage of API specific features.
  • More examples.

Try the demo app

Visit the releases section to download the latest iterations of the app.