类似Java中的类和方法,可以封装一些可复用的对象或者代码块。如果Android的布局文件中有多个格式或多个组件的某些格式是相同的,那么就可以将它们的共同部分提取到style资源中,然后引用style的资源。这样不仅可以达到松耦合的效果,使得修改比较简单。以下就来介绍style资源的使用:
1、style资源位于/res/values目录下的styles.xml文件中。
2、styles.xml文件的根元素是<resources…/>
,该元素包含多个<style…/>
子元素,每个<style…/>
子元素定义一个样式,该样式即可在布局文件中引用。
3、<style…/>
子元素有name和parent两个属性,name属性指定样式的名称,parent属性指定样式继承的样式名称,可覆盖父元素中指定的格式。
4、<style…/>
元素内包含多个<item…/>
子元素,每个子元素定义一个格式项。该子元素内的name属性指定格式名称,开始和关闭标签内为格式值。
例如:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name=”style1”>
<item name=”android:layout_width”>match_parent</item>
<item name=”android:layout_height”>match_parent</item>
</style>
<style name=”style2” parent=”@style/style1”>
<item name=”android:layout_width”>wrap_content</item>
<item name=”android:background”>#f00 </item>
</style>
</resources>
以上为定义了style1和style2的styles.xml文件,其中style2继承了style1。
在布局文件中使用style资源的格式:@[<package_name>:]style/style_name
例如:
<EditText
style="@style/style2"
/>
为在EditText中引用了style2样式。