2011-08-27 7 views
36

Duplicar posibles:
What is the equivalent of “colspan” in an Android TableLayout?columnas Spanning con TableLayout

Se dice en la documentación de TableLayout "Las células pueden abarcar columnas, ya que pueden en HTML" Sin embargo, no puedo encontrar ninguna forma de hacerlo.

Específicamente, tengo una fila con dos columnas y otra con una columna. Quiero que la fila de una columna abarque toda la tabla. Parece fácil, pero no lo veo.

+1

duplicado de: http://stackoverflow.com/q/2710793/165674 –

Respuesta

63

add android: layout_span = "3" para abarcar 3 columnas. Por ejemplo:

 <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, ahí está, en TableRow.LayoutParams: http://developer.android.com/ reference/android/widget/TableRow.LayoutParams.html –

+2

Encontrar esos archivos XML de diseño es complicado; es fácil olvidar que los atributos android: layout_ * están en javadocs separados. –

+1

-1, esta solución no funciona cuando el texto del botón es demasiado pequeño. Por ejemplo, cuando el texto es solo un '' 'como en una aplicación de calculadora, el botón no crecerá hasta que cubra dos columnas (si esas dos columnas son más anchas que el botón sin el columnSpan). – Zelphir

2

androide: layout_span hace el truco.

ejemplo:

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