Material Design系列第三篇——Using the Material Theme
2015-06-27 13:20
531 查看
Using the Material Theme
This lesson teaches you to
Customize the Color PaletteCustomize the Status Bar
Theme Individual Views
You should also read
Material design specificationMaterial design on Android
The new material theme provides:
System widgets that let you set their color palette
Touch feedback animations for the system widgets
Activity transition animations
You can customize the look of the material theme according to your brand identity with a color palette you control. You can tint the action bar and the status bar using theme attributes, as shown in Figure 3.
The system widgets have a new design and touch feedback animations. You can customize the color palette, the touch feedback animations, and the activity transitions for your app.
The material theme is defined as:
@android:style/Theme.Material(dark version)
@android:style/Theme.Material.Light(light version)
@android:style/Theme.Material.Light.DarkActionBar
For a list of material styles that you can use, see the API reference for
R.style.
![](http://images.cnitblog.com/blog/307289/201501/251648374567408.png)
Figure 1. Dark material theme
![](http://images.cnitblog.com/blog/307289/201501/251648490668888.png)
Figure 2. Light material theme
Note: The material theme is only available in Android 5.0 (API level 21) and
above. The v7 Support Libraries
provide themes with material design styles for some widgets and support for customizing the color
palette. For more information, see
Maintaining Compatibility.
Customize the Color Palette
To customize the theme's base colors to fit your brand, defineyour custom colors using theme attributes when you inherit from the material theme:
<resources> <!-- inherit from the material theme --> <stylename="AppTheme"parent="android:Theme.Material"> <!-- Main theme colors --> <!-- your app branding color for the app bar --> <item name="android:colorPrimary">@color/primary</item> <!-- darker variant for the status bar and contextual app bars --> <item name="android:colorPrimaryDark">@color/primary_dark</item> <!-- theme UI controls like checkboxes and text fields --> <item name="android:colorAccent">@color/accent</item> </style> </resources>
![](http://images.cnitblog.com/blog/307289/201501/251649584259812.png)
Figure 3. Customizing the material theme.
Customize the Status Bar
The material theme lets you easily customize the status bar, so you can specify a color that fits your brand and provides enough contrast to show the white status icons. To set a custom color for the status bar, use theandroid:statusBarColorattribute when you extend the material theme. By default,
android:statusBarColorinherits the value of
android:colorPrimaryDark.
You can also draw behind the status bar yourself. For example, if you want to show the status bar transparently over a photo, with a subtle dark gradient to ensure the white status icons are visible. To do so, set the
android:statusBarColorattribute to
@android:color/transparentand adjust the window flags as required. You can also use the
Window.setStatusBarColor()method for animations or fading.
Note: The status bar should almost always have a clear delineation from the primary toolbar, except for cases where you show edge-to-edge rich imagery or media content behind these bars and when you use a gradient to ensure that the icons are still visible.
When you customize the navigation and status bars, either make them both transparent or modify only the status bar. The navigation bar should remain black in all other cases.
Theme Individual Views
Elements in XML layout definitions can specify theandroid:themeattribute, which references a theme resource. This attribute modifies the theme for the element and any child elements, which is useful for altering theme color palettes in a specific portion of an interface.
相关文章推荐
- Material Design系列第二篇——Getting Started
- Material Design系列第一篇——Creating Apps with Material Design
- AndroidのTextView之CompoundDrawable那些坑
- Material Design系列第八篇——Creating Lists and Cards
- Androidの解决自动旋转导致activity重启问题
- cnBlogs博客推荐
- CSDN专栏收集
- Android英文文档翻译系列(4)——PopupWindow
- Android英文文档翻译系列(4)——PopupWindow
- Android英文文档翻译系列(3)——AsyncTask
- Android英文文档翻译系列(2)——HandlerThread
- Android英文文档翻译系列(1)——AlarmManager
- Apktool源码解析——第二篇
- Apktool源码解析——第一篇
- (转)关于android设备管理器的一些分析
- AndroidのBuild工具之Ant动手实践
- AndroidのUI体验之上拉下拉
- Eclipse版GoogleI/O2014开源项目
- AndroidWear开发之HelloWorld篇
- AndroidWear开发之开发环境[前奏]