2.(布局)TableLayout

在某些UI设计中,也称为GridLayout。我们根据行和列的排列来对widget进行布局。整个逻辑和我们在HTML中写table的方式相似,定义表格然后以行为单位,然后在定制单元表格,即每一个widget,如果widget需占用多个单元采用Android:layout_span="num"的方式。
第一个表格单元为(0,0)。widget是按顺序放入表格的,如果我们希望中间跳过几个表格单元,可以指定widget具体在哪一列,例如android:layout_column="2",即放在第3列,那么下一个widget将是第4列或者下一行。需要注意的是,和Table一样,这些表格的大小并不一定是一样的,将根据widget的natrual大小。

<?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的值为一个column的列号,注意列号是从0还是,如果有多个列号,用逗号作为分割。这些列将尽可能填满剩余的空间,这对于小于有效空间的情况非常有用。如果不设置,则采用widget的natrual的大小,将不会填满横排剩余的空间。在程序中可以是setColumnStretchable()—>
  android:stretchColumns="1" >
    <TableRow> 
        <TextView android:text="URL:" /> 
<!--如果我们不设置 android:stretchColumns="1",EditText这里是没有内容,因此它的natrual的width为0,即看不到。当我们设置row 1的两个button填入 column2和3,那么column 2和3将为适配为button的大小,而column1为1,这会导致如图所示的画面 -->
        <EditText android:id="@+id/entry" 
          android:layout_span="3" /> 
    </TableRow> 
    <TableRow> 
         <Button android:id="@+id/cancel" 
                 android:layout_column="2" 
                 android:text="Cancel" /> 
         <Button android:id="@+id/ok" 
                 android:text="Ok" /> 
    </TableRow> 
</TableLayout>



你可能感兴趣的:(2.(布局)TableLayout)