WEB开发网
开发学院手机开发Android 开发 Android SDK 开发之使用主题 阅读

Android SDK 开发之使用主题

 2010-03-23 04:07:00 来源:WEB开发网   
核心提示:一般来说, 你的样式应该总是继承于一个标准的android样式资源. 这样, 你只需要定义你想要改变的部分就可以了.这里是如何在xml布局中使用样式:《EditText id="@+id/text1"style="@style/SpecialText"android:layout
一般来说, 你的样式应该总是继承于一个标准的android样式资源. 这样, 你只需要定义你想要改变的部分就可以了.

这里是如何在xml布局中使用样式:

《EditText id="@+id/text1"

style="@style/SpecialText"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Hello, World!" /》

现在这个EditText widget 将被使用之前定义的样式.

Themes 主题

就像样式一样, 主题也是使用xml 《style》元素来定义的, 而且也是使用相同方式来引用的. 不同之处是你将一个主题添加到整个程序或者activity, 通过manifest中的《application》和《activity》元素. 主题不能作用于单独的View.

这里是一个主题的例子:

《?xml version="1.0" encoding="utf-8"?》

《resources》

《style name="CustomTheme"》

《item name="android:windowNoTitle"》true《/item》

《item name="windowFrame"》@drawable/screen_frame《/item》

《item name="windowBackground"》@drawable/screen_background_white《/item》

《item name="panelForegroundColor"》#FF000000《/item》

《item name="panelBackgroundColor"》#FFFFFFFF《/item》

《item name="panelTextColor"》?panelForegroundColor《/item》

《item name="panelTextSize"》14《/item》

《item name="menuItemTextColor"》?panelTextColor《/item》

《item name="menuItemTextSize"》?panelTextSize《/item》

《/style》

《/resources》

注意@和?符号的用法. "@"表示我们在引用一个其它地方定义的资源(可能是在这个工程内, 也可能是android框架定义的). "?"表示我们在引用一个资源值, 这个值在当前加载的主题中. 这是通过查找一个《item》来实现的.(例如?panelTextColor查找name="panelTextColor" 的item.)

Set the theme in the manifest 在manifest文件中设置主题

如果要给一个应用程序中给所有的activity设定一个主题, 编辑AndroidManifest文件:

《application android:theme="@style/CustomTheme"》

如果要给某个activity设定一个主题, 将上面的application改为activity即可.

Tags:Android SDK 开发

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