【问题标题】:Issue with setting landscape view in cordova/phonegap app在 cordova/phonegap 应用程序中设置横向视图的问题
【发布时间】:2017-09-25 17:26:41
【问题描述】:

我在将应用的屏幕设置为水平位置时遇到问题。就像在标题中一样。好吧,一开始我在 config.xml 中添加了这一行:<preference name="orientation" value="landscape"/>。问题是它只在一个方向上起作用。我的意思是它只向左旋转屏幕。所以我决定使用cordova插件,我就这么做了。我使用了 npm 中的“cordova-plugin-screen-orientation”并添加了

    function onLoad() {
        document.addEventListener("deviceready", onDeviceReady, false);
        screen.lockOrientation('landscape');
    }

到 index.html。它工作正常。另一个问题是我的一些文件有这行代码:

    function onBackKeyDown() {
    navigator.app.exitApp();
    }

点击 android 栏上的此箭头后会关闭应用程序。单击此按钮后,应用程序确实已关闭,但它仍在 RAM 中,单击此按钮后(图片) 你可以回到它,然后这个插件不再工作了。我的应用程序转向纵向。现在我的问题。我能做些什么来避免它?我应该以某种方式将其设置为从 RAM 中关闭还是有更好的方法来设置方向?谢谢。

【问题讨论】:

    标签: android html cordova orientation phonegap


    【解决方案1】:

    如果您的应用从 RAM 重新打开/继续,则会触发 resume event。您可以为其添加事件监听器并在回调函数中锁定屏幕方向:

    document.addEventListener("resume", onResume, false);
    
    function onResume() {
      screen.lockOrientation('landscape');
    }
    

    【讨论】:

    • 我必须将此添加到我的所有页面还是仅添加到第一个页面 (index.html)?
    • 如果它不是 SPA(单页应用程序),您必须将其添加到可以“恢复”的每个页面上。
    • 好的,我试试。请稍等。
    • 好的,我做到了,但我的工作方式并不完全按照我希望的方式工作。我“修复”了方向,但只有在阻止我的屏幕之后。所以我仍然可以将我的屏幕旋转到纵向,但是在我阻止和取消阻止我的手机之后它工作正常。
    • 你可以试试this插件来微调体验。它提供了一些有用的方法和回调。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-03
    • 2014-04-28
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    相关资源
    最近更新 更多