TableLayout Spalten formatieren

J

Jan_HH

Neues Mitglied
0
Hallo,

habe eine App mit einem TableLayout, alles per java-Code zusammengebaut, kein XML (weil die Tabelle sehr dynamisch ist, vom Inhalt her).

Würde nun gerne

- die Spalten alle gleich breit machen, auf eine feste Pixelbreite einstellen
- die Inhalte der Zellen horizontal zentrieren

aber wie? sowas simples wie "myView.setGravity(Gravity.CENTER_HORIZONTAL)" (für eine Zelle einer Row) ist zwar, laut Dokumenation, der richtige Weg, bringt aber gar nix..

Gruß+Danke
 
Hi,

ich hab eher das umgekehrte Problem, daß ich die Spaltenbreite dynamisch haben will, d.h. eine Spalte sollte so breit sein wie der längste Text. Hab aber keine Ahnung, wie das gehen soll, deswegen muß ich erst mal feste Spaltenbreiten benutzen, damit nichts abgeschnitten wird ...

Aber umgekehrt ist es recht einfach:
- width einfach fest setzen, z.b. 40px oder 40dp anstatt wrap_content
- und gravity funktioniert bei mir problemlos, wobei ich CENTER benutze, aber alles im XML. Sollte aber auch im Java-Code funktionieren. Du mußt halt bei jeder einzelnen TextView die gravity setzen.


Gruß,
Tom
 
Hm ja, jetzt klappts..Seltsam, vorher nicht, mit eigentlich dem gleichen Code. also einfach

myTextView.setWidth(...);
myTextView.setGravity(Gravity.CENTER_HORIZONTAL);

Dein Problem wiederum verstehe ich nicht so ganz. Normalerweise wird die Tabelle doch so formatiert, dass jede Spalte so breit ist wie das breiteste Element, was in ihr vorkommt? Und genau das willst Du doch, oder?
 
Zuletzt bearbeitet:
Nein, genau das macht die Tabelle nicht automatisch, sondern jede TextView hat die Breite wie ihr Inhalt, zumindest ist das bei mir so.

Aber ich habs hinbekommen indem ich Width auf 0 setze und dann mit Weigth die Gewichtung festlege, ähnlich wie in Swing beim GridBagLayout.

Ich frage mich nur, wieso es nicht schon gleich ein "Tabellen-Activity" in Android gibt, denn Tabellen braucht man eigentlich ständig, sei es zur Anzeige, zum Editieren, Sortieren, Filtern, Selektieren ... falls es sowas schon geben sollte bitte melden ;-)
 
Meinst Du die Breite der TextView oder die Breite der Tabellenspalte an sich? Du hattest erst letzteres geschrieben. Ist ja ein feiner Unterschied..

naja aber weiterhelfen kann ich Dir da eh nicht ;). Aber nun hast Du es ja auch hinbekommen.
 

Ähnliche Themen

M
  • mitch_HD2
Antworten
1
Aufrufe
545
mitch_HD2
M
H
Antworten
3
Aufrufe
806
Jaiel
Jaiel
S
Antworten
2
Aufrufe
1.537
Jaiel
Jaiel
Zurück
Oben Unten