使用Material Design 创建App翻译系列----材料主题的使用(Using Material Theme)
上一篇是使用Material Design 创建App翻译系列—-開始学习篇,进入正题:
新的材料主题提供了下面内容:
1. 提供了同意设置颜色板的系统部件组件。
2. 为这些系统组件提供了触摸反馈动画。
3. Activity的过渡动画。
依据你的品牌标识,使用你所控制的颜色板能够自己定义材料主题的外观。
使用主题的属性能够给ActionBar 和 status bar进行着色。
系统部件拥有新的设计和触摸反馈动画。你能够为你的应用自己定义颜色板、触摸反馈动画以及Activity之间跳转的过渡动画。
下面是材料主题定义的方式:
1. @android:style/Theme.Material (dark version)
2. @android:style/Theme.Material.Light (light version)
3. @android:style/Theme.Material.Light.DarkActionBar
你能够使用以上几种的材料主题样式,引用的方式在R.style可见。
Dark material theme
Light material theme
注意事项:这个材料主题仅仅同意在Android 5.0及其以上系统使用。V7 的支持库(v7 support libraries)为一些组件提供了用于材料设计样式的主题,而且也能支持自己定义颜色板。详情请看:保证兼容性
自己定义颜色板
为了自己定义适合你的品牌的主题基础颜色,当继承材料主题的时候就使用主题属性来定义你的自己定义颜色了:
<resources>
<!-- inherit from the material theme -->
<style name="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>
自己定义状态栏
材料主题能够轻松的自己定义状态栏,因此你能够指定适合你品牌的一种颜色,使得白色的状态栏图标更显对照效果。在你继承了材料主题的前提下,想要自己定义状态栏的颜色,就用android:statusBarColor 属性。
默认情况,android:statusBarColor的属性值继承自 android:colorPrimaryDark。
你也能够绘制状态栏背后的内容。比如,假设你想要显示一张透明的状态栏下的照片,就要用略微淡点的暗的过渡色来确保白色的状态栏图标是能够看见的。通过设置android:statusBarColor 属性值到 @android:color/transparent 和 依据须要来调整windowFlags。你也能够用 Window.setStatusBarColor()来为动画或者隐退。
注意事项: 状态栏跟主工具栏应该是有一个明白的界定的。除了状态栏后面要显示图片或者多媒体相关的内容以外,在使用渐变色去确保状态栏的图标还是可见的。
当自己定义导航栏和状态栏的时候,仅让状态栏被改动或者调整透明度。
在其他情况下导航栏都保持黑色。
为个别视图控件加入主题
在xml布局中定义的控件须要指定 android:theme 属性来引用主题资源。
这个属性改动元素和子元素的主题。是为了在一个指定的界面的一部分改变其主题颜色的调色板。
以上翻译内容中外部链接的部分,以后会逐步翻译出来,眼下链接是官方的站点,假设须要查看的朋友,请先翻墙。
使用Material Design 创建App翻译系列----材料主题的使用(Using Material Theme)的更多相关文章
- 使用Material Design 创建App翻译系列---列表和卡片集的创建
上一篇是使用Material Design 创建App翻译系列--材料主题的使用(Using Material Theme),进入正题: 想要在应用里创建Material Design风格的复杂列表和 ...
- Android Material Design-Creating Apps with Material Design(用 Material Design设计App)-(零)
转载请注明出处:http://blog.csdn.net/bbld_/article/details/40400031 翻译自:http://developer.android.com/trainin ...
- 创建Material Design风格的Android应用--应用主题
本人全部文章首先公布于个人博客,欢迎关注,地址:http://blog.isming.me 昨天正式公布了android 5,同一时候android developer站点也更新了,添加了创建Mate ...
- Android最佳实践之Material Design
Material概述及主题 学习地址:http://developer.android.com/training/material/get-started.html 使用material design ...
- Material Design系列第一篇——Creating Apps with Material Design
Creating Apps with Material Design //创建Material Design的App Material design is a comprehensive guide ...
- 再不迁移到Material Design Components 就out啦
翻译自国外文档加自己理解 原文 我们最近宣布了 Material Design Components(MDC)1.1.0 ,这是一个库更新,为您的 Android 应用程序带来了 Material T ...
- 【Android】进入Material Design时代
由于本文引用了大量官方文档.图片资源,以及开源社区的Lib和相关图片资源,因此在转载的时候,务必注明来源,如果使用资源请注明资源的出处,尊重版权,尊重别人的劳动成果,谢谢! Material Desi ...
- [转]ANDROID L——Material Design详解(动画篇)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 转自:http://blog.csdn.net/a396901990/article/de ...
- flutter学习之二Material Design设计规范
前言: 最近在自学flutter跨平台开发,从学习的过程来看真心感觉不是那么一件特别容易的事.不但要了解语法规则, 还要知晓常用控件,和一些扩展性的外延知识,所以套一句古人的话“路漫漫其修远矣,无将上 ...
随机推荐
- [置顶] HMM Tutorial 隐马尔科夫模型
有一个月没有写博客了,这一个月系统的学习了HMM model. 上周周五做了个report 感觉还好. 所以把Slide贴上来.
- 自己设计的SSO登录流程图
这个图上不考虑安全加密.由于本身SSO流程图已经比較复杂了.可能还有问题,欢迎大家拍砖. 1.登录流程图: 2.退出流程图: 3.改进方面: 每一个应用登录后.直接将ticket写入session中, ...
- 基于storm的在线关联规则
基于storm的在线视频推荐算法.算法根据youtube的推荐算法 算法相对简单,能够觉得是关联规则仅仅挖掘频繁二项集.以下给出与storm的结合实如今线实时算法 , 关于storm见这里.首先给出 ...
- 原生app与web app的比较
http://www.2ee9.com/news/news_show_36_237.html http://zhidao.baidu.com/link?url=7lWq2tgqiMiDmsRd54hO ...
- 06-UIKit(tableView数据模型)
目录: 一.UIPageControl 二.table view数据模型 三.反向传值给TableView并更新 回到顶部 一.UIPageControl在页面下显示点 1 重要属性 .numberO ...
- 知识点3-6:HTML辅助方法
顾名思义,HTML辅助方法(HTML Helper)就是用来辅助产生HTML之用,在开发View的时候一定会面对许多HTML标签,处理这些HTML的工作非常繁琐,为了降低View的复杂度,可以使用HT ...
- cocos2d-x游戏开发系列教程-坦克大战游戏之子弹的碰撞检测处理
在上篇我们加上了简单的坦克之间的碰撞检测,这篇我们继续加上子弹之间, 子弹与坦克之间的碰撞检测,对于上一篇碰撞处理不太完美的地方我们继续改进. 1.子弹之间的碰撞 //玩家子弹和敌方子弹之间的碰撞 C ...
- OPENSSL库的使用-DES篇
一.单DES算法ECB模式加解密 1.使用函数DES_set_key_unchecked设置密钥 2.使用函数DES_ecb_encrypt来进行数据加解密 void DES_ecb_encrypt( ...
- Tomcat与web程序结构与Http协议
telnet 一:打开telnet服务: 控制面板------> 程序和功能---> 打开或关闭windows功能---> 选中 Telnet客户端--->确定 二:测试tel ...
- HTML简单介绍及举例
超文本标记语言(Hyper Text Markup Language,简称HTML)是为"网页创建和其他可在网页浏览器中看到的信息"设计的一种标记语言.HTML被用来结构化信息,也 ...