样式(style)是属性的集合,用来指定View或者Window的外观和格式。html
这些属性能够是height(高度)、padding(内边距)、font size(字体颜色)等。android
样式定义在另外一个xml文件中,从布局文件中分离出来。app
例如:ide
1 <TextView 2 android:layout_width="fill_parent" 3 android:layout_height="wrap_content" 4 android:textColor="#00FF00" 5 android:typeface="monospace" 6 android:text="@string/hello" />
若是使用样式,则能够转换为布局
1 <TextView 2 style="@style/CodeFont" 3 android:text="@string/hello" />
CodeFont就是样式文件名,把一些属性从原布局文件中提取出来,存放到了CodeFont文件中。post
样式文件必须存放在res/valuse的文件夹中,命名任意,后续为.xml。字体
CodeFont.xmlui
1 <?xml version="1.0" encoding="utf-8"?> 2 <resources> 3 <style name="CodeFont" parent="@style/BaseFont"> 4 <item name="android:layout_width">fill_parent</item> 5 <item name="android:layout_height">wrap_content</item> 6 <item name="android:textColor">#00FF00</item> 7 <item name="android:typeface">monospace</item> 8 </style> 9 </resources>
<resources>:根元素。google
<style>:属性集合。url
<item>:属性。
使用parent,能够继承样式。除此以外,还能够在<style>的命名前添加"继承样式名.",效果同样。例如:
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="BaseFont.CodeFont" > <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>
注意:
引用此样式时的名字为BaseFont.CodeFont。
若是引用系统自带的样式,值的格式为“@android:style/样式名”。咱们自定义的样式,值的格式为“@style/样式名”。
对单独的View,举例:
布局文件中,<TextView style="@style/CodeFont" android:text="@string/hello" />
对整个Activity或整个应用程序,举例:
AndroidManifest.xml文件中,<activity android:theme="@android:style/Theme.Dialog">或者<application android:theme="@style/CustomTheme">