开发api android style和theme应用Style Theme-Android官方中文翻译转_第1页
开发api android style和theme应用Style Theme-Android官方中文翻译转_第2页
开发api android style和theme应用Style Theme-Android官方中文翻译转_第3页
开发api android style和theme应用Style Theme-Android官方中文翻译转_第4页
开发api android style和theme应用Style Theme-Android官方中文翻译转_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、应用 Style 和 Theme - Android文档中文翻译(转)博客分类:androidAndroidXMLUIG原文:/guide/topics/ui/themes.html原文标题:Applying Styles and Themes原文版本:Android 2.2中文翻译:Jack Yur1 - 05 Aug 2010 8:29(请保留出处及译者信息)非使用,应用 Style 和 Themestyle 是用于指定 View 或 window 的外观、格式的一系列属性集合。style 可以指定诸如高度、补白(padding)、字体颜色、字体大小、背景颜色等属性。 style 定义在一

2、个不同于用来定义布局的 XML 资源中。Android 中的 Style 与网页设计中的层叠样式表有着相似的原理它们允许你将设计和内容分离开来。例如:通过使用一个 style,你可以将下面这个布局 XML:转换成这样:所有这些与风格相关的属性被从布局 XML 中移走,放入一个叫做 CodeFont的风格定义中,然后通过 style 属性应用。在下面的章节中你将看到此 style的定义。theme 是一个应用于整个 Activity 或整个应用程序的 style,而不是某一个单独的 View(正如上面例子中那样)。当一个 style 被当作一个 theme来应用时,此 Activity 或应用程

3、序中的每个 View 都将会应用其所能支持的每个style 属性。例如,你可以将 CodeFontstyle 作为 theme 应用在一个 Activity上,那么此 Activity 中所有文本都将是绿色等宽字体。定义 Style要创建一套 style,请保存一个 XML 文件到你的工程的 res/values/目录下。此 XML 文件的名称可以随意,但必须使用.xml 作为扩展名,且必须保存在 res/values/文件夹中。此 XML 文件的根节点必须是。对每个你要创建的 style,添加一个元素到 XML 文件中,其拥有一个 name,用来唯一标识此 style(name 是必须的)。

