codenameone - 代号一如何将徽章添加到工具栏中的sideMenu图标
问题描述
如何向该 SideMenu 图标添加预算
mainToolbar.addComponentToSideMenu(avatarBox);
mainToolbar.addMaterialCommandToSideMenu(" Home", FontImage.MATERIAL_HOME, e -> {
ManagementDashboard mdas = new ManagementDashboard(this);
mdas.Home();
});
解决方案
这些问题有点含糊,我不确定我是否理解您的要求,但根据我的经验,自定义工具栏以执行除开箱即用工具栏方法提供的任何操作之外的唯一方法是使用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);
这是一个例子,说明如果你走这条路(几乎任何东西)可以实现什么:
推荐阅读
- ios - dyld:库未加载:@rpath .. 原因:找不到图像
- google-sheets - 使用 Javascript 在 Google 电子表格中插入日期 (yyyy-MM-dd HH:mm:ss) 添加撇号
- javascript - 带有串口本机模块的电子
- javascript - 如果用户当前的时区时间与“开放时间”(ES6)一致,则显示 div
- r - 删除 R Leaflet 中的特定图层
- r - 如果在公式参数中使用点,为什么 r 聚合求和会产生错误的结果?
- python - Python asyncio NotImplementedError
- excel - 如何从数据透视表中过滤出所有“字符串”
- javascript - JavaScript API fetch 在第一次加载时不起作用
- android - 使用 Firestore 查询仅获取用户尚未投票的民意调查