Cordova启动页面和启动图标设置

安装splashscreen插件:

cordova plugin add cordova-plugin-splashscreen

config.xml基本配置

在cordova项目根目录下的config.xml添加如下代码:

<platform name="android">
        <allow-intent href="market:*" />
        <icon density="ldpi" src="res/icon/android/drawable-ldpi.png" />
        <icon density="mdpi" src="res/icon/android/drawable-mdpi.png" />
        <icon density="hdpi" src="res/icon/android/drawable-hdpi.png" />
        <icon density="xhdpi" src="res/icon/android/drawable-xhdpi.png" />
        <icon density="xxhdpi" src="res/icon/android/drawable-xxhdpi.png" />
        <icon density="xxxhdpi" src="res/icon/android/drawable-xxxhdpi.png" />
        <splash density="land-hdpi" src="res/screen/android/splash-land-hdpi.png" />
        <splash density="land-ldpi" src="res/screen/android/splash-land-ldpi.png" />
        <splash density="land-mdpi" src="res/screen/android/splash-land-mdpi.png" />
        <splash density="land-xhdpi" src="res/screen/android/splash-land-xhdpi.png" />
        <splash density="port-hdpi" src="res/screen/android/splash-port-hdpi.png" />
        <splash density="port-ldpi" src="res/screen/android/splash-port-ldpi.png" />
        <splash density="port-mdpi" src="res/screen/android/splash-port-mdpi.png" />
        <splash density="port-xhdpi" src="res/screen/android/splash-port-xhdpi.png" />
    </platform>
<platform name="ios">  
    <!-- iOS 8.0+ -->  
    <!-- iPhone 6 Plus  -->  
    <icon src="res/icon/ios/icon-60@3x.png" width="180" height="180" />  
    <!-- iOS 7.0+ -->  
    <!-- iPhone / iPod Touch  -->  
    <icon src="res/icon/ios/icon-60.png" width="60" height="60" />  
    <icon src="res/icon/ios/icon-60@2x.png" width="120" height="120" />  
    <!-- iPad -->  
    <icon src="res/icon/ios/icon-76.png" width="76" height="76" />  
    <icon src="res/icon/ios/icon-76@2x.png" width="152" height="152" />  
    <!-- iOS 6.1 -->  
    <!-- Spotlight Icon -->  
    <icon src="res/icon/ios/icon-40.png" width="40" height="40" />  
    <icon src="res/icon/ios/icon-40@2x.png" width="80" height="80" />  
    <!-- iPhone / iPod Touch -->  
    <icon src="res/icon/ios/icon.png" width="57" height="57" />  
    <icon src="res/icon/ios/icon@2x.png" width="114" height="114" />  
    <!-- iPad -->  
    <icon src="res/icon/ios/icon-72.png" width="72" height="72" />  
    <icon src="res/icon/ios/icon-72@2x.png" width="144" height="144" />  
    <!-- iPhone Spotlight and Settings Icon -->  
    <icon src="res/icon/ios/icon-small.png" width="29" height="29" />  
    <icon src="res/icon/ios/icon-small@2x.png" width="58" height="58" />  
    <!-- iPad Spotlight and Settings Icon -->  
    <icon src="res/icon/ios/icon-50.png" width="50" height="50" />  
    <icon src="res/icon/ios/icon-50@2x.png" width="100" height="100" />  
    <!-- 以下是欢迎页面,可根据需要进行添加 -->
    <splash src="res/screen/ios/Default~iphone.png" width="320" height="480"/>  
    <splash src="res/screen/ios/Default@2x~iphone.png" width="640" height="960"/>  
    <splash src="res/screen/ios/Default-Portrait~ipad.png" width="768" height="1024"/>  
    <splash src="res/screen/ios/Default-Portrait@2x~ipad.png" width="1536" height="2048"/>  
    <splash src="res/screen/ios/Default-Landscape~ipad.png" width="1024" height="768"/>  
    <splash src="res/screen/ios/Default-Landscape@2x~ipad.png" width="2048" height="1536"/>  
    <splash src="res/screen/ios/Default-568h@2x~iphone.png" width="640" height="1136"/>  
    <splash src="res/screen/ios/Default-667h.png" width="750" height="1334"/>  
    <splash src="res/screen/ios/Default-736h.png" width="1242" height="2208"/>  
    <splash src="res/screen/ios/Default-Landscape-736h.png" width="2208" height="1242"/>  
</platform>

其他配置

