在我的 ui.xml 中,我的风格如下
<ui:style src="../teststyle.css" />
如果我想以编程方式使用java 文件中的样式而不是 ui.xml,在我的小部件中如何调用 .setStyleName(..) 因为 css 被混淆了
您需要执行以下步骤才能在视图类中使用样式:
CssResource
在你的视图类中扩展的接口interface Style extends CssResource {
String myStyle();
}
@UiField
Style style;
type
属性添加到您的<ui:style>
元素(类型必须与步骤 1 的接口匹配):<ui:style type="com.example.MyView.Style">
对于您要在视图类中访问的每个 css 类,您需要向Style
接口添加一个方法(如使用 完成myStyle()
)
您现在可以通过style
字段 ( style.myStyle()
)访问样式
希望有帮助。
如果我理解你的问题是正确的,你必须定义一个从 CssResource 扩展的类(你可能已经这样做了)。在您看来,您可以拥有此类的静态实例(我们称之为cssInstance
)。在构造函数中,您必须调用cssInstance.ensureInjected()
. 如果您现在想要添加或设置样式,您可以像示例一样轻松完成:anyWidget.addStyleName(cssInstance.styleBorder());