mText1.getLayoutParams().height = NEW VALUE 在弹窗中不生效window

mText1.getLayoutParams().height = NEW VALUE does not take effect in popup window

Android申请中,
我创建了一个 LinearLayout,其中包含一个 TableLayout,其中包含一些行,其中一行包含一个 TextView名为 mText1

我使用此 LinearLayoutmText1 设置弹出窗口 window 如下:
mText1.getLayoutParams().height = OLD VALUE

然后当 table 的另一行中的弹出 window 用户点击 ImageView 时,我会想改变 mText1 的高度如下:
mText1.getLayoutParams().height = NEW VALUE

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

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

为什么?

更改LayoutParams后需要调用requestLayout()

requestLayout()

Call this when something has changed which has invalidated the layout of this view. This will schedule a layout pass of the view tree.

setGravitysetText 正在为您处理。