Redimensionando o ImageView para ajustar a proporção

Eu preciso redimensionar um ImageView de tal forma que ele se encaixa na tela, mantém a mesma proporção. As seguintes condições são válidas:

Imagens são uma largura fixa (tamanho da largura da tela)As imagens são baixadas da Internet, ou seja, o tamanho só pode ser determinado posteriormenteA proporção de aspecto de cada imagem irá variar; alguns são altos, outros são quadrados, outros são planosImageViewaltura precisa mudar, seja maior ou menor com base na razão de aspecto doO excesso de altura é cortado, não pode ter muito espaço vazio como é por padrão.

Por exemplo, uma pequena imagem de 50 x 50 em uma tela de largura de 400 px escalaria a imagem em até 400 x 400 px. Uma imagem de 800x200 seria dimensionada para 400x100.

Eu olhei para a maioria dos outros tópicos, e muitas soluções propostas, como simplesmente mudandoadjustViewBounds escaleType só reduzirá uma imagem e não aumentará a escala.

questionAnswers(3)

yourAnswerToTheQuestion