[英]DockLayoutPanel doesn't work properly
我用下一个方式描述我的面板
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<g:DockLayoutPanel unit="PX" width="600" >
<g:north size="85">
....
</g:north>
<g:center>
....
</g:center>
</g:DockLayoutPanel>
为北部和中间下一个div生成GWT。
<div style="position: absolute; overflow: hidden; left: 0px; top: 0px; right: 0px; height: 85px;"
<div style="position: absolute; overflow: hidden; left: 0px; top: 85px; right: 0px; bottom: 0px;">
它们包含我需要的数据,但第二个div没有显示。 哪里错了?
UPD:仅举例来说
<g:center>
<g:FlowPanel height="100%">
<g:Label height="100%">TEST2</g:Label>
</g:FlowPanel>
</g:center>
我明白了
<div style="position: absolute; overflow: hidden; left: 0px; top: 85px; right: 0px; bottom: 0px;">
<div style="position: absolute; overflow: hidden; left: 0px; top: 85px; right: 0px; bottom: 0px;">
<div style="height: 100%; position: absolute; left: 0px; top: 0px; right: 0px; bottom: 0px;">
<div class="gwt-Label" style="height: 100%;">TEST2</div>
</div>
</div>
</div>
我想我知道你做错了什么。 你需要这个:
RootLayoutPanel().get().add(new MyView());
代替:
RootPanel().get().add(new MyView());
因为如果你使用uibinder,你需要RootLayouPanel!
我希望它会对你有所帮助!
我已经修复了下一个方法:
<ui:style>
.visible {
overflow: visible !important;
}
</ui:style>
<g:DockLayoutPanel unit="PX" width="100%" height="100%">
<g:north size="46" styleName="{style.visible}">
...
</g:north>
</g:DockLayoutPanel>
编辑:重要的是, center
小部件中的内容。 示例FlowPanel将填充该区域,但VerticalPanel不会。 然后你必须将height
属性设置为100%。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.