检测我的应用程序是否在 phone 上 运行

Detect if my application is running on a phone

我正在使用 SAPUI5 构建应用程序。

在此应用程序中,我有一个 XML 视图,如下所示:

<Dialog id="confirmDialog"
        title="Confirm"
        showHeader="true"
        state="Warning" 
        stretch="true"
        type="Standard">

我想将 属性 stretch 设置为 true 仅当我检测到我的应用程序是否在 phone 上 运行 时。

如何实现?

您可以创建设备模型并使用其属性来了解该应用是否在 phone 上 运行。见下面 link :
https://help.sap.com/saphelp_uiaddon10/helpdata/en/32/5b8edafcfa4c9c8fbd42455a60e379/content.htm

编辑:

方式一:如果你的设备型号设置好了,那么你就可以在你的代码中使用它了: 在 Component.js 中:

var deviceModel = new sap.ui.model.json.JSONModel({
            isTouch : sap.ui.Device.support.touch,
            isNoTouch : !sap.ui.Device.support.touch,
            isPhone : sap.ui.Device.system.phone,
            isNoPhone : !sap.ui.Device.system.phone,
            listMode : sap.ui.Device.system.phone ? "None" : "SingleSelectMaster",
            listItemType : sap.ui.Device.system.phone ? "Active" : "Inactive"
        });
        deviceModel.setDefaultBindingMode("OneWay");
        this.setModel(deviceModel, "device");

在XML中:

<Dialog id="confirmDialog"
        title="Confirm"
        showHeader="true"
        state="Warning" 
        stretch="{device>/isPhone}"
        type="Standard">

方法 2:如果您不想创建单独的模型,则可以始终使用:sap.ui.Device.system.phone 值。但是,我建议您创建一个设备模型并使用它。

<Dialog id="confirmDialog"
            title="Confirm"
            showHeader="true"
            state="Warning" 
            stretch="sap.ui.Device.system.phone"
            type="Standard">