Иконки — один из ключевых элементов визуальной идентификации мобильного приложения. В экосистеме Quasar настройка и генерация иконок автоматизирована, но требует соблюдения определённых требований к исходным файлам.
Для корректной генерации необходимо подготовить базовый файл:
Рекомендуется использовать квадратное изображение с безопасными полями, чтобы система могла корректно обрезать и масштабировать иконку под разные устройства.
Quasar CLI предоставляет встроенный инструмент для генерации иконок:
quasar icongenie generate -i ./src/statics/icon.png
Команда:
-i — путь к исходной иконке-m — указание режима (cordova, capacitor, pwa)-b — цвет фона (если требуется)Пример генерации только для мобильных платформ:
quasar icongenie generate -i ./icon.png -m capacitor,cordova
После выполнения команды создаются директории:
/src-capacitor/android/app/src/main/res/
Содержит папки:
mipmap-mdpimipmap-hdpimipmap-xhdpimipmap-xxhdpimipmap-xxxhdpiКаждая папка соответствует плотности пикселей устройства.
/src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/
Содержит:
Современные версии Android используют Adaptive Icons, состоящие из двух слоёв:
Quasar автоматически генерирует адаптивные иконки, если исходное изображение соответствует требованиям.
Иногда требуется ручная корректировка:
Файл:
android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
Позволяет:
Файл:
Assets.xcassets/AppIcon.appiconset/Contents.json
Используется для:
Splash Screen — экран загрузки, отображаемый при запуске приложения.
Функции:
Quasar также предоставляет инструмент генерации:
quasar icongenie generate -i ./splash.png -m capacitor,cordova -f splash
Файл конфигурации:
capacitor.config.js
Пример:
export default {
plugins: {
SplashScreen: {
launchShowDuration: 3000,
backgroundColor: "#ffffff",
showSpinner: false,
androidSpinnerStyle: "large",
iosSpinnerStyle: "small",
spinnerColor: "#999999",
splashFullScreen: true,
splashImmersive: true
}
}
}
launchShowDuration — длительность отображенияbackgroundColor — цвет фонаshowSpinner — индикатор загрузкиsplashFullScreen — полноэкранный режимФайл:
config.xml
Пример:
<platform name="android">
<preference name="SplashScreenDelay" value="3000" />
<preference name="FadeSplashScreenDuration" value="500" />
</platform>
Начиная с Android 12 система использует встроенный Splash Screen API.
Особенности:
Файл:
android/app/src/main/res/values/themes.xml
Пример:
<style name="Theme.App.Splash" parent="Theme.SplashScreen">
<item name="windowSplashScreenBackground">#ffffff</item>
<item name="windowSplashScreenAnimatedIcon">@mipmap/ic_launcher</item>
</style>
Splash экран может управляться программно:
import { SplashScreen } from '@capacitor/splash-screen'
SplashScreen.hide()
Позволяет:
Для современных приложений важно учитывать dark mode.
Генерацию иконок и splash экранов можно встроить в pipeline:
quasar icongenie generate -i ./assets/icon.png
quasar icongenie generate -i ./assets/splash.png -f splash
Преимущества:
Quasar использует единый подход:
Это позволяет поддерживать единый бренд независимо от платформы.
Качественные иконки и splash экран:
Ошибки в этих элементах сразу заметны и снижают общее восприятие качества приложения.