Qt for Mobile默认是用了一张纯黑的图片作为程序启动图片,所以一开始程序启动时会出现1到几秒的黑屏,机器越慢,这个时间越长,比较不美观,我们可以自己动手设置上适合的图片。
移动app的启动图片在iOS上叫launch image,在Android上叫splash screen,在istkani上都用上了。
在iOS上传统的做法,可以在Xcode上分别为第一种屏幕设置launch image。但是由于Qt for Mobile的特殊性,一旦用qmake重新生成了xcodeproj bundle,那些修改就丢失了,要再设置一遍,这样就比较麻烦。其实是有一劳永逸的办法的:
- 首先,按Apple的要求生成各个屏幕对应launch image文件,文件名也要统一按要求的来,如图
- 然后,在Info.plist中设定launch image的文件名前缀
<key>UILaunchImageFile</key>
<string>istkani</string>
- 接着,在.pro文件中让qmake生成对应的设置
ios {
LaunchImages.files=$$system("find $$PWD/launchimage/ios/ -name '*.png'")
LaunchImages.path=./
QMAKE_BUNDLE_DATA += LaunchImages
QMAKE_INFO_PLIST = iosInfo.plist
}
- 最后,运行qmake重新生成xcodeproj bundle就可以了,不用再在Xcode里设置什么。
在Android上是另外一种方法。
- 首先,把图片文件放在android/res/drawable目录下,如图
- 然后,在android/res/layout目录下创建一个splash.xml文件,内容为
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
>
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/logo"
android:scaleType="fitXY"
/>
</LinearLayout>
- 接着,修改android/AndroidManifest.xml文件,在第一个Activity节点处添加一个meta-data节点,注意
android:resource
属性要与第一步添加的图片文件名一致
<meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/>
- 再次修改.pro文件,让qmake知道去哪找android目录
android: {
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
OTHER_FILES += $$PWD/android/AndroidManifest.xml
}
- 最后运行一下qmake,Android上的Splash screen也设好了。
转载自: https://blog.minidump.info/2015/05/launch-image-by-qt-for-mobile/
相关推荐
为了编译Qt 5 for Android,首先需要从Google官网下载并安装Android SDK和NDK,确保JDK(版本≥1.6)正确安装,并设置`$JAVA_HOME`环境变量。最后,下载并安装Qt Creator 2.7或以上版本,以充分利用其提供的集成开发...
《移动手机编程快速入门:Qt for Windows/Linux、Symbian及Maemo/MeeGo》 这篇文档主要介绍了使用Qt进行移动设备编程的相关内容,特别关注了Qt SDK的获取、安装以及“Hello World”项目的创建和运行。Qt是一个跨...
《Symbian OS C++ for Mobile Phones V1-V3 三卷源码详解》 Symbian OS C++ for Mobile Phones 是一个专为移动设备设计的操作系统,它以其高效的资源管理和强大的开发能力,在2000年代初期至中期的智能手机市场占据...
6. **通信模块**:手机的通信模块主要指GSM(Global System for Mobile Communications)模组,通过串口连接,接收和发送AT指令,实现拨打电话和收发短信的功能。 7. **硬件模块化设计**:将手机硬件分为通信模块、...
然后再启动程序就会发现已经破解了。10.9.2,Dash2.0.2亲测有效!! 以下是官方的介绍: Dash is an API Documentation Browser and Code Snippet Manager. Dash stores snippets of code and instantly searches ...
GSM(Global System for Mobile Communications)是全球移动通信系统,它通过短信服务将警报信息迅速地传递给用户,这一特性使报警系统突破了地理界限。系统一旦通过烟雾探测器检测到异常烟雾浓度,并且处理器分析...
1. **GSM通信技术**:讲解GSM(Global System for Mobile Communications)的基本原理及其在嵌入式系统中的应用。 - GSM是一种全球广泛使用的移动通信标准,适用于语音通话和数据传输服务。 - **AT命令集**:介绍...