2

我有一个带有 ImageView 的 Android 活动。我将图像视图的 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 服务将 Drawable 放入 ImageView 中......

有人对解决方案有想法吗?

4

2 回答 2

1

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

于 2013-04-26T14:43:51.860 回答
0

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

于 2013-05-09T10:24:30.280 回答