http://www.moandroid.com/?p=918
定义Theme的一个例子
以上资源的定义,相信大家一看就明白,在这里需要强调的是:有些资源定义中使用了@符号和?符号来引用资源。,对这2个符号的作用解释如下:
@ 表明我们应用的资源是前边定义过的(或者在前一个项目中或者在Android 框架中)。
?表明我们引用的资源的值在当前的主题当中定义过。
这些技巧只能用在XML资源当中
在程序中使用Theme的方法
这里需要注意的是,对于theme资源的引用,资源ID不是文件名(theme.xml),而是资源名(NewTheme)。
在AndroidManifest.xml中应用Theme
为了在当前所有的Activity当中使用Theme,可以打开AndroidManifest.xml 文件,编辑<application>标签,让其包含android:theme属性,值是一个主题的名字,例如:<application android:theme=”@style/NewTheme”>。
如果只是想让程序当中的某个Activity拥有这个Theme,那么可以修改<activity>标签。Android中提供了几种内置的资源,有好几种Theme你可以切换而不用自己写。比如可以用对话框Theme来让你的Activity看起来像一个对话框。在manifest中定义,例如:<activity android:theme=”@android:style/Theme.Dialog”>
如果喜欢一个Theme,但是想做一些轻微的改变,只需要将这个Theme添加为parent。Android SDK为我们提供了很多现成的Theme,部分列举如下:
比如:我们修改Theme.Dialog Theme,继承Theme.Dialog来生成一个新的Theme。<style parent=”@android:style/Theme.Dialog”>
继承了Theme.Dialog后,我们可以按照我们的要求来调整Theme。我们可以修改在Theme.Dialog中定义的每个item元素的值,然后我们 在Android Manifest 文件中使用NewDialogTheme而不是 Theme.Dialog。
定义Theme的一个例子
<?xml version=”1.0″ encoding=”UTF-8″?> <resources> <style name=”NewTheme” parent=”android:Theme.Black”> <item name=”android:windowNoTitle”>true</item> <item name=”android:textSize”>14sp</item> <item name=”android:textColor”>#FFFF0000</item> </style> </resources>
以上资源的定义,相信大家一看就明白,在这里需要强调的是:有些资源定义中使用了@符号和?符号来引用资源。,对这2个符号的作用解释如下:
@ 表明我们应用的资源是前边定义过的(或者在前一个项目中或者在Android 框架中)。
?表明我们引用的资源的值在当前的主题当中定义过。
这些技巧只能用在XML资源当中
在程序中使用Theme的方法
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setTheme(R.style.NewTheme); setContentView(R.layout.main); }
这里需要注意的是,对于theme资源的引用,资源ID不是文件名(theme.xml),而是资源名(NewTheme)。
在AndroidManifest.xml中应用Theme
为了在当前所有的Activity当中使用Theme,可以打开AndroidManifest.xml 文件,编辑<application>标签,让其包含android:theme属性,值是一个主题的名字,例如:<application android:theme=”@style/NewTheme”>。
如果只是想让程序当中的某个Activity拥有这个Theme,那么可以修改<activity>标签。Android中提供了几种内置的资源,有好几种Theme你可以切换而不用自己写。比如可以用对话框Theme来让你的Activity看起来像一个对话框。在manifest中定义,例如:<activity android:theme=”@android:style/Theme.Dialog”>
如果喜欢一个Theme,但是想做一些轻微的改变,只需要将这个Theme添加为parent。Android SDK为我们提供了很多现成的Theme,部分列举如下:
比如:我们修改Theme.Dialog Theme,继承Theme.Dialog来生成一个新的Theme。<style parent=”@android:style/Theme.Dialog”>
继承了Theme.Dialog后,我们可以按照我们的要求来调整Theme。我们可以修改在Theme.Dialog中定义的每个item元素的值,然后我们 在Android Manifest 文件中使用NewDialogTheme而不是 Theme.Dialog。