在DisclosurePanel中嵌套SplitLayoutPanel时,在使用相对高度属性(例如,100%)打开DisclosurePanel时,不显示SplitLayoutPanel。检查生成的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>
答案 0 :(得分:1)
LayoutPanels
要求ProvidesResize
之前的RequiresResize
和RootLayoutPanel
个父级小部件的完整链条才能正常运行。
在您的情况下,DisclosurePanel
未实现任何接口
你可以:
SplitLayoutPanel
放入ResizeLayoutPanel DisclosurePanel
中指定显式尺寸(有关详细信息,请参阅食谱)ResizeHandler
并手动调整SplitLayoutPanel
的大小(致电onResize()
)。