我正在尝试在 GWT2.2 元素中同时使用 CssResource 和 ImageResource。
CssResource 和混淆工作正常,但我在访问图像时遇到问题。
我已经可以通过以下方式直接从 ui.xml 文件中通过 ImageResource 访问图像:
<ui:with type="com.example.client.resource.ResourceBundle" field="myResource"/>
<g:Image resource="{myResource.image}"/>
但我无法使用@sprite 从外部 .css 文件中附加 ImageResource。
我有以下接口(interface):
public interface ResourceBundle extends ClientBundle {
ResourceBundle INSTANCE = GWT.create (ResourceBundle.class);
@Source("com/example/client/resource/images/image.png")
ImageResource image();
@Source("com/example/client/resource/css/mystyle.css")
MyCssResource myCssResource();
}
public interface MyCssResource extends CssResource {
String className();
}
当我将 Sprite 添加到 css 文件时,
@sprite .className {
gwt-image: 'image';
}
我收到以下错误信息:
[ERROR] - Unable to find ImageResource method value("image") in
com.example.client.views.MyView_BinderImpl_GenBundle : Could not find
no-arg method named image in type com.example.views.MyView_BinderImpl_GenBundle
最佳答案
您可以按如下方式从 UiBinder 模板访问您的样式:
<ui:with type="com.example.client.resource.ResourceBundle" field="myResource"/>
<g:FlowPanel styleName="{myResource.myCssResource.className}"/>
关于css - 使用@sprite 从外部 CSS 文件附加 ImageResource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5546782/