代号一如何将徽章添加到工具栏中的sideMenu图标

Posted

技术标签:

【中文标题】代号一如何将徽章添加到工具栏中的sideMenu图标【英文标题】:codename one how to add a badge to the sideMenu Icon in toolbar 【发布时间】:2020-05-27 19:06:29 【问题描述】:

如何向该 SideMenu 图标添加预算

mainToolbar.addComponentToSideMenu(avatarBox);

    mainToolbar.addMaterialCommandToSideMenu(" Home", FontImage.MATERIAL_HOME, e -> 
        ManagementDashboard mdas = new ManagementDashboard(this);
        mdas.Home();
    );

【问题讨论】:

定义主题常量:hideLeftSideMenuBool=true。这将完全隐藏菜单。然后,您可以使用下面的答案添加您自己的菜单按钮,该按钮仅调用工具栏打开侧抽屉 API 谢谢 Shai Almog,我已经设法自定义工具栏并添加了我的图标,如何设置菜单图标的操作以打开侧抽屉 form.getToolbar().openSideMenu() 谢谢Shai,一切都很好,只是抽屉失去了两个功能,1:setDisposeWhenPointerOutOfBounds; 2:设置模糊背景。这两个不工作 您是如何实现这两个功能的?你做了什么特别的设置吗? 【参考方案1】:

问题有点含糊,我不确定我是否理解您的要求,但根据我的经验,自定义工具栏以执行开箱即用工具栏方法提供的功能之外的唯一方法是使用setTitleComponent 并将您自己的自定义容器添加到您的工具栏。这样做的缺点是您将不得不重新设计很多工具栏,因为您将基本上从头开始重新创建它们。您可以使用setTitleComponent 将新容器居中,覆盖其calcPreferredSize 以将其水平拉伸到整个工具栏,然后像在任何容器中一样将内容粘贴在其中(使用任何布局等)

实现目标的另一种方法是扩展 Toolbar 类并手动更改其中的内容。但是 Toolbar 类非常繁重,与使用第一种方法相比,您可能会花费更多时间来尝试找出要更改的内容

方法#1示例代码:

//stick stuff in this container to create your own toolbar
Container titleContainer = new Container(new BorderLayout()) 
        @Override
        protected Dimension calcPreferredSize() 
            Dimension original = super.calcPreferredSize();
            return new Dimension(Display.getInstance().getDisplayWidth(), original.getHeight());
        
    ;
form.getToolbar().setTitleComponent(titleContainer);

这是一个例子,说明如果你走这条路(几乎任何东西)可以实现什么:

【讨论】:

以上是关于代号一如何将徽章添加到工具栏中的sideMenu图标的主要内容,如果未能解决你的问题,请参考以下文章

将按钮添加到代号一工具栏

使侧边菜单滑过代号一中的表单

将通知徽章添加到 iOS 中的导航栏

如何将徽章/盾牌添加到 github 存储库?

如何在没有 POD 和 Carthage 的情况下添加 SideMenu?

如何将徽章添加到系统生成的“更多”UITabBarItem