Pregunta Ajuste un ImageView (y su src) al ancho del diseño y haga que su altura sea proporcional


¿Me pueden ayudar a configurar mi diseño? No logro lo que estoy buscando:

Puse el fondo de la vista de imagen en rojo para explicar lo que quiero:

El ancho de la imagen es menor que el ancho de la disposición. Me gustaría que la imagen crezca proporcionalmente manteniendo su relación de aspecto hasta alcanzar el aspecto en la primera imagen (la modifiqué manualmente con Photoshop) pero al configurar width = "fill_parent" el resultado es la segunda imagen y configura tanto el ancho como la altura para " fill_parent "el resultado es la tercera imagen.

Intenté combinar con ScaleType sin éxito

¿Cómo puedo lograr la primera opción? Gracias

enter image description here


11
2017-08-12 14:05


origen


Respuestas:


Utilizar android:adjustViewBounds=true attr en xml para ImageView


Esta pregunta se resuelve aquí extendiendo la clase ImageView.

Android ImageView ajusta la altura del padre y el ancho del accesorio


Creé una muestra. Esto funciona para mi. Aquí está el archivo de diseño xml.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ImageView android:src="@drawable/hydrangeas"
        android:layout_height="wrap_content" android:id="@+id/imageView1"
        android:scaleType="centerInside"
        android:adjustViewBounds="true"
        android:background="@android:color/white"
        android:layout_width="wrap_content"/>

</LinearLayout>

Funciona para fitCenter también. Echa un vistazo a la instantánea.
With centerInside and adjustViewBounds="true"


14
2017-08-12 14:33



Use el atributo fit_center en su etiqueta ImageView.

<ImageView ... android:scaleType="fitCenter" .. />

2
2017-08-12 14:09