UiBinder用于以声明的方式布置 GWT 组件,使用 XML 标记,而不是以编程方式使用 Java 代码。
UiBinder 树中的新 XML 元素意味着应该创建该类的新实例。因此,GWT 文档中的这个示例实例化了一个新的 HorizontalPanel 和两个标签:
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<g:HorizontalPanel>
<g:Label>Keep your ducks</g:Label>
<g:Label>in a row</g:Label>
</g:HorizontalPanel>
</ui:UiBinder>
还有另一个示例,带有 DockLayoutPanel:
<g:DockLayoutPanel unit='EM'>
<g:north size='5'>
<g:Label>Top</g:Label>
</g:north>
<g:center>
<g:Label>Body</g:Label>
</g:center>
<g:west size='10'>
<g:HTML>
<ul>
<li>Sidebar</li>
<li>Sidebar</li>
<li>Sidebar</li>
</ul>
</g:HTML>
</g:west>
</g:DockLayoutPanel>
在这种情况下,元素是“north”、“west”、“center”,但它们不是类的新实例,而是新 DockLayoutPanel 的配置。
- 如何编写像 DockLayoutPanel 一样接受自定义 UiBinder XML 元素的组件?
- 在类 DockLayoutPanel 的源代码中,或者在它的配置文件中,它是否被标记为使用特殊标记,以及如何处理特殊标记元素的内部内容?
- 还有哪些小部件接受特殊的 UiBinder 标记?