在一个应用程序中,通常都会存在多个Activity,每一个Activity对应着一个UI布局文件。通常来讲,为了保持不一样窗口之间的风格统一,在这些UI布局文件中,几乎确定会用到不少相同的布局。若是咱们在每一个xml文件中都把相同的布局都重写一遍,一个是代码冗余,可读性不好;另外一个是修改起来比较麻烦,对后期的修改和维护很是不利。因此,通常状况下,咱们须要把相同布局的代码单独写成一个模块,而后在用到的时候,能够经过<include /> 标签来重用layout的代码。java
常见的,有的应用在最上方会有一个标题栏。相似下图所示。android
图 标题栏的示例web
若是项目中大部分Activity的布局都包含这样的标题栏,就能够把标题栏的布局单独写成一个xml文件。布局
<RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:background="@drawable/navigator_bar_bg" xmlns:android="http://schemas.android.com/apk/res/android"> <TextView android:id="@android:id/title" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" android:gravity="center" android:hint="title" android:textAppearance="?android:attr/textAppearanceMedium" /> <ImageView android:id="@android:id/closeButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:src="@drawable/close" /> </RelativeLayout>
咱们将上面的xml文件命名为“navigator_bar.xml”,其它须要标题栏的Activity的xml布局文件就能够直接引用此文件了。ui
<include layout="@layout/navigator_bar" />
经验分享:spa 通常状况下,在项目的初期就可以大体肯定总体UI的风格。因此早期的时候就能够作一些规划,将通用的模块先写出来。.net 下面是可能能够抽出的共用的布局:code 1)背景。有的应用在不一样的界面里会用到统一的背景。后期可能会常常修改默认背景,因此能够将背景作成一个通用模块。orm 2)头部的标题栏。若是应用有统一的头部标题栏,就能够抽取出来。xml 3)底部的导航栏。若是应用有导航栏,并且大部分的Activity的底部导航栏是相同的,就能够将导航栏写成一个通用模块。 4)ListView。大部分应用都会用到ListView展现多条数据。项目后期可能会常常调整ListView的风格,因此将ListView做为一个通用的模块比较好。 |
---------------------------------------------------------------------------
http://blog.csdn.net/arui319
《Android应用开发精解》已出版,本文是初稿的部份内容。欢迎购买阅读。
本文能够转载,可是请保留以上做者信息。
谢谢。
---------------------------------------------------------------------------