it-swarm.com.ru

Кордова - Адаптивные иконки на Android

У меня есть сгенерированный набор иконок с использованием Android Image Asset Studio . Однако я не знаю, как настроить эти значки для своего приложения в Cordova.

Следуя документации о значках в Cordova , мне удалось установить квадратные значки для моего проекта, используя следующий код:

<platform name="Android">
    <!--
        ldpi    : 36x36 px
        mdpi    : 48x48 px
        hdpi    : 72x72 px
        xhdpi   : 96x96 px
        xxhdpi  : 144x144 px
        xxxhdpi : 192x192 px
    -->
    <icon src="res/Android/ldpi.png" density="ldpi" />
    <icon src="res/Android/mdpi.png" density="mdpi" />
    <icon src="res/Android/hdpi.png" density="hdpi" />
    <icon src="res/Android/xhdpi.png" density="xhdpi" />
    <icon src="res/Android/xxhdpi.png" density="xxhdpi" />
    <icon src="res/Android/xxxhdpi.png" density="xxxhdpi" />
</platform>

Однако, скажем, в Android Oreo значки приложений имеют круглую форму, и на моем телефоне значок приложения не отображается должным образом. Значок сжимается внутри круга и имеет белый фон вокруг него. 

 enter image description here

Вопрос: Как установить округлые значки, сгенерированные Image Asset Studio для моего проекта Cordova?

8
EDJ

Ниже тестируется и работает решение по моему производственному проекту.

Скопируйте все сгенерированные значки в res/Android в корне вашего проекта (тот же уровень, что и в папках resources или platforms) и добавьте следующую конфигурацию в файл config.xml:

<widget xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <platform name="Android">
    <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
        <application Android:icon="@mipmap/ic_launcher" Android:roundIcon="@mipmap/ic_launcher_round" />
    </edit-config>
    <resource-file src="res/Android/drawable/ic_launcher_background.xml" target="app/src/main/res/drawable/ic_launcher_background.xml" />
    <resource-file src="res/Android/mipmap-hdpi/ic_launcher.png" target="app/src/main/res/mipmap-hdpi/ic_launcher.png" />
    <resource-file src="res/Android/mipmap-hdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-hdpi/ic_launcher_round.png" />
    <resource-file src="res/Android/mipmap-mdpi/ic_launcher.png" target="app/src/main/res/mipmap-mdpi/ic_launcher.png" />
    <resource-file src="res/Android/mipmap-mdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-mdpi/ic_launcher_round.png" />
    <resource-file src="res/Android/mipmap-xhdpi/ic_launcher.png" target="app/src/main/res/mipmap-xhdpi/ic_launcher.png" />
    <resource-file src="res/Android/mipmap-xhdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-xhdpi/ic_launcher_round.png" />
    <resource-file src="res/Android/mipmap-xxhdpi/ic_launcher.png" target="app/src/main/res/mipmap-xxhdpi/ic_launcher.png" />
    <resource-file src="res/Android/mipmap-xxhdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png" />
    <resource-file src="res/Android/mipmap-xxxhdpi/ic_launcher.png" target="app/src/main/res/mipmap-xxxhdpi/ic_launcher.png" />
    <resource-file src="res/Android/mipmap-xxxhdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png" />
    </platform>    
</widget>

Не забудьте добавить xmlns:Android="http://schemas.Android.com/apk/res/Android" к вашему <widget.

Удалить<icon, если у вас есть <widget => <platform => <icon

После добавления вышеуказанных изменений в свой config.xml удалите платформу Android с помощью ionic cordova platform remove Android или Sudo ionic cordova platform remove Android (в зависимости от настроек среды), а затем снова добавьте платформу Android с помощью ionic cordova platform add Android или Sudo ionic cordova platform add Android.

Создать сборку, установить и проверить результаты . Я использовал вышеуказанные конфигурации в своем рабочем коде, и вот результаты:

 enter image description here

Я надеюсь, что это поможет вам!

6
VicJordan
<splash platform="Android" src="package-assets/splash_320_426.png" density="ldpi" width="320" height="426" orientation="portrait"/>

Вы можете изменить Android на ios, изменить src = "path" на любой другой, изменить плотность на одну из известных настроек, установить ширину и высоту изображений, а также ориентацию. Ориентация значков не имеет значения, но всплеск и другие изображения не могут быть. Иконки установлены так:

<icon platform="Android" src="package-assets/ldpi.png" density="ldpi" width="36" height="36"/>

Конечно, это происходит в config.xml, и вам не нужно размещать его внутри разделов платформы, так как вы указываете платформу в теге.

0
ppetree

Вы можете попробовать это: После выбора изображения для значка приложения из Image Asset, установите свойство Shape (находится на вкладке Legacy в Image Asset) от Square до None.

0
Avilash