android基礎之TableLayout佈局

表格佈局如同一個一個表格,有多個TableRow組成。每個TableRow是一行:

在TableLayout中還有幾個屬性:

shrinkColumns屬性:

以0爲序,當TableRow裏面的控件佈滿佈局時,指定列自動延伸以填充可用部分。當TableRow裏面的控件木有佈滿佈局時,shrinkColumns不起作用

stretchColumns屬性:

以第0行爲序,指定列對空白部分進行填充

如下示例代碼:

<?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:stretchColumns="1"

    >

<TableRow>

    <Button android:text="@string/button1"  />

    <Button android:text="@string/button2"/>

    </TableRow>

   <TableRow>

        <Button android:text="@string/button5"/>

        <Button android:text="@string/button6"/>

    </TableRow>

   <TableRow>

        <Button android:text="@string/button9"/>

        <Button android:text="@string/button10"/>

        </TableRow>

        

</TableLayout>

這個是設置了stretchColumns的截圖:

wKioL1OmO1yw7hEzAAEmT9Shwkc389.jpg

下面的代碼是木有設置shrinkColumns的

<?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"

    >

<TableRow>

    <Button android:text="@string/button1"  />

    <Button android:text="@string/button2"/>

       <Button android:text="@string/button3"/>

       <Button android:text="@string/button4"/>

    

    </TableRow>

   <TableRow>

        <Button android:text="@string/button5"/>

        <Button android:text="@string/button6"/>

           <Button android:text="@string/button7"/>

       <Button android:text="@string/button8"/>

    

    </TableRow>

   <TableRow>

        <Button android:text="@string/button9"/>

        <Button android:text="@string/button10"/>

           <Button android:text="@string/button11"/>

       <Button android:text="@string/button12"/>

    

        </TableRow>

        

</TableLayout>

運行結果如下圖所示:

wKioL1OmPAjjur2BAAFfAeSC9D4532.jpg

設置了shrinkColumns屬性之後:

運行結果如下:

wKioL1OmPEPxp4-mAAEftCzsCn8168.jpg

collapseColumns屬性:

以第0行爲序,影藏指定的列

代碼如下:

<?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:collapseColumns="2"

    >

<TableRow>

    <Button android:text="@string/button1"  />

    <Button android:text="@string/button2"/>

       <Button android:text="@string/button3"/>

    </TableRow>

   <TableRow>

        <Button android:text="@string/button5"/>

        <Button android:text="@string/button6"/>

           <Button android:text="@string/button7"/> 

    </TableRow>

   <TableRow>

        <Button android:text="@string/button9"/>

        <Button android:text="@string/button10"/>

           <Button android:text="@string/button11"/>

        </TableRow>

</TableLayout>

運行如下:影藏了第三列

wKiom1OmPy6TPKxaAAEJl-hBbz0459.jpg

layout_column屬性:以第0行爲序,設置組件顯示在指定列

layout_span屬性:以第0行爲序,設置組件顯示佔用的列數

代碼如下:

<?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"

    >

<TableRow>

    <Button android:text="@string/button1" android:layout_span="3" />

    <Button android:text="@string/button2"/>  

    </TableRow>

  <TableRow>

        <Button android:text="@string/button5" android:layout_column="2"/>

        <Button android:text="@string/button6" android:layout_column="0"/>

    </TableRow>

   <TableRow>

        <Button android:text="@string/button9"/>

        <Button android:text="@string/button10"/>

        </TableRow>

        

</TableLayout>

運行如下:

wKioL1OmQWagaGTqAAEdt5SExW4228.jpg




button5組件被設置顯示在了第3列的話。另一個組件button6並木有按照設置顯示在第一列,原因在於表格的佈局中。TableRow一行裏的組件都會自動放在前一組件的右側,一次排列,所以只要TableRow行中的第一個組件確定了所在列,其後者就無法再次進行位置設定了。。。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章