我有一个空的 Qt / QML android 应用,我正在尝试显示初始屏幕。
没有实施闪屏,将显示以下屏幕:
现在,我正在遵循this初始屏幕示例,该示例在Android清单中添加了初始屏幕。这就是我得到的结果:
我的问题是,是否可以避免屏幕编号1 ?我希望启动应用程序后立即显示启动屏幕,而不是屏幕1。任何建议都欢迎。预先感谢。
答案 0 :(得分:1)
在Qt5.15中,您可以在AndroidManifest.xml(在QtCreator中)中选择一个Android本机启动屏幕图像
另一种选择是使用一个简单而快速的窗口来启动软件:只有一个窗口,一个图像(异步),一个计时器和一个用于其余软件的加载器。
激活计时器后(1-2秒内),您可以启动加载程序。
答案 1 :(得分:1)
由于post,我想找到了解决此问题的方法。
该帖子的作者,对于 Qt / QML android 应用中的启动屏幕写道:
基本上,您可以仅通过C ++ / QML代码忽略任何解决方案。因为 他们开始晚了。
我想补充一点,当作者说“它们开始得太晚了” 时,我认为这是因为您所有的 Qt / QML android应用都在最后是 .so(共享库)。因此,当您的应用启动时,发生的事情是:
现在可以显示初始屏幕的解决方案(来自上面的帖子):
如果尚未创建,请从QtCreator为您的android应用创建模板。
在 android / res / drawable 中创建 splash.xml ,例如this
在 android / res / values 中创建自定义主题 apptheme.xml ,例如this
将此行添加到 AndroidManifest.xmnl
中的活动代码中android:theme =“ @ style / AppTheme”
活动标签内的 AndroidManifest.xml 中的这一行:
<meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/splash"/>
现在其余的都在您的 main.qml 文件中。首先将您的 Window / ApplicationWindow 元素设置为不可见(如我所见,它将保留启动屏幕),将Loader用于第一页,并在其加载后将Window / ApplicationWIndow设置为true。这是我的示例:
装载机 { id:装载机 异步:true anchors.fill:父级 sourceComponent:主屏幕 { 宽度:root.width 高度:root.height
Component.onCompleted:
{
root.isReady = true
}
}
}