我的要求是将应用程序仅固定在手机上的纵向模式,并且仅在选项卡上固定为横向模式,从启动画面开始。尝试使用离子原生的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”
答案 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模块。它也可能是您正在调试的设备