Wie funktioniert der Grid-Ansicht ändern Spalte Anzahl der Laufzeit?
Ich versuche mich zu ändern gridView-Spalte Anzahl. Ich nenne setNumColumn()
und invalidateViews()
um die Ansicht zu aktualisieren.
Jedoch, das raster Zelle Breite nicht dynamisch ändern. Ich habe die stretchMode="columnWidth"
, aber es hat nicht funktioniert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Problem Gelöst:
Der untergeordneten Ansicht in der grid-Ansicht nicht neu zu berechnen, deren layout, wenn die grid-Ansicht ändert sich die Spalte auf-Laufzeit.
In Ihrem BaseAdapter, sollten Sie rufen forceLayout() für die Berechnung der layout.
Dank
Kann sein, dass du Hilfe bekommen könnte durch dieses nette Beispiel von Google
http://developer.android.com/shareables/training/BitmapFun.zip
Der folgende code finden Sie in der ImageGridFragment.java wird verwendet, um zu behandeln Spaltennummer ändern sich dynamisch während der Laufzeit wie Bildschirm, Orientierung ändern, wenn Sie das Gerät drehen:
Hier ist der Kommentar:Dieser listener wird verwendet, um die endgültige Breite des GridView-Steuerelements, und dann berechnen Sie die Anzahl der Spalten und die Breite der einzelnen Spalte. Die Breite der einzelnen Spalten ist variabel, da das GridView hat stretchMode=columnWidth. Die Breite der Spalte wird verwendet, um die Höhe der einzelnen anzeigen, so erhalten wir nic quadratische thumbnails.
in xml u haben, um dieses Attribut..