我有一个带有 ImageView 的 Android Activity 。 我将 ImageView 的 ScaleType 放在 CENTER_CROP 上,因此图像本身不会拉伸(stretch)。
<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);
图片显示出来了,但是它被完全拉伸(stretch)以填充 ImageView... AdjustViewBounds 没有任何效果,也没有任何其他效果。
工作的 XML 和不工作的 java 代码之间的区别在于,在 XML 中,我将图像作为资源,而代码是将来自网络服务的 Drawable 放入 ImageView 中......
有人知道解决方案吗?
最佳答案
我不确定,但 android:scaleType="fitXY"
或 android:scaleType="fitCenter"
可能是您问题的解决方案。
关于Android ImageView动态ScaleType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16238046/