是否可以在代码中调整imageview的大小?我试过了:
img.getLayoutParams().width = 100;
但如果我这样做,应用程序会崩溃。
答案 0 :(得分:1)
您的应用可能会崩溃,因为您的ImageView可能尚未动态生成(您的堆栈跟踪链接是404,因此我无法验证)。
在任何情况下,要使系统重绘ImageView,您必须调用img.requestLayout()
。但是,调用requestLayout()
is not guaranteed to result in an onDraw与文档相反,因此实际上invalidate()
也会在requestLayout()
试试这个:
img.getLayoutParams().width = 100;
img.requestLayout();
img.invalidate();
修改强>
现在可以使用堆栈跟踪。当您尝试设置ImageView的宽度时,您似乎得到了NullPointerException。你确定你的ImageView已被声明了吗?如果已声明,那么您是否已将其添加到布局中?未添加到布局中的ImageView在尝试访问它的LayoutParams时会返回null(因为它还不是布局的一部分)