1、线性布局 LinearLayout
      线性布局是所有布局中最常用的类之一,也是RadioGroup, TabWidget, TableLayout, TableRow, ZoomControls类的父类。LinearLayout可以让它的子元素垂直或水平的方式排成一行(不设置方向的时候默认按照垂直方向排列)。
举个例子:
java代码:
?
code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?xml version="1.0" encoding="utf-8"?>
 
android radiogroup
<LinearLayout xmlns:android="schemas.android/apk/res/android"
 
android:orientation="vertical"
 
android:layout_width="fill_parent"
 
android:layout_height="wrap_content"
 
>
 
<!--
 
android:id —— 为控件指定相应的ID
 
android:text —— 指定控件当中显示的文字,需要注意的是,这里尽量使用l文件当中的字符串
 
android:grivity —— 指定控件的基本位置,比如说居中,居右等位置
 
android:textSize —— 指定控件当中字体的大小
 
android:background —— 指定该控件所使用的背景,RGB命名法
 
android:width —— 指定控件的宽度
 
android:height —— 指定控件的高度
 
android:padding* —— 指定控件的内边距,也就是说控件当中的内容
 
android:layout_weight —— 控件之间的权重比
 
android:sigleLine —— 如果设置为真的话,则将控件的内容在同一行当中进行显示
 
-->
 
<TextView
 
android:id="@+id/firstText"
 
android:text="第一行一行一行一行一行一行一行一行一行一行"
 
android:gravity="center_vertical"
 
android:textSize="35pt"
 
android:background="#aa0000"
 
android:layout_width="fill_parent"
 
android:layout_height="wrap_content"
 
android:paddingLeft="10dip"
 
android:paddingTop="20dip"
 
android:paddingRight="30dip"
 
android:paddingBottom="40dip"
 
android:layout_weight="1"
 
android:singleLine="true"/>
 
<TextView
 
android:id="@+id/secondText"
 
android:text="第二行"
 
android:gravity="center_vertical"
 
android:textSize="15pt"
 
android:background="#0000aa"
 
android:layout_width="fill_parent"
 
android:layout_height="wrap_content"
 
android:layout_weight="1"/>
 
</LinearLayout>
2、相对布局 RelativeLayout
      相对布局 RelativeLayout 允许子元素指定它们相对于其父元素或兄弟元素的位置,这是实际布局中最常用的布局方式之一。它灵活性大很多,当然属性也多,操作难度也大,属性之间产生冲突的的可能性也大,使用相对布局时要多做些测试。
举个例子:
java代码:
?
code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?xml version="1.0" encoding="utf-8"?>
 
<!--
 
android:layout_above 将该控件的底部至于给定ID的控件之上
 
android:layout_below 将该控件的顶部至于给定ID的控件之下
 
android:layout_toLeftOf 将该控件的右边缘和给定ID的控件的左边缘对齐
 
android:layout_toRightOf 将该控件的左边缘和给定ID的控件的右边缘对齐
 
 
 
android:layout_alignBaseline 该控件的baseline和给定ID的控件的baseline对齐
 
android:layout_alignBottom 将该控件的底部边缘与给定ID控件的底部边缘
 
android:layout_alignLeft 将该控件的左边缘与给定ID控件的左边缘对齐
 
android:layout_alignRight 将该控件的右边缘与给定ID控件的右边缘对齐
 
android:layout_alignTop 将给定控件的顶部边缘与给定ID控件的顶部对齐
 
 
 
 
 
android:alignParentBottom 如果该值为true,则将该控件的底部和父控件的底部对齐
 
android:layout_alignParentLeft 如果该值为true,则将该控件的左边与父控件的左边对齐
 
android:layout_alignParentRight 如果该值为true,则将该控件的右边与父控件的右边对齐
 
android:layout_alignParentTop 如果该值为true,则将空间的顶部与父控件的顶部对齐
 
 
 
android:layout_centerHorizontal 如果值为真,该控件将被至于水平方向的中央
 
android:layout_centerInParent 如果值为真,该控件将被至于父控件水平方向和垂直方向的中央
 
android:layout_centerVertical 如果值为真,该控件将被至于垂直方向的中央
 
-->
 
<RelativeLayout xmlns:android="schemas.android/apk/res/android"
 
android:layout_width="fill_parent"
 
android:layout_height="fill_parent">
 
<TextView
 
android:id="@+id/label"
 
android:layout_width="fill_parent"
 
android:layout_height="wrap_content"
 
android:text="Type here:" />
 
<EditText
 
android:id="@+id/entry"
 
android:layout_width="fill_parent"
 
android:layout_height="wrap_content"
 
android:background="@android:drawable/editbox_background"
 
android:layout_below="@id/label" />
 
<Button android:id="@+id/ok"
 
android:layout_width="wrap_content"
 
android:layout_height="wrap_content"
 
android:layout_below="@id/entry"
 
