0

Android应用程序中,
我创建了一个LinearLayout,其中包含一个TableLayout,其中包含一些行,其中一行包含一个名为mText1的TextView

我用这个带有mText1设置的LinearLayout设置了一个弹出窗口,如下所示:
mText1.getLayoutParams().height = OLD VALUE

然后,当用户在表格另一行的弹出窗口中单击ImageView时,我想更改mText1的高度,如下所示:
mText1.getLayoutParams().height = NEW VALUE

问题是这不会生效,但是当我输入以下代码时,它会生效:
mText1.setGravity(Gravity.CENTER)

或者,如果我键入以下代码而不是前面的代码,它也会生效:
mText1.setText("some value")

为什么?

4

1 回答 1

1

requestLayout()更改后需要调用LayoutParams

请求布局()

当某些事情发生变化而导致该视图的布局无效时调用它。这将安排视图树的布局传递。

setGravitysetText正在为您处理。

于 2019-02-05T15:37:25.787 回答