9

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

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

4

2 回答 2

8

在对 GWT 进行一些改进之后,这个问题的新答案位于https://stackoverflow.com/a/11785903/439317。复制如下以避免版主删除(也许?)。

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

例如,

class MyPanel extends AbsolutePanel {

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

然后,在你的 uiBinder 中,你可以说

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

请参阅http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/uibinder/client/UiChild.html上的@UiChild

于 2012-12-12T19:07:34.973 回答
3

您正在寻找的是 UiBinder 的自定义元素解析器。看到这个问题。不幸的是,它还不支持。

您可能会对这篇文章感兴趣,以获取有关如何自行扩展当前解析器的一些指导。

于 2010-11-03T06:47:08.477 回答