2016-11-12 196 views
0

我正在使用Glide将图像加载到ImageView中。ImageView宽度= 0.75x屏幕宽度和高度= 1.5 x新的ImageView宽度XML

在从互联网加载图像之前,我将添加一个占位符图像,直到图像加载完成。

即我加载幸好具有固定宽比,即高度/宽度的图像= 1.5

我有以下要求: 图像视图的宽度应该占据屏幕宽度的75%的。 高度应精确1.5倍新的屏幕宽度, 即

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

Curretly我这样

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)方法滑翔调整大小