1、 View类是所有可视化空间的基类。
2、 ViewGroup类是View类的子类,可以充当其他控件的容器
3、 几个常见的ViewGroup简介
AbsoluteLayout |
绝对定位布局 |
每个元素必须制定具体位置 |
FrameLayout |
层布局 |
同PhotoShop的图层 |
LinearLayout |
线性布局 |
每个元素占一行或一列 |
RelativeLayout |
相对定位布局 |
描述元素相对其他元素位置 |
TableLayout |
表格布局 |
同HTML的表格 |
4、 线性布局——LinearLayout
按照水平或垂直的顺序依次排列,一行N列,或N行一列。
如果想要搭建2*2的结构,先垂直排列两个元素,再在其中各添加一个LinearLayout进行横向分割。
常用属性及方法 |
||
Android:orientation |
setOrientation(int) |
设置线性布局朝向,如horizontal |
Android:grabity |
setGravity(int) |
设置内部元素布局方式 |
Gravity属性可以用来设置相对于容器的对齐方式,需要设置多个值时用“|”分隔{top/bottom/left/right/center_vertical/center_horizontal/center/fill_vertical/fill_horizontal/fill}
5、 相对布局——RelativeLayout
① 只取true和false的属性(相对于父控件的对齐位置)
Layout_centerHorizontal/_centerVertical/_centerInParent/_alignParentBottom/_alighParentLeft/_alignParentTop/_alignParentRight/_alignWithParentIfMissing
②只取其他控件的id的属性(要求该id在前面声明过)
Layout_toRightOf/_toLeftOf/_above/_below/——相对位置
layout_alignTop/_alignBottom/_alignLeft/_alignRight——对齐方式
layout_marginLeft/_marginRight/_marginTop/_marginBottom——留白
6、 按表格布局——TableLayout
继承自LinearLayout,自有属性还包括setColumnCollapsed/setShrinkAllColumns/ setStretchAllColumns。设置单元格隐藏、可收缩、可拉伸。
适用于N*N的布局格式,一个TableLayout由多个TableRow组成,每个代表一行
向TableLayout中添加组件,则添加一行。想TableRow中添加组件,则添加一列。
表格中列的宽度由该列最宽单元格决定,整个表格布局的宽度占满父控件的宽度。
7、 切换卡——TabWidget类
继承自LinearLayout,自由属性还有divider/tabStripEnabled/tabStripLeft/tabStripRight
由一个TabHost存放多个Tab标签容器,再在Tab容器下添加其他空间,通过addTab方法添加新的Tab。