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。

posted @ 2011-12-01 00:20  奋奋  阅读(1298)  评论(0编辑  收藏  举报