- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
样式和主题(Styles and Themes)
PAGE 6
目 录
TOC \o 1-3 \h \z \u 一、样式和主题 1
二、自带样式、主题和自定义样式、主题的用法 1
三、应用实列 6
样式和主题
一、样式和主题
在Android系统中,包含了很多定义好的样式和主题,这些样式和主题用于定义布局先是在界面上的风格。
样式:Android中的样式和CSS样式作用相似,都是用于为界面元素定义显示风格,他是一个包含一个或者多个View控件属性的集合。样式只能作用于单个的View,如EditTeext、TextView,使用样式可以指定多个控件具有的重复属性,避免重复书写代码。
主题:主题也是包含一个或者多个View控件属性的集合,但它的作用范围不同。主题是通过AndroidManifest.xml中的application和activity结点用在整个应用或者某个Activity,他的影响是全局性的。如果一个应用中使用了主题,同时应用下的View也使用了样式,那么当主题和样式中的属性发生后冲突时,样式的优先级高于主题。
二、自带样式、主题和自定义样式、主题的用法
自定义样式、主题的用法
自定义样式
步骤一:新建一个空的activity并添加两个View到布局文件中。
步骤二:为View创建一个除了backgroud之外的样式,右键它并选择Refactor Extract Style。会出现一个对话框,我们命名为MyBox,并选择除了background之外的所有属性。完成后第一个View的代码已经改变了。
步骤三:应用样式。可以打开res/values/styles.xml来查看这个样式的定义。把Mybox应用到第二个View,设置style=@style/MyBox
除此之外继承一个style有两种不同的语法:
第一种语法被称为隐式的语法,使用.号作为标记。例如:
MyBox.TEAL 和 MyBox.CYAN 都具有MyBox的所有属性,除此之外,它们还有android:background属性。
第二种语法通常叫做显式的语法。它使用一个parent属性,其值就是parent style的名称。例如:
这里是一个定义名为TealBox的样式的代码片段。
以上两种样式应用方法和普通样式没有区别
自定义主题(这里使用主题编辑器来完成)
步骤一:打开Tools菜单选择Android Theme Editor要创建一个新主题,点击Theme下拉菜单,选择Create New Theme选项。
在弹出的对话框中,设置新主题的名称为MyTheme然后点击ok。
到此时,会发现styles.xml将有一行新代码。
步骤二:修改colorPrimary的值,点击colorPrimary按钮。主题编辑器将显示一个颜色对话框。选择你想要的颜色,但是记住给它一个新名字,如果你忘记了,主题编辑器将覆盖AppTheme的这个颜色。
修改colorPrimaryDark和colorAccent的值是相同的步骤。主题编辑器将自动根据你选择的colorPrimary推荐合适的bothcolorPrimaryDark和colorAccent。
现在MyTheme的定义看起来就是这样:
步骤三:应用主题。
打开项目的manifest文件,在定义activity的地方添加android:theme属性,把值设为@style/MyTheme。
应用前后如图。
自带样式和主题
当引用平台的style做为style的parent时,“@android:style/主题”? == “@android:主题” ==“?? android:style/主题 ”== “android:主题”; 当引用平台的style作为属性的引用时,“@android:style/主题”; 当引用自定义style作为其他style的parent时,“@style/主题” == “style/主题” == “主题”;当引用自定义style作为其他属性的引用时,“@style/主题”;当引用平台属性作为属性的引用时,“?android:attr/属性” == “?android:属性”;当引用自定义属性时,“?attr/属性” == “?属性”;
上述六个情况中,可以在@或?后加入*以引用被隐藏(即平台私有)的资源;
如果引用平台资源或属性时,可以将“android:”放在斜杠“/”的后面,即,@android:style/主题”== @style/android:主题”,“?android:attr/属性”== “?attr/
您可能关注的文档
- 液压与气动技术及应用 液压元件识别与应用 Word学习情境1-任务1.5(4课时).doc
- 液压与气动技术及应用 液压元件识别与应用 Word学习情境1-任务1.6(1课时).doc
- 液压与液力传动 活页教材 项目一 任务二 自卸汽车车厢的液压传动.doc
- 仪器分析 第五章 气相色谱分析法 任务2 判断白酒中是否含有甲醇.doc
- 仪器分析 任务四 红外光谱仪虚拟仿真训练 030413-红外光谱仪虚拟仿真训练-教案-红外分光光度计Nicolet380-V1.2.0仿真教案.doc
- 仪器分析 任务五 气相色谱分离操作条件的选择 040502-气相色谱分离操作条件的选择-教案.doc
- 仪器分析 任务一 红外光谱法基本原理 030102-红外光谱法基本原理-教案1.doc
- 移动产品规划与项目管理 Axure 原型设计案例 原型设计案例2.doc
- 移动互联工程实训-2017 分类商品实现 单元教教学设计- 分类商品实现.doc
- 移动互联工程实训-2017 轮播广告实现 单元教教学设计- 轮播广告实现.doc
文档评论(0)