1.线性布局LinearLayout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/firstText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" //控件所占的比例, android:background="#aa0000" android:gravity="center_vertical" android:paddingBottom="40dip" android:paddingLeft="10dip" android:paddingRight="30dip" android:paddingTop="20dip" android:singleLine="false" //为true则不换行显示 android:text="第一行第一行第一行第一行第一行第一行第一行第一行第一行第一行第一行第一行" android:textSize="35pt" > </TextView> <TextView android:id="@+id/secondText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="#0000aa" android:gravity="center_vertical" android:text="第二行" android:textSize="15pt" > </TextView> </LinearLayout>
2.表格布局TableLayout
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/container" android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchColumns="0" //宽度不够的时候,第0列变宽 > <TableRow> <TextView android:padding="3dip" android:background="#aa0000" android:text="@string/row1_column1" > </TextView> <TextView android:padding="3dip" android:background="#00aa00" android:text="@string/row1_column1" android:gravity="center_horizontal"> </TextView> <TextView android:gravity="right" android:padding="3dip" android:background="#0000aa" android:text="@string/row1_column2" /> </TableRow> <TableRow> <TextView android:padding="3dip" android:text="@string/row2_column1" /> <TextView android:gravity="right" android:padding="3dip" android:text="@string/row2_column2" /> </TableRow> </TableLayout>
3.嵌套布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#123" android:orientation="vertical" tools:context="com.example.mars_0700_layout03.MainActivity" tools:ignore="MergeRootFrame" > <LinearLayout android:id="@+id/container1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:background="#456" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:background="#110987" android:text="123" /> <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:background="#228932" android:text="456" /> <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:background="#331849" android:text="789" /> <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:background="#449843" android:text="abc" /> </LinearLayout> <LinearLayout android:id="@+id/container2" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:background="#789" android:orientation="vertical" > <TableLayout android:id="@+id/container3" android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchColumns="0" > <TableRow> <TextView android:background="#198374" android:padding="3dip" android:text="123" > </TextView> <TextView android:background="#098754" android:padding="3dip" android:text="123" > </TextView> </TableRow> <TableRow> <TextView android:background="#128495" android:padding="3dip" android:text="123" > </TextView> <TextView android:background="#098758" android:padding="3dip" android:text="123" > </TextView> </TableRow> <TableRow> <TextView android:background="#875694" android:padding="3dip" android:text="123" > </TextView> <TextView android:background="#090000" android:padding="3dip" android:text="123" > </TextView> </TableRow> </TableLayout> </LinearLayout> </LinearLayout>
4.相对布局RelativeLayout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="10px" tools:context="com.example.mars_0800_layout04.MainActivity" tools:ignore="MergeRootFrame" > <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:layout_below="@id/label" android:background="@android:drawable/editbox_background" /> <Button android:id="@+id/ok" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_below="@id/entry" android:layout_marginLeft="10px" android:text="OK" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@id/ok" android:layout_toLeftOf="@id/ok" android:text="Cancel" /> </RelativeLayout>
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 如果值为真,该控件将被置于垂直方向的中央