Тип масштабирования изображения 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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