SAPUI5基础知识14 - 壳容器(Shell控件)

1. 背景

为了让SAPUI5程序在不同尺寸的屏幕上显示得更好,在本篇博客中,我们将介绍sap.m.Shell控件。

2. 控件学习

2.1 sap.m.Shell

在SAPUI5应用程序中,sap.m.Shell控件通常被用作应用程序的顶级容器。它的主要目的是提供一个全屏的应用框架,以便在其中放置和管理其他的SAPUI5控件,如sap.m.Appsap.m.SplitApp等,这些控件提供了内置的导航和布局功能。例如,sap.m.App控件支持页面之间的导航,而sap.m.SplitApp控件则支持在大屏幕设备上使用分割视图。

总的来说,此控件负责应用程序的视觉适应性, 在大屏幕上,可以应用letterboxing来避免应用程序布局的拉伸。此外,sap.m.Shell还可以配置应用程序的主题、语言等设置。

3. 练习

让我们在上一篇博客练习的基础上,添加Shell控件。

3.1 增强App.view.xml文件

<App>控件放置于<Shell>控件中(Shell的默认聚合<app>可省略);

效果如下:
在这里插入图片描述

改动的代码如下:

<mvc:View
    controllerName="zsapui5.test.controller.App"
    xmlns="sap.m"
    xmlns:mvc="sap.ui.core.mvc"
    displayBlock="true"
>
    <!--在视图中想要使用的库的命名空间列表-->
    <Shell>
        <App>
            <pages>
                <Page title="{i18n>homePageTitle}">
                    <content>
                        <Panel headerText="{i18n>helloPanelTitle}">
                            <content>
                                <Button
                                    text="{i18n>showHelloButtonText}"
                                    press=".onShowHello"
                                />
                                <Input
                                    value="{/recipient/name}"
                                    description="Hello {/recipient/name}"
                                    valueLiveUpdate="true"
                                    width="60%"
                                />
                            </content>
                        </Panel>
                    </content>
                </Page>
            </pages>
        </App>
    </Shell>
</mvc:View>

经过上面的调整,壳控件是应用程序的最外层控件,并且在屏幕尺寸大于一定宽度时自动显示所谓的信封(letterbox)。

注意: 如果应用程序云心在external shell中,例如SAP Fiori Launchpad,我们则不需要将外壳控件添加到应用程序的XML视图中。

对于壳容器的其它属性,例如设置背景图片或颜色,以及设置自定义标志等。查看相关的API参考获取更多详情。

3.2 运行程序

运行效果同之前博客中的效果相同:
在这里插入图片描述

通过ctrl + shift + alt + s打开调试工具,可以查看改动后应用程序的XML Tree视图:

在层级关系图上,可以看到新添加的Shell控件。
在这里插入图片描述

4. 小结

本文介绍了SAPUI5中的壳容器,并通过一个例子,展示了其用法。

相关推荐

  1. 【LAMMPS学习】八、基础知识(5.6)绝热核/模型

    2024-07-15 23:10:02       30 阅读
  2. 【Delphi 基础知识 29】ListBox的详细使用

    2024-07-15 23:10:02       60 阅读
  3. 【Delphi 基础知识 31】Timer的详细使用

    2024-07-15 23:10:02       47 阅读
  4. Shell脚本基础知识

    2024-07-15 23:10:02       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 23:10:02       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 23:10:02       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 23:10:02       57 阅读
  4. Python语言-面向对象

    2024-07-15 23:10:02       68 阅读

热门阅读

  1. Spring常见的自定义和扩展的方法

    2024-07-15 23:10:02       19 阅读
  2. Flask 静态文件处理

    2024-07-15 23:10:02       17 阅读
  3. C语言 冒泡排序

    2024-07-15 23:10:02       19 阅读
  4. 网线8芯分开4芯一组

    2024-07-15 23:10:02       21 阅读
  5. js实现文件的分片上传

    2024-07-15 23:10:02       21 阅读
  6. Linux高级IO流详解

    2024-07-15 23:10:02       20 阅读
  7. 10个使用Numba CUDA进行编程的例子

    2024-07-15 23:10:02       18 阅读
  8. OSINT技术情报精选·2024年7月第2周

    2024-07-15 23:10:02       16 阅读