1

我希望我的 MaterialHeader 和 MaterialNavBar 布局到页面的左侧。设置 paddlingLeft(0) 什么都不做。无论 paddingLeft 设置为什么,GWT Material Design 都会将 paddingLeft 设置为侧边 Nav 的宽度。我试图让导航栏从左向右延伸,SideNav 在导航栏下方。

    header = new MaterialHeader();
    header.setPaddingLeft(0);
    MaterialNavBar b = new MaterialNavBar();
    b.setActivates("sideNav1");
    MaterialSideNav sideNavBar = new MaterialSideNav(SideNavType.FIXED);
    sideNavBar.setWidth(280);
    sideNavBar.setTop(64);
    sideNavBar.setId("sideNav1");
    sideNavBar.setAlwaysShowActivator(true);
    sideNavBar.setShowOnAttach(true);
    header.add(navBar);
    header.add(sideNav);

运行此代码时,导航栏始终向右移动 280 像素。并且 Header html 元素的 padding-left 值为 280 而不是零。

检查 html 会显示带有 padding-left = 280px 的标题。这与我设置 Side Nav 的宽度相同。

难道我做错了什么?谢谢

4

2 回答 2

1

为了将MaterialSideNav顶部放在下面MaterialNavBar,您必须选择一个SideNavType实现HasWithHeader接口。似乎最适合您的需要是MaterialSideNavPush( SideNavType.PUSH_WITH_HEADER)。这是 GMD源代码演示


根据 GMD 源代码,您MaterialSideNav不应该住在MaterialHeader.

于 2017-08-26T03:22:13.733 回答
0

从版本 2 开始,我们将 SideNav 类型分成不同的类,以便更好地实现。

正如@brian17han 建议的那样,这是正确的,但需要将其升级到 v2 ,这是一个示例代码

<m:MaterialSideNavPush withHeader="true" ... />

或java

MaterialSideNavPush sidenav = new MaterialSideNavPush();
sidenav.setHeader(true);

作为参考,您可以在这里查看所有类型 https://gwtmaterialdesign.github.io/gwt-material-demo/#sidenavs

于 2017-10-18T23:41:24.867 回答