Cordova画面向きプラグイン

Android Testsuite Chrome Testsuite iOS Testsuite Lint Test

iOS、Android、windows-uwpで共通の方法で画面の向きを設定/ロックするCordovaプラグイン。このプラグインはScreen Orientation APIに基づいているため、APIは現在の仕様に合致しています。

このプラグインは、screenオブジェクト(`window.screen`)に以下を追加します。

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

// unlock the orientation
.orientation.unlock()

// current orientation
.orientation

インストール

cordova plugin add cordova-plugin-screen-orientation

サポートされている向き

portrait-primary

向きはプライマリポートレートモードです。

portrait-secondary

向きはセカンダリポートレートモードです。

landscape-primary

向きはプライマリランドスケープモードです。

landscape-secondary

向きはセカンダリランドスケープモードです。

portrait

向きはportrait-primaryまたはportrait-secondary(センサー)のいずれかです。

landscape

向きはlandscape-primaryまたはlandscape-secondary(センサー)のいずれかです。

any

向きはロック解除されています - すべての向きがサポートされています。

使用方法

// set to either landscape
screen.orientation.lock('landscape');

// allow user rotate
screen.orientation.unlock();

// access current orientation
console.log('Orientation is ' + screen.orientation.type);

イベント

AndroidとiOSの両方で、windowオブジェクト上でorientationchangeイベントが発生します。このバージョンのプラグインでは、通知が必要な場合はwindowオブジェクトを使用してください。

使用例

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

'change'イベントリスナーは、screen.orientationオブジェクトにも追加されています。

使用例

screen.orientation.addEventListener('change', function(){
    console.log(screen.orientation.type); // e.g. portrait
});
    // OR

screen.orientation.onchange = function(){console.log(screen.orientation.type);
};

Androidに関する注記

電話が180度回転した場合screen.orientationプロパティは更新されません。

Windows UWPに関する注記

Windowsストアアプリ(windows-uwp)は、デバイスに何らかの加速度計がある場合にのみ、向きの変更を表示します。「向き」の内部状態は維持されますが、デバイスがサポートしていない限り、実際の画面は回転しません。