Android布局整合include界面控件(重用布局)
2012-05-24 11:21
417 查看
在Android的开发中,我们知道布局文件可以让我们很方便的对各个UI控件进行位置安排跟属性设置,而在程序中可以直接取得控件并赋予对应操作功能。但是,如果是一个复杂的界面设计,我们把所有布局都放在一个文件中来描述,那这个文件会显得比较臃肿而结构则变得无法清晰了。为此,Android为我们提供了一个武功高强的高手,这个高手的特异功能就是能够将几个不同的布局文件整合在一起,它的名字叫include,听名字就知道是包含的意思,当然是包括多个布局。
说了那么多,其实使用并不难,而且还很简单,那接下来我们来举例来看看,看了包懂,不懂不收钱,其实也没收钱哈。
由于是讲布局的安排跟组合,那我们这里就只拿布局文件来解析下,其他程序代码跟其他程序没区别。
这里我们以最简单的控件TextView来举例,总共假设3个布局文件,其中一个布局包含了其他两个子布局。
父布局layoutP:
<?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>
<?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:
<?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>
<?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:
<?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>
<?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中的子元素,不仅使得整个布局代码结构清晰,提高了可读性,而且可以将界面排版中的功能模块清楚的划分。
[align=center] [/align] |
由于是讲布局的安排跟组合,那我们这里就只拿布局文件来解析下,其他程序代码跟其他程序没区别。
这里我们以最简单的控件TextView来举例,总共假设3个布局文件,其中一个布局包含了其他两个子布局。
父布局layoutP:
<?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>
<?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:
<?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>
<?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:
<?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>
<?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中的子元素,不仅使得整个布局代码结构清晰,提高了可读性,而且可以将界面排版中的功能模块清楚的划分。
相关文章推荐
- Android布局整合include界面控件(重用布局)
- Android布局整合include界面控件
- Android布局整合include界面控件 示例
- Android布局整合include界面控件 示例
- Android布局整合include界面控件
- Android UI控件之CheckBox实现墨迹天气设置布局界面(漂亮)
- Android Fragment 中自定义键盘如何调整布局,不挡住界面控件
- 重拾Android 之界面控件和布局方式
- d3e3 Android软键盘弹出遮盖原来界面的布局控件
- Android的Databinding-需要使用控件id,listener以及布局有include的场景
- 【Android Training - Performance】提高显示布局文件的性能[Lesson 2 - 使用include标签重用Layout]
- Android自定义控件系列 十:利用添加自定义布局来搞定触摸事件的分发,解决组合界面中特定控件响应特定方向的事件
- Android自定义控件系列 六:利用添加自定义布局来搞定触摸事件的分发,解决组合界面中特定控件响应特定方向的事件
- android_应用开发之(使用<include>标签重用布局)
- Android应用界面开发-控件+布局 笔记
- Android关于软键盘弹出遮盖了原来界面的布局控件
- Android关于软键盘弹出遮盖了原来界面的布局控件
- Android自定义控件系列 十:利用添加自定义布局来搞定触摸事件的分发,解决组合界面中特定控件响应特定方向的事件
- (android控件)界面布局实现GridView(网格效果)
- Android Layout中使用include标签实现UI布局重用