我正在使用 GWT 2.3.0 和 GXT 2.2.5 开发应用程序。
我有一个 LayoutContainer,其 ScrollMode 设置为 AUTO,布局设置为 RowLayout,水平方向。它用作我的应用程序的显示窗口。
问题是当浏览器调整大小以显示垂直滚动条时,内容不会调整大小以解决它,导致即使不需要水平滚动条也会出现。
有没有办法让布局在渲染小部件时考虑滚动条占用的空间?
我正在使用 GWT 2.3.0 和 GXT 2.2.5 开发应用程序。
我有一个 LayoutContainer,其 ScrollMode 设置为 AUTO,布局设置为 RowLayout,水平方向。它用作我的应用程序的显示窗口。
问题是当浏览器调整大小以显示垂直滚动条时,内容不会调整大小以解决它,导致即使不需要水平滚动条也会出现。
有没有办法让布局在渲染小部件时考虑滚动条占用的空间?
好的,这有点棘手。我会这样做:在入口点(以便您知道它始终处于活动状态)向窗口添加调整大小处理程序
Window.addResizeHandler(new ResizeHandler() {
@Override
public void onResize(ResizeEvent event) {
// Fire Event containing the new size informing the application of the change
// Or resize the Layout container
}
}
如果您选择触发事件并且您使用的是 MVP 模式,那么通过事件总线触发事件并在应用程序中您喜欢的任何位置捕获它是非常简单的。
这里唯一的问题是您可能希望在onResize()
计时器内运行函数,因为在许多情况下报告的窗口宽度/高度不是最终值,因为在调整大小完成之前触发了事件。