属性列表
>
多个
TableLayout继承了LinearLayout,因此它完全支持LinearLayout所支持的全部XML属性,此外,TableLayout还支持如表3.1所示的XML属性。
表3.1 TableLayout支持的XML属性
XML属性 描 述
android:collapseColumns 设置需要被隐藏的列的列序号(序号从0开始),多个列序号之间用逗号“,”分隔
android:shrinkColumns 设置允许被收缩的列的列序号(序号从0开始),多个列序号之间用逗号“,”分隔
android:stretchColumns 设置允许被拉伸的列的列序号(序号从0开始),多个列序号之间用逗号“,”分隔
下面给出一个在程序中使用表格布局的实例。
例3.6 在Eclipse中创建Android项目,名称为3.6,应用表格布局实现用户登录界面。(实例位置:光盘\TM\sl\3\3.6)
修改新建项目的res\layout目录下的布局文件main.xml,将默认添加的布局代码删除,然后添加一个TableLayout表格布局管理器,并且在该布局管理器中添加3个TableRow表格行,再在每个表格行中添加用户登录界面相关的组件,最后设置表格的第1列和第4列允许被拉伸。修改后的代码如下:
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android/apk/res/android"
android:background="@drawable/background_a"
android:gravity="center_vertical"
android:stretchColumns="0,3"
>
android:layout_width="wrap_content"
android:layout_height="wrap_content">
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:textSize="24px"
android:layout_height="wrap_content"
/>
android:textSize="24px"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:minWidth="200px"/>
android:layout_width="wrap_content"
android:layout_height="wrap_content">
android:id="@+id/textView2"
android:textSize="24px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
android:layout_width="wrap_content"
android:textSize="24px"
android:id="@+id/editText2"
android:inputType="textPassword"/>
android:layout_width="wrap_content"
android:layout_height="wrap_content">
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
说明: 在本实例中,添加了6个TextView组件,并且设置对应列允许拉伸,这是为了让用户登录表单在水平方向上居中显示而设置的。
运行本实例,将显示如图3.10所示的运行结果。
图3.10 应用表格布局实现用户登录界面
3.2.3 帧布局
在帧布局管理器中,每加入一个组件,都将创建一个空白的区域,通常称为一帧,这些帧都会根据gravity属性执行自动对齐。默认情况下,帧布局从屏幕的左上角(0,0)坐标点开始布局,多个组件层叠排序,后面的组件覆盖前面的组件。
在Android中,可以在XML布局文件中定义帧布局管理器,也可以使用Java代码来创建。推荐使用前者。在XML布局文件中定义帧布局管理器可以使用
< FrameLayout xmlns:android="http://schemas.android/apk/res/android"
属性列表
>
FrameLayout支持的常用XML属性如表3.2所示。