如何在android中设置表列

时间:2012-01-18 06:45:56

标签: android android-layout android-tablelayout

我在设置表行(包含文本视图)的布局参数时遇到一些困难。

我想添加一些列以获得良好的布局。我是动态地做的。 (在代码中)

<TableRow> 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ok"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="bye"/>
</TableRow>

我希望这两个文本视图在屏幕上相应地成为两列和布局。

1 个答案:

答案 0 :(得分:17)

你已经写过的东西实际上应该已经创建了两列,事实是它们可能没有像你期望的那样位于屏幕上 - 列将尽可能地缩小。 Android布局中的TableLayout标记有几个属性。其中一个是拉伸柱 - 如果给定所描述的列将被拉伸,以便填充所有指定的宽度。如果你需要全部拉伸均匀使用星号,如果你想要拉伸任何特定列覆盖剩余空间使用其基于1的索引(你可以指定一组索引)。见这里:

<TableLayout
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:stretchColumns="0,1" >
   <TableRow android:layout_width="fill_parent"> 
     <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="ok"    
      />
    <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="bye" />
   </TableRow>
</TableLayout>

顺便说一句,如果你只需要一行,你可以对LinearLayout和orientation =“horizo​​ntal”做同样的事情。如果你有几行,请记住你实际上正在处理表 - 列的所有行都将正好位于另一行之上,最宽的行将决定列的宽度。