如何将 ShellBar 与 Page 或 DynamicPage 结合使用?

How do I combine a ShellBar with Page or DynamicPage?

代码示例:https://plnkr.co/edit/KPLJXzI4n1L0fG4Z

<mvc:View xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" xmlns:f="sap.f">
  <App>
    <pages>
      <f:ShellBar />
      <PageOrDynamicPage>
        <!-- ... -->
      </PageOrDynamicPage>
    </pages>
  </App>
</mvc:View>

列表的最后一行/响应 table 不在屏幕上。 第 100 项不可见。

我还尝试将 ShellBar 添加为 App.view.xml 中定义的根视图元素的第一个内容,这会导致出现双垂直滚动条。

我还尝试在应用程序周围放置一个 Shell 而不是单独的 Shell 栏,但该栏没有显示:https://plnkr.co/edit/Tmk6vd5CF4IEZC2y.

问题是 sap.f.ShellBar 是一个固定高度的条。如果兄弟(例如 sap.m.Page)试图达到 100% 的高度,它将向下推内容。这可以通过将内容添加到单独的 sap.m.NavContainer.

来避免

sap.f.ShellBarsap.m.Page

示例:https://plnkr.co/edit/LkGOQJt0xd6kNVuX

我假设您希望 ShellBar 始终在顶部可见。上面的示例将栏放在根视图中,因此无论用户导航到哪里,它总是在那里。

通过利用 sap.m.NavContainer,屏幕上没有内容:

sap.f.ShellBarsap.f.DynamicPage

示例:https://openui5.hana.ondemand.com/entity/sap.f.ShellBar/sample/sap.f.sample.ShellBarWithFlexibleColumnLayout

它利用 sap.f.FlexibleColumnLayoutsap.f.DynamicPagesap.f.routing.Router 来与当前的 Fiori 设计指南保持一致。在内部,FlexibleColumnLayout 也为其三列中的每一列使用 sap.m.NavContainer