3.8 布局管理器之间互相嵌套

在使用布局管理器进行布局时会发现,有时候实际的需求不是一种布局管理器能够满足的,这时我们可以将多个布局管理器嵌套使用。用法和单个布局管理器的使用并无多大区别,这里就以LinearLayout、GridLayout、RelativeLayout三者的互相嵌套为例,实现一个带标题的计算器的布局。其他嵌套情况读者可根据实例随意变换,此处不做过多叙述。

LinearLayout、GridLayout、RelativeLayout三者互相嵌套的布局文件实例:

本程序在相对布局内部嵌入了一个线性布局和一个网格布局,并将网格布局放在线性布局的下方。程序运行效果如图3-14所示。

图3-14 嵌套布局效果图

这里在最外层使用一个RelativeLayout,在RelativeLayout内部使用LinearLayout和GridLayout。其中LinearLayout用来实现计算器的标题,即“hello liruiqi1”和“hello liruiqi2”,在实际开发中,可以替换成自己需要的内容。GridLayout其实就是前面所讲述的计算器的布局。由于外层是RelativeLayout,因此在确定位置时在GridLayout中使用了layout_below属性,使GridLayout落在LinearLayout下方。在Android开发中,嵌套使用布局管理器很常见,这里只是给出一个示例,读者可模仿操作并尝试使用其他布局管理器进行互相嵌套。