主题是包含一种或多种格式化属性的集合,在程序中调用主题资源可改变窗体的样式,对整个应用程序或某个Activity存在全局性影响。
主题资源定义在res/values目录下的styles.xml文件中,实例代码如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
</resources>
<style></style>标签用于定义主题。<style>标签中的name属性用于指定主题的名称,parent属性用于指定Android提供的父主题。<item></item>标签用于设置主题的样式。
在<resources></resources>标签中可以包含多个<style></style>标签,每个<style></style>标签中也可以包含多个<item></item>标签。
如果在Android程序中想要调用style.xml文件中定义的主题,可以在AndroidManifest.xml文件中设置,也可以在代码中设置。
1.在AndroidManifest.xml文件中设置
<application>
...
android:theme="@style/AppTheme"
...
</application>
2.在Java代码中设置主题的实例代码
setTheme(R.style.AppTheme);