2014-05-03 62 views
2

我如何添加視圖TableRow從右到左?默認模式是從左到右。我在TableLayoutTableRow內嘗試了android:gravity="right"android:layout_gravity="right",但沒有奏效。 例如:如何使的TableRow從右到左

<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> 

結果的左側和textView1在正確的Button1的,但我需要反之亦然。

+0

請發表您的XML代碼,我可以提供幫助。 – furkick

+0

我在做動態 –

+0

你的意思是在Java中務實? – furkick

回答

1
ViewCompat.setLayoutDirection(tableRow,ViewCompat.LAYOUT_DIRECTION_RTL); 
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

你完全誤解了我的問題。 「第一」是在哪裏?右或左? :)默認是LTR,我需要RTL老兄。我告訴過你,我正在動態地做這件事,這個XML只是一個例子 –

+0

如果你檢查我提供的XML,那麼button1出現在右邊,文本現在在左邊,正如你所說的你想要的? – furkick

+0

:|我不想改變添加視圖老兄的順序!考慮我有一個從索引0到n的視圖數組,我想將視圖[0]添加到TableRow的右側而不是視圖[n] –