1

我的表单底部有四个按钮。单击这些按钮中的任何一个都会导致容器准备工作。在这个容器中,我有五个组件(包括按钮),并且这个容器可以处于三种状态(在容器内的按钮单击时发生变化)。

通过三种状态,我的意思是每次我按下作为组件添加到此容器中的按钮时,我需要替换一些/添加一个或两个组件,然后再次显示容器。

现在,我很困惑是否应该更换容器内的组件,还是应该在每次单击按钮时创建一个新容器并交换整个容器本身。

PS:更关心性能。

问候。

4

2 回答 2

1

您可以使用名为 replace 的方法交换组件Container,您只需要传递新Component的和旧的。您也可以使用动画或将其设置为 null。

于 2013-10-27T16:20:39.197 回答
1

您可以使用 addComponent() 和 removeComponent() 从容器中添加和删除元素。Is 与元素向量非常相似。

我写了一个代号一的例子,我在一个网格中交换组件:http: //meier-online.com/en/2012/10/codename-one-mirror-grid/ 这在 lwit 中应该是一样的(除了也许是动画)

我认为更改容器或更改其中的组件之间没有太大的性能差异。对于重绘,在这两种情况下都必须重新计算布局,并且容器本身没有那么大的内存占用(例如图像)。但是你应该注意到一个组件有一个getParent()方法,所以它意味着只有一个父级。所以我只会使用一个容器并交换元素。

于 2013-10-28T21:28:44.063 回答