欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

解析Android开发优化之:对界面UI的优化详解(二)

程序员文章站 2023-12-10 22:44:04
    如果我们在每个xml文件中都把相同的布局都重写一遍,一个是代码冗余,可读性很差;另一个是修改起来比较麻烦,对后期的修改和维护非常不利。...

    如果我们在每个xml文件中都把相同的布局都重写一遍,一个是代码冗余,可读性很差;另一个是修改起来比较麻烦,对后期的修改和维护非常不利。所以,一般情况下,我们需要把相同布局的代码单独写成一个模块,然后在用到的时候,可以通过<include /> 标签来重用layout的代码。

常见的,有的应用在最上方会有一个标题栏。类似下图所示。

解析Android开发优化之:对界面UI的优化详解(二)

图 标题栏的示例

 

    如果项目中大部分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作为一个通用的模块比较好。