我的表单底部有四个按钮。单击这些按钮中的任何一个都会导致容器准备工作。在这个容器中,我有五个组件(包括按钮),并且这个容器可以处于三种状态(在容器内的按钮单击时发生变化)。
通过三种状态,我的意思是每次我按下作为组件添加到此容器中的按钮时,我需要替换一些/添加一个或两个组件,然后再次显示容器。
现在,我很困惑是否应该更换容器内的组件,还是应该在每次单击按钮时创建一个新容器并交换整个容器本身。
PS:更关心性能。
问候。
我的表单底部有四个按钮。单击这些按钮中的任何一个都会导致容器准备工作。在这个容器中,我有五个组件(包括按钮),并且这个容器可以处于三种状态(在容器内的按钮单击时发生变化)。
通过三种状态,我的意思是每次我按下作为组件添加到此容器中的按钮时,我需要替换一些/添加一个或两个组件,然后再次显示容器。
现在,我很困惑是否应该更换容器内的组件,还是应该在每次单击按钮时创建一个新容器并交换整个容器本身。
PS:更关心性能。
问候。
您可以使用名为 replace 的方法交换组件Container
,您只需要传递新Component
的和旧的。您也可以使用动画或将其设置为 null。
您可以使用 addComponent() 和 removeComponent() 从容器中添加和删除元素。Is 与元素向量非常相似。
我写了一个代号一的例子,我在一个网格中交换组件:http: //meier-online.com/en/2012/10/codename-one-mirror-grid/ 这在 lwit 中应该是一样的(除了也许是动画)
我认为更改容器或更改其中的组件之间没有太大的性能差异。对于重绘,在这两种情况下都必须重新计算布局,并且容器本身没有那么大的内存占用(例如图像)。但是你应该注意到一个组件有一个getParent()方法,所以它意味着只有一个父级。所以我只会使用一个容器并交换元素。