UiBinder文件中的自定义标签

问题描述:

在UiBinder.ui.xml文件中使用<g:LayoutPanel>时,可以指定<g:layer>标签。其他一些Google构建的小部件也有类似的特殊标签 - <g:tab>甚至有一个子标签<g:header>UiBinder文件中的自定义标签

如何为我自己的小部件指定这些?

+0

问题说

<custom:MyPanel> <custom:at parameter1="HI" parameter2="Anything you like!"> <g:AnySingleWidget /> </custom:at> </custom:MyPanel> 

见@UiChild仍然是有趣的,两年后:你知道关于任何改进? – jabal 2012-12-10 10:53:00

+0

是的,有一些明显的改进:查看@UiChild – 2012-12-11 05:36:21

+0

实际上,查看http://*.com/a/11785903/439317 – 2012-12-11 16:17:34

经过GWT的一些改进后,这个问题的新答案是https://*.com/a/11785903/439317。复制下面,以避免版主删除(也许?)。

您可以使用@UiChild在UiBinders中访问您的小部件中声明特殊功能。

例如,

class MyPanel extends AbsolutePanel { 

    @UiChild 
    public void addAt(Widget w, String parameter1, String parameter2) { 
     .... 

然后,在你UiBinder的,你可以在http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/uibinder/client/UiChild.html

您正在寻找的是UiBinder的自定义元素解析器。见this issue。不幸的是,它尚未得到支持。

您可能会对this post感兴趣,以获得关于如何自行扩展当前解析器的一些指导。