首页 > 代码库 > Android 之布局(二)

Android 之布局(二)

3、TableLayout(表格布局)

像表格一样布局,通常情况下,TableLayout有多个TableRow组成,每个TableRow就是一行。

<?xml version="1.0" encoding="utf-8"?><TableLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:shrinkColumns="2">    <TableRow>        <Button android:text="Button1"/>        <Button android:text="Button2"/>        <Button android:text="Button3"/>    </TableRow>    <TableRow>        <Button android:text="Button4"/>        <Button android:text="Button5"/>        <Button android:text="Button6"/>    </TableRow>    <TableRow>        <Button android:text="Button7"/>        <Button android:text="Button8"/>        <Button android:text="Button9"/>    </TableRow></TableLayout>

 

总结:常用属性:

[1]shrinkColumns属性:以0行为序,当TableRow里面的控件布满布局时,指定列自动延伸以填充可用部分;当TableRow里面的控件还没有布满布局时,shrinkColumns不起作用。(android:shrinkColumns="2",第3列布满时填充

[2]strechColumns属性:以第0行为序,指定列对空白部分进行填充。(android:strechColumns="2",第3列填充)

[3]collapseColumns属性:以0行为序,隐藏指定的列.。(android:strechColumns="2",隐藏第3列)

[4]layout_column属性:以0行为序,设置组件显示指定列。(android:layout_column="2",显示在第三列

[5]layout_span属性:以第0行为序,设置组件显示占用的列数。(android:layout_span="3",占用3列

4、AbsoluteLayout(绝对布局)

        组件的位置可以准确的指定其在屏幕的x/y坐标位置。虽然可以精确的去规定坐标,但是由于代码的书写过于刚硬,使得在不同的设备,不同分辨率的手机移动设备上不能很好的显示应有的效果,所以此布局不怎么被推荐使用。

<?xml version="1.0" encoding="utf-8"?><AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    >    <Button         android:layout_width="wrap_content"        android:layout_height="fill_parent"        android:text="Button1"        android:layout_x="100dp"        />    <Button         android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="Button2"        android:layout_y="100dp"        />    </AbsoluteLayout>

5、FrameLayout(单帧布局)

      据说是五种布局中最简单的一种,因为单帧布局在新定义组件的时候都会将组件放置屏幕的左上角,即使在此布局中定义多个组件,后一个组件总会将前一个组件所覆盖,除非最后一个组件是透明的。

<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    >    <Button         android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="Button1"        />    <Button         android:layout_width="wrap_content"        android:layout_height="fill_parent"        android:text="Button2"        />    <Button         android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Button3"        />    </FrameLayout>

 

Android 之布局(二)