Ø为了适应各种界面风格,Android提供了5种布局,这5种布局分别是:
FrameLayout(框架布局)、LinearLayout(线性布局)、RelativeLayout(相对布局)、TableLayout(表格布局)、AbsoluteLayout(绝对布局)等
常用属性介绍
ØAndroid表示单位长度的方式通常有三种表示方式。
Øpx:表示屏幕实际的象素。例如,320*480的屏幕在横向有320个象素,在纵向有480个象素。
Ødp(dip): 是屏幕的物理尺寸。大小为1英寸的1/72。
Øsp(与刻度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。
线性布局
属性
|
描述
|
wrap_content
|
填满父控件的空白
|
fill_parent
match_parent
|
表示大小刚好足够显示当前控件里的内容Android中fill_parent和match_parent是一样的。
在Android2.2中启动match_parent,不用fill_parent
|
Ø
layout_weight
用于给一个线性布局中的诸多视图的重要度赋值。
Ø
所有的视图都有一个
layout_weight
值,默认为零,意思是需要显示
Ø
多大的视图就占据多大的屏幕空
间。若赋一个高于零的值,则将父视
Ø
图中的可用空间分割,分割大小具体取决于每一个视图的
layout_weight
Ø
值以及该值在当前屏幕布局的整体
layout_weight
值和在其它视图屏幕布
Ø
局的
layout_weight
值中所占的比率而定。
框架布局
框架布局是最简单的布局方式、所有添加到这个布局中的视图都是以层叠的方式显示。第一个添加到框架布局中的视图显示在最底层,最后一个被放在最顶层,上一层的视图会覆盖下一层的视图,因此框架布局类似堆栈布局。
属性值
|
描述
|
top
|
将视图放到屏幕的顶端
|
Buttom
|
将视图放到屏幕的底端
|
Left
|
将视图放在屏幕的左侧
|
Right
|
将视图放在屏幕的右侧
|
Center_vertical
|
将视图按照垂直方向居中显示
|
horizontal_vertical
|
将视图按照水平方向居中显示
|
相对布局
属性
|
说明
|
android:layout_below
|
在某元素的下方
|
android:layout_above
|
在某元素的的上方
|
android:layout_toLeftOf
|
在某元素的左边
|
android:layout_toRightOf
|
在某元素的右边
|
绝对布局
Ø所谓绝对布局(AbsoluteLayout),是指屏幕中所有控件的摆放由开发人员通过设置控件的坐标来指定,控件容器不再负责管理其子控件的位置。由于子控件的位置和布局都是通过坐标来指定,因此AbsoluteLayout类中没有特殊的属性和方法。
Ø可以通过android:layout_x和android:layout_y属性可以设置视图的横坐标和纵坐标的位置。
表格布局
Ø
在
TableLayout
布局中,一个列的宽度由该列中最宽的那个单元格指定,而
表格的宽度是由父容器指定的。在
TableLayout
中,可以为列设置三种属性
:
Ø
Shrinkable
:如果一个列被标识为
Shrinkable
,则该列的宽度可以进行收缩
,以使表格能够适应其父容器的大小。
Ø
Stretchable
:如果一个列被标识为
Stretchable
,则该列的宽度可以进行拉伸
,以使填满表格中的空闲空间。
Ø
Collapsed
:如果一个列被标识为
Collapsed
,则该列会被隐藏
Ø
注意:一个列可以同时具有
Shrinkable
属性和
Stretchable
属性,在这种情况
下,该列的宽度将任意拉伸或收缩以适应父容器
ØTableLayout继承自LinearLayout类,除了继承来自父类的属性和方法,TableLayout类中还包含表格布局所特有的属性和方法,如下表:
Ø注意:TableLayout中所谓的列序号是从0开始计算的。setShrinkAllColumns和setStretchAllColumns实现的功能是将表格中的所有列设置为Shrinkable或Stretchable。
-----感谢老罗的奉献。