述术Android开发Android开发经验谈

Android 布局优化 Merge的使用

2018-02-02  本文已影响237人  zii4914

从本文你可以快速了解布局中merge标签的作用,以及使用。

一、Merge的作用

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

二、示例

layout1.xml

<FrameLayout>
   <include layout="@layout/layout2"/>
</FrameLayout>

layout2.xml:

<FrameLayout>
   <TextView />
</FrameLayout>

实际效果:

<FrameLayout>
   <FrameLayout>
      <TextView />
   </FrameLayout>
</FrameLayout>

layout1.xml

<FrameLayout>
   <include layout="@layout/layout2"/>
</FrameLayout>

layout2.xml:

<merge>
   <TextView />
</merge>

实际效果:

<FrameLayout>
   <TextView />
</FrameLayout>

三、要点

四、心得

  1. 可以在使用组合控件形式的自定义view中使用。以前不了解merge时的做法是,创建类,继承RelativeLayout,然后创建layout.xml,根布局也是RelativeLayout,在然后在布局中写入其他控件,接着就是在自定义view中inflate布局进来,之后巴拉巴拉一堆逻辑。
    所以应该在xml布局中根节点可以使用merge来减少重复RelativeLayout布局。

五、后记

如有不足之处,请多多指教。

参考:

官方文档
What is the purpose of Android's <merge> tag in XML layouts?
Android 布局优化之include与merge

上一篇 下一篇

猜你喜欢

热点阅读