themesを使用し、custom style to your menu bar(ほとんど最後までスクロール)を追加すると、これはかなり簡単に構成できるはずです(例:)。下のサンプルは非常に基本的ですが、あなたはそのアイデアを得るでしょう。あなたのテーマで
CSSの設定:
.red {
background-color: red;
}
サンプルコード:
public class MenuBarComponent extends VerticalLayout {
public MenuBarComponent() {
MenuBar menu = new MenuBar();
// add the custom style
menu.addStyleName("red");
// A top-level menu item that opens a submenu
MenuBar.MenuItem drinks = menu.addItem("Beverages", null, null);
// Submenu item with a sub-submenu
MenuBar.MenuItem hots = drinks.addItem("Hot", null, null);
hots.addItem("Tea", null);
hots.addItem("Coffee", null);
// Another submenu item with a sub-submenu
MenuBar.MenuItem colds = drinks.addItem("Cold", null, null);
colds.addItem("Milk", null);
colds.addItem("Weissbier", null);
// Another top-level item
MenuBar.MenuItem snacks = menu.addItem("Snacks", null, null);
snacks.addItem("Weisswurst", null);
snacks.addItem("Bratwurst", null);
snacks.addItem("Currywurst", null);
// Yet another top-level item
MenuBar.MenuItem servs = menu.addItem("Services", null, null);
servs.addItem("Car Service", null);
addComponent(menu);
}
}
結果:
更新
v-menubar-popup
のスタイリングは、メニューがポップアウトされるたびにカスタムスタイルが追加されるたびに作成されるため、難しいです。状況の下で、あなたが上記のサンプルから始まる次の回避策を使用することができます。完全にメニューの基本スタイルを変更)
1:
menu.setPrimaryStyleName("custom-menubar");
2)あなたのテーマでmenu-bar mixinを使用して新しいスタイルを作成し、追加しますカスタムポップアップのスタイルだけでなく:
@include valo-menubar("custom-menubar", false);
.custom-menubar-popup {
background-color: red;
height: 90%; // adjust as needed
}
3)それはだから、それは完璧ではないかもしれない、あなたは、それぞれのメニューがあり項目に応じて高さを微調整する必要があります自動的に計算時間が長くなりますが、結果は有望です。
お返事ありがとうございます。しかし、私の問題は異なっています。正確な問題を説明する私のコメントを投稿しなかったのは私の間違いでした。 私はポップアップの高さをコントロールできるように、v-menubar-popupにスタイルを設定したいと思います。ポップアップを100%の高さにしてブラウザの底まで成長できるようにしたい。 しかし、問題は他の場所に影響を与えずにこれを行う方法が見つからないということです。 – Duke
@Satyaranjan実際、それは別の話です。私は可能な回避策を使って返信を更新しました。下のセクションを参照してください。 – Morfic
クイック返信ありがとうございます。一度お試しいただき、ブラウザをチェックインします。 – Duke