[英]cordova android: get screen size after lock orientation
我正在使用屏幕方向插件 。 效果很好,但是在鎖定屏幕方向后,屏幕尺寸仍保持先前的方向尺寸。 因此,鎖定方向后,我必須重新加載應用程序才能獲得正確的屏幕尺寸。 任何想法為什么這種行為? 鎖定后,我需要獲得正確的尺寸。 這里是一個代碼示例:
console.log(window.screen.width) // 450
screen.orientation.lock('landscape').then(() => {
console.log(window.screen.width) // 450. Should be 640
});
順便說一句:我沒有找到此插件的問題跟蹤器
解決方法是 ,您可以嘗試監聽適當的方向更改事件。 以下代碼段偵聽更改事件,然后在觸發一次后將其刪除:
window.addEventListener('orientationchange', function() {
// After orientationchange, add a one-time resize event
var afterOrientationChange = function() {
// YOUR POST-ORIENTATION CODE HERE
// Remove the resize event listener after it has executed
window.removeEventListener('resize', afterOrientationChange);
};
window.addEventListener('resize', afterOrientationChange);
});
鎖定方向之前,請添加此代碼段。
編輯 :這就是為什么我建議將調整大小事件與方向更改事件結合使用的原因: https : //stackoverflow.com/a/49383279/508098
我不知道為什么該插件無法按預期工作-我沒有看。
正如您所指出的那樣,最好與該項目的開發人員進行討論,但是該插件項目沒有問題跟蹤程序。
嘗試一下,看看您是否獲得正確的數字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.