Qt for Android解决启动时黑屏(或白屏)的问题
luoyayun361 2018-08-12 10:03:22 801
收藏 1
分类专栏: Qt for Android 文章标签: 黑屏 白屏 android 启动 Qt for android
前言
在用Qt 开发 android程序时,打开软件的瞬间会出现黑屏(有些手机是上是白屏)闪动的问题,如果有启动页的话,那么黑屏是在启动页之前出现,整个页面的跳动,视觉冲击很大,我再之前的一篇文章中有提到过这个问题(在这里),这样的用户体验就会很差,这里要介绍的就是如何解决启动时的黑屏问题。
正文
其实原理很简单,就是在启动的时候将原本黑屏的页面变成透明即可。代码量也很少,就几句话的事儿,但是对于用 Qt 跨平台开发的童鞋来说可能是个难题,因为通常都对 android 原生开发了解得不多,毕竟如果对 android 原生开发很熟悉的话 也不至于用 Qt 来开发 android 了。
那么我们的目标就是要设置 app 的主题为透明,接下来看看如何实现。
首先,创建工程以及创建 android 模板的步骤就不在重复说了,如果还不懂的可以去参考这篇文章,写得很详细。
Qt for Android Splash启动页最简单延时关闭
然后,打开程序所在目录, 找到创建好的 android/res/value目录,并在中创建一个 style.xml文件。
文件内容输入:
<?xml version='1.0' encoding='utf-8'?>
<resources>
<style name="custom_Translucent" parent="android:Theme">
<!--解决启动是黑屏闪动的问题 -->
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
</style>
</resources>
保存后关闭。
最后,打开 AndroidMenifest.xml文件,在 Activity 组添加主题的设置,如下
android:theme="@style/custom_Translucent"
ok ,大功告成。重新编译即可。