Estoy usando un TableLayout en Android. En este momento tengo un TableRow con dos elementos y, debajo, un TableRow con un elemento. Se presenta así:
-----------------------------
| Cell 1 | Cell 2 |
-----------------------------
| Cell 3 |
---------------
Lo que quiero hacer es hacer que la celda 3 se extienda a través de las dos celdas superiores, de modo que se vea así:
-----------------------------
| Cell 1 | Cell 2 |
-----------------------------
| Cell 3 |
-----------------------------
En HTML usaría un COLSPAN ... ¿cómo hago que esto funcione en Android?
android
android-layout
android-tablelayout
Spike Williams
fuente
fuente
Respuestas:
Parece que hay un atributo que hace eso: layout_span
ACTUALIZACIÓN: Este atributo debe aplicarse a los elementos secundarios de TableRow. NO a la TableRow en sí.
fuente
Solo para completar la respuesta, el atributo layout_span debe agregarse al elemento secundario, no a TableRow.
Este fragmento muestra la tercera fila de mi tableLayout, que abarca 2 columnas.
fuente
Y así es como lo haces programáticamente
fuente
child
este caso, puede ser cualquier cosa, no solo la vista de texto como sugiere su edición. GraciasDebe usar layout_weight para completar toda la fila; de lo contrario, aún ocupa la columna izquierda o derecha del diseño de la tabla.
fuente
Quizás esto ayude a alguien. Intenté la solución
layout_span
pero esto no funciona para mí. Así que resolví el problema con este truco. Simplemente useLinearLayout
en lugar deTableRow
donde necesita colspan, eso es todo.fuente
use android: layout_span en el elemento hijo del elemento TableRow
fuente
He tenido algún problema con la fila de filas, en el caso de TableRow, Textview, etc., generado con código. Incluso si la respuesta de Onimush parece ser buena, no funciona con la IU generada.
Aquí hay un código que ... no funciona:
El código parece estar bien pero, cuando alcanza el inicio de "the_params", devuelve NULL.
En el otro extremo, este código funciona a las mil maravillas:
La única diferencia es que presiono la vista de texto dentro de TableRow antes de establecer el intervalo. Y en este caso, funciona. ¡Espero que esto ayude a alguien!
fuente
Creo que necesitas envolver un diseño alrededor de otro. Tenga una lista de Diseño verticalmente, dentro tenga otra (o en este caso, dos) lista horizontalmente.
Todavía me resulta difícil dividir bien la interfaz en una porción de 50-50 en Android.
fuente