我需要在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的官方版本。