How to set android table layout Column padding in xml

android, android-tablelayout

Solution

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.

Problem

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.

Original source