Тип масштабирования изображения Android в соответствии с шириной и ScaleY = ScaleXAndroid

Форум для тех, кто программирует под Android
Anonymous
Тип масштабирования изображения Android в соответствии с шириной и ScaleY = ScaleX

Сообщение Anonymous »

У меня есть макет с фоновым изображением. Ширина изображения должна быть такой же, как ширина экрана (match_parent). Но это некрасиво, ОС не растягивает изображение по высоте.
Я слышал о ImageView ScaleType, поэтому у меня есть фоновое изображение в ImageView вместо фона макета, но я не могу настроить его так, как хочу.

Как настроить макет или ImageView для масштабирования изображения (по ширине) в соответствии с шириной экрана И масштабирования высоты с тем же масштабом?

Мне нужен второй экран на картинке:
Изображение


ОБНОВЛЕНИЕ:

Я пытаюсь использовать код, но получаю 0 ширины + не могу поверить, что это невозможно сделать из XML с помощью ImageView.

Drawable imageDrawable = getResources().getDrawable(imageResource);
contentContainer.setBackgroundDrawable(imageDrawable);

Rect rect = imageDrawable.getBounds();
int originalWidth = rect.width();
int originalHeight = rect.height();

Display display = getActivity().getWindowManager().getDefaultDisplay();
int width = display.getWidth();

int height = originalHeight * (width/originalWidth);

RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(width, height);
contentContainer.setLayoutParams(layoutParams);

contentContainer.post(new Runnable() {

@Override
public void run() {
contentContainer.setScaleY(contentContainer.getScaleX());

Rect rect = contentContainer.getBackground().getBounds();
int originalWidth = rect.width();
int originalHeight = rect.height();

Display display = getActivity().getWindowManager().getDefaultDisplay();
int width = display.getWidth();

int height = originalHeight * (width/originalWidth);

RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(width, height);
contentContainer.setLayoutParams(layoutParams);

}
}


Подробнее здесь: https://stackoverflow.com/questions/198 ... ley-scalex

Вернуться в «Android»