Android tablelayout行填充

时间:2012-09-16 23:19:20

标签: android android-tablelayout

我想在行的右侧创建一个带有按钮的表,如下所示。我想在每行的右侧设置填充,但这会“吃掉”最右边的按钮。有没有办法在不影响按钮显示的情况下进行填充?

Screen shot of the table layout

这是我的布局xml代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp" >

<TableLayout 
    android:id="@+id/tbl_test"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#000000"
    android:orientation="vertical"
    android:layout_marginTop="1dp"
    android:layout_marginBottom="1dp"
    android:stretchColumns="1"
    >

     <TableRow android:background="#ffffff" android:layout_margin="1dp">

        <TextView android:text="Col 1" android:layout_column="0" />
        <TextView android:text="Col 2" android:layout_column="1" />
        <TextView android:text="Col 3" android:layout_column="2" />
        <TextView android:text="Col 4" android:layout_column="3" />

    </TableRow>

     <TableRow
         android:background="#ffffff"
         android:layout_marginLeft="1dp"
         android:layout_marginRight="1dp"
         android:layout_marginBottom="1dp">

         <TextView android:text="r1" android:layout_column="0" />
         <TextView android:text="padding right 0dp" android:layout_column="1" />
         <Button android:text="edit" />
        <Button android:text="delete" />

    </TableRow>

     <TableRow
         android:background="#ffffff"
         android:layout_marginLeft="1dp"
         android:layout_marginRight="1dp"
         android:layout_marginBottom="1dp"
         android:paddingRight="2dp">

        <TextView android:text="r2" android:layout_column="0" />
        <TextView android:text="padding right 1dp" android:layout_column="1" />
        <Button android:text="edit" />
        <Button android:text="delete" />

    </TableRow>

     <TableRow
         android:background="#ffffff"
         android:layout_marginLeft="1dp"
         android:layout_marginRight="1dp"
         android:layout_marginBottom="1dp"
         android:paddingRight="3dp">

        <TextView android:text="r3" android:layout_column="0" />
        <TextView android:text="padding right 2dp" android:layout_column="1" />
        <Button android:text="edit" />
        <Button android:text="delete" />

    </TableRow>

     <TableRow
         android:background="#ffffff"
         android:layout_marginLeft="1dp"
         android:layout_marginRight="1dp"
         android:layout_marginBottom="1dp"
         android:paddingRight="4dp">

        <TextView android:text="r4" android:layout_column="0" />
        <TextView android:text="padding right 3dp" android:layout_column="1" />
        <Button android:text="edit" />
        <Button android:text="delete" />

    </TableRow>

</TableLayout>

</RelativeLayout>

2 个答案:

答案 0 :(得分:2)

尝试

android:stretchColumns="0,1,2"

这将解决

之后的问题

答案 1 :(得分:1)

我不知道为什么会出现裁剪问题但是修复它并获得相同外观的一种简单方法是从paddingRight中删除TableRows属性并添加属性{ {1}}(设置为填充值)在行的最后一项,即删除layout_marginRight