2013-08-22 21 views
7

Ich habe ein Problem mit der TableLayout.TableLayout - Entfernen Sie Platz zwischen den Spalten

Zuerst einen Blick auf dem Screenshot:

Screenshot

Wie Sie sehen können, gibt es einen ziemlich großen Raum in der Mitte der TableLayout. Ich weiß nicht, wie man den Platz in der Mitte reduziert, so dass die TableRows mehr Breite abdecken muss. Und auch, ich möchte den Abstand zwischen einem TableRow und dem darunter liegenden reduzieren.

Ich füge die Ansichten zu dem TableLayout programmgesteuert hinzu.

TableRow tr = (TableRow) new TableRow(mTableLayout.getContext()); 
TableRow.LayoutParams params = new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT); 
NormalCard card = new NormalCard(); 
card.setLayoutParams(new TableRow.LayoutParams(0, 740, 1f)); 
tr.addView(card); 
mTableLayout.addView(tr, params); 

XML-Deklaration des TableLayout: Außerdem habe ich bereits die 'layout_weight' des Inhalts des TableRow auf 1f gesetzt

<TableLayout 
      android:id="@+id/tableLayout" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:shrinkColumns="*" 
      android:stretchColumns="*" 
      android:dividerPadding="0dp" 
      android:showDividers="none" 
      android:divider="@null"> 
     </TableLayout> 

Wie verringere ich den Raum in die Mitte der TableLayout. Und auch, wie Sie den Abstand zwischen einem TableRow und dem darunter liegenden reduzieren.

Vielen Dank im Voraus.

+0

besser den Parametern in XML zu geben, anstatt in Java geben – Exceptional

+0

@Exeptional Ich habe Java zu verwenden, weil ich HTTP bin mit Einzelteile zu erhalten und dann in der das TableLayout. –

+0

einfach entfernen android: shrinkColumns = "*" android: stretchColumns = "*" n auschecken – Exceptional

Antwort

0

Bitte geben Sie Ihre Tabellenlayout xml Datei, die Sie gerade gezeigt Bilder haben.

versuchen Sie dies, wenn es

android:shrinkColumns="*" 
android:stretchColumns="*" 

in Ihrem Tablelayout-Tag funktioniert.

In Ordnung, versuchen Sie Padding als 0 zu Ihrer Tabellenzeile zu setzen, wenn keine Spalte in jeder Zeile gleich ist, dann geben Sie die Tabellenbreite als wrap_content an.

+0

Ich habe die XML-Deklaration hinzugefügt. Ich habe auch die Attribute ausprobiert, die du erwähnt hast und es funktioniert nicht. –

+0

Außerdem wurde versucht, Padding auf 0 und Tabellenbreite auf WRAP_CONTENT zu setzen. Hat nicht funktioniert ... –

0

Haben Sie einen Versuch mit diesem:

params.setMargins(0, 0, 0, 0); 
+0

Funktioniert auch nicht ... –

Verwandte Themen