私の知る限り、テーマは実行時に切り替えることができます(下記のサンプルコードを参照してください)が、グローバル/ UIレベルで設定されています。ビューが完全に変更され、メニューバーのように変更してはならない共通のセクションがない場合は、これが有効です。
Javaクラス:
myButton.addStyleName("red-border");
public class MyUI extends UI {
@Override
protected void init(VaadinRequest request) {
VerticalLayout content = new VerticalLayout();
content.setSizeFull();
setContent(content);
content.addComponent(new TextField());
content.addComponent(new Button("Switch theme", e -> {
if (getTheme().equals("mytheme1")) {
setTheme("mytheme2");
} else {
setTheme("mytheme1");
}
}));
}
}
そうでない場合は、テーマエンジンは、あなたのさまざまなコンポーネントのための(あるいはデフォルトを上書き)とaddStyleName()
を使用してそれらを適用define your own stylesにあなたを可能に
テーマ設定:
@mixin mytheme1 {
@include valo;
// Insert your own theme rules here
.red-border {
// custom style added with addStyleName()
border: 1px red solid;
}
.v-button {
// global override of default v-button rule
background-color: green;
}
}