我有一个用UiBinder声明的小部件。此窗口小部件的实例广泛用于构建不同视图的应用程序中。我的任务是实现一个新的视图,其中应该重新排序几个面板。
<g:FlowPanel ui:field="text" styleName="...">
...
<g:FlowPanel>
<g:FlowPanel ui:field="images" styleName="...">
...
</g:FlowPanel>
对于给定的样本结构,我需要将图像放在文本的顶部以用于新的自定义视图。我不想复制小部件的代码。而且我不想用虚设容器替换面板,然后在代码中对该容器进行添加,因为样式已经存在,而其他代码依赖于此结构。
我现在要解决的问题是我用UiBinder中的容器FlowPanel包装这两个面板(到目前为止是无害的),并且根据上下文我在代码中做了类似下面的事情:
if (isSwapRequired) {
images.removeFromParent();
container.insert(images, 0);
}
问题是 - 是否有更优雅的方式进行重新排序,或者给定的方法是否足够好?
感谢。
答案 0 :(得分:0)
我建议您使用一些视图实现,并且演示者通过接口与它们进行通信。
答案 1 :(得分:0)
使用现有的简单解决方案结束。