在java而不是xml中使用uibinder css

com*_*tta 4 java gwt uibinder

在我的ui.xml中,我的风格如下

<ui:style src="../teststyle.css" />
Run Code Online (Sandbox Code Playgroud)

如果我想以编程方式使用java文件而不是ui.xml中的样式,在我的小部件中如何调用.setStyleName(..)作为css被混淆

z00*_*0bs 15

您需要执行以下步骤才能使用视图类中的样式:

  • 定义CssResource在视图类中扩展的接口
interface Style extends CssResource {

    String myStyle();

}
Run Code Online (Sandbox Code Playgroud)
  • 添加您在视图类中定义的该类型的ui字段
@UiField
Style style;
Run Code Online (Sandbox Code Playgroud)
  • 在您的ui.xml中,将type属性添加到<ui:style>元素中(类型必须与步骤1的界面匹配):
<ui:style type="com.example.MyView.Style">
Run Code Online (Sandbox Code Playgroud)
  • 对于要在视图类中访问的每个css类,需要向Style接口添加方法(与完成时一样myStyle())

  • 您现在可以通过style字段(style.myStyle())访问该样式

希望有所帮助.