Material主题能够提供以下功能:
- 自定义系统区域的颜色。比如可以修改Status Bar的颜色,使APP的颜色风格和系统的颜色风格保持统一。
- 为系统Widget提供触摸反馈动画。具体看以参考MaterialDesign中的动画。
- 提供Activity&Fragment过渡动画。具体可以参考Activity&Fragment过渡动画。
系统提供了以下默认的Material主题:
- @android:style/Theme.Material (dark version)
- @android:style/Theme.Material.Light (light version)
- @android:style/Theme.Material.Light.DarkActionBar
Material Dark版本的样式如下图所示:
Material Light版本的样式如下图所示:
自定义调色板
继承Material主题后,可以在styles文件中自定义调色板(Color Palette)。
1 | <resources> |
上面属性对应的APP界面的颜色如下图所示:
自定义StatusBar颜色
在Material主题中,使用android:statusBarColor属性定义状态栏的颜色,默认情况下,android:statusBarColor使用android:colorPrimaryDark对应的颜色。还可以通过Window.setStatusBarColor()动态设置状态栏的颜色。
单个View的主题
在XML布局文件中,可以为View使用android:theme属性指定特定的主题,这个主题修改只对View及其子View起作用,通常用于改变部分UI的主题颜色。