<style name="GreenText" parent="@android:style/TextAppearance"> <item name="android:textColor">#00FF00</item> </style>
然后在UI控件中通过<style>标签的name属性的值引用该样式,例如,在<TextView>中引用上面定义的样式代码块如下:
<TextView android:text="hello style" android:layout_width="match_parent" android:layout_height="wrap_content" style="@style/GreenText" />
<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>
第一种是跟上面方法一样的,用parent属性,后面指定父样式,例如:
<style name="Red" parent="@style/CodeFont"> <item name="android:textColor">#FF0000</item> </style>
第二种是继承自定义父样式特有的方式,使用符号.表示继承关系。例如:
<style name="CodeFont.Red"> <item name="android:textColor">#FF0000</item> </style>
样式的使用方法依然是在UI控件中通过<style>标签的name属性的值引用该样式,注意,名字是<style>标签中name属性的值
@[package:]style/style_name
UI控件中引用样式时是根据name引用的,而不是xml的文件名,xml的文件名可以任意,但是为了看名知意约定为styles.xml里面定义样式。安卓原生的样式在名为android的包里,所以引用时写成了@android:style。
Android篇---Styles和Themes常见用法可能疑点小结
原文:http://www.cnblogs.com/superpang/p/4859799.html