Android之Layout布局

      计应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: 设置指定的列为可伸展的列,该列会尽量伸展以填满所有可用空间,若有多列需要设置为可伸展,需要用逗号隔开。

posted @ 2013-05-19 17:01  林夕在心  阅读(489)  评论(0编辑  收藏  举报