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.

  • Twitter Fabric Login für Android
  • Tag: TextLayoutCache Text: Cache Wert gelöscht
  • Verschiedene Texte in einem Knopf
  • Wie beenden Sie die Aktivität beim Starten anderer Aktivitäten in Android?
  • Wie sage ich meinem Chef, der mit Xamarin arbeitet, wird es nicht schneller machen
  • Abrufen von View-Namen-Eigenschaft in Android?
  • 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

  • OkHttpClient wirft eine Ausnahme nach dem Upgrade auf OkHttp3 aus
  • Sqlite LIKE Problem in Android
  • Wie öffne ich ein neues Fragment aus einem anderen Fragment
  • Problem mit 9 Patch-Bild als Hintergrund
  • Entfernen Sie den SearchIcon als Hinweis in the searchView
  • Android DrawerLayout funktioniert nicht mit ViewPager?
  • 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.