Android ImageView动态ScaleType

标签 android android-layout imageview scale

我有一个带有 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/

相关文章:

java - 解析 AsyncTask 时出错

android - 未收到 <show/>away</show>(离开 - 资源暂时离开)元素不可用的状态类型

Android垂直进度条

gridView 中的 Android 图像顺序错误

android - 如何从 YouTube URL 获取视频缩略图并将其设置为 android 中的 ImageView

java - 删除数字时应用程序崩溃(redmadrobot 输入掩码)

android - NavigationDrawer布局元素不可点击

java - 为什么在构造函数中赋值时,clone()函数显示不兼容的类型?

android - GC_Concurrent Freed 和 Android 内存

android - 具有全屏缩放功能的 ImageView