Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo escalar una imagen en un ImageView para que se "ajuste"

Quiero escalar una imagen en un ImageView de la siguiente manera. El ImageView tiene algunas dimensiones Ancho (W) y Altura (H). La imagen que estoy poniendo en la vista de la imagen podría ser más pequeña o más grande que WxH. Quiero que a escala, mientras que la preservación de la relación de aspecto para llenar el espacio WxH.

Parece que lo más parecido a lo que quiero es android: scaleType = "centerInside", pero lo que estoy viendo es que si la imagen es más pequeña que WxH, pondrá una pequeña versión sin escala de esa imagen en el centro de El ImageView (como se dice en la documentación), pero quiero que lo escalen para "encajar", mostrando la imagen completa y estirándola al máximo tamaño posible del contenedor sin recortar nada. En otras palabras, estirar la relación de aspecto de conservación hasta que la anchura o la altura choca con el borde del contenedor (ImageView).

Esto parece una cosa obvia a querer hacer, pero no puedo conseguir que funcione de esta manera!

  • ¿Cómo puedo establecer programáticamente adjustViewBounds a true en Android?
  • Imageview método de escala "centercrop" como código
  • Escala de diseño de Android con la relación de aspecto fijo en diferentes teléfonos
  • ¿Cómo evito el escalado en Android Imageview?
  • 2 Solutions collect form web for “Cómo escalar una imagen en un ImageView para que se "ajuste"”

    Desde los documentos Android …

    Public static final Matrix.ScaleToFit CENTER

    Calcule una escala que mantenga la relación de aspecto src original, pero también asegurará que src se ajuste totalmente dentro de dst. Al menos un eje (X o Y) encajará exactamente. El resultado está centrado dentro de dst.

    El atributo XML para esto es …

     android:scaleType="fitCenter" 

    Podemos usar la propiedad scaleType de ImageView para escalar Image en ImageView. Android proporciona 8 propiedades de scaleType que podemos usar de acuerdo con los requisitos del usuario.

    1) CENTER : Centra la imagen en la vista, pero no realiza escala.

    2) CENTER_CROP : Escala la imagen uniformemente (mantener la relación de aspecto de la imagen) de modo que ambas dimensiones (anchura y altura) de la imagen sean iguales o mayores que la dimensión correspondiente de la vista (menos relleno).

    3) CENTER_INSIDE : Escala la imagen uniformemente (mantener la relación de aspecto de la imagen) de modo que ambas dimensiones (ancho y alto) de la imagen sean iguales o menores que la dimensión correspondiente de la vista (menos relleno).

    4) FIT_CENTER : Escala la imagen usando CENTER.

    5) FIT_END : Escala la imagen utilizando END.

    6) FIT_START : Escala la imagen usando START.

    7) FIT_XY : Escala la imagen usando FILL.

    8) MATRIZ : Escala usando la matriz de imagen al dibujar.

    Por ejemplo: El atributo XML para esto es …

    Android: scaleType = "fitCenter"

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.