我使用mgwt 1.2-Snapshot来获得以下ui binder结构。
<mgwt:LayoutPanel>
<g:FlowPanel />
<mgwt:LayoutPanel>
<b:MyTouchPanel>
<g:Label ></g:Label>
<g:Label></g:Label>
</b:MyTouchPanel>
</mgwt:LayoutPanel>
<b:MyTouchPanel >
<mgwt:LayoutPanel ui:field="contentPanel">
<b:MyTouchPanel>
</b:MyTouchPanel>
<mgwt:ScrollPanel ui:Field="panel2">
<b:MyTouchPanel ></b:MyTouchPanel >
</mgwt:ScrollPanel>
</mgwt:LayoutPanel>
</b:MyTouchPanel>
</mgwt:LayoutPanel>
前一个工作正常。每次内容更改时,我都会刷新红色标记的schrollPanel。我的问题是以下不起作用:
<mgwt:LayoutPanel>
<g:FlowPanel />
<mgwt:LayoutPanel>
<b:MyTouchPanel>
<g:Label ></g:Label>
<g:Label></g:Label>
</b:MyTouchPanel>
</mgwt:LayoutPanel>
<b:MyTouchPanel >
<mgwt:LayoutPanel ui:field="contentPanel">
<b:MyTouchPanel>
</b:MyTouchPanel>
<mgwt:LayoutPanel>
<b:MyTouchPanel ui:Field="panel1"></b:MyTouchPanel>
<mgwt:ScrollPanel ui:Field="panel2">
<b:MyTouchPanel ></b:MyTouchPanel >
</mgwt:ScrollPanel>
</mgwt:LayoutPanel>
</mgwt:LayoutPanel>
</b:MyTouchPanel>
</mgwt:LayoutPanel>
当我将scrollPanel包装在LayoutPanel中时,它不再可滚动。我必须这样做,因为红色标记的部分来自一个新的页面,它在整体布局中呈现。由于ui binder不允许多个根元素,我必须将panel1和pane2(ScrollPanel)包装在另一个Panel中,我选择LayoutPanel。
有没有办法让ScrollPanel(panel2)正常工作?
答案 0 :(得分:2)
您是否尝试使用像FlowPanel
这样的普通容器,并将其放在绝对位置的框内(您是否使用过css
?也许是您的最佳解决方案问题)。
然后,你在FlowPanel
ScrollPanel
内,你可以在里面介绍你想要的任何内容。
如果panel1
包含大量信息,您可以手动使用GQuery
,这样GWT就不会知道ScrollPanel
有多个孩子(<强>但这是一个棘手的讨厌的解决方案:D)。
希望它有所帮助。