How to set android table layout Column padding in xml

Mahendran picture Mahendran · Jul 11, 2012 · Viewed 17.1k times · Source

Wireframe of my layout

I managed to design the layout using TableLayout. android:layout_span helped me on that.

The problem is I need some gap between Column1 and Column2. In either way Padding / Margin

I am not prefering program for this task. there must be a simple way to done this.

Is that possible to set using xml?

Update: I tried to set column child's padding It's not align the columns evenly.

Answer

Tim Kist picture Tim Kist · Apr 17, 2013

Try adding android:layout_marginRight="8dp" the View in the column to the left of the place where you want the gap to be for each row in layout XML. It worked for me.

Better yet, you could put the padding dimension in the values/dimens.xml file and reference the margin from there.

For example:

values/dimens.xml

<resources>
    <dimen name="column_1_right_margin">8dp</dimen>
</resources>

layout/table.xml

<TableLayout
    ... layout params>
    <TableRow>
        <TextView
            ... layout params
            android:layout_marginRight="@dimen/column_1_right_margin" />
        <TextView
            ... layout params />
    </TableRow>
    <TableRow>
        <TextView
            ... layout params
            android:layout_marginRight="@dimen/column_1_right_margin" />
        <TextView
            ... layout params />
    </TableRow>
</TableLayout>

To clear it up even more and stop code duplication, you could make a style for column 1 then all you'd have to do is apply the style for each View in the first column. See here for more info.