In meinem Layout habe ich nur acht Zellen.
Ich möchte, dass die Zelle den gesamten verfügbaren Platz auf dem Bildschirm teilt. Ist das möglich?
Dies ist mein Gridview-Layout:
%Vor%Und das ist das Element Layout:
%Vor% Leider ist GridView
ein kompliziertes Layout, das manipuliert werden kann, um interne Ansichten auf eine bestimmte Größe zu bringen, wie Sie es gerade versuchen. Ich denke, es ist angemessener, an GridView
als eine erweiterte ListView
zu denken, um scrollbare Listen variabler Länge wie Thumbnails in einem Fotoalbum im Gegensatz zu einem "Grid" anzuzeigen. Ich habe diese Route begonnen, als ich ursprünglich ein Raster in fester Größe für ein Spiel erstellen wollte, aber dafür ist es überhaupt kein geeignetes Layout.
Da Ihr Gitter immer aus 8 Zellen besteht, schlage ich stattdessen vor, verschachtelte LinearLayout
s zu verwenden (oder wenn Sie nicht möchten, dass alle Zellen exakt die gleiche Größe haben, desto komplexer TableLayout
/ TableRow
):
Dies würde ein festes 2x4-Raster ergeben, das den Bildschirm immer genau ausfüllt.
Zuerst PS anstelle von PX verwenden. Dies sollte es erlauben, auf verschiedene DPI-Geräte zu skalieren.
Zweitens können Sie jeder Zelle, die ein klares Bild enthält, eine tabellarische Ansicht zuordnen, damit die Zellen gleich groß sind. Stellen Sie die Größe des Bildes mit PS (nicht px) ein. Die Tabellenansicht sollte es Ihnen ermöglichen, die Layout-Objekte in jeder Zelle zu schichten, und die klare Grafik sollte alle Zellen gleich groß halten.
Ich würde auch jede Auffüllung entfernen.
Lassen Sie es uns wissen.