android Merge标签
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标签相关推荐
- Android merge 标签 显示错乱
在Android stadio 中,如果你的xml 文件使用了merge 标签之后,内容的排列就会全部错乱,没有办法修改和观看. 如果说,你希望根布局是merge 标签,希望布局可以在预览里面正常显示 ...
- Android merge 标签学习笔记
Merge 标签 Android性能优化中 有一点就是尽量减少层次结构 少用LinearLayout. merge他的作用就是减少一个层次. 1.merge布局 和FrameLayout类似,相同的效 ...
- 在android布局中使用include和merge标签
在我们开发Android布局时,经常会有很多的布局是相同的,这个时候我们可以通过<include/>和<merge/>标签实现将复杂的布局包含在需要的布局中,减少重复代码的编写 ...
- Android studio Merge 标签 显示错乱
如果xml 根标签是Merge,那么在Studio 里面显示就会使混乱的,如下图: 解决方法: 在merge 标签里面增加一句话: tools:parentTag="android.supp ...
- Android layout 优化:使用include和merge 标签
使用<include /> 标签来重用layout代码 如果在一个项目中需要用到相同的布局设计,可以通过<include /> 标签来重用layout代码,该标签在androi ...
- [转载]Android Layout标签之-viewStub,requestFocus,merge,include
定义Android Layout(XML)时,有四个比较特别的标签是非常重要的,其中有三个是与资源复用有关,分别是<viewStub/>, <requestFocus />, ...
- Android Layout标签之-viewStub,requestFocus,merge,include
定义Android Layout(XML)时,有四个比较特别的标签是非常重要的,其中有三个是与资源复用有关,分别是<viewStub/>, <requestFocus />, ...
- Android布局优化之merge标签
在自定义View的研究中,偶然遇到了merge标签,发现它确实有一些作用,觉得它很有意思,所以在这里给大家分享一下. 有关Merge标签的使用 merge的使用分为几种情况: 一.merge标签嵌套在 ...
- 源码分析 merge 标签减少布局层级的秘密(Android Q)
源码分析 merge 标签减少布局层级的秘密(Android Q) 我在<Android 渲染性能优化--你需要知道的一切!>一文中介绍过,merge 标签用于减少 View 树的层次来优 ...
最新文章
- 面试官:Java如何绑定线程到指定CPU上执行?
- 前沿视频教室——《C#图解教程》是本好书,强烈推荐!
- JDK1.5 新特性
- redux VS mobx (装饰器配合使用)
- 重构之SqlHelper
- python倒排索引实现_倒排索引原理和实现 - uncle_LLD的个人空间 - OSCHINA - 中文开源技术交流社区...
- 发送手机验证码通过调用第三方网易云信API(flask项目)
- NB-IoT将给智能锁行业带来哪些影响?
- Apache的流处理技术概述
- @程序员,你处在食物链哪级?有人跑车游轮到处玩,有人被房价羞辱,被平庸折磨...
- MM模块采购收货的错误解决方案(2)
- 最新丁林松老师全程讲解QT高级编程技术(完整)
- 魔兽争霸3运行速度慢的一些优化办法。
- 神经网络和机器学习基础入门分享
- php工作流根据不同流程保存,启用SuiteCRM工作流(workflow)-权威指南
- AT32F407/437 PTP Daemon使用demo
- BlackBerry上网初体验
- 印度的软件神话真不能打破吗?
- 【ROM制作工具】如何美化ROM、集成高级设置等特色功能到刷机包教程
- 对项目工时的估算----( PERT “计划评审技术” ) 三点估算法