SplitApp主视图按钮问题

时间:2014-10-13 19:42:00

标签: sapui5

SplitApp的主视图图标出现问题 - 在我的电脑和平板电脑(安卓)上,我可以see navigation button在隐藏主视图时自动放置在详细视图上方。 / p>

enter image description here

但在我的智能手机上,此图标为not displayed,因此当我导航到其中一个视图时,主视图会消失,我无法导航到其他详细视图。

enter image description here

我尝试放置导航按钮以创建强制导航,再次,在PC和平板电脑上,此按钮工作正常,但智能手机上没有(按钮呈现,但是当我按下它时没有任何内容)。

如何解决此问题?

编辑:

Here 是我的SplitApp主视图。

here是此视图的控制器。

此外,here是我从视图中返回sap.m.Page的方式。

3 个答案:

答案 0 :(得分:1)

如果平板电脑和手机中的一个NavContainer运行,SplitApp会维护两个NavContainer。 这意味着您无法看到移动设备的导航按钮(尤其是在纵向模式下)。 您现在可以使用showMaster / hideMaster / backMaster方法来实现此目的。 您可以使用 sap.ui.unified 在某种程度上实现此目的。我认为UI5团队正在研究这个问题,可能会在未来的更新中修复。

谢谢, prodeveloper

答案 1 :(得分:1)

SplitApp在桌面/平板电脑和手机中的表现不同。这是设计意图,并在API https://openui5.hana.ondemand.com/#docs/api/symbols/sap.m.SplitApp.html的第一部分中提到 您可以使用路由框架让您的应用程序按您喜欢的方式运行: https://openui5.hana.ondemand.com/#docs/guide/688f36bd758e4ce2b4e682eef4dc794e.html https://openui5.hana.ondemand.com/#docs/api/symbols/sap.ui.core.routing.Router.html

答案 2 :(得分:0)

我已经解决了这个问题。 此问题的关键是使用DeviceModel approach。 接下来,在构建视图时,需要按如下方式返回页面:

return new sap.m.Page({
    title: "<page title>",
    showNavButton: "{device>/isPhone}",
    navButtonPress: [oController.doNavBack, oController],
    content: [ <your content here> ],
});

这样您可以在详细信息视图中显示导航按钮,然后按下该按钮,即可在此视图的控制器中执行doNavBack功能。

这个doNavBack函数可能看起来像这样:

doNavBack: function(event) {
    this.bus.publish("nav", "back");
},

其余部分与navigation 内容相关联。