Qt / QML android应用启动后如何立即显示启动画面?

我有空的Qt / QML android应用程序,并且我试图显示初始屏幕。

如果不执行启动屏幕,则会显示以下屏幕:

在此处输入图片说明

现在,我将按照初始屏幕示例,将初始屏幕添加到android清单文件中。这是我得到的结果:

在此处输入图片说明

我的问题是,是否可以避免屏幕编号1我希望启动应用程序时立即显示启动屏幕,而不是屏幕1。任何建议都欢迎。提前致谢。

I think I found a solution for this problem thanks to this post.

Author of that post, for splash screens in Qt/QML android app wrote:

Basically, you could ignore any solution by C++/QML code only. Because they are started late.

I would like to add that, when author said "they are started late", I think it is because all of your Qt/QML android app is compiled at the end like .so (shared library). So when your app start, what happens behind is:

  1. Launching the app
  2. Loading the shared library (your Qt/QML android app)
  3. Calling main() from your app (shared library)

Now the solution to display splash screen(Steps from the post above):

  1. Create template from QtCreator for your android app if you don't have created yet.

  2. Create splash.xml inside android/res/drawable, like this

  3. Create custom theme, apptheme.xml inside android/res/values, like this

  4. Add this line in your activity tag in AndroidManifest.xmnl

    android:theme="@style/AppTheme"

  5. Also this line in AndroidManifest.xml, inside activity tag:

    <meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/splash"/>
    
  6. 现在其余的都在您的main.qml文件中。在开始时Window / ApplicationWindow元素设置为不可见(如我所见,它将保留初始屏幕),在第一页中使用Loader,并在加载时将Window / ApplicationWIndow设置为true。这是我的示例:

加载程序{id:异步加载程序:true anchors.fill:父源组件:MainScreen {宽度:root.width高度:root.height

        Component.onCompleted:
        {
            root.isReady = true
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Qt QQmlApplicationEngine拒绝显示qml代码

来自分类Dev

在QT QML映射中显示标记

来自分类Dev

Qt QML MenuBar和菜单未显示

来自分类Dev

如何拦截Qt Quick qml事件?

来自分类Dev

QML应用程序启动后立即执行JS代码

来自分类Dev

QML应用程序启动后立即执行JS代码

来自分类Dev

QML QT5中如何显示分配的属性组件?

来自分类Dev

Qt Android / iOS:如何在Qml中控制设备音量

来自分类Dev

Qt启动画面未在python中显示

来自分类Dev

具有大量Windows或复杂UI的Qt 5 QML应用

来自分类Dev

部署Qt5 QML应用程序

来自分类Dev

Qt-简单的QML应用程序不起作用

来自分类Dev

翻译封闭源Qt / QML应用程序

来自分类Dev

用QML静态链接Qt应用程序

来自分类Dev

多屏幕/窗口QT QML C ++应用程序

来自分类Dev

Mac上的Qt / Qml应用程序窗口标题

来自分类Dev

QML和C ++与QT Quick 2应用程序

来自分类Dev

Qt Creator不显示QML文件夹

来自分类Dev

Qt Qml-Android-调整ListView滚动速度/速度

来自分类Dev

Qt / QML:将QImage从C ++发送到QML并在GUI上显示QImage

来自分类Dev

如何将QML对象引用传递给Qt C ++?

来自分类Dev

如何从QT项目中正确删除QML文件

来自分类Dev

如何设置WebView内容缩放比例(qml QT 5.2)

来自分类Dev

如何使用qml使用Qt5.2获得全屏矩形?

来自分类Dev

Qt / Qml:如何包括地图图块以供离线使用?

来自分类Dev

如何在Qt / QML中使图像的透明部分无法选择

来自分类Dev

如何注册Qt C ++对象以在QML中使用它

来自分类Dev

如何使用video 5.12 qt qml播放视频?

来自分类Dev

如何使用Qt6在QML中创建DropShadow效果?