Necesito cambiar el tamaño de un ImageView para que se ajuste a la pantalla y mantenga la misma relación de aspecto. Las siguientes condiciones se cumplen:Redimensionar la imagen para ajustarla a la relación de aspecto
- Las imágenes son una anchura fija (tamaño de la anchura de la pantalla)
- Las imágenes se descargan de Internet, es decir, tamaño sólo se pueden determinar más tarde relación
- Aspecto para cada imagen se variar; algunos son altos, otros son cuadrados, algunos son plana altura
- de ImageView tiene que cambiar, ya sea grande o más pequeña sobre la base de la relación de aspecto de la
- altura exceso se recorta, no puede tener una gran cantidad de espacio vacío como es por defecto.
Por ejemplo, una pequeña imagen de 50x50 en una pantalla de 400 px de ancho escalaría la imagen hasta 400x400 px. Una imagen de 800x200 se escalaría a 400x100.
He observado la mayoría de los otros hilos, y muchas soluciones propuestas, como simplemente cambiar adjustViewBounds
y scaleType
, solo reducirán una imagen y no la ampliarán.
+1, agradable y simple, sólo se me protegerlo contra 'getIntrinsicWidth' siendo 0 (se bloqueará al tratar de dividir por él) –
ajustarViewViews también se debe hacer en AspectRatioImageView http://developer.android.com/reference/android/widget/ImageView.html#setAdjustViewBounds%28boolean%29 – Nepster