Wie man row_span auf TableLayout anwendet?Wie man Zeilenspanne in tabellarischer Darstellung anwendet?
Ich möchte etwas ähnliches zu diesem Bild machen, aber ich weiß nicht, wie es geht.
Was ist der richtige Weg, so etwas zu machen?
Wie man row_span auf TableLayout anwendet?Wie man Zeilenspanne in tabellarischer Darstellung anwendet?
Ich möchte etwas ähnliches zu diesem Bild machen, aber ich weiß nicht, wie es geht.
Was ist der richtige Weg, so etwas zu machen?
TableLayout
unterstützt keine Zeilenspannen, nur Spaltenspannen. GridLayout
unterstützt sowohl Zeilen- und Spalten umfasst:
(Bild von http://android-developers.blogspot.com/2011/11/new-layout-widgets-space-and-gridlayout.html)
Haben Sie verwendet "android: layout_span" es verwendet werden kann Zeilen erstrecken. Sie können es nicht über Strg + Leertaste eingeben, Sie müssen es manuell eingeben.
Kleiner Betrug (vielleicht recht komplex zu codieren und nur gültig für eine einfache Ausführung):
ein TableLayout
Make. Setzen Sie eine weitere TableLayout
in die erste Spalte und eine Ansicht, in der Sie die Zeilenspanne in der zweiten Spalte haben möchten. Dieses innere TableLayout
kann so viele TableRows
haben, wie Sie die andere Ansicht wünschen, um zu überspannen.
Hier ist der Code:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="@dimen/activity_horizontal_margin"
tools:context=".MainActivity">
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:weightSum="3">
<TableLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.5">
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_blue_dark">
<TextView
android:text="Row 1"/>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_blue_light">
<TextView
android:text="Row 2"/>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_blue_bright">
<TextView
android:text="Row 3"/>
</TableRow>
</TableLayout>
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.5"
android:text="Second column, rowspan 3"
android:background="@android:color/holo_purple"
android:gravity="center"/>
</TableRow>
</TableLayout>
</LinearLayout>
Also tu es zusammenzufassen:
Tablelayout: erste Säule (Tablelayout mit so vielen TableRows wie wir wollen), die zweite Säule (Element, das alle diejenigen aufnehmen wird Zeilenraum).
Ich habe etwas verpasst? wie macht man zwei Zeilen == zwei Spalten? Sie sollten zwei Tabellenlayouts in einer Zeile platzieren, um zwei Spalten zu erhalten, dann in verschachtelten Tabellenlayout-Zeilen und in einer zweiten Tabelle eine Zeile oder einen anderen Inhalt. dann in der zweiten Reihe set span = 2 – ceph3us
tut mir leid. Es ist ein Fehler. Ich meinte zwei Spalten, nicht zwei Zeilen. Die erste Spalte enthält ein TableLayout mit so vielen Zeilen, wie Sie überspannen möchten, und die zweite Spalte enthält nur eine Ansicht. Ich werde bearbeiten. –
scheint wie eine mögliche doppelte http://stackoverflow.com/questions/2189986/android-table-layout-rowspan –
nicht dupliziert. Das ist nicht die Antwort auf die Frage, die ich gestellt habe. – miguel
haben Sie keine Lösung für diese –