Android系统提供了5种布局,分别是FrameLayout,LinearLayout,RelativeLayout,TableLayout和AbsoluteLayout。
1: 框架布局(FrameLayout)
框架布局和绝对布局是最简单的布局方式,所有添加到框架布局中的视图都以层叠的方式来显示。
第一个添加到该布局中的视图显示在最底层,最后一个添加的在最顶层,上一层的视图会把下一层的视图覆盖。
这样的布局方式类似堆栈,先进后出,后进先出。因此也可以把框架布局称为堆栈布局。
2:线性布局(LinearLayout)
线性布局是最常用的布局方式,它可分为水平vertical和垂直horizontally两种方式,默认是horizontally
LinearLayout有个很重要的gravity 属性,它用于控件布局中视图的位置。下面是该属性的取值:
top:屏幕顶部 bottom:屏幕底端
left:屏幕左端 right:屏幕右端
center_vertical:垂直居中
center_horizontally:水平居中
cneter:屏幕居中(水平和垂直都居中)
如需设置多个值,需要使用“|”进行分隔(不能加空格)。
3:相对布局(RelativeLayout)
相对布局可以设置某一个视图相对于其他视图的位置,这些位置包括上、下、左、右。
设置这些位置的属性分别是android:layout_above、android:layout_below、android:layout_toLeftOf、android:layout_toRightOf。
还有可以通过android:layout_alignBaseline属性来设置视图的底端对齐。需要注意的是这几个属性的值必须是存在的资源ID,
也就是另一个视图的android:id属性值,不然怎么叫相对呢。
4:表格布局(TableLayout)
表格布局可以将视图按行和列进行排列。一个表格布局由一个TableLayout标签和若干个TableRow标签组成。
该布局在实现行列效果中并不常用,一般都是使用GridView控件来代替表格布局。
5:绝对布局(AbsoluteLayout)
绝对布局是采用视图在工作区域的坐标来进行排列,你可以把视图拖动到区域中任意一个位置,这样的设定很方便却不实用,
因为使用不同的机型或者不同分辨率的虚拟机都会出现视图错位的漏洞,不推荐使用。
重用XML布局文件
在一个复杂的应用程序中,往往同样的布局需要在多处使用到,我们可以在xml布局文件中使用<include>标签来在一个布局文件中
引用另一个布局文件,如<include layout="@layout/newLayout" />。