我的要求是让应用程序只在手机上固定到纵向模式,在标签页上只固定到横向模式,从SplashScreen开始。已尝试使用离子本机上可用的屏幕定向插件,但对我不起作用。
我尝试过的事情:
在app.component.ts上:

constructor(..., private screenOrientation: ScreenOrientation) {
    platform.ready().then(() => {

        this.screenOrientation.lock('landscape');
        ScreenOrientation.lockOrientation('landscape');
        screen.msLockOrientation('landscape');
    this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.LANDSCAPE);

我在家里也试过以上所有的台词,但都没用。当我设定:
console.log(this.screenOrientation.type);

这将在日志中正确打印屏幕方向。每当我设置subscribe方法时,它也会工作,并在屏幕方向发生变化时向我发出警报,这意味着所有的import语句都工作得很好,并且我能够正确地访问插件方法。我可以在android和ios上复制这个问题。任何帮助都将不胜感激。
平台/库/依赖项详细信息:
“@angular/common”:“4.1.3”,
“离子角”:“3.6.0”,
“离子”:“3.7.0”

最佳答案

在config.xml中,可以尝试添加这一行,使方向锁定在横向模式。

<preference name="orientation" value="landscape" />

07-24 09:37