我需要在UiBinder中实现DockLayoutPanel。我知道我们可以在UiBinder中使用 等与DockLayoutPanel.addNorth(),DockLayoutPanel.addWest()进行相同的操作。

我的问题是,Uibinder中有什么可以与DockLayoutPanel.insertNorth(),DockLayoutPanel.insertWest()相同的功能吗?

另外,是否有任何我可以搜索Uibinder命令的正式文档,以便我可以知道可用于uibinder的内容?

谢谢。

最佳答案

DockLayoutPanel的add*()insert*()方法都用于以编程方式添加子面板的运行时。 UiBinder与这些方法没有做“同一件事”。您直接在UiBinder上进行的工作仅发生在设计时。

UiBinder是一个静态布局工具,是初始化后立即为您的小部件提供“快照”,这是一种首先描述元素相对于彼此的位置的方法。

初始化后,可以通过程序操作使用UiBinder指定的小部件。假设您指定了以下布局:

 <g:DockLayoutPanel ui:field="myDockPanel">
    <g:north size="100">
        <g:Label ui:field="northernLabel">I am far north</g:Label>
    </g:north>
    <g:center>
        <g:Label ui:field="centerLabel">Center Stage</g:Label>
    </g:center>
</g:DockLayoutPanel>


现在,在视图初始化之后运行的代码中,您可以执行以下操作:

myDockPanel.insertNorth(new Label("I am even farther north!"), 100.0, northernLabel);



  另外,有什么我可以搜索Uibinder的官方文件
  命令,以便我知道可以为uibinder使用什么?


Google开发人员指南section on declarative layout with UiBinder是AFAIK的官方版本。

10-01 05:03