菜单按钮消失
The menu button disappear
我正在尝试开发一个在打开菜单时带有滑动主屏幕的侧边菜单。我遇到的问题是当我关闭侧面菜单时,菜单按钮消失了。
在此处输入 图片描述
Form hi = new Form("Hi World");
Toolbar tb = new Toolbar(false);
Image icon = theme.getImage("icon.png");
Container topBar = new Container(new BorderLayout());
topBar.add(BorderLayout.SOUTH, new Label("Cool App Tagline...", "SidemenuTagline"));
topBar.setUIID("SideCommand");
Command SideLogoCommand = new Command("");
SideLogoCommand.setIcon(icon);
Command MenuCommand = new Command("");
Button HomeCommand= new Button("Home");
HomeCommand.getAllStyles().setFgColor(0xA6A6A6);
HomeCommand.addActionListener((evt) -> {
SideMenuBar.closeCurrentMenu();
});
Button WebsiteCommand= new Button("Website");
WebsiteCommand.getAllStyles().setFgColor(0xA6A6A6);
Button SettingsCommand= new Button("Settings");
SettingsCommand.getAllStyles().setFgColor(0xA6A6A6);
Container cnt = new Container(new BoxLayout(BoxLayout.Y_AXIS));
cnt.add(topBar);
cnt.add(HomeCommand);
cnt.add(WebsiteCommand);
cnt.add(SettingsCommand);
hi.setToolbar(tb);
tb.setOnTopSideMenu(false);
hi.addCommand(SideLogoCommand);
MenuCommand.putClientProperty("SideComponent", cnt);
tb.addCommandToSideMenu(MenuCommand);
hi.addComponent(new Label("Hi World"));
hi.show();
我猜是因为这条线:
tb.setOnTopSideMenu(false);
您实际上是在强制使用较旧且测试较少的侧边菜单,这些菜单在较新的代码中可能仍有回归。最好的办法是删除该行。但是如果你坚持你可以尝试调用:
hi.setAllowEnableLayoutOnPaint(true);
注意这会影响长表单等的性能
我正在尝试开发一个在打开菜单时带有滑动主屏幕的侧边菜单。我遇到的问题是当我关闭侧面菜单时,菜单按钮消失了。
在此处输入
Form hi = new Form("Hi World");
Toolbar tb = new Toolbar(false);
Image icon = theme.getImage("icon.png");
Container topBar = new Container(new BorderLayout());
topBar.add(BorderLayout.SOUTH, new Label("Cool App Tagline...", "SidemenuTagline"));
topBar.setUIID("SideCommand");
Command SideLogoCommand = new Command("");
SideLogoCommand.setIcon(icon);
Command MenuCommand = new Command("");
Button HomeCommand= new Button("Home");
HomeCommand.getAllStyles().setFgColor(0xA6A6A6);
HomeCommand.addActionListener((evt) -> {
SideMenuBar.closeCurrentMenu();
});
Button WebsiteCommand= new Button("Website");
WebsiteCommand.getAllStyles().setFgColor(0xA6A6A6);
Button SettingsCommand= new Button("Settings");
SettingsCommand.getAllStyles().setFgColor(0xA6A6A6);
Container cnt = new Container(new BoxLayout(BoxLayout.Y_AXIS));
cnt.add(topBar);
cnt.add(HomeCommand);
cnt.add(WebsiteCommand);
cnt.add(SettingsCommand);
hi.setToolbar(tb);
tb.setOnTopSideMenu(false);
hi.addCommand(SideLogoCommand);
MenuCommand.putClientProperty("SideComponent", cnt);
tb.addCommandToSideMenu(MenuCommand);
hi.addComponent(new Label("Hi World"));
hi.show();
我猜是因为这条线:
tb.setOnTopSideMenu(false);
您实际上是在强制使用较旧且测试较少的侧边菜单,这些菜单在较新的代码中可能仍有回归。最好的办法是删除该行。但是如果你坚持你可以尝试调用:
hi.setAllowEnableLayoutOnPaint(true);
注意这会影响长表单等的性能