Иконки и заставки
В этом разделе показано, как настроить иконку приложения и необязательную заставку для различных платформ, как при работе с Cordova CLI (описано в разделе Интерфейс Командной Строки) так и с помощью средств SDK специфических для платформы (подробнее в разделе Руководство по поддерживаемым платформам).
Настройка иконок в CLI
При работе в CLI, исходные файлы для иконок расположены в индивидуальных подкаталогах для каждой платформы, расположенных в каталоге www/res/icons
проекта. Только что созданный проект, по умолчанию, идет с набором иконок Cordova, которые вы можете заменить для тех платформ на которых вы будете работать.
Android предусматривает иконки для низкого, среднего, высокого и сверхвысокого разрешения:
android/icon-36-ldpi.png
android/icon-48-mdpi.png
android/icon-72-hdpi.png
android/icon-96-xhdpi.png
Платформа iOS предусматривает квадратные иконки 72x72 пикселя иконок для iPads и 57x52 пикселей для iPhone и iPod, с вариантом иконок высокого разрешеня 2x для Retina дисплеев:
ios/icon-57-2x.png
ios/icon-57.png
ios/icon-72-2x.png
ios/icon-72.png
Windows Phone предусматривает значок по умолчанию 48x48 пикселей, наряду с различными изображениями плиток, используемых при представления приложения:
windows-phone/icon-48.png
windows-phone/icon-62-tile.png
windows-phone/icon-173-tile.png
Для BlackBerry 10 необходимо определить элемент icon в файле config.xml:
<icon src="blackberry10/icon-86.png" />
Смотрите документацию BlackBerry для указания различных размеров и локалей.
[http://developer.blackberry.com/html5/documentation/icon_element.html]
Tizen предусматривает 128x128 пиксельные иконки:
tizen/icon-128.png
Настройка заставки с помощью CLI
Используйте Splashscreen API для включения отображения приложения заставки на различных платформах. При работе в CLI, исходные файлы заставки расположены в рамках подкаталоге www/res/screens
проекта.
Android указывает два набора заставок ориентированных на портретную и альбомную ориентацию, для низкого, среднего, высокого и сверхвысокого разрешения:
android/screen-hdpi-landscape.png
android/screen-hdpi-portrait.png
android/screen-ldpi-landscape.png
android/screen-ldpi-portrait.png
android/screen-mdpi-landscape.png
android/screen-mdpi-portrait.png
android/screen-xhdpi-landscape.png
android/screen-xhdpi-portrait.png
Платформы iOS определяет варианты для iPhone/iPod и iPad, с вариантами для retina дисплеев в различных ориентациях. 568 H файл относится к более продолговатому экрану iPhone 5:
ios/screen-ipad-landscape-2x.png
ios/screen-ipad-landscape.png
ios/screen-ipad-portrait-2x.png
ios/screen-ipad-portrait.png
ios/screen-iphone-landscape-2x.png
ios/screen-iphone-landscape.png
ios/screen-iphone-portrait-2x.png
ios/screen-iphone-portrait.png
ios/screen-iphone-portrait-568h-2x.png
Windows Phone определяет только один вариант заставки:
windows-phone/screen-portrait.jpg
В следующих разделах раскрывается как настроить заставки, когда работаешь с использованием SDK и связанных с ними средств командной строки описанных в Руководстве по платформам.
Не забудьте установить плагин SplashScreen перед тем как использовать методы navigator.splashscreen.hide()
или navigator.splashscreen.show()
.
Заставки для платформы Android
Разместите файлы изображения 9-patch в директории platforms/android/res/drawable*
проекта на Android.
Размер для каждой директории должен быть следующим:
- xlarge (xhdpi): по крайней мере 960 × 720
- large (hdpi): по крайней мере 640 × 480
- medium (mdpi): по крайней мере 470 × 320
- small (ldpi): по крайней мере 426 × 320
Если вы хотите использовать заставку по умолчанию, предоставляемую с Cordova, вы должны скопировать png файлы из platforms/android/www/res/screen/android
в platforms/android/res/drawable*/
:
cd platforms/android/res
mkdir drawable-port-ldpi
cp -p ../assets/www/res/screen/android/screen-ldpi-portrait.png drawable-port-ldpi/screen.png
mkdir drawable-land-ldpi
cp -p ../assets/www/res/screen/android/screen-ldpi-landscape.png drawable-land-ldpi/screen.png
mkdir drawable-port-mdpi
cp -p ../assets/www/res/screen/android/screen-mdpi-portrait.png drawable-port-mdpi/screen.png
mkdir drawable-land-mdpi
cp -p ../assets/www/res/screen/android/screen-mdpi-landscape.png drawable-land-mdpi/screen.png
mkdir drawable-port-hdpi
cp -p ../assets/www/res/screen/android/screen-hdpi-portrait.png drawable-port-hdpi/screen.png
mkdir drawable-land-hdpi
cp -p ../assets/www/res/screen/android/screen-hdpi-landscape.png drawable-land-hdpi/screen.png
mkdir drawable-port-xhdpi
cp -p ../assets/www/res/screen/android/screen-xhdpi-portrait.png drawable-port-xhdpi/screen.png
mkdir drawable-land-xhdpi
cp -p ../assets/www/res/screen/android/screen-xhdpi-landscape.png drawable-land-xhdpi/screen.png
Имена под-директорий в директории drawable
должны соответствовать конвенциям Android для поддержки различных размеров экранов и файлов ресурсов.
В config.xml
, добавьте следующие значения:
<preference name="SplashScreen" value="splash" />
<preference name="SplashScreenDelay" value="10000" />
Первая строка указывает изображение которое отображать в качестве заставки. Это имя PNG файла в директориях drawable*
. Если название файла изображения отличается от splash.png
, вам необходимо изменить значение в данной строке. Не указывайте расширение файл (т.е., .png
). Если вы хотите использовать заставку по умолчанию, предоставляемую с Cordova как указано выше, используйте значение screen
.
Вторая строка устанавливает задержку по умолчанию, как долго заставка будет отображаться в миллисекундах. Значение должно содержать максимальное ожидаемое время загрузки приложение. Значение по умолчанию для SplashScreenDelay - 3000мс.
И наконец, заставки должны отображаться, только в том случае если это необходимо. Когда ваше приложение запустилось, и окно браузера загрузилось, ваше приложение должно скрывать заставку, чтобы ваш основной экран становился видимым. Из-за того что время загрузки приложения может различаться из-за различного набора параметров, рекомендуется чтобы ваше приложение явно вызывало navigator.splashscreen.hide()
в Javascript методе который обрабатывает событие [deviceready](../cordova/events/events.deviceready.html)
. В противном случае заставка будет отображаться в течении временного интервала определенного в значении SplashScreenDelay которое вы сконфигурировали выше. Этот событийно ориентированный подход, крайне рекомендуется в отличие от отображения заставки в течении фиксированного промежутка времени.
Заставки для платформы iOS
Скопируйте изображения заставки в каталог Resources/splash
проекта iOS. Добавьте изображения только для тех устройств, которые вы хотите поддерживать, например iPad или iPhone. Размер каждого изображения должен быть:
- Default-568h@2x~iphone.png (640x1136 pixels)
- Default-Landscape@2x~ipad.png (2048 x 1496 пикселей)
- Default-Landscape~ipad.png (1024x748 pixels)
- Default-Portrait@2x~ipad.png (1536x2008 pixels)
- Default-Portrait~ipad.png (768x1004 pixels)
- Default@2x~iphone.png (640x960 pixels)
- Default~iphone.png (320x480 pixels)
Заставки для платформы BlackBerry 10
Добавьте элемент rim:splash в config.xml для каждого разрешения и локали, которые вы хотите поддерживать:
http://developer.blackberry.com/html5/documentation/rim_splash_element.html