修复平板电脑和手机上的屏幕方向

Posted

技术标签:

【中文标题】修复平板电脑和手机上的屏幕方向【英文标题】:Fix orientation of screen on tablet and phone 【发布时间】:2016-01-07 13:27:18 【问题描述】:

在我的 cordova 应用程序中,我在 config.xml 中修复了方向,例如:

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

这适用于平板电脑。

现在,如果设备宽度

所以:平板电脑的视图将是横向的,而手机的视图将是纵向的。

你有什么解决办法吗?

感谢您的帮助。

【问题讨论】:

【参考方案1】:

如果您想根据检测到的设备宽度在 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');
    
);

【讨论】:

这正是我想要的。谢谢@DaveAlden 我知道这是旧的,但是当应用程序准备好时,方向的变化将应用。有没有办法在应用启动时设置它?在 config.xml 中设置?

以上是关于修复平板电脑和手机上的屏幕方向的主要内容,如果未能解决你的问题,请参考以下文章

Android 屏幕适配屏幕适配基础概念 ④ ( 屏幕适配限定符 | 手机/平板电脑设备屏幕适配 )

Android 屏幕适配屏幕适配基础概念 ④ ( 屏幕适配限定符 | 手机/平板电脑设备屏幕适配 )

手机如何投屏到电脑上?

一个屏幕上的多个堆栈导航器

在手机/平板电脑屏幕上将表格变成块元素并将列转换为行 [响应式设计]

怎么在电脑屏幕上画个十字线,玩游戏时要出现在屏幕上的!