4、然后为此 style 中的每一个属性添加一个元素,其有一个 name 和一个值。的值可以是一个关键字字符串、一个进制颜色、一个到其它资源类型的,或者是其他值,决定于具体的 style 属性。这里有一个单独的 style 例子:每个元素的子节点在编译时都被转换为一个应用程序资源对象,其可以通过元素的name 属性的值来。此示例 style可以通过style/CodeFont 来在一个布局 XML 中的)。(正如先前介绍中所演示中的 parent 属性是可选的,用来指定另外一个 style 的资源 ID,前者继承后者的所有属性。你可以覆写继承来的 style 属性,如果你想那样做的话。记住,你想用

5、作一个 Activity 或一个应用程序 theme 的 style,与应用在一个 View 上的 style 定义方式是相同的。一个如同上面那样定义的 style 可以应用作一个 View 的 style,或者一个 Activity 或应用程序的 theme。如何将一个 style 应用在一个 View 上,或者作为一个 theme 应用在一个应用程序中,稍后将作。继承元素中的 parent 属性使得你可以指定一个 style,从其中继承属性。你可以通过这种途径来从一个现有的 style 中继承属性,然后只用定义你想改变或添加的属性。你可以从你自己创建的 style 或者内建的 stylef

6、ill_parentwrap_content#00FF00monospace中继承。(参见下面的使用Style 和 Theme,以获得关于继承 Android预定义的style 的信息)例如你可以继承Android的默认文本外观并修改它:如果你想继承你自己定义的 style,你不必使用 parent 属性,而是将你想通过继承创建的新 style 的 name 前加上要继承的 style 的 name,中间用一个点分隔。例如,创建一个继承自前面定义的 CodeFont 的 style,把颜色改为红色,你可以像这样编写新 style:注意到在中并没有 parent 属性。因为 name 属性以 C

7、odeFont 起始(你已创建的一个 style),此新 style 继承所有 CodeFont 的属性。此新属性覆写 android:textColor 属性将文本指定为红色。你可以通过style/CodeFont.Red此新 style。只要你愿意,你可以像这样继续继承很多次,只要更换前的名称即可。例如,你可以扩展 CodeFont.Red 使其字体变得更大:它从 CodeFont属性。和 CodeFont.Red 同时继承,然后添加 android:textSize注意:这种技巧仅适用于将你自己定义的资源起来。你不能用这种方式继承 Android 内建的 style。要一个诸如 Text

8、Appearance 的内建 style,你必须使用 parent属性。Style 属性到目前,你已明白了一个 style 是如何定义的,你需要学习由元素定义的哪些属性是可用的。你很可能已经熟悉了某些,比如layout_width 和 textColor。当然,有的 style 属性供你使用。寻找适用于某个特定 View 的属性的最佳去处是相对应的类参考,其列出了所有受支持的 XML 属性。例如,在表格 TextView XML attributes 中列出的所有属性可以被用在 TextView 元素(或其子类)的 style 定义中。其中有一个列出的属性是 android:inputType

9、,那么你通常可能将此 android:inputType 属性放置在一个元素中,向下面这样:30sp#FF0000#00FF00你也可以为包含此属性的 EditText 元素创建一个 style:那么你的布局 XML 现在可以这样实现:这个简单的例子看起来增加了工作量,但当你添加越来越多的style 属性并考虑到此 style 在不同地方的可重用性时,你会发现获益是巨大的。关于所有可用的 style 属性,请参见 R.attr。记住所有的 View 对象并不接受相同的 style 属性,所以你通常应该参考特定的 View 类,查看其所支持的 style 属性。然而,如果你对一个 View 应用

10、了一个 style,而其并不支持此 style 中某些属性,那么此 View 将应用那些它支持的,并简单忽略那些不支持的。然而,一些 style 属性只能被当作一个 theme 来应用,而不受任何 View 元素的支持。例如那些用于隐藏应用程序标题、隐藏状态栏、或改变 window 的背景的 style 属性。这些 style 属性不属于任何 View 对象。想探究这些仅应用作 theme 的 style 属性,参见 R.attr 中那些以window 开头的属性。举个例子, windowNoTitle 和 windowBackground 是仅当style 作为 theme 应用于一个 Ac

11、tivity 或应用程序时才有效的 style 属性。参见下一节以获得关于将一个 style 应用作一个 theme 的信息。注意:不要忘记对每个元素中的属性冠以 android:命名空间前缀。例如:.为 UI 应用 Style 和 Theme有两种方式设置一个 style:对一个独立的 View,添加 style 属性 到你的布局 XML中的 View 元素中。或者,对一个 Activity 或 应用程序 添加android:theme素中。属性到 Android manifest的或元当你应用一个 style 到布局中一个单独的 View 上,由此 style 定义的属性会仅应用于那个 V

12、iew。如果一个 style 应用到一个 ViewGroup 上,那么子 View 元素并不会继承应用此 style 属性仅有你直接应用了 style 的元会应用其属性。然而,你可以通过将其作为 theme 来应用的方式应用一个style 到所有 View 元素上。number.为将一个 style 作为一个 theme 来应用,你必须在 Android manifest 中将其应用到一个 Activity 或应用程序。当你这样做,此 Activity或应用程序中的每个 View 都将应用其所支持的属性。例如,如果你应用前面示例中的 CodeFontstyle 到一个 Activity,那么支

13、持此文本 style 属性的所有View 元素都将应用它们。任何 View 所不支持的属性将被忽略。如果一个 View仅支持某些属性,那么它就只应用那些属性。为 View 应用一个 style下面是如何在布局 XML 中为 View 设置 style 的方法:此时 TextView 将应用由名为 CodeFont 的 style 所定义的属性。(参见前面定义 Styles 中的示例。)注意: style 属性不使用 android:命名空间前缀。为 Activity 或应用程序应用一个 theme为对你的应用程序中所有 activity 设置一个 theme,请打开AndroidManifes

14、t.xml 文件并编辑属性和 style 名称。例如:,使之包含 android:themeIf you wanheme appd to just one Activity in your application, thenadd theandroid:themeattribute to thetag instead.如果你希望theme 仅仅应用到你的应用程序中的某个Activity 上,那么就将 android:theme 属性添加到中。正像 Android 提供的其他内建资源一样,有许多你可以使用的预定义 theme,而不用自己编写它们。例如,你可以使用 Dialogtheme 使你的Activity 变得像一个框:或者你想让背景变成透明的,那就使用透明:如果你想使用一个 theme,但也想调整它,那么你可以将其作为你的自定义 theme 的 parent。例如,你可以修改传统的己的背景图像:框 theme 来使用你自drawable/custom_dialog_然后在 Android Manifest 中使用 CustomDialogTheme 代替Theme.Dialog:使用Style 和 ThemeAndroid提供了大量的 style 和 theme 供你在你的应用程序中使用。你可以在 R.style 类中找到所有可用的 style。要使用这些 style,用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论