android界面布局
6种基本摆放控件的规则
框架布局
FrameLayout,也叫帧布局
该布局上的控件放在左上角,按照放置的前后顺序,逐一层叠,后面的布局会遮盖住前面的
线性布局
LinearLayout
按照水平或者垂直两种方式排布,在布局文件中使用android:orientation
来决定方向
相对布局
RelativeLayout
相对于其他控件位置,通常是指定id关联其他控件,以上下左右对齐等方式排列
属性 | 描述 |
---|---|
layout_alignParentXXX:Top,Bottom,Left,Right | 与父控件平齐 |
layout_centerInXXX:Parent,Horizontal,Vertical | 在父控件的中间 |
layout_alignXXX:Top,Bottom,Left,Right=@id/ | 与ID为xxx控件平齐 |
layout_XXX:above,blow,toRightOf,toLeftOf=@id/ |
绝对布局
AbsolutelLayout
以屏幕左上角为坐标原点(0,0),直接指定具体坐标为位置,一般少用,因为存在兼容性问题
直接指定layout_x
和layout_y
表格布局
TableLayout
将布局页面划分为行列的单元格,使用<Tablerow></TableRow>
标记单元格的一行
全局属性
也就是列属性
stretchColumns
可伸展的列,可以向行方向伸展,最多可以占据一整行shrinkColumns
可收缩的列,内容太多可以沿列方向收缩collapseColumns
要隐藏的列
单元格属性
可以同时具备一下两个属性
layout_column
指定单元格在第几列layout_span
指定单元格占据的列数
网格布局
GridLayout
一个接一个控件挨着从左到右排列,指定列数会自动换行,布局中的小控件,默认wrap_content
以上布局都是可以嵌套混合使用的