首页 > 解决方案 > 代号一如何将徽章添加到工具栏中的sideMenu图标

问题描述

如何向该 SideMenu 图标添加预算

菜单图标

mainToolbar.addComponentToSideMenu(avatarBox);

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

标签: codenameone

解决方案


这些问题有点含糊,我不确定我是否理解您的要求,但根据我的经验,自定义工具栏以执行除开箱即用工具栏方法提供的任何操作之外的唯一方法是使用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);

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

在此处输入图像描述


推荐阅读