How to set android table layout Column padding in xml

17,560

Solution 1

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.

Solution 2

Try to use a TableLayout in your xml layout and then for each TableRow of your Table Layout you can specify the left or right margin using android:layout_marginRight and android:layout_marginLeft. Your TableLayout will be, of course, Hosted in a linearLayout

Share:
17,560
Mahendran
Author by

Mahendran

Android - Xamarin Forms developer

Updated on June 21, 2022

Comments

  • Mahendran
    Mahendran almost 2 years

    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.