我称13 Flex Grow

尼克:

我在使用Vaadin Horizo​​nalLayout时遇到问题-我希望左侧组件填充大部分水平空间,如此小提琴所示

但是,当我运行Vaadin应用程序时,两个组件会平均划分屏幕。

我的代码:

    HorizontalLayout layout = new HorizontalLayout();
    VerticalLayout left = new VerticalLayout(new Span("LEFT"));
    VerticalLayout right = new VerticalLayout(new Span("RIGHT"));

    layout.add(left, right);
    layout.setPadding(false);
    layout.setMargin(false);
    layout.setFlexGrow(1.0, left);
    layout.setFlexGrow(0,right);

我究竟做错了什么?

codinghaus:

如果您在将所包含的VerticalLayouts的宽度设置为undefined(“越小越好”)的同时,给定Horizo​​ntalLayout的宽度一个定义的值(例如100%),它会起作用:

HorizontalLayout layout = new HorizontalLayout();
layout.setWidthFull();
VerticalLayout left = new VerticalLayout(new Span("LEFT"));
VerticalLayout right = new VerticalLayout(new Span("RIGHT"));
left.setSizeUndefined();
right.setSizeUndefined();

layout.add(left, right);
layout.setPadding(false);
layout.setMargin(false);
layout.setFlexGrow(1.0, left);
layout.setFlexGrow(0,right);
add(layout);

结果:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章