【发布时间】:2014-01-13 11:59:08
【问题描述】:
我需要将屏幕锁定到我正在制作的 Android 应用程序的特定方向。
有没有办法在 QML 中做到这一点?谷歌没有给我任何答案。
我正在使用 Qt 5.2。
【问题讨论】:
标签: android qt qml qt5 qtquick2
我需要将屏幕锁定到我正在制作的 Android 应用程序的特定方向。
有没有办法在 QML 中做到这一点?谷歌没有给我任何答案。
我正在使用 Qt 5.2。
【问题讨论】:
标签: android qt qml qt5 qtquick2
您基本上可以将Screen.orientation 属性用于只读。详情请看下面的例子:
http://qt-project.org/doc/qt-5/qtquick-window-screeninfo-qml.html
截至目前,正确的方法是使用 Android 清单文件,正如 Digia 的 Qt Android 开发人员为他的QtHangMan game 所做的那样:
<activity android:screenOrientation="portrait" ...
【讨论】:
这样做的方法是-
<path to qt installation>/android_armv7/src/android/templates/AndroidManifest.xml
在你项目的 qmake 文件 (*.pro) 中,添加以下行 -
ANDROID_PACKAGE_SOURCE_DIR = <path to your templates directory> #如果您在源目录上方添加目录,模板目录的路径 = "../templates"
构建并运行。您现在应该看到,方向已固定为您在自定义 AndroidManifest.xml 文件中指定的任何内容
要了解实际发生的情况 - 这是qt reference,请查找 ANDROID_PACKAGE_SOURCE_DIR
如果链接将来无法使用,这里是相关位 -
"ANDROID_PACKAGE_SOURCE_DIR:这个变量可以用来指定一个 可以对默认值进行添加和修改的目录 安卓包模板。 androiddeployqt 工具将复制 应用程序模板从 Qt 到 build 目录,然后它 将 ANDROID_PACKAGE_SOURCE_DIR 的内容复制到 这会覆盖任何现有文件。更新步骤,其中部分 源文件会自动修改以反映您的其他 然后在生成的合并包上运行设置。如果你,对于 例如,想为您制作一个自定义的 AndroidManifest.xml 应用程序,然后将其直接放入指定的文件夹中 这个变量。您还可以在其中添加自定义 Java 文件 ANDROID_PACKAGE_SOURCE_DIR/src。”
QtCreator - 4.2.1,Qt - 5.8
【讨论】: