2016-11-12 3 views
0

Я загружаю изображения в ImageView с помощью Glide.ImageView width = 0.75x Ширина экрана и высота = 1.5 x Новая ширина ImageView XML

Перед загрузкой изображений из Интернета я добавляю изображение заполнителя , пока изображение не закончит загрузку.

Изображение, которые я гружу к счастью, имеет фиксированное соотношение сторон, то есть высоту/ширину = 1,5

у меня есть следующие требования: Ширина зрения изображения должна занимать 75% ширину экрана , Высота должна быть ровно в 1,5 раза NEW ширина экрана, т.е.

width = 0.75 * screenWidth; 
height = 1.5 * width; 

Curretly Я достижения этой Programatically этот путь

mImageViewPic = (ImageView) view.findViewById(R.id.networkImageView); 
mImageViewPic.requestLayout(); 

// 75% width of the screen taken by the image 
mImageViewPic.getLayoutParams().width = (int) (getContext().getResources() 
               .getDisplayMetrics().widthPixels * 0.75); 

// height = 1.5 * width 
mImageViewPic.getLayoutParams().height = (int) (mImageViewPic 
               .getLayoutParams().width * 1.5); 

То, что я смотрю на это эффективное решение этих требований с помощью XML не является программным.
Я знаю, что вы можете установить ширину, используя вес макетов, как 75%, но как вы устанавливаете высоту после этого?

Надеюсь, мои требования ясны. Заранее спасибо.

ответ

0

вы можете использовать PercentRelativeLayout. , например, если вы хотите соотношение сторон 16: 9, вы должны добавить что-то вроде этого в свой PercentRelativeLayout:

android:layout_width="300dp" 
app:layout_aspectRatio="178%" 
0

вы можете использовать переопределение (W, H) метод в Glide для изменения размера