我需要在一些 UI Binder 模板中使用相同的样式,所以我按照以下说明进行了所有操作:https ://developers.google.com/web-toolkit/doc/latest/DevGuideUiBinder#Using_an_external_resource 。
所以我做了以下事情:
1、创建资源界面:
公共接口资源扩展 ClientBundle { @Source("shared.css") 风格风格(); 公共接口样式扩展 CssResource { 字符串 grayedOut(); } }
shared.css
2.在与资源类相同的目录中创建文件:
.grayedOut{ 背景颜色:红色; }
with
3. UI Binder模板
新增元素:<ui:with type="correct.package.Resources" field="res"/>
4、在UI Binder模板中增加了对样式的引用:addStyleNames="{res.style.grayedOut}"
但是它不起作用。视图被渲染,就像 grayedOut 样式根本没有应用一样。
但我观察到两件事:
- 在 Firebug/Chrome 开发工具中,我可以看到该元素分配了一个与我要添加的样式相对应的滥用样式名称:(
class="GAWERH0MI gwt-TabLayoutPanelContent"
似乎GAWERH0MI
对应于我的grayedOut
类)但我无法在“元素样式”面板中找到它可能意味着这个类是空的(没有主体)。(我做了实验并将空类分配给在该工具中具有相同效果的元素)。 - 当我在 .css 中更改样式名称时,出现运行时错误,即
grayedOut
找不到样式,这似乎意味着我的样式类通常已成功找到,但由于某种原因无法按预期工作。