首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >通过代码将TextView的宽度设置为wrap_content

通过代码将TextView的宽度设置为wrap_content
EN

Stack Overflow用户
提问于 2011-02-01 02:18:46
回答 5查看 122.1K关注 0票数 104

有没有人能告诉我如何通过代码而不是通过TextView来设置wrap_content的宽度?

我在代码中动态创建了一个TextView,那么有没有办法通过代码将它的宽度设置为wrap_content呢?

EN

回答 5

Stack Overflow用户

发布于 2011-02-01 02:20:47

代码语言:javascript
复制
TextView pf = new TextView(context);
pf.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

对于不同的布局,如ConstraintLayout和其他布局,它们有自己的LayoutParams,如下所示:

代码语言:javascript
复制
pf.setLayoutParams(new ConstraintLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 

代码语言:javascript
复制
parentView.addView(pf, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
票数 139
EN

Stack Overflow用户

发布于 2014-01-29 03:00:42

还有另一种方法可以达到同样的效果。如果您只需要设置一个参数,例如'height':

代码语言:javascript
复制
TextView textView = (TextView)findViewById(R.id.text_view);
ViewGroup.LayoutParams params = textView.getLayoutParams();
params.height = ViewGroup.LayoutParams.WRAP_CONTENT;
textView.setLayoutParams(params);
票数 84
EN

Stack Overflow用户

发布于 2020-09-30 19:54:30

这篇文章的一个小更新:如果你在你的Android项目中使用ktx,有一个小的助手方法可以让更新LayoutParams变得更容易。

如果你想要更新,比如只更新宽度,你可以用Kotlin中的以下代码行来完成。

代码语言:javascript
复制
tv.updateLayoutParams { width = WRAP_CONTENT }
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4854492

复制
相关文章

相似问题

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