我想在DockLayoutPanel的南部添加两个小部件,所以它将显示为:
中心小组
高度为14px的空间
高度为29px的小部件
我的问题是:如果我使用addSouth(widget, 29);
则没有空格
如果我使用addSouth(widget, 43);
它也没有空间,但小部件现在是43px高度
我想将小部件的边距定义为14px,但它对我没有帮助,因为小部件的边距覆盖了中心面板。
我该怎么办?我也尝试做两次addSouth,它产生了最好的结果,但它也没有预期的那样,我更喜欢只使用一个addSouth。
答案 0 :(得分: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);
答案 1 :(得分:0)
在DockPanel
使用
dockPanel.setSpacing(14);
如果您只想为某个小部件设置间距,则必须使用CSS或将更高的CellHeight添加到dockPanel小部件。
dockPanel.setCellHeight(widget1, //widget1.heigth+14px);
将小部件放在单元格的底部
dockPanel.setCellVerticalAlignment(widget1, HasVerticalAlignment.ALIGN_BOTTOM);
CSS:
.gwt-Label-foo {
margin-top: 14px;
}
然后将dependentStyle添加到您的小部件(在本例中为Label
)
widget.addStyleDependentName("foo");