现在的位置: 首页 > 综合 > 正文

android include 标签

2014年02月08日 ⁄ 综合 ⁄ 共 2125字 ⁄ 字号 评论关闭

使用<include
/> 标签来重用layout代码


如果在一个项目中需要用到相同的布局设计,可以通过<include /> 标签来重用layout代码,该标签在android开发文档中没有相关的介绍。在android主屏程序中 用到了这个标签:

<com.android.launcher.Workspace
android:id="@+id/workspace"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
launcher:defaultScreen="1">
<include android:id="@+id/cell1" layout="@layout/workspace_screen" />
<include android:id="@+id/cell2" layout="@layout/workspace_screen" />
<include android:id="@+id/cell3" layout="@layout/workspace_screen" />

</com.android.launcher.Workspace>

这样可以多次引用一个布局片段而不用重复的复制、粘贴。通过include标签也可以覆写一些属性的值,例如上面的示例就覆写了引用的layout中的id值。下面是另外一个示例:

<include android:layout_width="fill_parent" layout="@layout/image_holder" />
<include android:layout_width="256dip" layout="@layout/image_holder" />
二。

Android布局整合include界面控件

在Android的开发中,我们知道布局文件可以让我们很方便的对各个UI控件进行位置安排跟属性设置,而在程序中可以直接取得控件并赋予对应操作功能。但是,如果是一个复杂的界面设计,我们把所有布局都放在一个文件中来描述,那这个文件会显得比较臃肿而结构则变得无法清晰了。为此,Android为我们提供了一个武功高强的高手,这个高手的特异功能就是能够将几个不同的布局文件整合在一起,它的名字叫include,听名字就知道是包含的意思,当然是包括多个布局。

说了那么多,其实使用并不难,而且还很简单,那接下来我们来举例来看看,看了包懂,不懂不收钱,其实也没收钱哈。

由于是讲布局的安排跟组合,那我们这里就只拿布局文件来解析下,其他程序代码跟其他程序没区别。

这里我们以最简单的控件TextView来举例,总共假设3个布局文件,其中一个布局包含了其他两个子布局。

父布局layoutP:

1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <include android:id="@+id/cell1" layout="@layout/includeA" /> 
    <include android:id="@+id/cell2" 
             android:layout_width="fill_parent" 
             layout="@layout/includeB" /> 
</LinearLayout>

子布局layoutA:

1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:text="随时随地,即兴时代!" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 
</TextView>

子布局二layoutB:

1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:text="ATAAW.COM" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 
</TextView>

通过以上layoutP中的整合,layoutA与layoutB就成为layoutP中的子元素,不仅使得整个布局代码结构清晰,提高了可读性,而且可以将界面排版中的功能模块清楚的划分

抱歉!评论已关闭.