Tengo una imagen que es más pequeño que el recipiente me gustaría que se ajuste en el interior de. Me gustaría que la imagen se estire, manteniendo su relación de aspecto, hasta su mayor tamaño posible.Cómo hacer una imagen lo más grande posible, manteniendo la relación de aspecto
Para ilustrar este problema:
<ImageView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/thumbnail"
android:scaleType="fitXY"
android:adjustViewBounds="true"/>
El ImageView
supra se estira para llenar la anchura del contenedor. El @drawable
Contenía sería también estirar a lo largo del eje x para adaptarse a la anchura de ImageView
que es perfecto. El problema sin embargo es que la dimensión etiquetada wrap_content
, en este caso la altura, sigue siendo el mismo tamaño que el @drawable
s altura inicial.
He leído la documentación relativa a ScaleType here y no puedo encontrar la respuesta allí.
La imagen siguiente describe el código anterior:
Current behaviour Desired Behaviour
Editar
Un ImageView
dado scaleType="fitCenter"
ampliará con precisión/reducir la @drawable
dentro de ella para crecer lo más grande posible mientras reten ing es su relación de aspecto.
El ImageView
s dimensiones se definen antes de la @drawable
se escala de ninguna manera. Las dimensiones ImageView
no se ven afectadas por la escala de su contenido @drawable
.
Para mí, esto es un problema común, uno para el que nunca he encontrado una solución limpia. Agregue un parche de fondo de 9 para un marco, y es aún peor intentarlo y corregirlo. Estoy bastante seguro de que esto es algo que tendrá que hacer programáticamente, pero sería bueno si alguien tiene una solución para esto. – kcoppock
+1 para una pregunta completamente descrita – Merlin