2010-01-19 15 views
6

Ho il seguenteAndroid TableRow RelativeLayout Problema

<TableRow xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/admin_row" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center_horizontal"> 
    <RelativeLayout android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:orientation="horizontal" 
        android:background="@color/silver"> 

Io popolo dinamicamente il tavolo, ma con l'argento di layout relativa colorato si estende solo circa 3/4 della riga della tabella. Se metto un LinearLayout con orientamento orizzontale, si estende completamente ma se lo cambio in verticale si verifica lo stesso problema. Ho bisogno di un layout relativo nella riga della tabella perché ho bisogno di qualcosa di simile:

Valore
Dettagli AltroDettaglio.

Qualche idea su come ottenere il layout relativo per coprire la riga della tabella?

risposta

1

È necessario inserire l'attributo android:background="@color/silver" in TableRow.

Ho avuto lo stesso problema con un LinearLayout all'interno di un ScrollView.

Speranza che aiuta,

Lint

+0

Non sto provando a colorare la riga. Lo stavo usando come un meccanismo di debug per determinare perché il mio layout relativo non si estendesse su tutta la riga. – phogel

6

Così ho dovuto temporaneamente spostato da questo problema, ma si avvicinò di nuovo. Per ribadire, il problema che stavo vedendo era che un layout relativo all'interno di una riga della tabella non si estendeva su tutta la riga, indipendentemente da cosa impostassi la sua larghezza e altezza. Ho trovato una soluzione che costringe qualsiasi layout di coprire la riga della tabella interamente (orizzontale):

<TableRow xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/detail_row" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"> 
    <RelativeLayout android:layout_height="fill_parent" 
        android:layout_width="0dp" 
        android:layout_weight="1" 
        android:orientation="horizontal"> 

Nota questo sembra essere in contraddizione con quanto la riga della tabella documentazione java stato:

L' i figli di un TableRow non necessitano di per specificare gli attributi layout_width e layout_height nel file XML . TableRow applica sempre i valori rispettivamente FILL_PARENT e WRAP_CONTENT.

+1

Hai appena fatto la mia giornata e aiutami a rispettare la mia scadenza. Grazie mille! – zabawaba99

12

Prova a impostare android: stretchColumns = "0" oppure android: stretchColumns = "*" sul tag TableLayout.

+0

wow, questa è una risposta perfetta! – PCoder

Problemi correlati