在GWT UiBinder中使用非CSS常量

时间:2012-09-28 08:55:45

标签: gwt uibinder

我正在尝试在GWT的UiBinder XML中使用常量或定义。我发现的所有问题和答案都与CSS常量有关,在元素中使用@def注释,但这不是我需要的。举个例子:

<g:Button width="60" height="24">Hello</g:Button>

如果我的页面上有50个按钮,所有按钮尺寸相同,我不想设置每个按钮的尺寸,如上所示。如果我想更改宽度,我必须对页面上的所有按钮执行此操作。所以,我正在寻找的是这样的:

<g:Button width="{myWidth}" height="{myHeight}">Hello</g:Button>

常量“myWidth”和“myHeight”在UiBinder XML文件的开头指定。我尝试过这样做,但我无法让它发挥作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

一个。你就是这样做的:

<ui:with field="styleConstants" type="...constants.StyleConstants" />

<g:Button width="{styleConstants.myWidth}" height="{styleConstants.myHeight}">Hello</g:Button>

显然,StyleConstants应该有myWidth()和myHeight()方法。

B中。将相同大小设置为50个按钮是错误的。这就是CSS类的用途。定义一个CSS类并将其分配给每个按钮:

<g:Button styleName="button">Hello</g:Button>

为此,您可以使用外部CSS文件或CSS资源。