我的课程扩展了经理并致电setPositionChild(Field f)
来改变f
的职位。在调用setPositionChild()
方法后,如何应用位置(即重新布局和重新绘制)以便我可以看到更改?
我试图拨打invalidate()
,但无效。
答案 0 :(得分:2)
invalidate()只是强制重绘,它不会像你注意到的那样重做整个布局。
您可以通过上升到父Screen对象并调用invalidateLayout()来强制重新布局。强制布局几乎肯定会在您尝试移动的字段上调用setPositionChild(),因此您需要确保管理器布局代码保留新的字段位置。这可能意味着您需要编写自定义管理器。