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)