Настройка значков
Этот раздел демонстрирует, как настроить значок приложения для различных платформ. Документацию по изображениям экрана загрузки можно найти в документации плагина Cordova-Plugin-Splashscreen Документация плагина Splashscreen.
Настройка значков в CLI
При работе с CLI вы можете определить значок(и) приложения через элемент <icon> (config.xml). Если вы не укажете значок, будет использоваться логотип Apache Cordova.
<icon src="res/ios/icon.png" platform="ios" width="57" height="57" density="mdpi" />
| Атрибуты | Описание |
|---|---|
| src |
Обязательно Путь к файлу изображения относительно каталога вашего проекта. |
| platform |
Необязательно Целевая платформа |
| width |
Необязательно Ширина значка в пикселях |
| height |
Необязательно Высота значка в пикселях |
| target |
Необязательно Windows Имя выходного файла изображения и всех его файлов MRT-компаньонов |
Следующая конфигурация может быть использована для определения одного стандартного значка, который будет применяться для всех платформ.
<icon src="res/icon.png" />
Для каждой платформы вы также можете определить набор значков с пиксельной точностью, подходящих для разных разрешений экрана.
Android
В Android вместо использования одного изображения для значка можно использовать два изображения (фон и переднего плана) для создания адаптивного значка.
| Атрибуты | Описание |
|---|---|
| background |
Обязательно для адаптивного Путь к изображению (png или вектор) относительно каталога вашего проекта или ссылка на цвет |
| foreground |
Обязательно для адаптивного Путь к изображению (png или вектор) относительно каталога вашего проекта или ссылка на цвет |
| density |
Необязательно Указанная плотность значка |
Адаптивные значки
Для использования адаптивных значков атрибуты background и foreground должны быть определены вместо атрибута src. Атрибут src не используется для адаптивных значков.
Адаптивный значок с изображениями:
<platform name="android"> <icon background="res/icon/android/ldpi-background.png" density="ldpi" foreground="res/icon/android/ldpi-foreground.png" /> <icon background="res/icon/android/mdpi-background.png" density="mdpi" foreground="res/icon/android/mdpi-foreground.png" /> <icon background="res/icon/android/hdpi-background.png" density="hdpi" foreground="res/icon/android/hdpi-foreground.png" /> <icon background="res/icon/android/xhdpi-background.png" density="xhdpi" foreground="res/icon/android/xhdpi-foreground.png" /> <icon background="res/icon/android/xxhdpi-background.png" density="xxhdpi" foreground="res/icon/android/xxhdpi-foreground.png" /> <icon background="res/icon/android/xxxhdpi-background.png" density="xxxhdpi" foreground="res/icon/android/xxxhdpi-foreground.png" /> </platform>
Примечание: В этом примере изображение переднего плана также будет использоваться как резервный значок для устройств Android, не поддерживающих адаптивные значки. Резервный значок можно переопределить, задав атрибут src.
Адаптивный значок с векторами:
<platform name="android"> <icon background="res/icon/android/ldpi-background.xml" density="ldpi" foreground="res/icon/android/ldpi-foreground.xml" src="res/android/ldpi.png" /> <icon background="res/icon/android/mdpi-background.xml" density="mdpi" foreground="res/icon/android/mdpi-foreground.xml" src="res/android/mdpi.png" /> <icon background="res/icon/android/hdpi-background.xml" density="hdpi" foreground="res/icon/android/hdpi-foreground.xml" src="res/android/hdpi.png" /> <icon background="res/icon/android/xhdpi-background.xml" density="xhdpi" foreground="res/icon/android/xhdpi-foreground.xml" src="res/android/xhdpi.png" /> <icon background="res/icon/android/xxhdpi-background.xml" density="xxhdpi" foreground="res/icon/android/xxhdpi-foreground.xml" src="res/android/xxhdpi.png" /> <icon background="res/icon/android/xxxhdpi-background.xml" density="xxxhdpi" foreground="res/icon/android/xxxhdpi-foreground.xml" src="res/android/xxxhdpi.png" /> </platform>
Примечание: В этом примере атрибут src должен быть определен, когда атрибут foreground определен с вектором или цветом.
Адаптивный значок с цветами:
Создайте файл ресурсов res/values/colors.xml в каталоге вашего проекта для хранения определений цветов приложения.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="background">#FF0000</color>
</resources>
В config.xml, мы добавим resource-file для копирования colors.xml в соответствующее место, чтобы цвета были доступны во время сборки.
<platform name="android"> <resource-file src="res/values/colors.xml" target="/app/src/main/res/values/colors.xml" /> <icon background="@color/background" density="ldpi" foreground="res/icon/android/ldpi-foreground.png" /> <icon background="@color/background" density="mdpi" foreground="res/icon/android/mdpi-foreground.png" /> <icon background="@color/background" density="hdpi" foreground="res/icon/android/hdpi-foreground.png" /> <icon background="@color/background" density="xhdpi" foreground="res/icon/android/xhdpi-foreground.png" /> <icon background="@color/background" density="xxhdpi" foreground="res/icon/android/xxhdpi-foreground.png" /> <icon background="@color/background" density="xxxhdpi" foreground="res/icon/android/xxxhdpi-foreground.png" /> </platform>
Стандартные значки
<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>
См. также
Браузер
Значки не применимы к платформе Браузер.
iOS
<platform name="ios">
<!-- iOS 8.0+ -->
<!-- iPhone 6 Plus -->
<icon src="res/ios/icon-60@3x.png" width="180" height="180" />
<!-- iOS 7.0+ -->
<!-- iPhone / iPod Touch -->
<icon src="res/ios/icon-60.png" width="60" height="60" />
<icon src="res/ios/icon-60@2x.png" width="120" height="120" />
<!-- iPad -->
<icon src="res/ios/icon-76.png" width="76" height="76" />
<icon src="res/ios/icon-76@2x.png" width="152" height="152" />
<!-- Spotlight Icon -->
<icon src="res/ios/icon-40.png" width="40" height="40" />
<icon src="res/ios/icon-40@2x.png" width="80" height="80" />
<!-- iOS 6.1 -->
<!-- iPhone / iPod Touch -->
<icon src="res/ios/icon.png" width="57" height="57" />
<icon src="res/ios/icon@2x.png" width="114" height="114" />
<!-- iPad -->
<icon src="res/ios/icon-72.png" width="72" height="72" />
<icon src="res/ios/icon-72@2x.png" width="144" height="144" />
<!-- iPad Pro -->
<icon src="res/ios/icon-167.png" width="167" height="167" />
<!-- iPhone Spotlight and Settings Icon -->
<icon src="res/ios/icon-small.png" width="29" height="29" />
<icon src="res/ios/icon-small@2x.png" width="58" height="58" />
<icon src="res/ios/icon-small@3x.png" width="87" height="87" />
<!-- iPad Spotlight and Settings Icon -->
<icon src="res/ios/icon-50.png" width="50" height="50" />
<icon src="res/ios/icon-50@2x.png" width="100" height="100" />
<!-- iPad Pro -->
<icon src="res/ios/icon-83.5@2x.png" width="167" height="167" />
</platform>
См. также
Windows
Для Windows рекомендуемый подход к определению значков приложения — использование атрибута target.
<platform name="windows">
<icon src="res/windows/storelogo.png" target="StoreLogo" />
<icon src="res/windows/smalllogo.png" target="Square30x30Logo" />
<icon src="res/windows/Square44x44Logo.png" target="Square44x44Logo" />
<icon src="res/windows/Square70x70Logo.png" target="Square70x70Logo" />
<icon src="res/windows/Square71x71Logo.png" target="Square71x71Logo" />
<icon src="res/windows/Square150x150Logo.png" target="Square150x150Logo" />
<icon src="res/windows/Square310x310Logo.png" target="Square310x310Logo" />
<icon src="res/windows/Wide310x150Logo.png" target="Wide310x150Logo" />
</platform>
где src — путь к значку, который нужно добавить.
Платформа Windows автоматически обрабатывает значки MRT, поэтому если вы укажете src="res/windows/storelogo.png", следующие файлы будут скопированы в папку images приложения: res/windows/storelogo.scale-100.png, res/windows/storelogo.scale-200.png, и т.д.
TODO Определить, что такое MRT.
Атрибут target задаёт базовое имя для получившихся значков. Для каждого файла значка его имя выходного файла вычисляется как target + '.' + MRT_qualifiers + extension(src). Для корректного отображения значков в приложении каждое значение target должно соответствовать одному из имён файлов значков, определённых в файле .appxmanifest приложения.
Подводя итог вышесказанному... используя атрибут target можно:
- определить группу значков для разных масштабов устройств, используя один элемент
<icon ...>, например:xml <icon src="res/windows/AppListIcon.png" target="Square44x44Logo" />, что эквивалентно следующим строкам:xml <icon src="res/windows/Square44x44Logo.scale-100.png" width="44" height="44" /> <icon src="res/windows/Square44x44Logo.scale-150.png" width="66" height="66" /> <icon src="res/windows/Square44x44Logo.scale-200.png" width="88" height="88" /> <icon src="res/windows/Square44x44Logo.scale-240.png" width="106" height="106" /> - определить значки с коэффициентами масштаба, отличными от
scale-100иscale-240(и любых других квалификаторов MRT)
Хотя это не рекомендуется, также можно определить значки, используя атрибуты width и height:
<platform name="windows">
<icon src="res/windows/logo.png" width="150" height="150" />
<icon src="res/windows/smalllogo.png" width="30" height="30" />
<icon src="res/windows/storelogo.png" width="50" height="50" />
<icon src="res/windows/Square44x44Logo.scale-100.png" width="44" height="44" />
<icon src="res/windows/Square44x44Logo.scale-240.png" width="106" height="106" />
<icon src="res/windows/Square70x70Logo.scale-100.png" width="70" height="70" />
<icon src="res/windows/Square71x71Logo.scale-100.png" width="71" height="71" />
<icon src="res/windows/Square71x71Logo.scale-240.png" width="170" height="170" />
<icon src="res/windows/Square150x150Logo.scale-240.png" width="360" height="360" />
<icon src="res/windows/Square310x310Logo.scale-100.png" width="310" height="310" />
<icon src="res/windows/Wide310x150Logo.scale-100.png" width="310" height="150" />
<icon src="res/windows/Wide310x150Logo.scale-240.png" width="744" height="360" />
</platform>
См. также:
Electron
Настройка значка приложения
Настраиваемые значки можно объявить с помощью элемента(ов) <icon> в файле config.xml. Существует два типа значков, которые можно определить: значок приложения и значок установщика пакета. Эти значки должны быть определены в узле платформы Electron <platform name="electron">.
Один значок можно использовать для приложения и установщика, но этот значок должен иметь размер не менее 512x512 пикселей, чтобы работать на всех операционных системах.
Примечание: Если настраиваемый значок не предоставлен, используются значки по умолчанию Apache Cordova.
Примечание: macOS не отображает пользовательские значки при использовании cordova run. По умолчанию используется значок Electron.
<platform name="electron">
<icon src="res/electron/icon.png" />
</platform>
Вы можете предоставить уникальные значки для приложения и установщика, задав атрибут target. Как упоминалось выше, изображение установщика должно иметь размер 512x512 пикселей, чтобы работать на всех платформах.
<platform name="electron">
<icon src="res/electron/app.png" target="app" />
<icon src="res/electron/installer.png" target="installer" />
</platform>
Для устройств, поддерживающих разрешения высокой плотности пикселей, такие как дисплей Retina Apple, вы можете создать набор изображений с тем же базовым именем, но с суффиксом, содержащим множитель.
Например, если базовое имя изображения icon.png и имеет стандартное разрешение, то icon@2x.png будет рассматриваться как изображение высокого разрешения с удвоенной плотностью пикселей по сравнению с базовым.
- icon.png (256px x 256px)
- icon@2x.png (512px x 512px)
Если вы хотите одновременно поддерживать дисплеи с различной плотностью пикселей, вы можете поместить изображения с различными размерами в одну папку и использовать имя файла без суффиксов DPI. Например:
<platform name="electron">
<icon src="res/electron/icon.png" />
<icon src="res/electron/icon@1.5x.png" />
<icon src="res/electron/icon@2x.png" />
<icon src="res/electron/icon@4x.png" target="installer" />
</platform>
© 2012, 2013, 2015 The Apache Software Foundation
Licensed under the Apache License 2.0.
https://cordova.apache.org/docs/en/9.x/config_ref/images.html