Android ImageView动态ScaleType

时间:2013-04-26 13:43:55

标签: android android-layout imageview scale

我有一个带有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服务的DrawView放在ImageView中......

有没有人对解决方案有所了解?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我通过使用相机意图中的原始图像解决了这个问题。出于某种原因,所有缩略图位图都以横向模式展开。