cordova 11 -启动画面-splashscreen.xml中包含的内容

c6ubokkw  于 2022-11-15  发布在  其他
关注(0)|答案(2)|浏览(380)

我目前正在尝试迁移到Cordova 11并开始使用新的Splash Screen API,但我发现文档并不是很清楚所有的要点。如果有人能给我一些指导,我将非常感激。
1.生成自适应图标的最佳方法是什么?
1.在闪屏文档中,它在Android特定文档中特别提到,您可以为自适应图标创建一个XML文件:

<platform name="android">
    <!-- Default -->
    <preference name="AndroidWindowSplashScreenAnimatedIcon" value="res/screen/android/splashscreen.xml" />
</platform>

但是我不知道这个splashscreen.xml文件中应该包含什么,而且我似乎找不到任何与它具体相关的文档--有什么想法吗?我们以前从来没有创建过这个文件,因为config.xml中的所有属性都足够了。
谢谢bengrah

nhjlsmyf

nhjlsmyf1#

为了在我的cordova-android 11.0.0中生成用于闪屏的XML文件,我在AndroidStudio中创建了一个示例Android应用程序,并按照以下说明向示例应用程序添加图标,我指定前景层是我想要的闪屏图标的SVG文件。我指定背景层是白色的。然后,我将新生成的文件MyApplication/app/src/main/res/drawable/ic_launcher_foreground.xml复制到我的Cordova应用程序中,并将其重命名为resources/android/splash/splashscreen.xml
最后,我更新了Cordova应用的config.xml文件,如下所示:

<platform name="android">
    <preference name="AndroidWindowSplashScreenAnimatedIcon" value="resources/android/splash/splashscreen.xml" />
    <preference name="AndroidWindowSplashScreenBackground" value="#FFFFFF" />
</platform>

可能值得注意的是,我的图标没有以任何方式动画。

pw136qt2

pw136qt22#

经过大量的试验和错误,我设法取得了一些进展。首先,我使用Android Studio创建了一个Adaptive Icon。Livecode.com有一个很好的指南来指导如何做。一旦我生成了资产,这就创建了一个新的res文件夹,其中包含以下内容:

C:\MyApplication\app\src\main\res>tree /f
Folder PATH listing for volume Windows
Volume serial number is E47A-1E3F
C:.
├───drawable
├───drawable-v24
│       ic_launcher_foreground.xml
│
├───layout
│       activity_main.xml
│
├───mipmap-anydpi-v26
│       ic_launcher.xml
│       ic_launcher_round.xml
│
├───mipmap-hdpi
│       ic_launcher.png
│       ic_launcher.webp
│       ic_launcher_foreground.png
│       ic_launcher_round.png
│       ic_launcher_round.webp
│
├───mipmap-mdpi
│       ic_launcher.png
│       ic_launcher.webp
│       ic_launcher_foreground.png
│       ic_launcher_round.png
│       ic_launcher_round.webp
│
├───mipmap-xhdpi
│       ic_launcher.png
│       ic_launcher.webp
│       ic_launcher_foreground.png
│       ic_launcher_round.png
│       ic_launcher_round.webp
│
├───mipmap-xxhdpi
│       ic_launcher.png
│       ic_launcher.webp
│       ic_launcher_foreground.png
│       ic_launcher_round.png
│       ic_launcher_round.webp
│
├───mipmap-xxxhdpi
│       ic_launcher.png
│       ic_launcher.webp
│       ic_launcher_foreground.png
│       ic_launcher_round.png
│       ic_launcher_round.webp
│
├───values
│       colors.xml
│       ic_launcher_background.xml
│       strings.xml
│       themes.xml
│
└───values-night
        themes.xml

接下来,我更新了Cordova项目的config.xml文件,特别是AndroidWindowsSplashScreenAnimatedIcon属性,以指向刚刚生成的 activity_main.xml 文件:

<platform name="android">
   <preference name="AndroidWindowSplashScreenAnimatedIcon" value="res/screen/android/layout/activity_main.xml" />
</platform>

最后,如果您 checkout activity_main.xml 文件,其中将包含一些引用 constraint layouts 的标记。如果您在此时构建应用程序,可能会收到如下错误:
错误:未找到属性“布局约束底部到底部”。
您的项目似乎缺少依赖项,您可以通过打开project.properties并添加以下属性来添加该依赖项:

cordova.system.library.2=com.android.support.constraint:constraint-layout:1.1.3

在这个Github issue page上找到了更多的信息--当然,将它添加到 project.properties 意味着如果您删除了 platforms 文件夹,您将不得不手动重新添加它。我无法找到一种方法来简单地添加这个依赖项。我确实通过从 activity_main.xml 文件中删除一些 constraint 标记来解决这个问题。我的项目是用这个来构建的:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity">

    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" />

</androidx.constraintlayout.widget.ConstraintLayout>

希望这对其他挣扎的人有帮助。
本格拉

相关问题