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