本文解决的问题是Qt 编译到 Android 上,实现全屏的办法,同样适用于qml
看了很多网上说的办法,大多都是基于Qt 5.8 5.9的版本,都是说需要去重写java的OnCreate()方法,哇,各种骚操作,然后我发现程序直接就崩溃了。
冥思苦想,按照下面的办法成功了。
申明:我的测试环境是Qt 5.12 ,目前最新版本,应该5.10过后的版本都应该是这样设置的。
如果你的Qt开发版本低于5.10,请看其他人的帖子。
其实方法很简单,跟着我左手右手一个慢动作。
  • 第一步:你需要一个 AndroidManifest.xml 文件,这个文件你在编译的时候会自动的生成,不再需要我们自己去新建了,Qt新版本自动生成,所以,老版本的Qt开发,真的难受。这个文件在你的生成目录下。我的目录如下:
D:Peterbuild-Peter-Android_for_armeabi_v7a_Clang_Qt_5_12_0_for_Android_ARMv7-Debugandroid-buildAndroidManifest.xml
  • 第二步:在你的Pro文件中,把 AndroidManifest.xml 文件添加进去,按照相对路径的方式进行添加:
代码如下:ANDROID_PACKAGE_SOURCE_DIR = $$PWD/AndroidSource
注意,这个AndroidSource文件夹和pro文件是在同一级的, AndroidManifest.xml 放在AndroidSource文件夹内的。
  • 第三步:使用文本编辑工具,打开 AndroidManifest.xml 文件,然后找到这一句代码:android:name="org.qtproject.qt5.android.bindings.QtActivity"
然后在这一句话的后面添加如下代码:
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
注意:中间需要用空格分割。
然后然后然后就可以了,直接运行,就可以全屏了,当然 你也可以在Qt中打开AndroidManifest.xml文件,进行设置app的文件名字,程序的图标,程序的权限等这些信息。