我正在使用 Qt Quick Controls 2 开发移动应用程序,并希望在应用程序初始化时显示启动画面。目前,这是用户在应用程序启动时看到的内容:
- 以应用名称作为标题的深色背景。
- 空白的白色背景。
- 应用程序窗口。
按此顺序购买 Android 6 Marshmallow 智能手机。如果我将启动画面添加到应用程序窗口(可能是在堆栈视图中),然后在初始化时转换到实际内容,(1)和(2)仍然会保留,对吗?有没有办法告诉 Qt 显示启动画面而不是(1)和(2),或者至少代替(1)?
我正在使用 Qt Quick Controls 2 开发移动应用程序,并希望在应用程序初始化时显示启动画面。目前,这是用户在应用程序启动时看到的内容:
按此顺序购买 Android 6 Marshmallow 智能手机。如果我将启动画面添加到应用程序窗口(可能是在堆栈视图中),然后在初始化时转换到实际内容,(1)和(2)仍然会保留,对吗?有没有办法告诉 Qt 显示启动画面而不是(1)和(2),或者至少代替(1)?
首先在_yourProject_/android/res/drawable
创建一个splash.xml
文件:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle" >
<solid android:color="#353535"/>
</shape>
</item>
<item>
<bitmap android:src="@drawable/icon" android:gravity="center" />
</item>
</layer-list>
这将设置启动屏幕背景颜色和将在屏幕上居中的图标。
然后在/android/res/values
创建一个theme.xml
文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar">
<item name="android:windowBackground">@drawable/splash</item>
</style>
</resources>
然后在android清单文件中,在标签设置之后<activity android:configChanges=
添加行android:theme="@style/AppTheme"
,然后向下滚动到该<!-- Splash screen -->
部分并取消注释并修改该行:
<meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/splash"/>
将#353535
颜色替换为应用程序窗口设置的任何颜色以实现平滑过渡。图片是可选的。
我刚刚测试了它并且它有效。也许其他人将能够为 iOS 提供解决方案。