Ich verwende ein TableLayout in Android. Im Moment habe ich eine TableRow mit zwei Elementen und darunter eine TableRow mit einem Element. Es macht so:
-----------------------------
| Cell 1 | Cell 2 |
-----------------------------
| Cell 3 |
---------------
Was ich tun möchte, ist, Cell 3 über beide oberen Zellen zu strecken, also sieht es so aus:
-----------------------------
| Cell 1 | Cell 2 |
-----------------------------
| Cell 3 |
-----------------------------
In HTML würde ich ein COLSPAN verwenden ... wie mache ich das in Android?
android
android-layout
android-tablelayout
Spike Williams
quelle
quelle
Antworten:
Es scheint, dass es dafür ein Attribut gibt: layout_span
UPDATE: Dieses Attribut muss auf die untergeordneten Elemente der TableRow angewendet werden. NICHT zur TableRow selbst.
quelle
Um die Antwort zu vervollständigen, muss das Attribut layout_span dem untergeordneten Element hinzugefügt werden, nicht TableRow.
Dieses Snippet zeigt die dritte Zeile meines tableLayout, die sich über 2 Spalten erstreckt.
quelle
Und so machen Sie es programmgesteuert
quelle
child
in diesem Fall kann alles sein, nicht nur Textview als deine Bearbeitung vorgeschlagen. DankeSie müssen layout_weight verwenden, um die gesamte Zeile zu füllen, da sonst die linke oder rechte Spalte des Tabellenlayouts ausgefüllt wird.
quelle
Vielleicht hilft das jemandem. Ich habe die Lösung mit versucht,
layout_span
aber das funktioniert bei mir nicht. Also habe ich das Problem mit diesem Trick gelöst. Verwenden Sie es einfachLinearLayout
anstelle vonTableRow
Colspan, das ist alles.quelle
Verwenden Sie android: layout_span im untergeordneten Element des TableRow-Elements
quelle
Ich hatte ein Problem mit Rowspan, im Fall von TableRow, Textview usw., die mit Code generiert wurden. Auch wenn die Antwort von Onimush gut zu sein scheint, funktioniert sie nicht mit der generierten Benutzeroberfläche.
Hier ist ein Code, der ... nicht funktioniert:
Der Code scheint in Ordnung zu sein, aber wenn Sie den Init von "the_params" erreichen, wird NULL zurückgegeben.
Am anderen Ende funktioniert dieser Code wie ein Zauber:
Der einzige Unterschied besteht darin, dass ich die Textansicht in die TableRow schiebe, bevor ich den Bereich einstelle. Und in diesem Fall funktioniert es. Hoffe das hilft jemandem!
quelle
Ich denke, Sie müssen ein Layout um ein anderes wickeln. Haben Sie eine Layout-Liste vertikal, innerhalb haben Sie eine andere (oder in diesem Fall zwei) Liste horizontal.
Ich finde es immer noch schwierig, die Benutzeroberfläche in Android auf 50-50 Teile aufzuteilen.
quelle