TableLayout 是以行列形式管理子控件,每一行就是一个TableRow控件,当然也可以是一个View的对象,每个TableRow可以添加子控件,每一个子控件就是一列。
android:column, 用来设置该控件在TableRow所在的列,默认是从0开始。
android:layout_span,用来设置该控件所跨越的列
android:collapseColumns, 用来指定隐藏的列,如果是多列,用逗号分开,比如1,2,5
android:stretchColumns, 用来设置指定可以延伸的列,可伸展列会尽量伸展,填充所有可用的空间,多列指定用逗号分开。
android:shrinkColumns, 用来设置指定可以收缩的列,如果这个列太宽影响到其他列,会自动纵向延伸,多列指定用逗号分开。
RelativeLayout 是根据所设置的参照控件来布局。
参照控件可以是父控件,也可以是其他子控件,但是被参照的控件必须在参照控件之前定义,看例子。
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/relativeLayout_phoneenquery" xmlns:android="http://schemas.android.com/apk/res/android"> <ImageView android:src="@drawable/icon" android:layout_height="wrap_content" android:id="@+id/icon" android:layout_alignParentRight="true" android:layout_centerHorizontal="true" android:layout_width="match_parent"></ImageView> <TextView android:id="@+id/textView1" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_below="@+id/icon" android:layout_alignLeft="@+id/icon" android:text="@string/enqueryCenter"></TextView> </RelativeLayout>
注意,android:layout_below就是用来设置TextView是在这个id控件之下的。
AbsoluteLayout这个控件和上面的类似,但是这个是通过纵横坐标来布局,需要应用手机屏幕的大小,所以这种应用可延伸性差,应用不多。
FrameLayout 是最简单的布局方式,所有添加到这里的视图都是层叠的,第一个添加的在最底层,最后一个在最上层。