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 ,大功告成。重新编译即可。

猜你喜欢

转载自blog.csdn.net/luoyayun361/article/details/81603811