android:layout_alignParentRight="true"
 
android:layout_marginLeft="10dip"
 
android:text="OK" />
 
<Button android:layout_width="wrap_content"
 
android:layout_height="wrap_content"
 
android:layout_toLeftOf="@id/ok"
 
android:layout_alignTop="@id/ok"
 
android:text="Cancel" />
 
</RelativeLayout>
3、表单布局 TableLayout
      TableRow配合使用,和HTML里的Table相似。
举个例子:
java代码:
?
code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<?xml version="1.0" encoding="utf-8" ?>
 
 
 
<TableLayout xmlns:android="schemas.android/apk/res/android" android:layout_width="fill_parent"android:layout_height="fill_parent" android:stretchColumns="1">
 
<TableRow>
 
 
 
<TextView
 
android:layout_column="1"
 
android:text="打开..."
 
android:padding="3dip" />
 
 
 
<TextView
 
android:text="Ctrl-O"
 
android:gravity="right"
 
android:padding="3dip" />
 
</TableRow>
 
<TableRow>
 
 
 
 
 
<TextView
 
android:layout_column="1"
 
android:text="保存..."
 
android:padding="3dip" />
 
 
 
<TextView
 
android:text="Ctrl-S"
 
android:gravity="right"
 
android:padding="3dip" />
 
</TableRow>
 
 
 
<TableRow>
 
<TextView
 
android:layout_column="1"
 
android:text="另存为..."
 
android:padding="3dip" />
 
 
 
<TextView
 
android:text="Ctrl-Shift-S"
 
android:gravity="right"
 
android:padding="3dip" />
 
</TableRow>
 
 
 
<View
 
android:layout_height="2dip"
 
android:background="#FF909090" />
 
<TableRow>
 
<TextView android:text="*" android:padding="3dip" />
 
<TextView android:text="导入..." android:padding="3dip" />
 
</TableRow>
 
<TableRow>
 
<TextView android:text="*" android:padding="3dip" />
 
<TextView android:text="导出..." android:padding="3dip" />
 
<TextView android:text="Ctrl-E" android:gravity="right" android:padding="3dip" />
 
</TableRow>
 
 
 
<View android:layout_height="2dip" android:background="#FF909090" />
 
<TableRow>
 
<TextView android:layout_column="1" android:text="退出" android:padding="3dip" />
 
 
 
</TableRow>
 
 
 
</TableLayout>
4、切换卡 Tabwidget
      继承TabActivity,实现标签的切换功能。
举个例子:
java代码:
?
code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?xml version="1.0" encoding="utf-8"?>
 
<TabHost xmlns:android="schemas.android/apk/res/android"
 
android:id="@android:id/tabhost"
 
android:layout_width="fill_parent"
 
android:layout_height="fill_parent">
 
<LinearLayout
 
android:orientation="vertical"
 
android:layout_width="fill_parent"
 
android:layout_height="fill_parent">
 
<TabWidget
 
android:id="@android:id/tabs"
 
android:layout_width="fill_parent"
 
android:layout_height="wrap_content" />
 
<FrameLayout
 
android:id="@android:id/tabcontent"
 
android:layout_width="fill_parent"
 
android:layout_height="fill_parent">
 
<TextView
 
android:id="@+id/textview1"
 
android:layout_width="fill_parent"
 
android:layout_height="fill_parent"
 
android:text="this is a tab" />
 
<TextView
 
android:id="@+id/textview2"
 
android:layout_width="fill_parent"
 
android:layout_height="fill_parent"
 
android:text="this is another tab" />
 
<TextView
 
android:id="@+id/textview3"
 
android:layout_width="fill_parent"
 
android:layout_height="fill_parent"
 
android:text="this is a third tab" />
 
</FrameLayout>
 
</LinearLayout>
 
</TabHost>
其他布局:
       1、帧布局 FrameLayout
      是最简单的一个布局对象。在他里面的的所有显示对象爱你过都将固定在屏幕的左上角,不能指定位置,但允许有多个显示对象,只是后一个会直接覆盖在前一个之上显示,会把前面的组件部分或全部挡住。
举个例子:
java代码:
 
?
code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?xml version="1.0" encoding="utf-8"?>
 
<FrameLayout
 
xmlns:android="schemas.android/apk/res/android"
 
android:layout_width="fill_parent"
 
android:layout_height="fill_parent">
 
<TextView
 
android:text="big"
 
android:layout_width="wrap_content"
 
android:layout_height="wrap_content"
 
android:textSize="50pt"/>
 
<TextView
 
android:text="middle"
 
android:layout_width="wrap_content"
 
android:layout_height="wrap_content"
 
android:textSize="20pt"/>
 
<TextView
 
android:text="small"
 
android:layout_width="wrap_content"
 
android:layout_height="wrap_content"
 
android:textSize="10pt"/>
 
</FrameLayout>
2、绝对布局 AbsoluteLayout

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。