我喜欢 DockLayoutPanel,因为它非常坚固。然而,有一个大问题。
这就是如何从 DockLayoutPanel 中删除一个块(西、东、北或南块)?
比方说,我得到了这个代码
<g:DockLayoutPanel ui:field="centralDockLayoutPanel">
<g:center>
<g:LayoutPanel ui:field="mainPanel"/>
</g:center>
<g:east size="200">
<g:HTMLPanel ui:field="happyHTMLPanel" width="100%" height="100%">
Some more widgets here
</g:HTMLPanel>
</g:east>
</g:DockLayoutPanel>
我想从centralDockLayoutPanel中删除East块。所以我尝试了
getView().getCentralDockLayoutPanel().remove(getView().getHappyHTMLPanel());
但这行不通
getView().getHappyHTMLPanel().setVisible(false);
也不起作用
我们可以从 DockLayoutPanel 中删除一个块(西、东、北或南块)吗?
你可以尝试这样做:
getView().getCentralDockLayoutPanel().remove(getView().getHappyHTMLPanel());
getView().getCentralDockLayoutPanel().forceLayout();
或者您可以隐藏面板:
getView().getCentralDockLayoutPanel().setWidgetHidden(getView().getHappyHTMLPanel(), true);
getView().getCentralDockLayoutPanel().forceLayout();
我总是将它们的大小设置在零和非零之间,分别代表隐藏和显示。这样,您甚至可以在更改子级大小时添加一些动画。