Android ImageView 动态 ScaleType

3

我有一个带有ImageView的Android Activity。 我将ImageView的ScaleType设置为CENTER_CROP,因此图像本身不会被拉伸。

<ImageView
    android:id="@+id/imgView"
    android:layout_width="fill_parent"
    android:layout_height="135dp"
    android:scaleType="centerCrop"
    android:src="@drawable/capture" />

最初加载的图像符合我的预期,它被裁剪到中心,并填充整个ImageView。

现在,如果我以编程方式设置ImageView的图像,

imgView.setImageBitmap(b)
imgView.setScaleType(ImageView.ScaleType.CENTER_CROP);

图片被显示出来了,但它被完全拉伸以填充ImageView... AdjustViewBounds 没有任何效果,其他任何方法也没有效果。
工作的XML和不工作的Java代码之间的区别在于XML将图像作为资源放置,而代码从Web服务中向ImageView放置Drawable。
有人有解决方案的想法吗?
2个回答

1
我不确定,但android:scaleType="fitXY"android:scaleType="fitCenter"可能是你的问题的解决方案。

1
这也不起作用,无论如何我想要统一缩放图像(保持图像的长宽比)... - Schaemelhout

0

我通过使用来自我的相机意图的原始图像解决了这个问题。由于某种原因,所有缩略图位图都被拉伸并处于横向模式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接