WEB开发网
开发学院手机开发Android 开发 Applying Styles and Themes - 应用Style和Theme ... 阅读

Applying Styles and Themes - 应用Style和Theme - Android官方文档中文翻译

 2011-01-11 06:59:21 来源:WEB开发网   
核心提示:原文链接:http://developer.android.com/guide/topics/ui/themes.html原文标题:Applying Styles and Themes原文版本:Android 2.2 r1 - 05 Aug 2010 8:29中文翻译:Jack Yu (yjmjack@gmail.co

原文链接:http://developer.android.com/guide/topics/ui/themes.html

原文标题:Applying Styles and Themes

原文版本:Android 2.2 r1 - 05 Aug 2010 8:29

中文翻译:Jack Yu (yjmjack@gmail.com)

仅供非盈利使用,转载请保留出处及译者信息

应用Style和Theme

style是用于指定View或window的外观、格式的一系列属性集合。style可以指定诸如高度、补白(padding)、字体颜色、字体大小、背景颜色等属性。style定义在一个不同于用来定义布局的XML资源中。

Android中的Style与网页设计中的层叠样式表有着相似的原理——它们允许你将设计和内容分离开来。

例如:通过使用一个style,你可以将下面这个布局XML:

< TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:textColor="#00FF00"

android:typeface="monospace"

android:text="@string/hello" />

转换成这样:

< TextView

style="@style/CodeFont"

android:text="@string/hello" />

所有这些与风格相关的属性被从布局XML中移走,放入一个叫做CodeFont的风格定义中,然后通过style属性应用。在下面的章节中你将看到此style的定义。

theme是一个应用于整个Activity或整个应用程序的style,而不是某一个单独的View(正如上面例子中那样)。当一个style被当作一个theme来应用时,此Activity或应用程序中的每个View都将会应用其所能支持的每个style属性。例如,你可以将CodeFont style作为theme应用在一个Activity上,那么此Activity中所有文本都将是绿色等宽字体。

定义Style

要创建一套style,请保存一个XML文件到你的工程的res/values/目录下。此XML文件的名称可以随意,但必须使用.xml作为扩展名,且必须保存在res/values/文件夹中。

此XML文件的根节点必须是< resources>。

对每个你要创建的style,添加一个< style>元素到XML文件中,其拥有一个name,用来唯一标识此style(name是必须的)。然后为此style中的每一个属性添加一个< item>元素,其有一个name和一个值。< item>的值可以是一个关键字字符串、一个十六进制颜色、一个到其它资源类型的引用,或者是其他值,决定于具体的style属性。这里有一个单独的style例子:

< ?xml version="1.0" encoding="utf-8"?>

< resources>

< style name="CodeFont" parent="@android:style/TextAppearance.Medium">

< item name="android:layout_width">fill_parent< /item>

< item name="android:layout_height">wrap_content< /item>

< item name="android:textColor">#00FF00< /item>

< item name="android:typeface">monospace< /item>

< /style>

< /resources>

每个< resources>元素的子节点在编译时都被转换为一个应用程序资源对象,其可以通过< style> 元素的 name属性的值来引用。此示例style可以通过@style/CodeFont来在一个布局XML中引用(正如先前介绍中所演示的)。

< style>中的parent属性是可选的,用来指定另外一个style的资源ID,前者继承后者的所有属性。你可以覆写继承来的style属性,如果你想那样做的话。

1 2 3  下一页

Tags:Applying Styles Themes

编辑录入:coldstar [复制链接] [打 印]
赞助商链接