如何将固定高度设置为Viewport并在GXT 2.x中启用浏览器滚动?

时间:2013-07-12 15:33:20

标签: gxt

我想创建适合窗口宽度但具有固定高度的面板(使用GXT 2.3。):

 public void onModuleLoad() { 
    Viewport viewport = new Viewport ();
    viewport.setEnableScroll(true);
    viewport.setLayout(new FitLayout());
    viewport.setAutoHeight(false);
    viewport.setHeight(700);

    ContentPanel cpanel = new ContentPanel();
    cpanel.setHeight(700);
    viewport.add(cpanel);

    RootPanel.get().add(viewport);

但是当我调整浏览器窗口大小时,视口高度总是重新计算。

那么如何解决?

1 个答案:

答案 0 :(得分:0)

解决方法是扩展FitLayout以避免在调整大小时重新计算高度:

public class MyFitLayout extends FitLayout {

  protected void setItemSize(Component item, Size size) {
    if (item != null && item.isRendered()) {
      size.width -= getSideMargins(item);
      //size.height -= item.el().getMargins("tb");
      setSize(item, size.width, size.height);
    }
  }

}