【问题标题】:how to detect an orientation change in Corona SDK on Android for an Landscape Only app?如何在 Android 上的 Corona SDK 中检测仅横向应用程序的方向变化?
【发布时间】:2014-02-13 02:01:21
【问题描述】:

如何在 Android 上的 Corona SDK 中检测横向应用程序的方向变化?

我注意到以下内容不起作用:

  • 使用方向事件将不起作用 - 这表明在 LandscapeLeft 和 LandscapeRight 之间切换时不会产生方向事件,反之亦然(即应用中不支持纵向)

  • 使用“resize”事件不起作用 - 它只发生在同时支持纵向和横向方向的应用程序中

因此的主要问题:如何在 Android 上的 Corona SDK 中检测仅横向应用程序的方向变化?

更新:实际上有些令人担忧的是,我刚刚确认在 Android(在我的新 Nexus 7 上)上,当我将设备倒置时,“system.orientation”不会改变。那就是它停留在“landscapeRight”上。那么这会是电晕错误吗?唯一的解决办法是不允许用户能够倒置/使用游戏,那么不是吗? (即在横向左)

【问题讨论】:

    标签: android coronasdk orientation-changes


    【解决方案1】:

    如果您的应用仅支持横向模式,Corona 不会区分 LandscapeLeft 和 LandscapeRight。项目构建设置文档 (http://docs.coronalabs.com/guide/distribution/buildSettings/index.html) 声明:

    4.在Android 2.2中,如果你通过支持landscapeRight和landscapeLeft构建一个纯横向的应用程序,它永远不会显示在 横向左模式。同样,如果您通过以下方式构建仅纵向应用程序 支持 Portrait 和 PortraitUpsideDown,它永远不会显示为 纵向颠倒。这是 Android 2.2 的限制。

    我创建了一个小项目,并且可以确认在我的 Nexus4 和 Android 4.3 上,“orientation”事件也不会被调用(尽管它在模拟器中有效)。

    然后回答您的问题:您无法检测仅横向应用的方向变化。这似乎不是 Corona 错误,而是 Android 限制。

    【讨论】:

      【解决方案2】:

      目前在 Android 设备上,只有在 build.settings 文件中启用自动旋转时才会生成方向事件。

      【讨论】:

        猜你喜欢
        • 2012-07-24
        • 1970-01-01
        • 2013-11-26
        • 1970-01-01
        • 2017-11-21
        • 1970-01-01
        • 1970-01-01
        • 2013-08-05
        • 1970-01-01
        相关资源
        最近更新 更多