离子3 - 屏幕方向锁不起作用

时间:2017-08-10 18:52:11

标签: angular ionic2 screen-orientation ionic3 ionic-native

我的要求是将应用程序仅固定在手机上的纵向模式,并且仅在选项卡上固定为横向模式,从启动画面开始。尝试使用离子原生的Screen Orientation插件,但对我没用。

我尝试过的事情:

在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);

我也在home.ts上尝试了以上所有这些行,但它们没有用。当我设置:

console.log(this.screenOrientation.type); 

这将在日志中正确打印出屏幕方向。每当我设置订阅方法时,每当屏幕方向改变时,它也会起作用并提醒我,这意味着所有的import语句都能正常工作,并且我能够正确地访问插件方法。我可以在Android和iOS上复制此问题。任何帮助将不胜感激。

平台/库/依赖项详细信息:

  

“@ angular / common”:“4.1.3”,

     

“ionic-angular”:“3.6.0”,

     

“离子”:“3.7.0”

2 个答案:

答案 0 :(得分:3)

在您的config.xml中,您可以尝试添加此行以使您的方向锁定在横向模式上。

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

答案 1 :(得分:0)

最后一个选项是假设工作。我按照以下方式使用它并且它有效:

对于平板电脑:this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.LANDSCAPE);

对于手机: this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.PORTRAIT);

尝试删除ScreenOrientation模块,删除平台,然后再次添加平台并再次添加ScreenOrientation模块。它也可能是您正在调试的设备