2012-09-28 53 views
2

我使用TableLayout到當前位置的一些按鈕span元素,我想跨越按鈕2跨2行,所以這將是下一個按鈕1,3。 enter image description here的Android TableLayout - 跨兩行

我知道它可以用網格/相對佈局來完成,但我需要使它與表格佈局一起工作。

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 


    <TableRow 
     android:id="@+id/tableRow1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button 1" /> 

    <Button 
     android:id="@+id/button2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button 2" /> 
    </TableRow> 

    <TableRow 
     android:id="@+id/tableRow2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 

     <Button 
      android:id="@+id/button3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button 3" /> 

    </TableRow> 

</TableLayout> 
+0

你有這個解決方案嗎? – 2016-01-05 07:44:55

+0

你不能直接使用TableLayout來做,你可以取一行並給它兩倍的權重,比插入另一個佈局給你你想要的。 – aviran

回答

0

我沒有測試過這種生活,但我有一個表格佈局內執行同樣的事情類似的代碼,所以敢肯定你能做到這一點,如果你在一個LinearLayout中包裹按鈕1和按鈕2(內TableRow1):

<TableRow 
    android:id="@+id/tableRow1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <LinearLayout android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 

     <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button 1" /> 
     <Button 
     android:id="@+id/button2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button 2" /> 

    </LinearLayout> 

    </TableRow> 

希望這會有所幫助。

+0

我的應用程序有更多的按鈕,使用該方法會創建一個相當混亂的佈局,我不得不封裝我的表格佈局的2行以實現該結果。 – aviran

+0

瞭解(畢竟是現實生活),但沒有具體說明,所以我提供了最好/最簡單/最快的答案。 – iaindownie

0

您可以用跨越裏面TableLayout 2個TableLayout行。檢查我的代碼:

<TableLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <TableRow 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:padding="5dip" > 

     <Button 
      android:layout_gravity="center" 
      android:text="Column 1" /> 

     <TableLayout> 

      <TableRow> 

       <Button 
        android:layout_gravity="center" 
        android:text="Column 2" /> 
      </TableRow> 

      <TableRow> 

       <Button 
        android:layout_gravity="center" 
        android:text="Column 2" /> 
      </TableRow> 
     </TableLayout> 
    </TableRow> 

</TableLayout>