GridView Auto passen Bilder

Ich versuche, Bilder in einem GridView anzuzeigen und die Spalten automatisch einzustellen, so weit musste ich manuell die Anzahl der Spalten einstellen, was nicht das ist, was ich tun möchte, da dies beeinflussen wird, wie groß die Bilder auf unterschiedlich großen Bildschirmen sind . Ich habe versucht, es auf auto_fit zu setzen, aber es zeigt nur 2 Spalten in der Mitte des Bildschirms an. Dies ist, was ich versuchen zu erreichen: (Jedes rote Quadrat stellt ein Bild)

Bildbeschreibung hier eingeben

Dann, wenn in den Landschaftsmodus gedreht, möchte ich, dass die Spalten automatisch passen, so dass seine alle sogar. Jede Hilfe wäre sehr dankbar, danke 🙂

  • Übergeben von einer Listenansicht zu einem Gridview
  • Android GridView Pinch Zoom
  • CollapsingToolbarLayout Ausgabe mit GridView
  • Wie lade ich Internetbilder in gridview effizient ein?
  • Wie man das Gitterview mit dem Bild ausfüllt, das gerade aus der Galerie ausgewählt oder von der Kamera aufgenommen wurde
  • OnItemClickListener nicht auf Android GridView ausgelöst
  • Android: Wie sieht GridView auto_fit die Anzahl der Spalten?
  • GridView Scrolling Problem auf Android
  • 3 Solutions collect form web for “GridView Auto passen Bilder”

    Experimentiere mit den GridView-Attributen, speziell android:numColumns="auto_fit" und android:stretchMode . Die folgenden Arbeiten für mich:

     <GridView android:id="@+id/myGrid" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp" android:verticalSpacing="10dp" android:horizontalSpacing="10dp" android:numColumns="auto_fit" android:columnWidth="60dp" android:stretchMode="columnWidth" android:gravity="center" /> 

    Ich bin mir nicht sicher, warum jemand die Antwort über mich abgestimmt hat (also habe ich es wieder abgestimmt): Ich musste ein ähnliches Problem programmatisch lösen (mit einem GridView von ImageView Kindern). Irgendein Code wurde aus Gründen der Klarheit entfernt:

      int iDisplayWidth = getResources().getDisplayMetrics().widthPixels ; iImageWidth = iDisplayWidth / iNumberOfColumns ; gridview.setColumnWidth( iImageWidth ); gridview.setStretchMode( GridView.NO_STRETCH ) ; /* wrap_content in the xml file is supposed to do this, but it didn't seem to work */ 

    Freundliche Grüße,

    Piesia

    Eine bessere Lösung ist, die Breite programmgesteuert zu messen, also wirst du nicht mit einer hartcodierten Spaltenbreite enden:

    Android: Wie sieht GridView auto_fit die Anzahl der Spalten?

    Das Android ist ein Google Android Fan-Website, Alles über Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.