我需要在UiBinder中实现DockLayoutPanel。我知道我们可以使用< G:北> < G:西>在UiBinder中执行与DockLayoutPanel.addNorth(),DockLayoutPanel.addWest()相同的操作。
我的问题是,Uibinder中有什么东西可以和DockLayoutPanel.insertNorth(),DockLayoutPanel.insertWest()做同样的事情吗?
另外,是否有任何官方文件我可以搜索Uibinder命令,以便我可以知道我可以用于uibinder?
感谢。
答案 0 :(得分:2)
以下是您要找的内容:
<g:FlowPanel>
<g:DockLayoutPanel ui:field="myPanel">
<g:west size="300">
<g:VerticalPanel ui:field="mySideBar" />
</g:west>
<g:center>
<g:VerticalPanel ui:field="myMainPanel" />
</g:center>
</g:DockLayoutPanel>
</g:FlowPanel>
答案 1 :(得分:0)
Ui:Binder中没有“命令”。您可以使用窗口小部件和HTML指定布局,并且可以为窗口小部件设置各种属性(如类,宽度,高度,文本,标题,值等)。但是你不能告诉Ui:Binder在一种情况下插入一个小部件,而不是在另一种情况下插入它,例如。您可以在应用代码中执行此操作。
答案 2 :(得分:0)
DockLayoutPanel的add*()
和insert*()
方法都用于子面板的编程运行时添加。 UiBinder并没有做同样的事情&#34;作为那些方法。您直接使用UiBinder的工作仅在设计时间内进行。
UiBinder是一个静态布局工具,一个&#34;快照&#34;在初始化之后立即创建小部件,这是一种描述元素相对于彼此的位置的方法。
使用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?
谷歌开发指南section on declarative layout with UiBinder是您可以获得的官方,AFAIK。