布局的介绍
用户使用安卓看到的应用界面,是通过布局和组件构成的,组件根据布局的格式排列,形成用户所看到的界面。
安卓六大布局
-
线性布局方式(LinearLayout)
按照垂直或者水平的顺序依次排列子元素,每一个子元素都位于前一个元素之后。如果要实现多行多列,一般通常用定义一组垂直排序,再垂直中再加添加水平布局来实现多行多列的效果。android:layout_weight值可以设置布局的宽度比例。
-
相对布局(Relative Layout)
这种布局相对其他布局来说,比较常用,因为十分灵活。相对布局是按照各子元素之间的位置关系完成布局。在此布局中的子元素里与位置相关的属性将生效,如android:layout_below, android:layout_above等,需要注意的是,一个子元素要相对于另一个元素定位时,那另一个元素必须先定义。
-
绝对位置布局(AbsoluteLayout)
该布局是用坐标来定位的,绝对位置布局中的子元素的android:layout_x和android:layout_y属性来定位x轴和y轴,一左上角原点(0,0),分别代表x轴和y轴的起点,向右向下延申xy轴数值变大,布局也会重叠,由于该布局需要非常精准的坐标,所以调试时间和适配都相对困难,所以实际开发很少使用该布局。 -
帧布局(FrameLayout)
帧布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素会覆盖上一层的子元素,将上面遮挡住。该布局在开发中设计地图经常用到。 -
表格布局(TableLayout)
适用于多行多列的布局格式,每个TableLayout是由多个TableRow组成,TableRow是LinearLayout(线性布局)的子类,TableLayout里面添加组件,那么该组件就直接占用一行。在表格布局中,列的宽度由该列中最宽的单元格决定,整个表格布局的宽度取决于父容器的宽度。 -
网格布局(GridLayout)
网格布局是Android4.0之后推出的布局,类似于之前的线性布局,但是比线性布局功能更广。