安卓开发中有五大布局:LinearLayout(线性布局)、FrameLayout(帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。 LinearLayout 它有点像是Java的Swing编程中的Box,可以控制各个组件的横向排列,也可以控制各个组件的纵向排列,在XML中的android:orientation,纵向为vertical,横向排列为horizontal。特别地,android的线性布局并不会换行,如果一行有过多的组件,那么多余出的组件将不会显示。 TableLayout 表格布局是继承了LinearLayout。其实可以想象的出来,表格布局可以看做是很多行的LinearLayout或者很多列的LinearLayout组成的。在XML文件中可以写<TableRow></TableRow>来设置行的组件,一个TableRow就是一行(TableRow也是一个容器)。 FrameLayout 帧布局直接继承了ViewGroup组件。其设置的组件将会一个覆盖在另一个的上面,后面的组件会将前面的组件完全覆盖。 RelativeLayout 相对布局是按照各个组件之间的位置关系来完成布局。RelativeLayout提供了一个内部类:RelativeLayout.LayoutParams,该类提供了大量的XML来控制RelativeLayout中子组件的分布。 AbsoluteLayout 绝对布局在开发中其实已经很少用到了。该布局采用android:layout_X和android:layout_X来描述组件的位置。屏幕左上角为坐标(0,0)点,而后往下x和y的值增大。由于此布局是用坐标形式来决定布局,而因终端配置不同,无法很好的适配各个终端,所以开发中较少用。