我有一个用 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);
}
问题是 - 是否有更优雅的重新排序方式,或者给定的方法足够好?
谢谢。