Skalierung eines Bildes auf maximal verfügbare Breite, halten Seitenverhältnis und Vermeidung von ImageView zusätzlichen Platz

Ich habe dieses einfache Layout XML und eine green_square.png Datei, die 30X30 Pixel ist

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ImageView android:background="@color/red" android:layout_width="fill_parent" android:layout_height="fill_parent" android:adjustViewBounds="true" android:scaleType="fitStart" android:src="@drawable/green_square"/> </LinearLayout> 

Was ich versuche zu erreichen, ist das Skalieren des Bildes, um die übergeordnete Breite zu füllen, wobei es das Seitenverhältnis ohne zusätzlichen Speicherplatz der ImageView hält.

  • Wie erstelle ich eine Aktivität, die oben auf dem Sperrbildschirm sichtbar ist
  • Kann Nexus 6P nicht zum Debuggen sehen
  • Wie benutzt man Bluetooth im Android Emulator?
  • ADB, Wifi und Eclipse: wie kann ich konfigurieren?
  • Logcat-Filterung?
  • Gibt es eine Google Now API, dass wir unsere eigenen Apps jetzt integrieren können?
  • Ich habe einen roten Hintergrund zur ImageView hinzugefügt, nur als Referenz für den zusätzlichen Platz, den ich vermeiden möchte.

    Hier ist mein Ziel

  • Getting Vbox Gast Hinzufügungen für Android x86
  • Android Studio Stale APK für Build-Variante nach XML-Änderungen
  • OnBackPressed to hide Nicht zerstören Aktivität
  • Android: Unterstützung mehrerer Bildschirme
  • Entfernen von Cursor-basierten Elementen in RecyclerView
  • Die aktuelle Position eines ViewPagers erhalten
  • 5 Solutions collect form web for “Skalierung eines Bildes auf maximal verfügbare Breite, halten Seitenverhältnis und Vermeidung von ImageView zusätzlichen Platz”

     <ImageView android:id="@+id/game" android:layout_width="fill_parent" android:layout_height="wrap_content" android:scaleType="centerCrop" android:adjustViewBounds="true" android:src="@drawable/ic_game" /> 

    Das funktioniert für mich. Volle Breite der übergeordneten und mittleren Ernte, um das Seitenverhältnis zu halten

    Meiner Ansicht nach ist dieses ImageView Extra-Layout ein Fehler. Ich habe dasselbe passiert Infolgedessen folgte der Text, den ich dem green_square folgen wollte, dem zusätzlichen Layout. Also, was ich tat, war der Text relativ zum unteren Rand des Bildschirms. Auf diese Weise würde der Text über das zusätzliche Layout gehen. Ich gebe zu, es war nicht die beste Lösung, aber es sieht viel besser aus als mit einem riesigen Raum zwischen dem green_square und dem Text.

    Es ist so einfach. Machen Sie einfach die Breite fill_parent und height wrap_content. Hier ist das ich es herausgefunden habe.

     <ImageView android:id="@+id/game" android:layout_width="fill_parent" android:layout_height="wrap_content" android:scaleType="centerCrop" android:adjustViewBounds="true" android:src="@drawable/ic_game" /> 

    Verwenden Sie Skala "fitCenter" oder "fitxy"

    Versuche dies,

     <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ImageView android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/red" android:scaleType="centerCrop" android:src="@drawable/green_square" /> </LinearLayout> 
    Das Android ist ein Google Android Fan-Website, Alles über Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.