qt for android ,原生的启动时总时有黑屏的现象,网上一般的解决方案是,添加android的配置文件,在配置文件中修改Application及Activity的Style,这里不再累述,仅提供Style样式如下:
<style name="AppTheme">
<item name="android:windowDisablePreview">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowNoTitle">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowAnimationStyle">@null</item>
</style>
<style name="Theme.AppStartLoad" parent="android:Theme">
<item name="android:windowBackground">@drawable/logo</item>
<item name="android:windowNoTitle">true</item>
</style>
根据自己需求添加到自己的Application 和Activity中即可解决启动黑屏或者白屏问题
然而,在原生Android上启动时还是会出现短暂的闪烁现象,寻找解决方案是看到这样一种方案:
1,写一个MainActivity类继承QtActivity 然后实现onCreate方法 ,
2,,写一个ScreenActivity继承Android的Activity ,
3,替换配置清单中启动activity为MainActivity,并添加ScreenActivity到配置清单中,
4,在启动MainActivity时,在onCreate方法中的super.onCreate()之前启动ScreenActivity
5,在ScreenActivity的onCreate方法中添加一个定时销毁的方法
尝试如上方法,发现并没有完全解决问题,受上边方法启发,于是想到Android的悬浮窗WindowManager类,找到解决方案
1,写一个WindowManger,添加自己的布局样式(可百度Android WindowManager的使用)
2,在MainActivity的onStart方法的super.onStart()之前显示自己的WindowManger悬浮窗
3,使用Handler.postDelayed()方法定时隐藏悬浮框
即可完美的挡住Qml load so文件时的闪烁。
如果谁有更好的解决方法,欢迎补砖。