修复平板电脑屏幕方向 phone

Fix orientation of screen on tablet and phone

在我的 cordova 应用程序中,我在 config.xml 中固定方向,例如:

<preference name="orientation" value="landscape"/>

这适用于平板电脑。

现在,如果设备宽度 < 767px,我需要将其修复为纵向

so : 对于平板电脑,视图将是横向视图,对于 phone,视图将是纵向视图。

你有什么办法解决它吗?

感谢您的帮助。

如果您想根据检测到的设备宽度改变 Android 上的方向,您需要在应用 运行 时执行此操作,因此您需要删除方向首选项来自 config.xml。 您可以使用 cordova-plugin-screen-orientation 插件在您的应用中设置设备方向,例如:

var MAX_WIDTH = 767;
$(document).on("deviceready", function(){
    if($(window).width() < MAX_WIDTH || $(window).height() < MAX_WIDTH){
        screen.lockOrientation('portrait');
    }else{
        screen.lockOrientation('landscape');
    }
});

使用像素尺寸来确定设备是否为平板电脑不是很可靠 - 具有高分辨率屏幕的较新 Android 手机将报告屏幕宽度 > 767 像素。 所以也许可以考虑使用 phonegap-istablet 插件来确定设备是否是平板电脑:

$(document).on("deviceready", function(){
    if(window.isTablet){
        screen.lockOrientation('landscape');
    }else{
        screen.lockOrientation('portrait');
    }
});