Android——布局

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。

你可能感兴趣的:(android,布局)