如何使TableRow从右到左

时间:2014-05-03 10:33:16

标签: android right-to-left android-tablelayout tablerow

如何从右到左向TableRow添加视图?默认模式是从左到右。我在android:gravity="right"android:layout_gravity="right"内尝试了TableLayoutTableRow,但没有效果。 例如:

<TableLayout
    android:id="@+id/tableLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:layoutDirection="rtl"
    android:stretchColumns="*" >

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:gravity="right"
        android:layoutDirection="rtl">

        <Button
            android:id="@+id/button1"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Medium Text" />
    </TableRow>
</TableLayout>

结果是左边的button1和右边的textView1,但反之亦然。

2 个答案:

答案 0 :(得分:2)

你的回答很简单。与任何表格一样,您选择的第一个条目将首先出现,在您的案例button1中,您需要将其设置为TextView,以便将其放置在button1之前。

<TableLayout
    android:id="@+id/tableLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:layoutDirection="rtl"
    android:stretchColumns="*" >

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:gravity="right"
        android:layoutDirection="rtl">

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Medium Text" />

        <Button
            android:id="@+id/button1"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />


    </TableRow>
</TableLayout>

答案 1 :(得分:1)

ViewCompat.setLayoutDirection(tableRow,ViewCompat.LAYOUT_DIRECTION_RTL);