如何设置vaadin布局的宽度,并且仍然使内部组件占用所需的空间?

约翰 :

所以我有一个对象VerticalLayout在没有设置高度的情况下-内部组件看起来不错:每个标签占用的空间尽可能少,并停留在顶部:

没有身高的例子

但是,如果我使用filesLayout.setHeight("400px");- 将版式的高度设置为400px ,则我的3个标签中的每一个都开始占用33%的空间:

身高的例子

我只希望我的标签仅占用所需的空间,而我的VerticalLayout只要设置为它即可。请帮我。

安德烈·希尔德(AndréSchild):

VerticalLayout所有组件之间平均分配的高度。因此,使用3个组件,您将获得3行,每行占全VerticalLayout高的33%

您可以使用 .setExpandRatio(...)

要使所有内容都Labels位于顶部,您只需要在上添加一个“空”的Labelals last元素VerticalLayout,并告诉VerticalLayout到最后一行使用所有“溢出”高度。

Label empty= new Label();
vl.addComponent(empty);
vl.setExpandRatio(empty, 1);

将其设置为1意味着它将占用溢出高度的1倍。

还有一个快捷方法可以在一个调用中完成这两个操作:

vl.addComponentsAndExpand(empty);

这是您问题的答案,但是您可能会遇到以下问题:

当VerticalLayout的内容高于可用高度时,我们该怎么办?但这是另一个问题,如果您希望有滚动条,也许面板是更好的容器。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Vaadin中使用Java设置ListBox的宽度?

如何使Flexbox布局占用100%的垂直空间?

XAML Columndefinitions宽度*不占用可用空间

CSS转换比例-图像仍然占用空间

为什么宽度= 0和高度= 0的SVG占用布局空间?

酶-如何设置内部组件的状态?

Qt按钮占用了所需文本所需要的空间

如何在Xamarin表单中设置布局/视图的最大宽度

使表格中的图像仅占用所需的空间

RelativeLayout占用的空间超过了所需

如何在布局上设置不同的彩色/宽度边框

布局,其中许多容器需要占用其余空间,但只有一个内部滚动条。的CSS

如何在flexbox中具有自动宽度内容而不破坏布局?(占用尽可能多的空间,并尽可能少地占用空间)

显示SVG图标的可重复使用的角度组件的宽度/高度未设置任何位置,并且位于图标正下方,内部是堆栈闪电

反应组件未占用屏幕的全部宽度

设置显示:div内没有div仍然占用空间

在onTouchListener内部设置宽度

如何使绝对定位的div占用所有可用的宽度空间?

如何在视图中隐藏<div>元素,但仍然无法使用AngularJS占用它们的空间?

设置为包装内容的按钮占用的空间超过了所需的空间

EAST的“边框布局”设置组件可覆盖右侧的全部空间

如何从此数据库布局的1:M关系中删除冗余,并且仍然能够摘录所需的数据?

如何让视图不占用任何空间但在 Android RecyclerView 中仍然可见?

如何设置元素的宽度,同时仍然允许文本拉伸它?

如何修复“离开”面板或占用更多空间的 GUI 组件?

我如何通知 React 组件它应该渲染的空间的宽度?

将组件设置为在屏幕上“浮动”而不占用空间

React 组件布局:如何让子组件均匀分布和占用空间?

DraftJS 组件在 Flexbox 内占用太多空间