QML屏幕方向锁定



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

基本上可以将Screen.orientation属性用于只读。有关详细信息,请参见以下示例:

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

从今天起,正确的方法是使用安卓清单文件,正如Digia的Qt安卓开发者为他的QtHangMan游戏所做的那样:

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

实现这一点的方法是-

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

    ANDROID_PACKAGE_SOURCE_DIR = <path to your templates directory>#如果您将目录添加到源目录上方,到模板目录的路径="../templates">

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

要了解实际发生了什么-这是qt参考,请查找ANDROID_PACKAGE_SOURCE_DIR

如果链接将来不起作用,下面是相关的位-

"ANDROID_PACKAGE_SOURCE_DIR:此变量可用于指定可以对默认值进行添加和修改的目录Android软件包模板。androiddeployqt工具将复制应用程序模板从Qt导入到构建目录中,然后将复制这将覆盖任何现有文件。更新步骤,其中源文件会自动修改以反映您的其他然后在生成的合并包上运行设置。如果你,为了例如,想要为您的应用程序,然后将其直接放入中指定的文件夹中这个变量。您还可以在中添加自定义Java文件ANDROID_PACKAGE_SOURCE_DIR/src。">

Qt呼吸机-4.2.1,Qt-5.8

最新更新