Android Styles and Themes
一、
Style 可应用在View和Activity or Application上。
应用在View上:style="",应用在Activity和Application上:android:theme=""。
当给一个View设置了一个Style,但此Style中的属性对此View并不适用,这时此View仅会简单的忽略掉此参数。
用android:theme给Application或Activity设置了Style后,其内的每个View都会默认继承这些Style。如果里面的View设置了自己的Style,会覆盖掉theme中设置的属性。
给ViewGroup设置Style,其内的View并不会apply此Style中的属性。
Style的定义:(可放于任何一个以".xml”为后缀的文件中,文件名无所谓,style name必须唯一)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CodeFont" parent="@android:style/TextAppearance.Medium">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#00FF00</item>
<item name="android:typeface">monospace</item>
</style>
</resources>
二、
关于Style的继承有几点需要注意:
1、 继承Platform里内置的Style:
parent="@android:style/TextAppearance.Medium"
2、 继承自己定义的:
<style name="CodeFont.Red">
<item name="android:textColor">#FF0000</item>
</style>
用“.”分割,Style:CodeFont.Red就继承自Style:CodeFont。