Bildansicht: adjustViewBounds funktioniert nicht mit layout_height="fill_parent"?

Ich versuche Platz in der einzigen Zeile, in der der EditText mit der ImageView auf der linken Seite. Aber ich kann nicht das Bild skaliert werden, die ordnungsgemäß entsprechend der Höhe der Eingabe von text.

Das layout ist einfach:

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/icon"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:adjustViewBounds="true"
            android:scaleType="fitStart"
            android:background="#f00"
            android:src="@drawable/icon" />
        <EditText
            android:id="@+id/text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>

(Ich hervorgehoben, Bildhintergrund durch die rote Farbe, um die tatsächlichen Speicherplatz durch Bildansicht)


Wenn ich geben Sie die genaue Höhe für ImageView:

            android:layout_height="48dp"

dann bekomme ich den nächsten Blick, was ich brauchte:
Bildansicht: adjustViewBounds funktioniert nicht mit layout_height=

Aber ich weiß nicht die genaue Höhe EditText, so kann ich nicht angeben, es für ImageView hier.


Wenn Sie die Höhe für ImageView angegeben ist, zu füllen Ihre Eltern (entsprechend `EditText` Höhe):

            android:layout_height="fill_parent"

dann bekomme ich unerwartete extra-Marge zwischen Bild und text Eintrag:
Bildansicht: adjustViewBounds funktioniert nicht mit layout_height=

Tatsächlich, in diesem Fall die ImageView Breite entspricht, nicht skalierten Bildes Breite, in der Erwägung, dass das Bild skaliert wurde.


Es ist das ähnlich wie das Bild unten gezeigt, wenn ich angeben layout_height zu 48dp - und set - adjustViewBounds zu false:

            android:layout_height="48dp"
            android:adjustViewBounds="false"

Bildansicht: adjustViewBounds funktioniert nicht mit layout_height=


So, die Frage ist hier: wie definieren Sie das layout korrekt zu skalieren das Bild passend Eintrag Bearbeiten Höhe und in der gleichen Zeit, haben Breite ImageView verkleinert werden, um skalierte Bildbreite ? In anderen Worten, wie, um loszuwerden, diese extra-Raum aus?

  • versuchen Sie es mit android:layout_marginBottom="10dip" für Bildansicht
  • Wie würde es helfen? Ich werde kleineres Bild, aber mit den gleichen zusätzlichen Raum um.
  • Versuchen Sie es mit scaleType="fitXY" und height="fill_parent" für die Bildansicht.
  • Dann verliere ich die richtigen Proportionen des Bildes. Weil, mit der Einstellung die du vorgeschlagen wird das Bild vertikal skalieren nur.
InformationsquelleAutor GrAnd | 2011-03-23
Schreibe einen Kommentar