在一个应用程序中,一般都会存在多个Activity,每个Activity对应着一个UI布局文件。一般来说,为了保持不同窗口之间的风格统一,在这些UI布局文件中,几乎肯定会用到很多相同的布局。如果我们在每个xml文件中都把相同的布局都重写一遍,一个是代码冗余,可读性很差;另一个是修改起来比较麻烦,对后期的修改和维护非常不利。所以,一般情况下,我们需要把相同布局的代码单独写成一个模块,然后在用到的时候,可以通过<include /> 标签来重用layout的代码。
常见的,有的应用在最上方会有一个标题栏。类似下图所示。
图 标题栏的示例
如果项目中大部分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布局文件就可以直接引用此文件了。
<include layout="@layout/navigator_bar" /> |
经验分享:
一般情况下,在项目的初期就能够大致确定整体UI的风格。所以早期的时候就可以做一些规划,将通用的模块先写出来。
下面是可能可以抽出的共用的布局:
1)背景。有的应用在不同的界面里会用到统一的背景。后期可能会经常修改默认背景,所以可以将背景做成一个通用模块。
2)头部的标题栏。如果应用有统一的头部标题栏,就可以抽取出来。
3)底部的导航栏。如果应用有导航栏,而且大部分的Activity的底部导航栏是相同的,就可以将导航栏写成一个通用模块。
4)ListView。大部分应用都会用到ListView展示多条数据。项目后期可能会经常调整ListView的风格,所以将ListView作为一个通用的模块比较好。
|
优化系列相关博文:
Android开发优化之——对Bitmap的内存优化
Android开发优化之——使用软引用和弱引用
Android开发优化之——从代码角度进行优化
Android开发优化之——对界面UI的优化(1)
Android开发优化之——对界面UI的优化(2)
Android开发优化之——对界面UI的优化(3)
---------------------------------------------------------------------------
http://blog.csdn.net/arui319
《Android应用开发精解》已出版,本文是初稿的部分内容。欢迎购买阅读。
本文可以转载,但是请保留以上作者信息。
谢谢。
---------------------------------------------------------------------------
分享到:
相关推荐
安卓Android源码——UI界面源码.zip
Android源码——UI界面源码.zip
安卓Android源码——360主界面UI.zip
Android源码——UI界面源码.rar
安卓Android源码——UI界面漂亮的天气预报源码.zip
安卓Android源码——ui开发类库示例源码.zip
Android源码——UI界面源码.7z
Android源码——UI界面漂亮的天气预报源码.zip
Android源码——UI界面漂亮的天气预报源码.7z
安卓Android源码——奇艺高清UI界面源码.zip
安卓Android源码——奇艺高清UI界面源代码.zip
安卓Android源码——Adroid UI 界面绘制原理分析.zip
在界面上实现应用列表的两种视图:列表视图和网格视图 在功能上实现应用的启动、详细信息和卸载功能。 以及底部菜单的美化。 详情见博客http://blog.csdn.net/yalin18/article/details/7377729
安卓Android源码——精典源码之奇艺高清UI界面源代码.zip
Android UI开发第十六篇——分享一个popuwindow实例 http://blog.csdn.net/xyz_lmn/article/details/6921097
Android系统本身有很多的资源,包括各种各样的字符串、图片、动画、样式和布局等等,这些都可以在应用程序中直接使用。这样做的好处很多,既可以减少内存的使用,又可以减少部分工作量,也可以缩减程序安装包的大小...
第2章 Android开发环境 2.1 Java开发环境安装 2.1.1 安装JDK 2.1.2 安装Eclipse 2.1.3 Eclipse中文包的安装 2.2 Android SDK 2.2.1 安装ADT 2.2.2 安装Android SDK 2.3 Android模拟器 2.3.1 创建...
7.1 第一印象很重要——界面UI元素介绍 7.1.1 视图组件(View) 7.1.2 视图容器组件(Viewgroup) 7.1.3 布局组件(Layout) 7.1.4 布局参数(LayoutParams) 7.2 我的美丽我做主——Android中应用界面布局 7.2.1 实例操作...