QML屏幕方向锁定

时间:2013-12-25 15:54:42

标签: android qt qml qt5 qtquick2

我需要将屏幕锁定到我正在制作的Android应用程序的特定方向。 有没有办法在QML中做到这一点?谷歌没有给我任何答案。
我正在使用Qt 5.2。

2 个答案:

答案 0 :(得分:7)

您基本上可以使用Screen.orientation属性进行阅读。有关详细信息,请参阅以下示例:

http://qt-project.org/doc/qt-5/qtquick-window-screeninfo-qml.html

截至今天的正确方法是使用Android清单文件,这是由Digia的Qt Android开发人员为他的QtHangMan game做的,这是:

<activity android:screenOrientation="portrait" ... 

答案 1 :(得分:0)

这样做的方法是 -

  1. 创建一个源外目录 - 让我们称之为&#34; 模板&#34; (可以是任何东西)
  2. 将AndroidManifest.xml复制到&#34; 模板&#34;来自 - 的 <path to qt installation>/android_armv7/src/android/templates/AndroidManifest.xml
  3. 使用您喜欢的编辑器编辑复制的AndroidManifext.xml,并从&#34; 未指定&#34;更改方向。到&#34; sensorLandscape &#34; (或您喜欢的任何其他内容)并保存文件。
  4. 在项目的qmake文件(* .pro)中,添加以下行 -

    ANDROID_PACKAGE_SOURCE_DIR = <path to your templates directory> #如果您在源目录上方添加了目录,模板目录的路径=&#34; ../ templates&#34;

  5. 构建并运行。您现在应该看到Orientation固定为您在自定义AndroidManifest.xml文件中指定的任何内容

  6. 要了解到底发生了什么 - 请点击qt reference,查找ANDROID_PACKAGE_SOURCE_DIR

    如果该链接未来无法使用,请查看相关位 -

      

    &#34; ANDROID_PACKAGE_SOURCE_DIR:此变量可用于指定a   可以对默认值进行添加和修改的目录   Android包模板。 androiddeployqt工具将复制   应用程序模板从Qt进入构建目录,然后再进行构建   将复制ANDROID_PACKAGE_SOURCE_DIR的内容   这样,覆盖任何现有文件。部分更新步骤   源文件会自动修改以反映您的其他文件   然后在生成的合并包上运行设置。如果你,为   实例,想为你的自定义AndroidManifest.xml   应用程序,然后将其直接放入指定的文件夹中   这个变量。您还可以添加自定义Java文件   ANDROID_PACKAGE_SOURCE_DIR / SRC&#34;

    QtCreator - 4.2.1,Qt - 5.8