【问题标题】:How to close the side menu programmatically in codenameone?如何在代号中以编程方式关闭侧边菜单?
【发布时间】:2017-11-09 22:42:29
【问题描述】:

我在侧边菜单上做一个示例,它工作正常,但是当我点击设备后退按钮时,如果侧边菜单打开,我想关闭它。

这是我的代码:

getToolbar().addCommandToSideMenu(UI.command("Home", FontImage.MATERIAL_HOME, e -> clickedOnMenuItem("Home")));
getToolbar().addCommandToSideMenu(UI.command("Change Password", FontImage.MATERIAL_VERIFIED_USER, e -> clickedOnMenuItem("ChangePassword")));
getToolbar().addCommandToSideMenu(UI.command("Exit", FontImage.MATERIAL_EXIT_TO_APP, e -> UI.get().close()));

我试过下面的代码来关闭菜单,但它不起作用

SideMenuBar smb = (SideMenuBar) Display.getInstance().getCurrent().getMenuBar();
smb.openMenu(null);

我正在寻找一些建议/帮助来实现这一目标。

谢谢

【问题讨论】:

    标签: codenameone


    【解决方案1】:

    getToolbar().closeSideMenu(); 可以解决问题。

    您可以在https://www.codenameone.com/javadoc/com/codename1/ui/Toolbar.html#closeSideMenu--查看工具栏API

    如果你真的想用 SideMenuBar API 来做,你可以使用smb.closeMenu(),但不推荐使用这个 API。

    SideMenuBar API 可用here

    【讨论】:

    • 感谢您的回复,它可以解决问题,但如何知道菜单是否打开/显示......因为如果菜单关闭,我想导航到上一个屏幕......
    • 目前没有公共 API 可以表明这一点。它应该很容易添加,但我们现在处于代码冻结状态,因此不会很快发生。您可以为此提交 RFE。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多