有没有人能告诉我如何通过代码而不是通过TextView
来设置wrap_content
的宽度?
我在代码中动态创建了一个TextView
,那么有没有办法通过代码将它的宽度设置为wrap_content
呢?
发布于 2011-02-01 02:20:47
TextView pf = new TextView(context);
pf.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
对于不同的布局,如ConstraintLayout
和其他布局,它们有自己的LayoutParams
,如下所示:
pf.setLayoutParams(new ConstraintLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
或
parentView.addView(pf, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
发布于 2014-01-29 03:00:42
还有另一种方法可以达到同样的效果。如果您只需要设置一个参数,例如'height':
TextView textView = (TextView)findViewById(R.id.text_view);
ViewGroup.LayoutParams params = textView.getLayoutParams();
params.height = ViewGroup.LayoutParams.WRAP_CONTENT;
textView.setLayoutParams(params);
发布于 2020-09-30 19:54:30
这篇文章的一个小更新:如果你在你的Android项目中使用ktx,有一个小的助手方法可以让更新LayoutParams变得更容易。
如果你想要更新,比如只更新宽度,你可以用Kotlin中的以下代码行来完成。
tv.updateLayoutParams { width = WRAP_CONTENT }
https://stackoverflow.com/questions/4854492
复制相似问题