Android 布局优化 Merge的使用

一、Merge的作用 The tag helps eliminate redundant view groups in your view hierarchy

一、Merge的作用
The tag helps eliminate redundant view groups in your view hierarchy when including one layout within another.
大意是,merge标签是用来帮助在视图树中减少重复布局的,当一个layout包含另外一个layout时。

二、示例
不使用merge
layout1.xml



layout2.xml:



实际效果:



使用merge
layout1.xml



layout2.xml:



实际效果:



三、要点
merge必须放在布局文件的根节点上。
merge并不是一个ViewGroup,也不是一个View,它相当于声明了一些视图,等待被添加。
merge标签被添加到A容器下,那么merge下的所有视图将被添加到A容器下。
因为merge标签并不是View,所以在通过LayoutInflate.inflate方法渲染的时候, 第二个参数必须指定一个父容器,且第三个参数必须为true,也就是必须为merge下的视图指定一个父亲节点。
因为merge不是View,所以对merge标签设置的所有属性都是无效的