我在相对布局中有imageView。当我创建活动时,我运行线程从互联网上抓取位图并设置imageView。
我想要的是调整位图的大小以根据相对视图大小进行缩放,同时保持宽高比。调整图像大小的代码正在运行,但我所做的是通过调用myRelativeView.getWidth()
&来获得相对视图大小。 myRelativeView.getHeight()
我认为我不应该这样做,因为文档说它可以返回0.那么在这种情况下检索相对视图大小的最佳方法是什么?
答案 0 :(得分:1)
根据您的要求FIX:]
如果您不想更改尺寸 将ImageView scaleType设置为“matrix”
如果你想改变大小但保持宽高比 将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"/>
答案 1 :(得分:0)
如果布局与整个屏幕成比例,您可以尝试:
Display display = getWindowManager().getDefaultDisplay();
width = display.getWidth()
// *比例;或-dp; height = display.getHeight() // * proportion2;或-dp;