我正在开发一个使用QtQuickControls2的移动应用程序,并希望在应用程序初始化时显示一个启动屏幕。目前,这是用户在启动应用程序时所看到的:
这是安卓6马斯马洛智能手机的订单。如果我将启动屏幕添加到应用程序窗口(可能在堆栈视图中),然后在初始化时转换到实际内容,(1)和(2)仍然会保留,对吗?有没有任何方法告诉Qt显示飞溅屏幕而不是(1)和(2),或者至少代替(1)?
发布于 2016-12-10 01:22:08
首先在_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提供解决方案。
https://stackoverflow.com/questions/41069709
复制相似问题