如何在codenameone中显示容器中心的两个或多个标签

时间:2016-05-25 07:50:22

标签: codenameone

我是Codenameone的新手是否有任何选项来对齐标签取决于另一个标签,如对齐底部,顶部,右侧和左侧选项?

如何在父版面的中心对齐多个标签?

这里我附上了我试过的代码:

Container center = new Container(new BorderLayout());

    Label des = new Label((String) data.get("title"));
    des.setUIID("MultiLine2");
    center.addComponent(BorderLayout.NORTH,des);
    Label author = new Label((String) data.get("author"));
    author.setUIID("MultiLine2");
    center.addComponent(BorderLayout.SOUTH,author);

    cnt.addComponent(BorderLayout.CENTER, center);

我会像下面的图片一样出局 I am getting outpul like the below image

在这里,我附上了项目所需的内容 This is my requirement

任何人都可以帮助我如何才能满足我的要求?

2 个答案:

答案 0 :(得分:6)

这会将标签放在容器的绝对中心位置:

Form hi = new Form("Hi World");
hi.setLayout(new BorderLayout(BorderLayout.CENTER_BEHAVIOR_CENTER_ABSOLUTE));
Container center = new Container(new BoxLayout(BoxLayout.Y_AXIS));

Label line1 = new Label("What are you doing");
Label line2 = new Label("Hello");

center.add(line1);
center.add(line2);

hi.addComponent(BorderLayout.CENTER, center);

hi.show();

要调整中心以稍微向左移动,您可以向中心容器添加右边距:

center.getAllStyles().setPadding(Component.RIGHT, 100);

答案 1 :(得分:0)

这两种方法还可以使标签位于CN1容器内部居中

Container container01 = FlowLayout.encloseCenterMiddle();

Container container02 = new Container(new GridLayout(2,1));

其中GridLayout(2,1)中的数字2表示您在一列中具有的标签数。