J'utilise un TableLayout dans Android. À l'heure actuelle, j'ai un TableRow avec deux éléments, et, en dessous, un TableRow avec un élément. Il rend comme ceci:
-----------------------------
| Cell 1 | Cell 2 |
-----------------------------
| Cell 3 |
---------------
Ce que je veux faire, c'est étirer la cellule 3 sur les deux cellules supérieures, donc cela ressemble à ceci:
-----------------------------
| Cell 1 | Cell 2 |
-----------------------------
| Cell 3 |
-----------------------------
En HTML, j'utiliserais un COLSPAN .... comment faire fonctionner cela sous Android?
android
android-layout
android-tablelayout
Spike Williams
la source
la source
Réponses:
Il semble qu'il y ait un attribut faisant cela: layout_span
UPDATE: cet attribut doit être appliqué aux enfants du TableRow. PAS au TableRow lui-même.
la source
Juste pour compléter la réponse, l'attribut layout_span doit être ajouté à l'enfant, pas à TableRow.
Cet extrait montre la troisième ligne de mon tableLayout, qui s'étend sur 2 colonnes.
la source
Et voici comment vous procédez par programmation
la source
child
ce cas, il peut s'agir de n'importe quoi, pas seulement de la vue de texte comme votre modification l'a suggéré. MerciVous devez utiliser layout_weight pour remplir la ligne entière, sinon elle remplit toujours la colonne gauche ou droite de la mise en page du tableau.
la source
Peut-être que cela aidera quelqu'un. J'ai essayé la solution avec
layout_span
mais cela ne fonctionne pas pour moi. J'ai donc résolu le problème avec cette astuce. Utilisez simplementLinearLayout
à la place de l'endroitTableRow
où vous avez besoin de colspan, c'est tout.la source
utiliser android: layout_span dans l'élément enfant de l'élément TableRow
la source
J'ai eu un problème avec rowspan, dans le cas de TableRow, Textview, etc., généré avec du code. Même si la réponse d'Onimush semble bonne, elle ne fonctionne pas avec l'interface utilisateur générée.
Voici un morceau de code qui ... ne fonctionne pas:
Le code semble être correct mais, lorsque vous atteignez le début de "the_params", il renvoie NULL.
À l'autre bout, ce code fonctionne comme un charme:
La seule différence est que je pousse le Textview à l'intérieur du TableRow avant de définir la durée. Et dans ce cas, cela fonctionne. J'espère que cela aidera quelqu'un!
la source
Je pense que vous devez envelopper une mise en page autour d'une autre. Avoir une liste de mise en page verticalement, à l'intérieur une autre liste (ou dans ce cas, deux) horizontalement.
J'ai toujours du mal à diviser correctement l'interface en une partie 50-50 dans Android.
la source