欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Qt for Mobile程序设置启动图片

程序员文章站 2022-06-01 17:22:32
...

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文件,文件名也要统一按要求的来,如图Qt for Mobile程序设置启动图片
            
    
    博客分类: qt qt 
  • 然后,在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目录下,如图

    NOTE: This image was resized. To view it full-size, click on the image.

    Qt for Mobile程序设置启动图片
            
    
    博客分类: qt qt 
  • 然后,在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