解析Android开发优化之:对界面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:class="lazy" data-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作为一个通用的模块比较好。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341