为什么我的ImageView不能以编程方式更改其ScaleType?

时间:2017-01-10 21:06:05

标签: android android-studio imageview android-imageview

我有一个名为ImageView的{​​{1}}我以编程方式将其设置为"alumniImage"的{​​{1}}。

但是在应用程序中它似乎没有改变。

以下是代码:

ScaleType

我尝试使用调试器而没有任何改变。

这是一个截图:

enter image description here

为什么会发生这种情况?!

BTW我试图将CENTERCROP放在xml文件中,它运行正常。

提前致谢。

2 个答案:

答案 0 :(得分:1)

因为ImageView在设置scaleType之前绘制了图像。因此,它使用默认scaleType(FIT_CENTER),

scaleType之前设置setImageResource

alumniImage.setScaleType(ImageView.ScaleType.CENTER_CROP);
alumniImage.setImageResource(R.drawable.alumni_survey);

我建议您在LayoutParams方法

中设置addView
alumniLayout.addView(alumniImage, imageParams);

答案 1 :(得分:1)

屏幕截图让我了解了正在进行的事情。

您的调试器的当前行是空白的源代码行

每当我得到它,这意味着我正在调试过时的APK。源代码已更改,但APK尚未重建。

清理项目,重建所有内容并重试。你应该看到你的期望。

哦,是的,如果你正在使用Instant Run,请将其关闭。当我更新任何东西时,那件事永远不会注意到。