Jak zastosować row_span do TableLayout?Jak zastosować rozstawę rzędów w tablelayout?
Chcę zrobić coś podobnego do tego obrazu, ale nie wiem jak to zrobić.
Jaki jest prawidłowy sposób zrobić coś takiego?
Jak zastosować row_span do TableLayout?Jak zastosować rozstawę rzędów w tablelayout?
Chcę zrobić coś podobnego do tego obrazu, ale nie wiem jak to zrobić.
Jaki jest prawidłowy sposób zrobić coś takiego?
TableLayout
nie obsługuje zakresów wierszy, tylko zakresy kolumn. GridLayout
obsługuje zarówno wiersz i kolumna obejmuje:
(obraz z http://android-developers.blogspot.com/2011/11/new-layout-widgets-space-and-gridlayout.html)
trochę oszukiwanie (może być dość skomplikowane, aby kod i ważne tylko dla prostej konstrukcji):
Zrób TableLayout
. Umieść drugą TableLayout
wewnątrz pierwszej kolumny i widok, który ma mieć szerokość wiersza w drugiej kolumnie. Ten wewnętrzny TableLayout
może mieć tylu TableRows
, jak chcesz, aby inny widok obejmował.
Oto kod:
<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>
Więc tu Podsumowując:
TableLayout: pierwszą kolumnę (TableLayout tyloma TableRows jak chcemy), drugą kolumnę (element, który zajmie się wszystkim tym, przestrzeń rzędów).
coś przeoczyłem? jak zrobić dwa wiersze == dwie kolumny? Powinieneś umieścić dwa układy tabel w jednym rzędzie, aby osiągnąć dwie kolumny, a następnie w zagnieżdżonych tablelayout umieścić rzędy i w drugim tablelayout w jednym wierszu lub jakiejkolwiek innej treści. następnie w drugim rzędzie ustawiona rozpiętość = 2 – ceph3us
Przykro mi. to pomyłka. Miałem na myśli dwie kolumny, a nie dwa rzędy. Chodzi o to, że pierwsza kolumna zawiera TableLayout z tylu rzędów, ile chcesz, a druga kolumna zawiera tylko jeden widok. Będę edytować. –
wydaje się możliwe powielać http://stackoverflow.com/questions/2189986/android-table-layout-rowspan –
nie jest powielany. To nie jest odpowiedź na pytanie, które zadałem. – miguel
czy masz jakieś rozwiązanie dla tego –