自动隐藏启动页面AutoHideSplashScreen(默认为:true)
<preference name="AutoHideSplashScreen" value="true" />
显示启动页面的时间长度SplashScreenDelay(默认为:3000)
<preference name="SplashScreenDelay" value="3000" />
若想禁用启动页面,可设置为:<preference name="SplashScreenDelay" value="0"/>
如果是iOS平台上想禁止启动页面,还需要添加:<preference name="FadeSplashScreenDuration" value="0"/>
启动页面淡入淡出的效果
<preference name="FadeSplashScreen" value="false"/>
淡入淡出效果的执行时间长度FadeSplashScreenDuration(默认为:500)
<preference name="FadeSplashScreenDuration" value="750"/>
注意:FadeSplashScreenDuration时间是包含在SplashScreenDelay的时间里的。
启动页面是否允许旋转(默认为:true)
<preference name="ShowSplashScreenSpinner" value="false"/>

*在Android平台下的特殊设置:

<preference name="SplashMaintainAspectRatio" value="true|false" />
<preference name="SplashShowOnlyFirstTime" value="true|false" />

SplashMaintainAspectRatio:选填项,默认为false。当设置为true时,则不会拉伸图片来填充屏幕,会以图片原始比例显示图片。

SplashShowOnlyFirstTime:选填项,默认为true。当设置为false时,APP通过navigator.app.exitApp()代码退出app后,在下次打开APP时,还会显示启动页面。若为true时,就不会出现。

其他更多相关配置请查阅文档:https://www.npmjs.com/package/cordova-plugin-splashscreen

启动图文件夹内容

根据上面配置的config.xml信息,准备好对应位置的启动图片,存放图片的路劲为:


图片.png
App启动图标

可通过图标工厂一键生成多种尺寸

  • 安卓图标具体规格如下(存放目录:res/icon/android/)
36*36    drawable-ldpi/icon.png
48*48    drawable-mdpi/icon.png
72*72    drawable-hdpi/icon.png
96*96    drawable-xhdpi/icon.png
144*144  drawable-xxhdpi/icon.png
192*192drawable-xxhdpi/icon.png
  • iOS图标具体规格如下(存放目录:res/icon/ios/)
57*57   icon.png
114*114 icon@2x.png
29*29   icon-small.png
58*58   icon-small@2x.png
40*40   icon-40.png
80*80   icon-40@2x.png
50*50   icon-50.png
100*100 icon-50@2x.png
60*60   icon-60.png
120*120 icon-60@2x.png
180*180 icon-60@3x.png
72*72   icon-72.png
144*144 icon-72@2x.png
76*76   icon-76.png
152*152 icon-76@2x.png
App启动图标
  • 安卓启动画面具体规格如下(存放目录:res/screen/android/)
960*720 splash-land-xhdpi.png
640*480 splash-land-hdpi.png
470*320 splash-land-mdpi.png
426*320 splash-land-ldpi.png
720*960 splash-port-xhdpi.png
480*640 splash-port-hdpi.png
320*470 splash-port-mdpi.png
320*426 splash-port-ldpi.png
  • iOS启动画面具体规格如下(存放目录:res/screen/ios/)
320*480 Default~iphone.png
640*960 Default@2x~iphone.png
768*1024    Default-Portrait~ipad.png
1536*2048   Default-Portrait@2x~ipad.png
1024*768    Default-Landscape~ipad.png
2048*1536   Default-Landscape@2x~ipad.png
640*1136    Default-568h@2x~iphone.png
750*1334    Default-667h.png
1242*2208   Default-736h.png
2208*1242   Default-Landscape-736h.png

cordova-res批量生成图标和启动页图片:

使用方法:
1、通过npm全局安装:npm install cordova-res -g
2、新建一个文件夹名字随便取,如:res
3、在刚创建的文件夹res里面在新建个文件夹resources(注意:这个文件夹名称必须是这个)
4、把准备好的启动图标icon.png和启动图splash.png放到resource文件夹里

图片要求:
resources/
├── icon.png 至少 1024×1024px 像素
└── splash.png 至少 2732×2732px 像素

5、cmd打开res目录然后命令行执行:cordova-res
如下图,是到res,不是resources

图片.png

6、生成图片资源,android和ios两个文件夹,按你自己的要求替换到项目图片里
图片.png

注意问题:

解决引入cordova-plugin-splashscreen后启动先显示黑屏在显示启动页

  • 原因:
    应用启动时首先加载cordova程序,然后cordova启动HTML页面,而splashscreen是为了cordova启动HTML加载过程中的一个过渡loading页面,所以在应用启动加载cordova时并未执行到splashscreen导致先闪黑屏

  • 解决:
    把先显示的黑屏改为透明的,这样就不会先显示黑屏,而是透明,这样会造成点击应用图标时,会慢那么一点,这是因为透明看起来没有差别
    找到目录下的AndroidManifest.xml修改安卓主题


    图片.png

    图片.png

    把AndroidManifest.xml的安卓主题android:theme修改成如下:


    图片.png

    这样就解决了黑屏问题了
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容