首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ImageView getLayoutParams()返回null

ImageView getLayoutParams()返回null
EN

Stack Overflow用户
提问于 2012-10-26 04:05:32
回答 2查看 24.9K关注 0票数 24

我正在用这个简单的方法程序化地创建一个小部件

代码语言:javascript
复制
private ImageView getModuleIconView(Module module) {
    ImageView view = new ImageView(context);
    view.setImageResource(module.getIconResId());        
    view.getLayoutParams().height = 50; //NullPointerException
    return view;
}

我得到了NullPointer异常,因为getLayoutParams返回null。为什么会这样呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-26 04:10:30

因为你的图像视图正在播放,所以你没有把它放到屏幕上。因此它没有任何布局参数或任何大小。

如果你想将图像的高度设置为50,你可以考虑设置这个视图的layoutParams ...您可以将layoutParams的高度设置为50。所以它会做你想做的事。

代码语言:javascript
复制
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, 50));
 img.setLayoutParams(lp);

这些线条会将图像的高度设置为50,但不要忘记我假设您的父视图为线性布局,如果不是,那么您应该使用它的layoutparams。

票数 57
EN

Stack Overflow用户

发布于 2020-03-17 14:33:54

Kotlin回答

出现这种情况的原因(可能)是您刚刚创建了它,并且还没有在屏幕上呈现它。幸运的是,您可以自己设置它

代码语言:javascript
复制
val width = LayoutParams.WRAP_CONTENT // or LayoutParams.MATCH_PARENT
val height = (context.)resources.getDimension(R.dimen.my_size)

view.layoutParams = LinearLayout.LayoutParams(width, height)

确保将LinearLayout更改为您要添加到的任何布局。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13076377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档