【发布时间】:2018-09-28 00:28:33
【问题描述】:
我有一个使用容器作为放置目标的应用程序。
当标签在容器上释放时,我希望标签在容器内自动居中。
根据我的尝试,为容器设置带有约束的 TableLayout 不起作用,并且 BoxLayout 需要在添加组件之前定义约束。
有什么方法可以让容器的内容直接居中?
【问题讨论】:
标签: layout codenameone
我有一个使用容器作为放置目标的应用程序。
当标签在容器上释放时,我希望标签在容器内自动居中。
根据我的尝试,为容器设置带有约束的 TableLayout 不起作用,并且 BoxLayout 需要在添加组件之前定义约束。
有什么方法可以让容器的内容直接居中?
【问题讨论】:
标签: layout codenameone
您可以在表格布局中删除并重新添加组件,但这可能是“不稳定的”,因为它可能会转到下一行/列,除非明确说明。
使组件居中的两种好方法:
Container centered = BorderLayout.centerAbsolute(myCmp);
或者
Container centered = FlowLayout.encloseCenterMiddle(myCmp);
【讨论】:
使用
Container centered = FlowLayout.encloseCenterMiddle();
如果您将容器用作放置目标并且从一开始就不知道将在其上释放哪个组件(我的情况),则没有参数可以工作。
Container centered = BorderLayout.centerAbsolute(myCmp);
要求您定义一个组件 (myCmp)。
【讨论】: