Qt-Android应用程序中的横向模式

时间:2017-01-09 10:40:36

标签: android qt qml orientation

我创建了一个Qt / QML应用程序并将应用程序移植到Android。 现在,我可以在Android设备上运行该应用程序。 我想将方向模式修改为横向。

我手动修改了AndroidManifest.xml并将android:screenOrientation="unspecified"设置为android:screenOrientation="sensorLandscape"

<activity
  android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation"
  android:name="org.qtproject.qt5.android.bindings.QtActivity"
  android:label="Engage"
  android:screenOrientation="sensorLandscape"
  android:launchMode="singleTop">

每次部署项目时,清单都会被覆盖并重置为android:screenOrientation="unspecified"

2 个答案:

答案 0 :(得分:2)

Qt Forum上建议使用以下解决方案:

只需转到项目,运行,单击详细信息并创建androidmanifest.xml,选择一个目录。之后,如果它没有自动发生并编辑它,则将其添加到您的项目中。第4行应该如下所示:

  char buff[1024];
  int ch;
  int i = 0;

  while( (ch = getchar()) != '\n' )
    if(i < 1023)
      buff[i++] = ch;
  buff[i] = 0;

  /* now move string into a smaller buffer */

只是改变&#34;未指明&#34; to&#34; sensorLandscape&#34;并保存。

每次部署都不会被覆盖。

答案 1 :(得分:2)

我得到了一个解决方案。

在项目文件夹中添加一个文件夹。我把它命名为'android-sources'。 从android-build复制你的AndroidManifest.xml并粘贴到'android-sources'文件夹。 打开.pro文件并添加以下内容

OTHER_FILES += \
    android-sources/AndroidManifest.xml
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android-sources

然后打开AndroidManifest.xml

更改方向

android:screenOrientation="sensorLandscape"