我正在尝试在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文件的开头指定。我尝试过这样做,但我无法让它发挥作用。
有什么想法吗?
答案 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资源。