3

在以下示例中,来自文件 MessageView.ui.xml:

<ui:style>
    .polite {
      position:fixed;
      background-color:notice-background-color;
      top:1em;
      left:2em;
      white-space:nowrap;
      border-radius:.5em;}
</ui:style>

<g:PopupPanel styleName="{style.polite}">
    <g:HTML ui:field="message">Message goes here.</g:HTML>
</g:PopupPanel>

我可以定义@notice-background-color 以便其他 UiBinder 文件也可以使用该定义吗?

4

1 回答 1

3

是的你可以。将您的颜色定义为 static String

package com.myproject.client.resource;

public class MyColors {
    public static String lightGreen = "#0bdc1a";
}

并定义一个@eval变量:

<ui:style>
    @eval notice-background-color com.myproject.client.resource.MyColors.lightGreen;

    .polite {
      position:fixed;
      background-color:notice-background-color;
      top:1em;
      left:2em;
      white-space:nowrap;
      border-radius:.5em;}
</ui:style>

<g:PopupPanel styleName="{style.polite}">
    <g:HTML ui:field="message">Message goes here.</g:HTML>
</g:PopupPanel>
于 2013-04-17T14:07:40.627 回答