主题是一个包含一种或者多种格式化属性的集合,你可以将其为一个单位用在应用中所有的Activity当中或者应用中的某个Activity当 中。比如,你可以定义一个主题,它为window frame和panel 的前景和背景定义了一组颜色,并为菜单定义可文字的大小和颜色属性,你可以将这个主题应用在你程序当中所有的Activity里。
就像风格一样,主题依然在< style >元素里边申明,也是以同样的方式引用。不同的是你通过在Android Manifest中定义的< application >和< activity >元素将主题添加到整个程序或者某个 Activity,但是主题是不能应用在某一个单独的View里。
- theme的style可以定义在styles.xml中,也可以单独定义在自己新建的themes.xml:
注意我们用了@符号和?符号来应用资源。@符号表明了我们应用的资源是前边定义过的(或者在前一个项目中或者在Android 框架中)。问号?表明了我们引用的资源的值在当前的主题当中定义过。通过引用在里边定义的名字可以做到(panelTextColor 用的颜色和panelForegroundColor中定义的一样)。这中技巧只能用在XML资源当中。