迁移到 Android 12 及更高版本时,在 ionic cordova 中添加多种尺寸的启动屏幕

Pum*_*k26 17 cordova ionic-framework android-12 ionic-cordova android-splashscreen

我正在尝试将 ionic cordova 应用程序迁移到 android 12 (api 32)。不能<splash>再使用标签了。相反,我应该使用<preference name="AndroidWindowSplashScreenAnimatedIcon" value="path to xml/png" />.

以前我用 生成资源文件cordova-res,所以它会自动将资源文件添加到config.xml如下所示,

    <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
    <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
    <splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
    <splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
    <splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
    <splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
    <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
    <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
    <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
    <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
    <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
    <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
Run Code Online (Sandbox Code Playgroud)

我如何使用添加启动屏幕的新方法来做到这一点..?

<preference name="AndroidWindowSplashScreenAnimatedIcon" value="path to xml/png" />
Run Code Online (Sandbox Code Playgroud)

Mis*_*_CK 9

第 1 步:创建一个 288x288px 的 svg。使用与加载图标的页面相同的背景颜色,并将您的徽标放在该正方形的中间。您的徽标需要在 192 像素以内。就像这张图片中一样:图标大小

步骤 2:使用 android studio 创建 .xml 文件。为此,请打开一个包含“空活动”的新项目。右键单击 res 文件夹,转到“新建”->“矢量资源”。从步骤 1 中选择您的图像。完成向导后应该会生成一个 .xml 文件。

步骤 3:将此 .xml 文件添加到 Cordova 中的资源中,并在 config.xml 中链接到它,如下所示:

<preference name="AndroidWindowSplashScreenAnimatedIcon" value="path to yourIcon.xml" />

xml 文件有 dp,代表密度无关像素。由此我得出的结论是,它的工作应该独立于屏幕尺寸和分辨率。

链接到 android 文档中的闪屏页面(我从中获取图像):https://developer.android.com/develop/ui/views/launch/splash-screen


Pum*_*k26 8

我刚刚发现android已经改变了SplashScreen API..所以这里是新的启动屏幕标志的新尺寸 所以看起来我们必须放弃启动屏幕图像。您可以使用此首选项设置应用程序徽标。请记住,徽标将显示在尺寸页面中的圆形容器中。

<preference name="AndroidWindowSplashScreenAnimatedIcon" value="path to xml/png" />
Run Code Online (Sandbox Code Playgroud)

您可以使用以下命令更改背景颜色

<preference name="AndroidWindowSplashScreenBackground" value="#b51b1b" />
Run Code Online (Sandbox Code Playgroud)