GWT - Как добавить пробел в DockLayoutPanel
Я хочу добавить два виджета к югу от DockLayoutPanel, так что это будет показано так:
центральная панель
пространство высотой 14px
виджет высотой 29 пикселей
Моя проблема: если я использую addSouth(widget, 29);
в нем нет места.
Если я использую addSouth(widget, 43);
в нем также нет места, но виджет теперь имеет высоту 43 пикселя.
Я думал определить поле виджета как 14px, но это мне не помогает, потому что поле виджета покрывает центральную панель.
Что я должен делать? Я также попытался сделать дважды addSouth, и это дало самый лучший результат, но это также оказалось не так, как ожидалось, и я предпочитаю использовать только один addSouth.
2 ответа
Вы можете попробовать добавить виджет в отдельную панель 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);
Установить расстояние между виджетами в 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;
}
затем добавьте зависимый стиль в ваш виджет (в этом случае Label
)widget.addStyleDependentName("foo");
для получения справки смотрите здесь: Добавьте StyleDependetName и здесь: CSS Styling of Widgets