0

我的班级扩展了 Manager 并调用setPositionChild(Field f)了 changef的位置。调用setPositionChild()方法后,如何应用位置(即重新布局和重新绘制)以便我可以看到更改?

我试图打电话invalidate(),但没有奏效。

4

1 回答 1

2

invalidate() 只是强制重绘,它不会重做整个布局,正如您所注意到的。

您可以通过转到父Screen对象并调用 invalidateLayout() 来强制重新布局。强制布局几乎肯定会在您尝试移动的字段上调用 ​​setPositionChild(),因此您需要确保管理器布局代码保留新的字段位置。这可能意味着您需要编写一个自定义管理器。

于 2012-12-06T04:16:30.573 回答