如何使ComponentGroup伸展以填充可用空间?

时间:2016-11-17 06:39:45

标签: codenameone

我想让ComponentGroup自动拉伸填充空间(例如Form的宽度)。我尝试了各种方法,例如将它封装在BoxLayout.y中,但没有找到适用的方法。谁知道如何实现这个目标?

我试过的是:

Form hiCG = new Form("ComponentGroup");

hiCG.add(BoxLayout.encloseY(ComponentGroup.encloseHorizontal(new Label("Text1"), new Label("Text22222"))));

//A hack to show what I'm after 
Label label1 = new Label("Text3");
Label label2 = new Label("Text4444444");
label2.setPreferredW(hiCG.getWidth() / 2); //using deprecated setPreferredW
ComponentGroup.setSameWidth(label1, label2);
hiCG.add(ComponentGroup.encloseHorizontal(label1, label2));
hiCG.show();

enter image description here

1 个答案:

答案 0 :(得分:0)

可以滚动水平组件组以防止UI在太大的屏幕中失败,从而不会增大到适合的大小。

我们可以添加一个适用于网格布局的改编,但现在这有点“硬编码”。解决方法可能是做这样的事情:

Container c = GridLayout.encloseIn(2, label1, label2);
label1.setUIID("ToggleButtonFirst");
label2.setUIID("ToggleButtonLast");