很多人开发Android有一段时间,对样式和主题可能还是理解的不太清楚,最近在看官方文档稍微整理一下样式和主题的区别
- 样式(Style):可以理解成是针对View或者窗口(Window)设置外观或者格式的一个属性集合;
- 主题(Theme):可以理解成针对Activity或者Application(应用)设置外观或者格式的一个属性集合;主题可以理解成某一种特殊的样式,定义主题和样式都是基于<style></style>标签添加相应的属性;
- 主题和样式的区别:
- 作用域不同:样式的应用范围主要是针对视图,它的作用域在你所应用的视图上起作用,无论你的视图(View)是一个小的空间例如Button,TextView或者大的视图LinearLayout,都只对自己起作用;主题是针对我们设置的整个Activity或者Application中的所有视图起作用,所有支持某一个主题中的属性的View都会使用该属性;
- 某些主题样式不可以在View中使用,例如
"@android:style/Theme.NoTitleBar"
等; - 引用的格式稍有不同,样式引用通过style引用,例如:
<TextView style="@style/CodeFont" android:text="@string/hello" />
主题引用的格式,例如:
<activity android:theme="@android:style/Theme.Translucent">
<application android:theme="@style/CustomTheme">参考:http://blog.csdn.net/ahou2468/article/details/78966077