Chrisの梳羽之礁

A look of quick intelligence and soft refinement
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

<merge/> 和 <include/>

Posted on 2011-10-19 15:19  Chrisfang6  阅读(2803)  评论(2编辑  收藏  举报
  1. 当LayoutInflater遇到<merge/>标签时,它会跳过它,并将<merge />内的元素添加到<merge />的父元素里。
    <merge/>只能作为XML布局的根标签使用,只能替换<FrameLayout/>
    当Inflate以<merge />开头的布局文件时,必须指定一个父ViewGroup,并且必须设定attachToRoot为true。参看LayoutInflater.inflate(int resource, ViewGroup root, boolean attachToRoot)。 

     
  2.  include标签内不能设置RelativeLayout属性,如android:layout_alignParentBottom,因为不起作用
    include标签内设置id属性后(android:id),其引用的布局layout内的id属性就不起作用了,怀疑是其引用的layout外层包裹了一层include标签或者是覆盖了其内的属性id
    如果没有include标签,所有布局代码都写在一个xml文件中,界面会显得很冗余,可读性很差。而且界面加载的时候是按照顺序加载的,前面的布局不能调用其后面的布局id。而采用include后,一个include中可以引用其后的include中的布局id属性