首页 > 代码库 > 五种布局方式

五种布局方式

线性布局

LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列。

LinearLayout本身常用到的两个属性

android:orientation=”vertical”----该属性决定他子类控件的排布方式(vertical:垂直;horizontal:水平)

android:gravity=”center”----该属性决定他子类的xy的位置。

常用到的几个属性值:

center_vertical:垂直(Y轴)居中

center_horizontal:水平(X轴)居中

center:水平垂直都居中

right:子类控件位于当前布局的右边

left:子类控件位于当前布局左边

bottom:子类控件位于当前布局下面

gravity属性可以多级连用,例如:android:gravity="bottom|center"

子类控件在LinearLayout中常用到的属性

android:layout_gravity=”bottom” ----指本身在当前父类容器的XY的一个位置

android:layout_weight=”1” ----指本身控件占当前父容器的一个比例

相对布局

RelativeLayout是相对布局控件,它包含的子控件将以控件之间的相对位置或子类控件相对父类容器的位置的方式排列。

帧布局FrameLayout

在这个布局中,所有子元素都不能被指定放置的位置,他们统统放在这个区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。

绝对布局

AbsoluteLayout又可以叫做坐标布局,可以直接指定子元素的绝对位置(xy

由于手机屏幕尺寸差别较大

使用绝对定位的适应性较差,在屏幕的适配上有较大缺陷

AbsoluteLayout子控件的属性

android:layout_x = “35dp”----控制当前子类控件的x位置

android:layout_y = “40dp”----控制当前子类控件的y位置

表格布局

TableLayout表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象,当然也可以是一个View对象。

TableLayout的属性(全局属性)

android:collapseColumns=”1,2”

隐藏从0开始的索引列。列之间必须用逗号隔开:1,2,5

android:shrinkColumns=”1,2”

收缩从0开始的索引列。当可收缩的列太宽(内容过多)不会被挤出屏幕,列之间必须用逗号隔开,也可以通过“*”代替收缩所有列。注意一列能同时表示收缩和拉伸。

android:stretchColumns=”1,2”

拉伸从0开始的索引列,以填满剩下的多余空白空间,列之间必须用逗号隔开,也可以使用“*”代替拉伸所有列,注意一列能同时表示收缩和拉伸。

TableLayout的局部属性(内部控件所用属性)

android:layout_column=”1”----该控件显示在第二列

android:layout_span=”2”----该控件占据2列。

 

五种布局方式