1.线性布局(LinearLayout):类似于Swing中的Box,它们都会将容器里的组件一个挨一个地排列起来,Android的线性布局不会换行,当组件一个挨一个地排列到头之后,剩下的组件将不会被显示出来。LinearLayout通过设置android:orientation来使组件横向或纵向排列。
2.表格布局(TableLayout):继承了LinearLayout,因此本质上依然是线性布局管理器。TableLayout不需要明确地声明包含多少行,多少列,而是通过添加TableRow和其他组件来控制表格的行和列。
每次向TableLayout中添加一个TableRow,该TableRow就是一个表格行,TableRow也是容器,因此可以向它里面添加其他组件,每添加一个组件该表格就增加一列。如果直接向TableRow中添加组件,那么这个组件将直接占用一行。
3.帧布局(FrameLayout):直接继承了ViewGroup组件,FrameLayout为每个加入其中的组件创建一个空白区域,称为一帧,每个组件占据一帧,这些帧都会根据gravity属性执行自动对齐。帧布局类似于AWT编程的CardLayout,都是把组件一个个叠加起来。
4.相对布局(RelativeLayout):如果A组件中的位置是由B组件的位置来决定的,Android要求先定义B组件,再定义A组件。
5.网格布局(GridLayout):这是Android4.0新增的布局管理器,它类似于HTML中的Table标签,它把整个容器划分为m*n个网格,每个网格可以放置一个组件。除此之外,它也可以设置一个组件横跨多少行,纵跨多少列。
6.绝对布局(AbsoluteLayout):就是Android不提供任何布局控制,而是由开发人员自己通过设置X,Y坐标来控制组件的位置。