# TableLayout verhält sich nicht wie eine Tabelle



## Blutgerinsel (28. Aug 2012)

Hallo zusammen,

ich kämpfe ebenfalls mit meiner Table und zwar möchte ich eine Spaltenüberschrift haben.

Da man in diesem TableLayout aber nur eine TableRow platzieren soll die lustigerweise von LinearLayout ableitet skarliert diese TableRow wie sie gerne möchte.

Wie bekommt ihr es hin das sich sowohl Spaltenüberschrift als auch Tabellenzeilen bündig skalieren, d.h. ohne Verschiebungen?

Gibt es hierfür ein Tutorial?


----------



## schlingel (29. Aug 2012)

Das geht nicht (so leicht). Ich hab bei einem Versuch ein Grid aufzubauen auf ein LinearLayout mit layout_weight zurückgegriffen, da ich die einzelnen Zellen nicht dazu überreden konnte über Zeilen hinweg die selbe Breite zu haben.


----------



## Blutgerinsel (29. Aug 2012)

schlingel hat gesagt.:


> Das geht nicht (so leicht). Ich hab bei einem Versuch ein Grid aufzubauen auf ein LinearLayout mit layout_weight zurückgegriffen, da ich die einzelnen Zellen nicht dazu überreden konnte über Zeilen hinweg die selbe Breite zu haben.



Kannst Du das bitte etwas erläutern?

Ein TableRow ist ja ohnehin schon ein LinearLayout und layout_weight habe ich bereits. Die Headline ist dennoch ein wenig eingerückt.

Bei reinen Textviews ist eine Listview ideal, sobald ich aber neben TextViews auch eine ImageView habe fängt das Gebastel an.

Ich denke man muss diese Ansätze kombinieren:
-	Android – Simple ListView using SimpleAdapter | Eureka!
-	Android ? Applying Alternate Row Color in ListView with SimpleAdapter | Eureka! 
-	Android ListView and ListActivity - Tutorial


----------



## schlingel (29. Aug 2012)

> Ein TableRow ist ja ohnehin schon ein LinearLayout und layout_weight habe ich bereits


Stimmt, aber ich dachte das Problem wäre, dass die Einrückung über eine Zeile hinweg zur nächsten Zeile unterschiedlich ist. Da hast du dann das Problem, dass du das nicht zentral steuern kannst, da du für die jeweilige TableRow kein layout_weight setzten kannst.

Du kannst zwar innerhalb einer TableRow für deren Kinder die layout_weight-Attribute setzen aber nicht für die "Mutter-View", das TableRow.



> Bei reinen Textviews ist eine Listview ideal, sobald ich aber neben TextViews auch eine ImageView habe fängt das Gebastel an.


Warum? Da schreibt man sich seinen ListAdapter und alles ist gut. Wie so etwas beispielsweise aussehen könnte findest du hier. Für deinen Code solltest du aber von SimpleAdapter ableiten und nicht ArrayAdapter. Ein Anfängerfehler den ich mittlerweile nicht mehr mache.

Puncto alternierende Farbe ist das sehr einfach machbar indem du im ListAdapter anhand des Index (gerade, ungerade) eine andere Farbe setzt.


----------

