Come applicare row_span a TableLayout?Come applicare lo span di una riga in tablelayout?
Voglio fare qualcosa di simile a questa immagine, ma non so come farlo.
Qual è il modo corretto di fare qualcosa di simile?
Come applicare row_span a TableLayout?Come applicare lo span di una riga in tablelayout?
Voglio fare qualcosa di simile a questa immagine, ma non so come farlo.
Qual è il modo corretto di fare qualcosa di simile?
TableLayout
non supporta le estensioni di riga, solo le colonne si estende. GridLayout
supporta sia riga e colonna campate:
(foto da http://android-developers.blogspot.com/2011/11/new-layout-widgets-space-and-gridlayout.html)
piccolo imbroglio (forse abbastanza complessa per codificare e valida solo per un design semplice):
Fai un TableLayout
. Metti un altro TableLayout
all'interno della prima colonna e una vista che vuoi avere il rowspan nella seconda colonna. Questo interno TableLayout
può avere il numero di TableRows
mentre desideri visualizzare l'altra vista.
Ecco il codice:
<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>
Quindi, tu riassumere:
TableLayout: prima colonna (TableLayout con il maggior numero di TableRows come vogliamo), seconda colonna (elemento che assumerà tutti coloro lo spazio delle righe).
mi sono perso qualcosa? come fai due righe == due colonne? Dovresti mettere due layout di tabella in una riga per ottenere due colonne, poi in tablelayout annidato mettere le righe e in seconda tablelayout una riga o qualsiasi altro contenuto. quindi in seconda fila set span = 2 – ceph3us
Mi dispiace. è un errore. Intendevo due colonne, non due righe. Il fatto è che la prima colonna contiene un TableLayout con tutte le righe che vuoi includere e la seconda colonna contiene solo una vista. Io modifico –
sembra come un possibile duplicato http://stackoverflow.com/questions/2189986/android-table-layout-rowspan –
non sia duplicato. Questa non è la risposta alla domanda che ho posto. – miguel
hai trovato una soluzione per questo –