关于Splashscreens和Icons主题的Phonegap CLI文档建议如下
SplashScreen(字符串,默认为splash):文件名减去res / drawable目录中的扩展名。各种资产必须在各个子目录中共享此通用名称。
<preference name="SplashScreen" value="mySplash"/>
我按如下方式配置了我的Phonegap CLI项目
project folder
|
res
|
---port-ldpi.png
|
---land-ldpi.png
|
--- ...
|
--- land-xhdpi.png
完成后我写了我的项目级config.xml文件
<preference name="SplashScreenDelay" value="12000"/>
<preference name="SplashScreen" value="screen"/>
<splash src="res/port-ldpi.png" density="port-ldpi"/>
<splash src="res/land-ldpi.png" density="land-ldpi"/>
<splash src="res/port-mdpi.png" density="port-mdpi"/>
<splash src="res/land-mdpi.png" density="land-mdpi"/>
<splash src="res/port-hdpi.png" density="port-hdpi"/>
<splash src="res/land-hdpi.png" density="land-hdpi"/>
<splash src="res/port-xhdpi.png" density="port-xhdpi"/>
<splash src="res/land-xhdpi.png" density="land-xhdpi"/>
然后我发出了phonegap build android --release -d >> /tmp/result.txt
并检查了/tmp/result.txt
中的输出。我展示了以下几行
copying image from /path/to/my/project/res/port-ldpi.png to
/path/to/my/project/platforms/android/res/drawable-port-ldpi/screen.png
copying image from /path/to/my/project/res/land-ldpi.png to
/path/to/my/project/platforms/android/res/drawable-land-ldpi/screen.png
.....
copying image from /path/to/my/project/res/land-xhdpi.png to
/path/to/my/project/platforms/android/res/drawable-land-xhdpi/screen.png
最后,我通过7-zip打开它来检查生成的APK。在res
文件夹中,我找到了以下内容
drawable-port-ldpi-v4/screen.png
drawable-land-ldpi-v4/screen.png
...
drawable-land-xhdpi-v4/screen.png
图像与我在/project/res
文件夹中提供的图像一致。最后,我检查了输出以确保它以Command finished with error code 0:
行终止。
然后我安装了我的应用程序并运行它 - 没有启动画面。
为了获得良好的衡量标准 - 尽管它作为一项要求毫无意义 - 我在包装了闪光灯后重复了上述内容。
中config.xml文件的图标位<platform name='android'>
</platform>
部分 - 它没有任何区别。奇怪的是,以完全相同的方式分配的图标完美运行。我想确定我实际上为我的Huwaei Holly手机的分辨率提供了一个闪屏,我正在测试它,所以我使用了稍微不同的图标图像。安装显示XHDPI图标,以便在应用启动时按权限显示XHDPI启动画面
这是一个经常讨论的主题,但我没有看到我在这里做错了。
为了完整性,我应该提到
答案 0 :(得分:1)
我发布的答案是为了让任何遇到此线程的人受益。关于splashscreens主题的Cordova / Phonegap CLI文档非常混乱。以下是一些可以帮助您的提示
config.xml
文件时,您需要以<splash src="res/{$name}.9.png" density="{$name}"/>
格式指定各种闪屏图像的位置。 .9.
是可选的 - 如果您使用的是9个补丁图像,请使用<preference name="SplashScreen" value="screen"/>
行。这是不变的。与文档似乎意味着你没有选择的价值相反 - screen
只有screen
才有效。res
。如果您将其放在www
文件夹中,最终会得到两张图片副本 - 其中一张从未使用过。platforms/android/res/drawable-port|land-??dpi-v4
。我不确定为什么v4
,但那就是它。正是这些图像用于显示启动画面最重要的是在Android初始屏幕上,自动启动时不会显示。要让他们出现,你必须做两件事
cordova-plugin-splashscreen
插件deviceReady
事件最后,要控制启动画面的持续时间,您需要指定<preference name="SplashScreenDelay" value="..."/>
,其中值以毫秒为单位。
对于很多开发人员来说,如果Cordova文档在Android上有优势提及不会自动显示启动画面,那将会对很多开发人员有所帮助。