Qt Quick Controls 2 启动画面
Posted
技术标签:
【中文标题】Qt Quick Controls 2 启动画面【英文标题】:Qt Quick Controls 2 Splash Screen 【发布时间】:2016-12-09 22:15:56 【问题描述】:我正在使用 Qt Quick Controls 2 开发移动应用程序,并希望在应用程序初始化时显示启动画面。目前,这是用户在应用启动时看到的内容:
-
以应用名称作为标题的深色背景。
空白的白色背景。
应用程序窗口。
按此顺序购买 android 6 Marshmallow 智能手机。如果我将启动画面添加到应用程序窗口中,可能是在堆栈视图中,然后在初始化时转换到实际内容,(1)和(2)仍然会保留,对吗?有什么方法可以告诉 Qt 显示启动画面而不是 (1) 和 (2),或者至少不是 (1)?
【问题讨论】:
【参考方案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 提供解决方案。
【讨论】:
这并没有解决前两个问题;为此,我认为您需要特定于 Android 的代码。如果可以在带有 Qt 的原生 Android 应用程序中使用,那么更有趣的是这样的:bignerdranch.com/blog/splash-screens-the-right-way @MrEricSir - 是的,我最初误解了这个问题。 抱歉消失了。我现在才有机会看这个。我正在使用 Qt (Quick Control 2),所以我对如何合并它有点困惑。构建项目后,我可以看到android清单文件,但仅此而已,而且它显然每次都会被覆盖。 @someguy - 您正在编辑错误的清单。您需要项目文件夹中的那个,而不是每次构建时保存到构建文件夹中的那个。 @ddriver:所以所有相关的 android 文件都将在 project root/android 文件夹下,但是如何让 Qt 使用这些文件?编辑:哦,好吧,所以它们是由 Qt Creator 自动添加的。我只使用文本编辑器和命令行。将看看 Qt Creator 做了什么。以上是关于Qt Quick Controls 2 启动画面的主要内容,如果未能解决你的问题,请参考以下文章
Qt Quick Controls 2.14 如何设置ScrollView的样式
Qt Quick Controls 2 上 SpinBox 的后缀选项
Qt Quick Controls 2 TextArea`tabChangesFocus`,如何使用Tab键更改焦点,而不是键入Tab字符