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

  • Android Unbekannter Chromfehler: -6
  • Login-Probleme mit Google Play Game Services
  • So deaktivieren Sie Elemente in einer Listenansicht?
  • CoordinatorLayout stürzt App mit IndexOutOfBoundsException ab
  • Wie kann ich wissen, welche Version von ADT wir in eclipse verwenden?
  • Android Spinner mit Multiple Choice
  • 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 🙂

  • Unterschied zwischen OnClick () - Ereignis und OnClickListener?
  • Wie kann man Videos vom Hintergrund der Anwendung aufnehmen: Android
  • Was ist die Rolle von "isViewFromObject (View view, Object object)" in FragmentStatePagerAdapter?
  • Ist es möglich, Drittanbieter-Android Instant Apps auf einem emulierten Gerät zu entdecken und zu rendern?
  • Wie benutzt man Reflexion, um den Backup-Service zu ändern?
  • Verwenden Sie eine Slide-Box (wie in ionischen Framework) in Android Native App mit ViewPager
  • 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.