4

私のui.xmlには、次のようなスタイルがあります

<ui:style src="../teststyle.css" />

ui.xmlではなくjavaファイル内のスタイルをプログラムで使用したい場合、ウィジェットでcssが難読化されているために.setStyleName(..)を呼び出す方法

4

2 に答える 2

15

ビュークラスでスタイルを使用するには、次の手順を実行する必要があります。

  • CssResourceビュークラスで拡張するインターフェースを定義する
interface Style extends CssResource {

    String myStyle();

}
  • ビュークラスで定義したそのタイプのUIフィールドを追加します
@UiField
Style style;
  • ui.xmlで、要素にtype属性を追加します<ui:style>(タイプはステップ1のインターフェースと一致する必要があります)。
<ui:style type="com.example.MyView.Style">
  • Styleビュークラスでアクセスするcssクラスごとに、インターフェイスにメソッドを追加する必要があります(で行われるようにmyStyle()

  • styleこれで、フィールド(style.myStyle())を介してスタイルにアクセスできます。

お役に立てば幸いです。

于 2010-10-20T14:34:24.860 に答える
2

私があなたの質問を正しく理解しているなら、あなたはCssResourceから拡張するクラスを定義しなければなりません(あなたはおそらくそれをすでに行っています)。あなたの見解では、このクラスの静的インスタンスを持つことができます(それを呼びましょうcssInstance)。コンストラクターでは、を呼び出す必要がありますcssInstance.ensureInjected()。スタイルを追加または設定する場合は、例のように簡単に行うことができます。anyWidget.addStyleName(cssInstance.styleBorder());

于 2010-10-20T14:20:11.293 に答える