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

Codenameone 如何使ComponentGroup拉伸以填充可用空间?,codenameone,Codenameone,我想要一个组件组来自动拉伸填充空间(如表单的宽度)。我尝试过各种方法,例如用长方体布局将其封闭起来,但还没有找到一种有效的方法。有人知道如何做到这一点吗 我尝试的是: Form hiCG = new Form("ComponentGroup"); hiCG.add(BoxLayout.encloseY(ComponentGroup.encloseHorizontal(new Label("Text1"), new Label("Text22222")))); //A hack to show

我想要一个组件组来自动拉伸填充空间(如表单的宽度)。我尝试过各种方法,例如用长方体布局将其封闭起来,但还没有找到一种有效的方法。有人知道如何做到这一点吗

我尝试的是:

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();

可以滚动水平组件组,以防止UI在屏幕过大时出现故障,从而使其无法适应大小

我们可能会添加一个适应它将与网格布局,但现在这是一个有点“硬编码”。解决方法可能是执行以下操作:

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

水平组件组可以滚动,以防止UI在屏幕过大时出现故障,从而导致其无法适应大小

我们可能会添加一个适应它将与网格布局,但现在这是一个有点“硬编码”。解决方法可能是执行以下操作:

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