如何防止 Phonegap 应用程序切换到横向视图

Posted

技术标签:

【中文标题】如何防止 Phonegap 应用程序切换到横向视图【英文标题】:How to prevent a Phonegap application to switch to landscape view 【发布时间】:2014-07-03 15:27:37 【问题描述】:

这个应该很简单,但事实并非如此。我试图阻止我的应用程序进入横向视图,所以我更改了config.xml 文件,如下所示:<preference name="orientation" value="portrait" />。不幸的是,它不起作用。有任何想法吗?

【问题讨论】:

我在 2019 年这样做, 在调试版本中运行良好,在插入 USB 的旧 Moto G4 手机上“cordova run android”跨度> 【参考方案1】:

对于平台 android,只需像这样在 androidManifest.xml 中设置首选方向

 <activity
        android:name="com.payoda.Insurance.SplashScreenActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Black.NoTitleBar"
    >
    </activity>

对于ios,以下链接可能对您有所帮助

Force portrait orientation on iPhone with phonegap

【讨论】:

如何访问 androidManifest.xml 文件?我以前看过这个答案,但我找不到如何添加或编辑这个文件。 它将包含在您的项目结构中 androidManifest.xml 在 /platforms/android/ 我没有这条路径。我正在 build.phonegap.com 使用我的 github 存储库构建我的项目,这就是我没有这个文件夹的原因吗? Phonegap 通常会根据您的配置文件自动生成 androidmanifest..它位于您的 res 或 android 文件夹下,具体取决于您使用的版本..但是如果您使用 phonegap 站点生成 apk,您可能无法访问它。上面的链接会很有用【参考方案2】:

好的,我明白了:Phonegap 忽略 config.xml 文件中的 &lt;preference name="orientation" value="portrait" /&gt; 的原因是因为我的应用程序处于调试模式。一旦我创建了一个发布版本,它就停止了横向。

【讨论】:

【参考方案3】:

一小段代码就可以了。试试看。

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

【讨论】:

【参考方案4】:

你好,你可以安装这个插件 https://github.com/gbenvenuti/cordova-plugin-screen-orientation

并在您的 index.js 或您第一个执行的 js 文档中添加此功能

window.addEventListener("orientationchange", function()
    screen.lockOrientation('portrait');
);

谢谢你

【讨论】:

谢谢 - 我只是将 screen.lockOrientation 命令放在了 platform ready 回调中。

以上是关于如何防止 Phonegap 应用程序切换到横向视图的主要内容,如果未能解决你的问题,请参考以下文章

切换到横向视图并使用标签栏控制器

在两个视图之间切换以及从纵向切换到横向时出现 iPad 方向问题,反之亦然

iOS:如何在情节提要中在横向和纵向视图之间切换?

当 iOS 键盘处于活动状态时,CSS 方向会自动切换到横向

Iphone:无法从我的横向视图切换回纵向视图

在 iPhone 中将视图从纵向切换到横向,就像 iPhone 中的计算器一样