Используйте ScaleType в ImageView centerInside.
Или
Вы можете сделать новый Bitmap
в соответствии с размером экрана, сохранив Aspect Ratio
.
Предположим, что размер вашего изображения составляет 400x300 (ШхВ)
И ваш ожидаемый ImageView
Размер составляет 200x400
И вы хотите подогнать его под ширину ImageView
Тогда вывычислит новые Height
и Width
с помощью приведенной ниже формулы и изменит размер нового Bitmap
.
Соотношение сторон = Высота / Ширина (если мы взяли новую ширину)
СоотношениеСоотношение = ширина / высота (если мы возьмем новую высоту)
AR = 300/400 = 0,75
New Height = NewWidth * AR;
NewHeight = 200 * 0.75;
NewHeight = 150 ;
Таким образом, вы можете изменить размер растрового изображения, взяв значения высоты и ширины.
Онлайн-калькулятор пропорций изображения
Используйте следующий метод для изменения размера растрового изображения:
public static Bitmap scaleBitmap(Bitmap bitmap, int wantedWidth, int wantedHeight) {
Bitmap output = Bitmap.createBitmap(wantedWidth, wantedHeight, Config.ARGB_8888);
Canvas canvas = new Canvas(output);
Matrix m = new Matrix();
m.setScale((float) wantedWidth / bitmap.getWidth(), (float) wantedHeight / bitmap.getHeight());
canvas.drawBitmap(bitmap, m, new Paint());
return output;
}