0

我想在 DockLayoutPanel 的南部添加两个小部件,所以它会显示为:


中心面板


14px 高度的空间


一个高度为 29px 的小部件


我的问题是:如果我使用addSouth(widget, 29);它没有空间。
如果我使用addSouth(widget, 43);它也没有空间,但小部件现在是 43px 高度。
我想将小部件的边距定义为 14px,但这对我没有帮助,因为小部件的边距覆盖了中心面板。
我应该怎么办?我也尝试了两次 addSouth,它产生了最好的结果,但也没有达到预期的效果,我更喜欢只使用一个 addSouth。

4

2 回答 2

0

DockPanel在使用中设置小部件之间的距离

dockPanel.setSpacing(14);

如果您只想为某个小部件设置间距,则必须使用 CSS 或向 dockPanel 小部件添加更高的 CellHeight。

dockPanel.setCellHeight(widget1, //widget1.heigth+14px);


dockPanel.setCellVerticalAlignment(widget1, HasVerticalAlignment.ALIGN_BOTTOM);


将小部件放置在单元格CSS的底部:

.gwt-Label-foo {
    margin-top: 14px;
}

然后将dependentStyle 添加到您的小部件(在本例中为 a Labelwidget.addStyleDependentName("foo");

如需帮助,请查看此处:添加 StyleDependetName和此处:小部件的 CSS 样式

于 2014-12-10T12:37:54.060 回答
0

您可以尝试在单独的 LayoutPanel 中添加小部件,然后将面板添加到停靠面板。在 LayoutPanel 中,只需从顶部指定空间。

LayoutPanel panel = new LayoutPanel();
panel.add(widget);
panel.setWidgetLeftRight(widget, 0, Style.Unit.PX, 0, Style.Unit.PX);
panel.setWidgetTopBottom(widget, 14, Style.Unit.PX, 0, Style.Unit.PX);

dockPanel.addSouth(panel, 43);
于 2014-12-03T15:16:23.137 回答