一、前言
內容是自己查資料和自己進坑出坑,適用於cordova打包android7.0版本以後的版本。我目前使用的是android8.0,android8.1,android9,androidQ等版本。(1)設置圖標icon,準備好素材,在配置文件中加入不同尺寸的<icon density="hdpi" src="res/icon/android/drawable-hdpi/icon.png" />。(2)設置啓動歡迎頁,安裝splashscreen插件,準備好素材,在配置文件中進行基本配置和其他配置。
二、設置icon圖標
1、設計icon圖標
你需要準備好你自己的app圖標,我是使用iconfont圖標字體庫的https://www.iconfont.cn圖標庫,然後下載單個圖標,選擇png下載。
2、生成多種尺寸的icon
然後我使用到是圖標工廠,直接把剛纔的下載的png的圖標,選擇配置項
開始生成之後,會下載到本地。
3、icon合併到項目中
存放路徑不是以www文件夾
爲依據,而是以當前項目文件夾
爲依據。
(1)根目錄下新建res文件夾,以及res文件夾下面新建icon和screen文件夾
然後把剛纔生成的icon.zip的壓縮包複製到icon的文件夾裏,解壓。
(2)修改android的關於icon圖標配置項
安卓的配置項在根目錄下的config.xml中
增加上圖框中的內容
<icon density="hdpi" src="res/icon/android/drawable-hdpi/icon.png" />
<icon density="ldpi" src="res/icon/android/drawable-ldpi/icon.png" />
<icon density="mdpi" src="res/icon/android/drawable-mdpi/icon.png" />
<icon density="xhdpi" src="res/icon/android/drawable-xhdpi/icon.png" />
<icon density="xxhdpi" src="res/icon/android/drawable-xxhdpi/icon.png" />
<icon density="xxhdpi" src="res/icon/android/drawable-xxxhdpi/icon.png" />
src裏對應的就是從根目錄開始對應的資源路徑,不要寫錯了。
4、運行cordova run android直接安裝到真機中
這樣就可以看到icon圖標換了
5、附錄1-安卓圖標具體規格如下
存放路徑在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
6、附錄2-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
三、設置啓動歡迎頁
在cordova5.0版本以後,需要安裝cordova-plugin-splashscreen
插件以後才能修改和設置App的啓動歡迎頁面。
1、安裝splashscreen插件
cordova plugin add cordova-plugin-splashscreen
2、設計歡迎頁
首先你有一張圖作爲歡迎頁
(1)安卓啓動歡迎畫面具體規格如下(存放目錄: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
(2)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
我是自己用一張比較高清的圖,自己使用ps改成相應的尺寸,雖然網上有自動生成的,用的不咋爽,還是自己來吧
3、基本配置
的config.xml文件中,添加以下代碼
<platform name="android">
...
<!-- 歡迎頁面,橫屏 -->
<splash density="land-hdpi" src="res/screen/android/drawable-land-hdpi/screen.png" />
<splash density="land-ldpi" src="res/screen/android/drawable-land-ldpi/screen.png" />
<splash density="land-mdpi" src="res/screen/android/drawable-land-mdpi/screen.png" />
<splash density="land-xhdpi" src="res/screen/android/drawable-land-xhdpi/screen.png" />
<splash density="land-xxhdpi" src="res/screen/android/drawable-land-xxhdpi/screen.png" />
<splash density="land-xxxhdpi" src="res/screen/android/drawable-land-xxxhdpi/screen.png" />
<!-- 歡迎頁面,豎屏 -->
<splash density="port-hdpi" src="res/screen/android/drawable-port-hdpi/screen.png" />
<splash density="port-ldpi" src="res/screen/android/drawable-port-ldpi/screen.png" />
<splash density="port-mdpi" src="res/screen/android/drawable-port-mdpi/screen.png" />
<splash density="port-xhdpi" src="res/screen/android/drawable-port-xhdpi/screen.png" />
<splash density="port-xhdpi" src="res/screen/android/drawable-port-xxhdpi/screen.png" />
<splash density="port-xhdpi" src="res/screen/android/drawable-port-xxxhdpi/screen.png" />
...
</platform>
4、其他配置(都在config.xml中相應平臺下面配置)
(1)自動隱藏啓動頁面AutoHideSplashScreen
(默認爲:true)
<preference name="AutoHideSplashScreen" value="true" />
(2)顯示啓動頁面的時間長度SplashScreenDelay
(默認爲:3000)
<preference name="SplashScreenDelay" value="3000" />
若想禁用啓動頁面,可設置爲:<preference name="SplashScreenDelay" value="0"/>
如果是iOS平臺上想禁止啓動頁面,還需要添加<preference name="FadeSplashScreenDuration" value="0"/>
(3)啓動頁面淡入淡出的效果
是否顯示淡入淡出效果FadeSplashScreen(默認爲:true)
<preference name="FadeSplashScreen" value="false"/>
淡入淡出效果的執行時間長度FadeSplashScreenDuration(默認爲:500)
<preference name="FadeSplashScreenDuration" value="750"/>
注意:FadeSplashScreenDuration時間是包含在SplashScreenDelay的時間裏的。
(4)啓動頁面是否允許旋轉(默認爲:true)
<preference name="ShowSplashScreenSpinner" value="false"/>
(5)插件還可以通過js代碼調用,提供有以下兩個方法
navigator.splashscreen.hide();//隱藏啓動頁面
navigator.splashscreen.show();//顯示啓動頁面
(6)在Android平臺下的特殊設置
<preference name="SplashMaintainAspectRatio" value="true|false" />
<preference name="SplashShowOnlyFirstTime" value="true|false" />
lashMaintainAspectRatio:選填項,默認爲false。當設置爲true時,則不會拉伸圖片來填充屏幕,會以圖片原始比例顯示圖片。
SplashShowOnlyFirstTime:選填項,默認爲true。當設置爲false時,APP通過navigator.app.exitApp()代碼退出app後,在下次打開APP時,還會顯示啓動頁面。若爲true時,就不會出現。
這個是我的一個基本的配置,可以簡單參考一下: