0

当在 DisclosurePanel 中嵌套 SplitLayoutPanel 时,SplitLayoutPanel 不会显示,当使用相对高度属性(例如,100%)打开 DisclosurePanel 时。检查生成的 HTML 会发现包含 SplitLayoutPanel 的行(DisclosurePanel 生成包含两行的表)的高度为 0px,但宽度确定正确。

我做错了什么吗?删除 DisclosurePanel 会正确显示 SplitLayoutPanel。也可以将SplitLayoutPanel 的高度设置为绝对值(例如500px)。

非常感谢任何建议。

<!DOCTYPE html>
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui">
<g:DisclosurePanel width="99%">
    <g:header>Some Header</g:header>
    <g:SplitLayoutPanel ui:field="mySplitLayoutPanel"
        width="100%" height="100%">
        <g:west size="200">
            <g:ScrollPanel ui:field="streamTreePanel" styleName="ccTreePanel" />
        </g:west>
        <g:center>
            <g:VerticalPanel ui:field="streamTablePanel"
                styleName="ccTablePanel" width="100%" />
        </g:center>
        <g:east size="400">
            <g:ScrollPanel ui:field="streamInfoPanel" styleName="ccInfoPanel" />
        </g:east>
    </g:SplitLayoutPanel>
</g:DisclosurePanel>

4

1 回答 1

1

LayoutPanels要求一个完整的链ProvidesResizeRequiresResize父小部件直到RootLayoutPanel正常工作。在您的情况下DisclosurePanel,不实现任何接口。
您可以:

  • 把你SplitLayoutPanel放进一个ResizeLayoutPanel
  • 在您的中指定明确的尺寸DisclosurePanel(有关更多信息,请参阅食谱)
  • 添加您自己的并手动ResizeHandler调整大小(调用)。SplitLayoutPanelonResize()
于 2012-06-25T13:10:42.680 回答