2011-08-27 17 views
36

Eventuali duplicati:
What is the equivalent of “colspan” in an Android TableLayout?colonne Spanning con TableLayout

Si dice nella documentazione per TableLayout "Le celle possono estendersi su colonne, come possono in HTML" Tuttavia, non riesco a trovare alcun modo per farlo.

In particolare, ho una riga con due colonne e un'altra con una colonna. Voglio che la riga di una colonna si estenda all'intero tavolo. Sembra facile, ma non lo vedo.

+1

duplicato di: http://stackoverflow.com/q/2710793/165674 –

risposta

63

aggiungi android: layout_span = "3" per includere 3 colonne. Ad esempio:

 <TableRow> 
      <Button android:id="@+id/item_id" 
       android:layout_span="2" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="item text" />  
     </TableRow> 
+3

Ahh, v'è, in TableRow.LayoutParams: http://developer.android.com/ riferimento/android/widget/TableRow.LayoutParams.html –

+2

Trovare quei file XML di layout è complicato: è facile dimenticare gli attributi android: layout_ * in javadoc separati. –

+1

-1, questa soluzione non funziona quando il testo del pulsante è troppo piccolo. Ad esempio quando il testo è solo un '+' come in un'app calcolatrice, il pulsante non crescerà fino a coprire due colonne (se quelle due colonne sono più larghe del pulsante è senza columnSpan). – Zelphir

2

android: layout_span fa il trucco.

esempio:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 
<TableRow> 
    <TextView android:id="@+id/info" 
     android:layout_span="2" 
     android:text="some text" 
     android:padding="3dip" 
     android:layout_gravity="center_horizontal" /> 
</TableRow> 
<TableRow> 
    <TextView android:text="some other text" 
     android:padding="3dip" /> 
    <TextView android:text="more text" 
     android:padding="3dip" /> 
</TableRow> 
</TableLayout> 
Problemi correlati