计应112 赵秀敏
一个Android视图有很多控件,我们需要容器来存放这些控件并控制它们的位置排列。Android布局主要有以下几种:Linear Layout(线性布局),Relative Layout(相对布局),Absolute Layout(绝对布局),Table Layout(表格布局).它们都属于ViewGroup类。
1. Linear Layout
(1) ViewGroup以线性方向显示它的子视图元素,即后一个元素垂直或水平显示在上一个元素之后。显示方式的属性:
android:orientation="horizontal"(水平显示,默认方式)
android:orientation="vertical" (垂直方式)
(2) Fill Mode填充方式,在Linear Layout的控件都必须指定它的填充方式,即设置android:layout_width和android:layout_height,可以为三种值:具体的像素,如20px;控件文本实际长度显示(wrap_content);填充剩下的所有可用空间(fill_parent).
(3)Weight权重,如果你想让一行或一列的控件按比例显示,这时候权重就起到作用了,如想让一行里面两控件其中一控件占两倍于另一控件的空间,可以把其中一控件的android:layout_weight设置为1, 另一个为2 即可。(注:如果使用Weight权重,一定要将layout_height或layout_width设置为“0px”)
可以运行效果为:
2. Relative Layout
相对布局是依靠与父容器,同一容器中其它控件的相对位置来排列显示的。
主要属性有:
(1) 相对父容器的属性:
①. android:layout_alignParenTop:控件的顶部与父容器的顶部对齐;
②. android:layout_alignParenButtom:控件的顶部与父容器的底部对齐;
③. android:layout_alignParenLeft:控件的顶部与父容器的左部对齐;
④. android:layout_alignParenRight:控件的顶部与父容器的右部对齐;
(2) 相对同一容器中其它控件的属性:
①. android:layout_above:表示此控件在另一控件的上面;
②. android:layout_below: 表示此控件在另一控件的下面;
③. android:layout_toLeftOf: 表示此控件在另一控件的左面;
④. android:layout_toRightOf: 表示此控件在另一控件的右面;
⑤.android:layout_alignTop: 表示此控件与另一控件顶部对齐
⑥.android:layout_alignButtom: 表示此控件与另一控件底部对齐
⑦.android:layout_alignLeft: 表示此控件与另一控件左部对齐
⑧.android:layout_alignRight: 表示此控件与另一控件右部对齐
可以运行效果为:
3. Absolute Layout
ViewGroup以绝对方式显示它的子视图元素,即以坐标的方式来指定位子视图在屏幕上位置。
设置元素位置的属性:
android:layout_x="###px"
android:layout_y="###px"
4. Table Layout
ViewGroup以表格显示它的子视图元素,即行和列标识一个视图的位置。
常见属性有:
① android:layout_column:控件在TableRow中所处的列;
② android:layout_span:该控件所跨越的列数;
③ android:collapseColumns:将里面指定的列隐藏,若有多列需要隐藏,用逗号将列序号隔开;
④ android:stretchColumns: 设置指定的列为可伸展的列,该列会尽量伸展以填满所有可用空间,若有多列需要设置为可伸展,需要用逗号隔开。