6

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

表格布局的屏幕截图

这是我的布局 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>
4

2 回答 2

2

尝试

android:stretchColumns="0,1,2"

这将解决之后的问题

于 2012-12-16T12:37:34.377 回答
1

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

于 2012-09-17T08:36:03.913 回答