Android以编程方式调整imageview的大小

Android以编程方式调整imageview的大小,android,Android,是否可以在代码中调整imageview的大小?我试过: img.getLayoutParams().width = 100; 但是如果我这样做,应用程序会崩溃。您的应用程序可能会崩溃,因为您的ImageView可能没有动态生成(您的堆栈跟踪链接是404,因此我无法验证) 在任何情况下,要使系统重新绘制图像视图,必须调用img.requestLayout()。但是,调用requestLayout()与文档相反,因此实际上invalidate()也在requestLayout()之后调用 试试这个

是否可以在代码中调整imageview的大小?我试过:

img.getLayoutParams().width = 100;

但是如果我这样做,应用程序会崩溃。

您的应用程序可能会崩溃,因为您的ImageView可能没有动态生成(您的堆栈跟踪链接是404,因此我无法验证)

在任何情况下,要使系统重新绘制图像视图,必须调用
img.requestLayout()
。但是,调用
requestLayout()
与文档相反,因此实际上
invalidate()
也在
requestLayout()之后调用

试试这个:

img.getLayoutParams().width = 100;
img.requestLayout();
img.invalidate();
编辑:


堆栈跟踪现在可用。当您尝试设置ImageView的宽度时,似乎遇到了NullPointerException。是否确定已声明ImageView?如果已经声明,那么您是否已将其添加到布局中?未添加到版面的ImageView在尝试访问其LayoutParams时将返回null(因为它还不是版面的一部分)

可能的重复项。请在此处添加您的stacktrace。如果要在布局已“布局”后设置宽度,请确保还添加了
img.requestLayout()
.Stacktrace:img.requestLayout();不起作用…您的
img
为空。如果您在xml中定义了
img
,请显示它。并显示如何获取它的视图。对于404,很抱歉,您的方法不起作用。这是一个有效的页面:谢谢!对不起,我是新来的。我该怎么做?@NilsPMC我的答案旁边有一个记号。如果单击它,勾号将变为绿色,答案将标记为正确。