当前位置: 首页 > 知识库问答 >
问题:

GXT中的NorthSouthContainer布局大小调整

公良琛
2023-03-14

我试图创建一个简单的页面示例,顶部有一个菜单栏,底部有一个BorderLayoutContainer。我不知道如何让底部自动适应剩余的尺寸。

我有这样的想法:

public void onModuleLoad() {
    MenuBar mbar = new MenuBar();
    // Add menus...

    BorderLayoutContainer blc = new BorderLayoutContainer();
    // Create borderlayout parts...

    NorthSouthContainer mainCon = new NorthSouthContainer();
    mainCon.addNorthWidget(mbar);
    mainCon.addSouthWidget(blc);

    ViewPort vp = new ViewPort();
    vp.add(mainCon);
    RootPanel.get().add(vp);
}

菜单栏显示正确,但底部(BorderLayoutContainer)被完全挤压。如果我只是将BorderLayoutContainer添加到视口中,它会正确显示,即填充整个屏幕。

为什么大小没有从NorthSouthContainer的南部传递到BorderLayoutContainer。还是有别的事?

共有3个答案

鲁浩言
2023-03-14

这是一个官方错误。您可以尝试使用VerticalLayoutContainer,如下所示-

VerticalLayoutContainer vlc = new VerticalLayoutContainer();
vlc.add(mBar,new VerticalLayoutData(1,-1));
vlc.add(blc,new VerticalLayoutData(1,1));

在此处查看更多关于VerticalLayoutData的信息

弘和同
2023-03-14

我也有同样的问题。作为一种解决方法,如果您将south小部件包装到另一个视口实例中,它对我来说是可行的(使用GXT 3.1.1)。

越嘉石
2023-03-14

几周前我也有同样的问题。这似乎是GXT中的一个错误,在某些地方小部件的css没有正确地ensureInjected()。如您所知,您的north和southwidget从父容器获取其高度属性。您可以通过将样式属性传递给内部小部件来避免此错误,如下所示:

mbar.getElement().getStyle().setProperty("height", "50%");
blc.getElement().getStyle().setProperty("height", "50%");

当然,我知道这不是一个真正干净的解决方案,但它是一种可能性。如果您想要完全访问该解决方案,您需要将自己的外观实现到BorderLayoutContainer。呼...

 类似资料:
  • 如何制作此网格: 它不起作用,我明白了: 我发现了这个:点击 但GXT 3。*没有FitLayout 有什么想法吗?

  • 问题内容: 打开虚拟键盘后,它将调整我的布局大小。我如何才能将键盘放在布局上?并没有改变我的布局尺寸? 问题答案: 您可以使用清单标志来配置虚拟键盘的效果。请参阅http://developer.android.com/guide/topics/manifest/activity- element.html#wsoft

  • 我正在用GWT/GXT开发一个基于浏览器的应用程序。html文件包含一个用html编写的静态头文件和一个用视口填充的div。 视口在这里非常有用,因为它允许自动调整大小。但是,视口始终随浏览器大小而调整大小,并且不考虑html标题大小。所以我总是有一部分视口隐藏:/ 你知道另一种方法吗? 对不起,我的英语很差:)谢谢

  • 我有一个包含多个的布局,底部有一个按钮。当键盘显示时,我希望我的布局保持在键盘上方。我搜索这个问题,发现应该在清单的标签中放入

  • 就像上面提到的图像一样。但我将背景色黑色添加到默认,红色添加到19201080。对于19201080个像素分辨率不带红色的模拟器,我这样做是为了在Android中为不同的屏幕尺寸创建不同的UI

  • 一直以来,我都在开发一款分辨率为800x480(流行手机分辨率)的应用程序。 我的画布HTML: 现在,为了使其全屏显示其他分辨率,我在调整大小事件后执行以下操作: 这是可行的,但问题是我不能以这种方式保持纵横比。800x480是4:3,但是如果我在5:3的手机上运行这个应用程序,有些东西(尤其是圆圈)看起来会被拉伸。 有没有什么方法可以让它在所有分辨率下看起来都很好,而不必为每个纵横比创建一组独