1.Merge标签

主要是进行UI布局优化。<merge/>主要是:
1.用来替换FrameLayout或者当一个布局(根节点布局)嵌套布局的时。
2.<merge/>标签用于消除师徒层次结构中多余的视图组。
复制代码

2.实例来表示

(1)没有使用Merge标签代码:
复制代码
<?xml version="1.0" encoding="utf-8"?><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="demo.zhiyunqiao.com.merge.MainActivity"tools:layout_editor_absoluteY="81dp"><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!"/></RelativeLayout>
复制代码
用DDMS检测出来的布局层级:
复制代码

可以看到上面的层级布局中,跟布局还有个FrameLayout布局。 (2)使用了Merge标签代码:

<?xml version="1.0" encoding="utf-8"?>
<mergexmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="demo.zhiyunqiao.com.merge.MainActivity"tools:layout_editor_absoluteY="81dp"><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!"/>
</merge>
复制代码

DDMS检测结果:

可以看到我们少了一层布局RelativeLayout布局这样我们就少了一层布局。

3.需要注意:

1.某些时候,自己定义可重用的布局包括了过多的层级标签,比方我们比如:这种话。使用<include>包括上面的布局的时候。系统会自己主动忽略merge层级
实例表示:
(1)include代码:
复制代码

添加include到main_activity中的效果:可以看出上面的差异,在include中有Merge标签的时候会被忽略。

4.merge的使用限制

merge只能作为XML布局的根标签使用。当Inflate以merge开头的布局文件时,必须指定一个父ViewGroup,并且必须设定attachToRoot为true。
复制代码

android Merge标签相关推荐

  1. Android merge 标签 显示错乱

    在Android stadio 中,如果你的xml 文件使用了merge 标签之后,内容的排列就会全部错乱,没有办法修改和观看. 如果说,你希望根布局是merge 标签,希望布局可以在预览里面正常显示 ...

  2. Android merge 标签学习笔记

    Merge 标签 Android性能优化中 有一点就是尽量减少层次结构 少用LinearLayout. merge他的作用就是减少一个层次. 1.merge布局 和FrameLayout类似,相同的效 ...

  3. 在android布局中使用include和merge标签

    在我们开发Android布局时,经常会有很多的布局是相同的,这个时候我们可以通过<include/>和<merge/>标签实现将复杂的布局包含在需要的布局中,减少重复代码的编写 ...

  4. Android studio Merge 标签 显示错乱

    如果xml 根标签是Merge,那么在Studio 里面显示就会使混乱的,如下图: 解决方法: 在merge 标签里面增加一句话: tools:parentTag="android.supp ...

  5. Android layout 优化:使用include和merge 标签

    使用<include /> 标签来重用layout代码 如果在一个项目中需要用到相同的布局设计,可以通过<include /> 标签来重用layout代码,该标签在androi ...

  6. [转载]Android Layout标签之-viewStub,requestFocus,merge,include

    定义Android Layout(XML)时,有四个比较特别的标签是非常重要的,其中有三个是与资源复用有关,分别是<viewStub/>, <requestFocus />, ...

  7. Android Layout标签之-viewStub,requestFocus,merge,include

    定义Android Layout(XML)时,有四个比较特别的标签是非常重要的,其中有三个是与资源复用有关,分别是<viewStub/>, <requestFocus />, ...

  8. Android布局优化之merge标签

    在自定义View的研究中,偶然遇到了merge标签,发现它确实有一些作用,觉得它很有意思,所以在这里给大家分享一下. 有关Merge标签的使用 merge的使用分为几种情况: 一.merge标签嵌套在 ...

  9. 源码分析 merge 标签减少布局层级的秘密(Android Q)

    源码分析 merge 标签减少布局层级的秘密(Android Q) 我在<Android 渲染性能优化--你需要知道的一切!>一文中介绍过,merge 标签用于减少 View 树的层次来优 ...

最新文章

  1. 面试官:Java如何绑定线程到指定CPU上执行?
  2. 前沿视频教室——《C#图解教程》是本好书,强烈推荐!
  3. JDK1.5 新特性
  4. redux VS mobx (装饰器配合使用)
  5. 重构之SqlHelper
  6. python倒排索引实现_倒排索引原理和实现 - uncle_LLD的个人空间 - OSCHINA - 中文开源技术交流社区...
  7. 发送手机验证码通过调用第三方网易云信API(flask项目)
  8. NB-IoT将给智能锁行业带来哪些影响?
  9. Apache的流处理技术概述
  10. @程序员,你处在食物链哪级?有人跑车游轮到处玩,有人被房价羞辱,被平庸折磨...
  11. MM模块采购收货的错误解决方案(2)
  12. 最新丁林松老师全程讲解QT高级编程技术(完整)
  13. 魔兽争霸3运行速度慢的一些优化办法。
  14. 神经网络和机器学习基础入门分享
  15. php工作流根据不同流程保存,启用SuiteCRM工作流(workflow)-权威指南
  16. AT32F407/437 PTP Daemon使用demo
  17. BlackBerry上网初体验
  18. 印度的软件神话真不能打破吗?
  19. 【ROM制作工具】如何美化ROM、集成高级设置等特色功能到刷机包教程
  20. 对项目工时的估算----( PERT “计划评审技术” ) 三点估算法

热门文章

  1. 使用C++与SFML编写一个简单的撞球游戏Part1——新建工程以及设置
  2. “以史为鉴”-企业信息化的梳理-前言
  3. SQL语句练习(三)
  4. ADSL路由器防止******
  5. 关于Scala递归返回参数的问题
  6. 软件工程第二次结对作业
  7. java基础-容器-Set
  8. python全栈开发第36天------GIL全局解释锁、死锁现象和递归锁、信号量、Event事件、线程...
  9. 第四章(变量、作用域、内存问题)
  10. 前端工程师需要掌握的技能