Layout Resource官方教程(3)在layout中用include嵌入其它layout
简介
<include>Includes a layout file into this layout.
类似 #include ,把layout展开在include处
attributes:
| layout | Layout resource. Required. Reference to a layout resource. |
| android:id | Resource ID. Overrides the ID given to the root view in the included layout. |
| android:layout_height | Dimension or keyword. Overrides the height given to the root view in the included layout. Only effective if android:layout_width is also declared. |
| android:layout_width | Dimension or keyword. Overrides the width given to the root view in the included layout. Only effective if android:layout_height is also declared. |
You can include any other layout attributes in the <include> that are supported by the root element in the included layout and they will override those defined in the root element.
注意,findViewById()都是父容器找子控件,被include的 layout里的控件要在都位于主layout中,所以要用 主layout对应的view.findViewById()才能找到子layout中的控件。
Caution:
If you want to override layout attributes using the <include> tag, you must override both android:layout_height and android:layout_width in order for other layout attributes to take effect.
Another way to include a layout is to use ViewStub. It is a lightweight View that consumes no layout space until you explicitly inflate it, at which point, it includes a layout file defined by itsandroid:layout attribute. For more information about using ViewStub, read Loading Views On Demand.
示例:
主layout: frgmt_main.xml
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent"> <!-- tab1,用include可以引用别处的layout -->
<include
android:id="@+id/tab_weixin" android:layout_width="wrap_content"
android:layout_height="wrap_content"
layout="@layout/tab_weixin_layout" />
被include的layout : tab_weixin_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/tab_weixin_layout"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/tab_weixin_qq_friend"
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_height="wrap_content" > <ImageView
android:id="@+id/iv_tab_weixin_qq_friend"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerInside"
android:src="@drawable/tab_weixin_qq_scale" /> <TextView
android:id="@+id/tv_tab_weixin_qq_friend"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/find_qq_friends" /> </LinearLayout> <ListView
android:id="@+id/tab_weixin_list"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</ListView> </LinearLayout>
Layout Resource官方教程(3)在layout中用include嵌入其它layout的更多相关文章
- Layout Resource官方教程(2)用ViewStub引用的嵌入的layout可推迟加载
Loading Views On Demand THIS LESSON TEACHES YOU TO Define a ViewStub Load the ViewStub Layout YOU SH ...
- Layout Resource官方教程(1)简介
Layout Resource SEE ALSO Layouts A layout resource defines the architecture for the UI in an Activit ...
- Layout Resource官方教程(4)<include>与<merge>
Re-using Layouts with <include/> THIS LESSON TEACHES YOU TO Create a Re-usable Layout Use the ...
- 自定义View(7)官方教程:自定义View(含onMeasure),自定义一个Layout(混合组件),重写一个现有组件
Custom Components In this document The Basic Approach Fully Customized Components Compound Controls ...
- ActionBar官方教程(7)自定义操作项的view,如何得到它及处理它的事件
Adding an Action View An action view is a widget that appears in the action bar as a substitute for ...
- Python-第三方库requests详解(附requests中文官方教程)
转自http://blog.csdn.net/cyjs1988/article/details/73294774 Python+requests中文官方教程: http://www.python-re ...
- Toasts官方教程
Toasts IN THIS DOCUMENT The Basics Positioning your Toast Creating a Custom Toast View 在其它线程中启动Toast ...
- SwiftUI 官方教程(八)
8. 动态生成预览 接下来,我们会在 LandmarkList_Previews 中添加代码以在不同的设备尺寸上渲染列表.默认情况下,预览会以当前的 scheme 中设备的大小进行渲染.我们可以通过调 ...
- Ceisum官方教程2 -- 项目实例(workshop)
原文地址:https://cesiumjs.org/tutorials/Cesium-Workshop/ 概述 我们很高兴欢迎你加入Cesium社区!为了让你能基于Cesium开发自己的3d 地图项目 ...
随机推荐
- 使用repeater控件显示列表替代treeview
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- asp.net中一般处理程序中添加session
asp.net中使用一般处理程序(.ashx)添加session,利用context.session["xxx"] = value的方式把值保存到session:运行的时候会出现该 ...
- OC5_NSMutableString操作
// // main.m // OC5_NSMutableString操作 // // Created by zhangxueming on 15/6/10. // Copyright (c) 201 ...
- mysql innodb 数据打捞(三)innodb 簇不连接页的扫描提取(计划)
操作系统簇大小一般是4K,而innoDB的页大小一般是16K,那么就有可能16K的页没有存储在连续的簇中,这样扫描软件就不会扫描出来这样的页面.为了解决这个问题,决定给软件增加半页扫描功能. 在第一次 ...
- 九度OJ 1024 畅通工程 -- 并查集、贪心算法(最小生成树)
题目地址:http://ac.jobdu.com/problem.php?pid=1024 题目描述: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但 ...
- java.util.AbstractStringBuilder源码分析
AbstractStringBuilder是一个抽象类,是StringBuilder和StringBuffer的父类,分析它的源码对StringBuilder和StringBuffer代码的理解有很大 ...
- iOS 构造方法
构造方法:用于在对象创建出来的时候为对象的成员变量或者属性赋值 1.构造方法就是初始化对象的方法,它属于对象方法.构造方法分为系统自带和自定义构造方法. 如何创建自定义构造方法: 属于对象方法那么以 ...
- python 自动化之路 day 09 进程、线程、协程篇
本节内容 操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者 ...
- Qt多文档界面应用设计
使用Qt编写多文档界面(MDI)应用相当方便,主要会使用到QMdiArea和QMdiSubWindow两个类.可以查看Qt Asistant中这两个类的说明文档,里面介绍的相当详细.另外,可以搜索例程 ...
- iOS数据库操作流程
SQLite最新的版本是3.0,使用之前应该先导入libsqlite3.0.dylib 1.导入流程 2.iOS中操作数据库的流程 打开数据库 准备SQL数据库 执行SQL数据库 语句完结 关闭数据库 ...