Codenameone 如何控制溢出菜单的宽度?
溢出菜单很窄。对于一个超过两英寸的屏幕来说,它甚至没有一英寸宽。我想它会尝试调整自己的大小,以适应菜单命令的文本和图标,但它似乎是一个固定的大小,我需要它更宽一点。有没有办法强迫它调整菜单的大小?或者有没有办法设置其大小?除了将填充和字体大小设置为命令样式外,溢出菜单中还有另一个隐藏行为 溢出菜单建立在Codenameone 如何控制溢出菜单的宽度?,codenameone,Codenameone,溢出菜单很窄。对于一个超过两英寸的屏幕来说,它甚至没有一英寸宽。我想它会尝试调整自己的大小,以适应菜单命令的文本和图标,但它似乎是一个固定的大小,我需要它更宽一点。有没有办法强迫它调整菜单的大小?或者有没有办法设置其大小?除了将填充和字体大小设置为命令样式外,溢出菜单中还有另一个隐藏行为 溢出菜单建立在列表之上,这是基于遗留代码的错误决策。因此,列表宽度的调整通常通过渲染原型对象完成,除非继承工具栏,否则无法访问该对象 此代码: Form f = new Form("AAAA", BoxLayo
列表
之上,这是基于遗留代码的错误决策。因此,列表宽度的调整通常通过渲染原型对象完成,除非继承工具栏
,否则无法访问该对象
此代码:
Form f = new Form("AAAA", BoxLayout.y());
f.getToolbar().addMaterialCommandToOverflowMenu("Hi", FontImage.MATERIAL_3D_ROTATION, e -> Log.p("a"));
f.getToolbar().addMaterialCommandToOverflowMenu("Hi a", FontImage.MATERIAL_3D_ROTATION, e -> Log.p("aaa"));
f.getToolbar().addMaterialCommandToOverflowMenu("Hi aaa", FontImage.MATERIAL_3D_ROTATION, e -> Log.p("aaaaa"));
f.getToolbar().addMaterialCommandToOverflowMenu("Hi aaaaa", FontImage.MATERIAL_3D_ROTATION, e -> Log.p("aaaaaaa"));
f.getToolbar().addMaterialCommandToOverflowMenu("Hi aaaaaaa", FontImage.MATERIAL_3D_ROTATION, e -> Log.p("aaaaaaaaa"));
f.getToolbar().addMaterialCommandToOverflowMenu("Hi aaaaaaaaa", FontImage.MATERIAL_3D_ROTATION, e -> Log.p("aaaaaaaaaaa"));
f.getToolbar().addMaterialCommandToOverflowMenu("Hi aaaaaaaaaaa", FontImage.MATERIAL_3D_ROTATION, e -> Log.p("aaaaaaaaaaaaa"));
f.show();
产生以下结果:
请注意,菜单将一直增长,直到第5个元素停止。这是因为在没有渲染原型的情况下,列表默认只检查前5个元素的首选大小
正确的解决方案是扔掉列表,使用一个合适的容器,这将改进工具栏中的许多其他内容,但这需要一些工作