我在相对布局中有imageView。当我创建活动时,我运行线程以从Internet抓取位图并设置imageView。
我想要的是在保持宽高比的同时,根据相对视图大小调整位图的大小以进行缩放。调整图像大小的代码正在工作,但是我要做的是通过调用myRelativeView.getWidth()
和myRelativeView.getHeight()
来获得相对视图大小,我觉得我不应该这样做,因为文档说它可能返回0。在这种情况下检索相对视图大小的最佳方法?
根据您的要求修正:]
如果您不想更改大小:将ImageView
scaleType
设置为“矩阵”
如果要更改尺寸但要保持宽高比:将ImageView
scaleType
设置为“ fitCenter”(或“ fitStart”,“ fitEnd”)
更改代码:
ImageView image;
image = (ImageView)findViewById(R.id.yourImageView1);
image.setScaleType(ImageView.ScaleType.FIT_CENTER);
要更改XML:范例
<ImageView
android:layout_width="match_parent"
android:layout_width="match_parent"
android:scaleType="fitCenter"
android:src="ic_launcher"/>
如果布局与整个屏幕成比例,则可以尝试:
Display display = getWindowManager().getDefaultDisplay();
width = display.getWidth()
// *比例;或-dp;高度= display.getHeight()// * proportion2;或-dp;