我正在制作一个安卓应用程序,需要将屏幕锁定到特定方向。请问在QML中有没有这样的方法?我已经尝试搜索了谷歌,但没有找到答案。
我使用的是Qt 5.2。
Screen.orientation
属性进行读取。请参见以下示例以了解详细信息:
http://qt-project.org/doc/qt-5/qtquick-window-screeninfo-qml.html
目前的正确方法是使用Android清单文件进行此操作,由Qt Android开发人员在Digia为其 QtHangMan游戏中使用的方式如下:
<activity android:screenOrientation="portrait" ...
实现这个的方法是-
<path to qt installation>/android_armv7/src/android/templates/AndroidManifest.xml
复制AndroidManifest.xml到“templates”中在项目的qmake文件(*.pro)中,添加以下行 -
ANDROID_PACKAGE_SOURCE_DIR = <path to your templates directory>
#如果您在源目录上面添加了该目录,则path to your templates directory = "../templates"
构建和运行。现在,您应该看到方向已固定为您在自定义AndroidManifest.xml文件中指定的内容
为了理解正在发生的事情 - 这里是qt reference,查找ANDROID_PACKAGE_SOURCE_DIR
如果链接在未来无法使用,这里是相关部分 -
"ANDROID_PACKAGE_SOURCE_DIR:此变量可用于指定可以对默认Android包模板进行添加和修改的目录。androiddeployqt工具将从Qt复制应用程序模板到构建目录中,然后它将在此之上复制ANDROID_PACKAGE_SOURCE_DIR的内容,覆盖任何现有文件。然后,在合并的软件包上运行更新步骤,其中自动修改源文件的某些部分以反映您的其他设置。例如,如果要为应用程序制作自定义AndroidManifest.xml,则直接将其放入此变量中指定的文件夹中。您还可以在ANDROID_PACKAGE_SOURCE_DIR / src中添加自定义Java文件。"
QtCreator-4.2.1,Qt-5.8