Java [Android] GridView: Wie Spalten nur so breit machen, wie Inhalt der Zellen?

T

Tersus

Gast
Guten Tag,

ich habe die Klasse BaseAdapter so erweitert, dass sie Elemente einer View, welche kurze Linien darstellt, beinhaltet.
Diesen Adapter habe ich einer GridView übergeben.

Meine GridView hat nun 3 Spalten. In jeder Zelle sind nun kurze Linien zu sehen. In der ersten Zeile werden natürlich 3 kurze Linien mit einem gewissen Abstand dargestellt. Nun möchte ich, dass dieser Abstand verschwindet. Also die Spalten nur so breit sind, wie auch der Inhalt der Zellen ist. Was dann zu sehen sein müsste, sind keine 3 kurzen von einander getrennten Linien mehr, sondern eine durchgehende Linie, welche entsprechend 3 mal so lang ist, wie die gewöhnliche einzelne. Es sind ja eigentlich noch 3 einzelne Linien, nur halt ohne Abstand aneinander geklatscht.

Was hat mir nicht geholfen:
a)
Die Instanzmethode setStretchMode(GridView.NO_STRETCH) der GridView. Die Spalten haben dann nämlich eine breite von 0. Andere Parameter dieser Instanzmethode (1, 2 , 3) führen auch nicht zum Ergebnis.
b)
Die Instanzmethode setHorizontalSpacing(GridView.NO_STRETCH) der GridView.

Weiß jemand weiter?
 
Hancock schrieb:
Bist du dir sicher, dass dein Inhalt tatsächlich keine Lücke nebendran hat?
Eigentlich schon.

Hancock schrieb:
Möglicherweise musst du dafür onMeasure überschreiben.
Das habe ich ja schon. In der onMeasure() werden die Maße meiner View auf eine fixe Größe angepaßt.

Ich editiere nachher mal den Quellcode.
 
Zurück
Oben