0

我有一个用 UiBinder 声明的小部件。此小部件的实例广泛用于构建不同视图的应用程序中。我的任务是实现一个新视图,其中几个面板应该重新排序。

<g:FlowPanel ui:field="text" styleName="...">
...
<g:FlowPanel>

<g:FlowPanel ui:field="images" styleName="...">
...
</g:FlowPanel>

对于给定的示例结构,我需要将图像放在文本顶部以获取新的自定义视图。我不想复制小部件的代码。而且我不想用虚拟容器替换面板,然后在代码中对该容器进行添加,因为样式已经在这里并且其他代码依赖于这种结构。

我现在要解决的问题是将这两个面板与容器 FlowPanel 包装在 UiBinder 中(到目前为止它是无害的),并根据上下文在代码中执行以下操作:

if (isSwapRequired) {
   images.removeFromParent();
   container.insert(images, 0);
}

问题是 - 是否有更优雅的重新排序方式,或者给定的方法足够好?

谢谢。

4

2 回答 2

0

我建议您使用一些视图实现,并且演示者通过接口与它们进行通信。

于 2013-03-18T19:41:24.027 回答
0

最终使用现有的简单解决方案。

于 2013-04-24T00:48:03.513 回答