我遇到了 gwt 似乎没有办法解决的情况。
我已经创建了一个包含许多动态剪裁图像的复合小部件,因此我可以像平铺 map 一样移动剪裁。一切顺利,直到我开始使用 json 作为描述布局的 TextResource。 ui-binder 在我的情况下不起作用。
我让 ClientBundleWithLookup 和 ConstantsWithLookup 工作正常,但没有查找 CSS 类。 style() 的查找 [如在许多示例中] 为您提供了原始 css 文件的混淆 block - 但无法将这些乱码名称映射到 css 和 json 定义中的原始名称。
然后我想到了一种解决方法是将我的 css 作为 TextResource 而不是 CssResource 发送并手动处理它。花了一整天这样做之后 - 浏览器上没有样式,因为生成的 gwt javascript 在浏览器中运行后会查找这些乱码名称。
我需要一种在运行时查找 css 样式名称的方法,理想的是也有一个 CssResourceWithLookup 类。也没有反射,所以我无法映射 java 方法以传递给 setStyleName()。
我还在谷歌的某个地方发现了一种生成这些名称的调试图的方法——但是我看不出这对我有什么帮助,因为这些名称在每次编译后都会改变。所以我完全被困住了。我只是不明白 gwt 团队如何在一半的资源包上使这个“查找”功能失败。
有人能解决这个问题吗?
最佳答案
@external
可能对您有所帮助:它关闭了类名混淆。
在 MyStyles.css 中:
@external .style1, .style2;
.style1{
color: green;
}
.style2{
color: red;
}
在您的 Java 代码中:
myTile1.addStyleNames("style1");
myTile2.addStyleNames("style2");
关于css - gwt 没有 CssResource'WithLookup' 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22385719/