首先需要了解android中的样式的作用,它是用来复用标签的,有点类似java中抽取公共属性,其他类继承即可拥有,android中的主题其实一堆样式的集合,android已经定义了一些样式,我们在布局文件中可以进行引用。
示例
我们的布局如果是一堆的TextView,只是文本不同,我们可以进行属性的抽取,并定义为样式。
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Huang Bao Kang"
android:drawableLeft="@android:drawable/star_big_on"
android:gravity="center_vertical"
android:textSize="20sp"
android:layout_marginLeft="10dp"/>
</LinearLayout>
显示如下:
我们在style.xml中定义我们的样式
<style name="mystyle">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:drawableLeft">@android:drawable/star_big_on</item>
<item name="android:gravity">center_vertical</item>
<item name="android:textSize">20sp</item>
<item name="android:layout_marginLeft">10dp</item>
</style>
我们在布局中进行引用
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:text="Huang Bao Kang"
style="@style/mystyle"/>
<TextView
android:text="Zhang Lu Lu"
style="@style/mystyle"/>
<TextView
android:text="Huang Yu Hua"
style="@style/mystyle"/>
<TextView
android:text="Huang Yu Mei"
style="@style/mystyle"/>
</LinearLayout>
显示如下
系统常用的主题
@android:style/Theme.Light.NoTitleBar 没有标题
@android:style/Theme.Light.NoTitleBar,Fullscreen 全屏
@android:style/Theme.Dialog 对话框
黑色背景的@android:style/Theme.Black
全屏的@android:style/Theme.Light.NoTitleBar.Fullscreen