Ich zeige eine Wertetabelle in meiner Android-Anwendung an und möchte, dass die Spalten in Bezug auf die Größe gleichmäßig verteilt werden, anstatt sie nach Inhalt zu dimensionieren.
Ich habe mit StretchColumns herumgespielt, konnte aber nicht die richtige Kombination finden.
Antworten:
Ich hatte das gleiche Problem - ich habe immer nur eine Nummer eingegeben
android:stretchColumns
, aber Sie müssen alle Spalten eingeben, die gestreckt werden sollen. Wenn Sie also drei Spalten haben, müssen Sie schreiben:android:stretchColumns="0,1,2"
Oder schreiben:
android:stretchColumns="*"
Dann haben alle Spalten die gleiche Größe. Zur Erinnerung,
android:stretchColumns
ist ein Attribut für dasTableLayout
Element.quelle
Sie müssen BEIDE
android:layout_width="0dip"
undandroid:layout_weight="1"
für jede Ansicht innerhalb einer Tabellenzeile festlegen . Ich denke, das funktioniert, weil die Gewichte den Anteil des LEEREN RAUMES in der von den jeweiligen Ansichten verwendeten Zeile bestimmen. Da die Breite aller Ansichten auf eingestellt ist,0dip
ist die gesamte Zeile ein leerer Raum, und daher sind bei gleichen Gewichten alle Ansichten den gleichen Anteil der GANZEN Breite zugewiesen.quelle
Verwenden Sie die
android:layout_weight
für die Spaltenquelle
Sie steuern die Größe der Spalten anhand der Größe ihres Inhalts. Wenn Sie möchten, dass alle die gleiche Größe haben, richten Sie dies über
android:layout_width
in den entsprechenden Zellen ein.quelle
Wer immer noch nach einer Lösung sucht, hat für mich das Setzen von schrumpf- und dehnbaren Säulen den Trick getan. Ich hatte so ziemlich das gleiche Problem wie OP.
quelle