`

Merge标签使用

 
阅读更多
今天看了下<merge />标签的使用,总结如下:
1.merge标签中的子集是直接加到Activity的FrameLayout根节点下,(Activity视图的根节点都是frameLayout).如果你所创建的Layout并不是用framLayout作为根节点(而是应用LinerLayout等定义root标签),就不能通过merge来优化UI结构.

2.当应用Include或者ViewStub标签从外部导入xml结构时,可以将被导入的xml用merge作为根节点表示,这样当被嵌入父级结构中后可以很好的将它所包含的子集融合到父级结构中,而不会出现冗余的节点.


<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent" android:layout_height="fill_parent">
	<ImageView android:layout_width="fill_parent"
		android:layout_height="fill_parent" android:scaleType="center"
		android:background="@drawable/bg" />
	<TextView android:layout_width="wrap_content"
		android:layout_height="wrap_content" android:layout_marginBottom="20dip"
		android:layout_gravity="center_horizontal|bottom" android:padding="12dip"
		android:background="#AA000000" android:textColor="#ffffffff"
		android:text="Golden Gate" />
</FrameLayout>


大家可以将根节点FrameLayout更改成merge标签进行测试,显示效果是一样,但是我们通过sdk中的tools> hierarchyviewer.bat进行视图查看,我们可以看到区别.

另外需要注意的是:
1.<merge />只可以作为xml layout的根节点.

2.当需要扩充的xml layout本身是由merge作为根节点的话,需要将被导入的xml layout置于 viewGroup中,同时需要设置attachToRoot为True.
分享到:
评论

相关推荐

    android merge 标签使用介绍

    本篇文章将详细介绍`merge`标签的使用方法及其优势。 `merge`标签最初被引入是为了减少视图层次,这是因为在Android系统中,每个视图层级都会带来额外的绘制开销。当我们在一个布局文件中嵌套多个视图时,这些层级...

    Include和merge标签使用

    在Android开发中,`&lt;include&gt;`和`&lt;merge&gt;`标签是两种非常重要的布局组合工具,它们可以帮助开发者提高代码复用性,减少布局嵌套,从而优化应用性能和UI设计。让我们深入探讨这两种标签的使用方法及其优化布局的作用...

    Android UI 优化之merge标签的使用

    本文将深入探讨merge标签的原理、使用场景以及注意事项。 ### 1. merge标签简介 merge标签源自`android.widget.MergeView`类,它并不实际渲染任何可见内容,而是作为容器来优化布局层次。在布局嵌套过深时,Android...

    Android中include和merge标签的使用

    `include`和`merge`标签是Android XML布局文件中两个非常重要的元素,它们帮助开发者实现布局的重用和优化,提高代码的可维护性和效率。本篇文章将深入探讨这两个标签的使用方法以及它们在Android开发中的作用。 ##...

    android include merge标签

    `include`和`merge`标签是两个非常重要的布局重用工具,它们极大地提高了代码的可维护性和性能。下面将详细阐述这两个标签的功能、用法以及如何结合使用。 首先,`include`标签的作用是允许你在多个布局文件中复用...

    android中include和merge标记的区别和使用

    `include`和`merge`标签是Android XML布局文件中两个非常重要的元素,它们帮助开发者实现布局的重用和优化,提高代码的可维护性和效率。接下来,我们将深入探讨这两个标记的区别和使用方法。 ### `include`标签 `...

    struts2讲义_吴峻申

    5.3.5 merge标签使用介绍 83 5.3.6 sort标签使用介绍 84 5.3.7 subset标签使用介绍 86 5.4 Struts2数据标签简介 88 5.4.1 action标签使用介绍 88 5.4.2 bean标签使用介绍 89 5.4.3 date标签使用介绍 91 5.4.4 debug...

    android merge和include简单使用

    使用`merge`时,需要注意在XML布局文件的根元素使用`&lt;merge&gt;`代替`&lt;LinearLayout&gt;`、`&lt;RelativeLayout&gt;`等常见的布局容器,并且该`merge`标签通常配合`&lt;include&gt;`一起使用。 接下来,我们来看`include`标签。`...

    博客《ListView滑动删除实现之一——merge标签与LayoutInflater.inflate()》对应源码

    博客《ListView滑动删除实现之一——merge标签与LayoutInflater.inflate()》对应源码,博客地址:http://blog.csdn.net/harvic880925/article/details/45155965

    Android中使用include标签和merge标签重复使用布局

    `&lt;include/&gt;`和`&lt;merge/&gt;`标签是实现这一目标的重要工具。本文将详细介绍这两个标签的使用方法及其优势。 首先,让我们了解一下`&lt;include/&gt;`标签。`&lt;include/&gt;`标签允许开发者将一个XML布局文件嵌入到另一个布局...

    UI_include_merge_ViewStub

    但是,`&lt;merge&gt;`标签不能单独使用,必须有一个父布局来包含它,这样才能正确地插入到主布局中。 最后,`ViewStub`是一个轻量级的视图,它在加载时不占用任何空间,只有在被设置为可见或调用了`inflate()`方法时,才...

    WinMerge 2.12.4

    5. **语言支持**:从标签"WinMerge-jp"可以看出,该版本还包括了日语界面,使得非英语用户也能轻松使用。 6. **自定义设置**:WinMerge提供丰富的自定义选项,如忽略空格、大小写敏感度、行结束符差异等,可以根据...

    SDLXLIFF file Split and Merge

    此外,Trados Studio的标签“Split Merge”强调了这个工具的核心功能,即对翻译项目进行灵活的拆分和合并操作,这对于大型翻译团队和复杂项目来说尤其重要。通过有效的文件管理,可以显著提高项目的质量和交付速度。...

    Araxis Merge Professional可视化代码合并工具及注册机

    Araxis Merge 是一个可视化的文件比较、合并和同步的软件,能够方便的被软件工程师和 web 站点开发者使用快速精确地比较、了解和联合不同版本的源文件;进行版本和质量控制,创建 HTML 或是 XML 报告。 该软件带来...

    WinMerge很好用的版本比较工具

    标签“WinMerge-2.6.8-exe”进一步强化了这个文件是WinMerge的特定版本,表明这是下载或分享时的一个标识,有助于用户识别和管理不同的安装包。 压缩包子文件的文件名称“WinMerge-2.6.8-exe”通常包含一个安装程序...

    SVNMerge源代码SVNMerge源代码

    1. **版本控制概念**:理解SVN的基本概念,如版本、分支、标签、提交、回滚等,是使用SVNMerge的前提。 2. **合并操作**:SVNMerge的核心功能是合并代码,这涉及到从不同的分支或修订版中提取代码,并将它们整合到...

    简单说明Java的Struts框架中merge标签的使用方法

    ### merge标签的使用 `merge`标签的基本语法如下: ```xml &lt;s:merge var="mergedResult"&gt; &lt;!-- 可以添加更多s:param标签来合并更多的列表 --&gt; &lt;/s:merge&gt; ``` 在这个例子中,`var`属性定义了合并后的结果...

    android layout merge

    本篇文章将深入探讨`merge`布局的使用,以及它如何与Genymotion模拟器关联。 `merge`布局在Android中主要用于减少视图层次,提高布局渲染效率。在没有使用`merge`的情况下,我们通常会在一个父布局(如`...

Global site tag (gtag.js) - Google Analytics