.Net码农学Android---五分钟了解布局
而在所有的xml界面文件中,根节点必须是布局,即先有布局,然后在布局中组织控件或嵌套布局,android中的布局有5种,熟悉各种布局的使用对我们以后开发中更好的组织界面大有益处,以下简单介绍。
tablelayout
表格布局,就是类似我们在网页中以表格来组织控件的布局。以n行n列的形式排列出相应的控件。
复制代码
1 <tablelayout
2 android:layout_width="wrap_content"
3 android:layout_height="wrap_content"
4 android:layout_alignleft="@+id/textview1"
5 android:layout_centerhorizontal="true"
6 android:layout_centervertical="true" >
7
8 <tablerow
9 android:id="@+id/tablerow1"
10 android:layout_width="wrap_content"
11 android:layout_height="wrap_content" >
12
13 <button
14 android:layout_width="wrap_content"
15 android:layout_height="wrap_content"
16 android:text="1行1列" />
17
18 <button
19 android:layout_width="wrap_content"
20 android:layout_height="wrap_content"
21 android:text="1行2列" />
22 </tablerow>
23
24 <tablerow
25 android:id="@+id/tablerow2"
26 android:layout_width="wrap_content"
27 android:layout_height="wrap_content" >
28
29 <button
30 android:layout_width="wrap_content"
31 android:layout_height="wrap_content"
32 android:text="2行1列" />
33
34 <button
35 android:layout_width="wrap_content"
36 android:layout_height="wrap_content"
37 android:text="2行2列" />
38 </tablerow>
39
40 <tablerow
41 android:id="@+id/tablerow3"
42 android:layout_width="wrap_content"
43 android:layout_height="wrap_content" >
44
45 <button
46 android:layout_width="wrap_content"
47 android:layout_height="wrap_content"
48 android:text="3行1列" />
49
50 <button
51 android:layout_width="wrap_content"
52 android:layout_height="wrap_content"
53 android:text="3行2列" />
54 </tablerow>
55 </tablelayout>
复制代码
linelayout
线性布局,比较简单,就是以水平或垂直的方式一行一个或一列一个的形式摆放控件。
复制代码
1 <linearlayout
2 android:layout_width="fill_parent"
3 android:layout_height="fill_parent"
4 android:orientation="vertical" >//水平或垂直
5
6 <button
7 android:layout_width="fill_parent"
8 android:layout_height="wrap_content"
9 android:text="1行" />
10
11 <button
12 android:layout_width="fill_parent"
13 android:layout_height="wrap_content"
14 android:text="2行" />
15
16 <button
17 android:layout_width="fill_parent"
18 android:layout_height="wrap_content"
19 android:text="3行" />
20 </linearlayout>
复制代码
relativelayout
相对布局,最为灵活得分一种布局,用于组织一些复杂界面,在此布局中的子元素里与位置相关的属性将生效。例如android:layout_below, android:layout_above, android:layout_centervertical等。注意在指定位置关系时,引用的id必须在引用之前,先被定义,否则将出现异常。
复制代码
1 <relativelayout
2 android:layout_width="fill_parent"
3 android:layout_height="fill_parent"
4 android:orientation="vertical" >
5
6 <button
7 android:id="@+id/text_01"
8 android:layout_width="50dp"
9 android:layout_height="50dp"
10 android:layout_alignparentbottom="true"
11 android:gravity="center"
12 android:text="1" />
13
14 <button
15 android:id="@+id/text_02"
16 android:layout_width="50dp"
17 android:layout_height="50dp"
18 android:layout_above="@id/text_01"//相对布局中的特有属性,xx之上/之下/之左/之右等
19 android:layout_centerhorizontal="true"
20 android:gravity="center"
21 android:text="2" />
22
23 <button
24 android:id="@+id/text_03"
25 android:layout_width="50dp"
26 android:layout_height="50dp"
27 android:layout_above="@id/text_01"
28 android:layout_toleftof="@id/text_02"//相对布局中的特有属性,在xx的左边
29 android:gravity="center"
30 android:text="3" />
31 </relativelayout>
复制代码
absolutelayout
绝对布局,在此布局中的子元素的android:layout_x和android:layout_y属性将生效,用于描述该子元素的坐标位置,一经设置变不能改变位置,适用一些不经常变化的控件或界面。
复制代码
1 <absolutelayout
2 android:layout_width="fill_parent"
3 android:layout_height="fill_parent"
4 android:orientation="vertical" >
5
6 <button
7 android:layout_width="50dp"
8 android:layout_height="50dp"
9 android:layout_x="50dp"
10 android:layout_y="50dp"
11 android:background="#999999"
12 android:gravity="center"
13 android:text="1" />
14
15 <button
16 android:layout_width="50dp"
17 android:layout_height="50dp"
18 android:layout_x="90dp"
19 android:layout_y="90dp"
20 android:background="#ff654321"
21 android:gravity="center"
22 android:text="2" />
23
24 <button
25 android:layout_width="50dp"
26 android:layout_height="50dp"
27 android:layout_x="125dp"
28 android:layout_y="125dp"
29 android:background="#fffedcba"
30 android:gravity="center"
31 android:text="3" />
32 </absolutelayout>
复制代码
framelayout
帧布局,网上说的有些别扭,我自己理解就类似css中的z-index,可以实现遮罩,即有层的效果。注意:所有的帧默认都是从屏幕左上角开始绘制,然后按照控件的声明顺序,依次叠加,层级逐渐升高。
复制代码
1 <framelayout
2 android:layout_width="fill_parent"
3 android:layout_height="fill_parent"
4 android:orientation="vertical" >
5
6 <textview
7 android:layout_width="fill_parent"
8 android:layout_height="fill_parent"
9 android:background="#999999"
10 android:gravity="center"
11 android:text="1" />
12
13 <textview
14 android:layout_width="200dp"
15 android:layout_height="100dp"
16 android:background="#ff654321"
17 android:gravity="center"
18 android:text="2" />
19
20 <textview
21 android:layout_width="50dp"
22 android:layout_height="50dp"
23 android:background="#fffedcba"
24 android:gravity="center"
25 android:text="3" />
26 </framelayout>
上一篇: MongoDB 中的【加减乘除】运算
下一篇: chmod命令