检测 Ionic App 中的方向变化

Detect orientation change in Ionic App

我试过使用事件,但没有用。

document.addEventListener('onorientationchange', function() 
   {...}
);

我知道如何获取屏幕的方向,但我不知道如何检测方向何时发生变化。

请试试这个:

angular.module('starter', ['ionic'])

.run(function($ionicPlatform) {
  $ionicPlatform.ready(function() {
    ...
    window.addEventListener("orientationchange", function() {
      console.log(window.orientation);
    }, false);  
  });
})

首先你需要安装cordova-plugin-screen-orientation插件:

科尔多瓦 < 4 运行:

cordova plugin add net.yoik.cordova.plugins.screenorientation

科尔多瓦 > 4 运行:

cordova plugin add cordova-plugin-screen-orientation

插件将以下内容添加到屏幕对象 (window.screen):

// lock the device orientation
.lockOrientation('portrait')

// unlock the orientation
.unlockOrientation()

// current orientation
.orientation

现在您可以使用类似下面的方法来检测屏幕的方向:

window.addEventListener("orientationchange", function(){
    console.log(screen.orientation); // e.g. portrait
});

查看https://github.com/gbenvenuti/cordova-plugin-screen-orientation了解更多information/documentation