部落格 RSS Feed

螢幕方向外掛程式
作者:Vishal Mishra
2017 年 3 月 30 日

最初發布於此 PhoneGap 部落格

Cordova 螢幕方向外掛程式

cordova 螢幕方向外掛程式的新版本(2.0.0)最近發布了。此外掛程式的目的是以一種適用於所有主要平台的通用方式設定/鎖定螢幕方向。這個新版本符合 W3C 螢幕方向 API 中提到的規範,該 API 目前處於公開草案階段。

此外掛程式包含以下主要更新:

  1. 鎖定/解除鎖定螢幕方向。
  2. 存取目前螢幕方向。
  3. 向 screen.orientation 物件新增 'onchange' 事件處理器。
  4. 一個示範應用程式。

鎖定/解除鎖定螢幕方向

可以使用以下程式碼,將螢幕方向鎖定為特定方向,例如橫向:

screen.orientation.lock('landscape').then(function success() {
    console.log("Successfully locked the orientation");
}, function error(errMsg) {
    console.log("Error locking the orientation :: " + errMsg);
});

上述程式碼會將螢幕方向設定為任何橫向模式(橫向主要或橫向次要),取決於旋轉方式。screen.orientation.lock(OrientationLockType); 方法會傳回一個 Promise。成功設定方向後,它會解決一個 Promise。如果螢幕未成功鎖定,Promise 將會以 'NotSupportedError' 拒絕。可以使用以下程式碼解除鎖定螢幕方向:

screen.orientation.unlock();

上述程式碼會使螢幕適應裝置的預設方向。unlock 方法不會傳回 Promise。

存取目前螢幕方向

可以透過以下方式存取目前螢幕方向:

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

向 screen.orientation 物件新增 'onchange' 屬性

'onchange' 事件處理器的範例用法:

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

也可以將 'change' 事件新增至 screen.orientation 物件:

screen.orientation.addEventListener('change', function(){
 	console.log(screen.orientation.type);
});

示範應用程式

示範應用程式包含在 github 儲存庫中。將此外掛程式新增至應用程式後,示範應用程式允許使用者使用 screen.orientation.lock() 方法測試方向類型。示範應用程式的詳細說明請參考這裡