ImageView宽度= 0.75x屏幕宽度& height = 1.5 x新的ImageView宽度XML

时间:2016-11-12 12:29:18

标签: android image android-layout imageview android-glide

我正在使用Glide将图像加载到ImageView中。

在从互联网上加载图片之前,我正在添加占位符图片,直到图片完成加载。

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

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

angular2.dev.js:23730 Error: Expression 'ngClassUntouched in App@2:6' has changed after it was checked. Previous value: 'true'. Current value: 'false'
    at ExpressionChangedAfterItHasBeenCheckedException.BaseException [as constructor] (angular2.dev.js:7587)
    at new ExpressionChangedAfterItHasBeenCheckedException (angular2.dev.js:4992)
    at ChangeDetector_App_1.AbstractChangeDetector.throwOnChangeError (angular2.dev.js:9989)
    at ChangeDetector_App_1.detectChangesInRecordsInternal (viewFactory_App:143)
    at ChangeDetector_App_1.AbstractChangeDetector.detectChangesInRecords (angular2.dev.js:9874)
    at ChangeDetector_App_1.AbstractChangeDetector.runDetectChanges (angular2.dev.js:9857)
    at ChangeDetector_App_0.AbstractChangeDetector._detectChangesContentChildren (angular2.dev.js:9930)
    at ChangeDetector_App_0.AbstractChangeDetector.runDetectChanges (angular2.dev.js:9858)
    at ChangeDetector_HostApp_0.AbstractChangeDetector._detectChangesInViewChildren (angular2.dev.js:9936)
    at ChangeDetector_HostApp_0.AbstractChangeDetector.runDetectChanges (angular2.dev.js:9861)

Curretly我以这种方式实现以编程方式

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

我正在寻找的是通过XML而不是程序化来满足这些要求的有效解决方案。
我知道您可以使用布局权重设置宽度为75%但是如何在此之后设置高度吗

我希望我的要求很清楚。在此先感谢。

2 个答案:

答案 0 :(得分:0)

你可以在Glide中使用override(w,h)方法来调整大小

答案 1 :(得分:0)

您可以使用PercentRelativeLayout。 例如,如果你想要16:9的宽高比,你应该向你的PercentRelativeLayout添加这样的东西:

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