Cordova 屏幕方向插件

Android Testsuite Chrome Testsuite iOS Testsuite Lint Test

Cordova 插件以一种通用的方式为 iOS、Android 和 windows-uwp 设置/锁定屏幕方向。此插件基于 屏幕方向 API,因此 API 与当前规范匹配。

该插件向屏幕对象 (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 都将在窗口对象上触发 orientationchange 事件。对于此版本的插件,如果您需要通知,请使用窗口对象。

示例用法

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) 仅在设备具有某种加速度计的情况下才会显示方向更改。 “方向”的内部状态仍将保留,但除非设备支持,否则实际屏幕不会旋转。