2013-04-30 25 views
8

Ich bin nicht sicher, was die Unterschiede zwischen den beiden sind und welche ich für meine Zwecke verwenden sollte?GridLayout vs TableLayout

Ich versuche, ein benutzerdefiniertes virtuelles Nummernfeld mit Texteingaben zu erstellen, das seinen Inhalt dynamisch ändern kann, um eine Datumauswahl zu haben.

Also brauche ich ein Layout-System, das viele unterschiedlich große Zellen darin unterstützt.

Welche besser passt meine Bedürfnisse und was ist der Unterschied?

+1

prüfen diese SO-Beiträge: http://stackoverflow.com/questions/11307218/gridview-vs-gridlayout-in-android-apps http://stackoverflow.com/questions/7088821/grid-layout -vs-table-layout –

+2

Erster Link ist ein Vergleich zwischen GridView und GridLayout, zweiter Post wurde gemacht bevor GridLayout in Android herausgekommen war, ich habe schon beide Links gesehen und keiner geholfen, daher meine Frage. – tweetypi

+0

Ok, überprüfen Sie diesen Link http://technicalmumbojumbo.wordpress.com/2011/12/08/android-tutorial-series-layout/ Hoffe, dass dies Ihre Zweifel in gewissem Maße deutlich machen wird. –

Antwort

9

Nach meiner Erfahrung hatte ich beide GridLayout und TableLayout geben mir die gleichen Ergebnisse. Beide scheinen die Spalten so zu dehnen, dass sie dem breitesten Kindelement entsprechen. Weder werden Sie Gürtellinien oder Grenzen um die Zellen geben.

von den offiziellen Dokumenten auf GridLayout:

Zeile und Spalte Specs Kinder besetzen eine oder mehr zusammenhängende Zellen, wie durch ihre rowspec und columnSpec Layout-Parameter definiert. Jede Spezifikation definiert den Satz von Zeilen oder Spalten, die besetzt werden sollen; und wie Kinder innerhalb der resultierenden Gruppe von Zellen ausgerichtet werden sollten. Obwohl sich Zellen in einem GridLayout normalerweise nicht überlappen, verhindert GridLayout nicht, dass Kinder definiert werden, die dieselbe Zelle oder Gruppe von Zellen belegen. In diesem Fall gibt es jedoch keine Garantie, dass sich die Kinder nach Abschluss der Layoutoperation nicht selbst überschneiden.

und vom TableLayout:

Die Tabelle mit den meisten Zellen so viele Spalten wie die Zeile hat. Eine Tabelle kann Zellen leer lassen. Zellen können Spalten wie in HTML umspannen.

So scheint es mir, dass die GridLayout ein bisschen vielseitiger ist und wahrscheinlich, was Sie suchen.

+0

Kann eine Zelle im Gitterlayout leer bleiben? –

+0

@Malwinder, sah ich diesen Effekt bei http://developer.alexanderklimov.ru/android/layout/gridlayout.php. – CoolMind