在java中使用uibinder css而不是xml
我的样式如下
<ui:style src="../teststyle.css" />
在我的 ui.xml 中,如果我想以编程方式使用 java 文件内的样式而不是 ui.xml 中的样式, ,在我的小部件中如何调用 .setStyleName (..) 因为 css 被混淆了
in my ui.xml, i have style like below
<ui:style src="../teststyle.css" />
if i want to programmatically use the style inside java file rather than ui.xml, in my widget how to call .setStyleName(..) as the css is obfuscated
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要执行以下步骤才能在视图类中使用样式:
CssResource
的接口type
属性添加到
元素(类型必须与步骤 1 的界面匹配):对于每个 css 类您想要在视图类中访问,您需要向
Style
接口添加一个方法(如使用myStyle()
完成的那样)您现在可以通过以下方式访问样式
style
字段 (style.myStyle()
)希望有帮助。
You need to do the following steps to use the styles in your view class:
CssResource
in your view classtype
attribute to your<ui:style>
element (the type must match the interface of step 1):For each of the css classes you want to access in your view class you need to add a method to the
Style
interface (as done withmyStyle()
)You can now access the style via the
style
field (style.myStyle()
)Hope that helps.
如果我正确理解你的问题,你必须定义一个从 CssResource 扩展的类(你可能已经这样做了)。在您看来,您可以拥有此类的静态实例(我们称之为
cssInstance
)。在构造函数中,您必须调用cssInstance.ensureInjected()
。如果您现在想要添加或设置样式,可以轻松完成,例如:anyWidget.addStyleName(cssInstance.styleBorder());
if i understand your question correct you have to define a class which extends from CssResource (you probably have done that already). In your view you can have a static instance of this class (let's call it
cssInstance
). In the constructor you have to callcssInstance.ensureInjected()
. If you now want to add or set a style you can do it easly like Example:anyWidget.addStyleName(cssInstance.styleBorder());