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

  • Kennwort speichern
  • Android: Unterschied zwischen Parcelable und Serializable?
  • Android: "BadTokenException: Kann kein Fenster hinzufügen Ist deine Aktivität ausgeführt? "Beim Anzeigen des Dialogs in PreferenceActivity
  • Gibt es eine Möglichkeit, die Scrollbar von ListView die ganze Zeit zu zeigen?
  • Wie kann ich feststellen, ob 'Mobile Network Data' aktiviert oder deaktiviert ist (auch wenn WiFi verbunden ist)?
  • Android M Kamera Intent + Berechtigungsfehler?
  • 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 🙂

  • Android-Symbolleiste zu hoch im Querformat
  • Android: Wie bekomme ich Absicht von nativen Code?
  • Stellen Sie sicher, dass die Android-Anwendung von Play-Store installiert wurde
  • Das Attribut ist nicht deklariert (Android) auf grundlegenden XML-Attributen
  • FragmentPagerAdapter existiert nur in Android.Support.V4.App (und nicht Android.App)
  • Android: Intent Flag, um Aktivität zu zerstören und neue zu starten
  • 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.